summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeni Golov <evgeni@golov.de>2017-08-07 14:29:42 +0200
committerEvgeni Golov <evgeni@golov.de>2017-08-10 12:30:52 +0200
commite3e83fc96e4dfad1de259639ad1f9ac4287f23f2 (patch)
treee64960ff88e9641cdbe4958ece7e28f81196958d
parent2c60aff80675c50baf1fe132b92cfd4232be0cfa (diff)
downloadpython-jenkins-job-builder-e3e83fc96e4dfad1de259639ad1f9ac4287f23f2.tar.gz
python-jenkins-job-builder-e3e83fc96e4dfad1de259639ad1f9ac4287f23f2.tar.xz
python-jenkins-job-builder-e3e83fc96e4dfad1de259639ad1f9ac4287f23f2.zip
ansible_playbook: add support for DoNotSpecify inventory type
Change-Id: Idc72f9c1081a571bfc1ca69b74815b2c2033ef96 Signed-off-by: Evgeni Golov <evgeni@golov.de>
-rw-r--r--jenkins_jobs/modules/builders.py6
-rw-r--r--tests/builders/fixtures/ansible-playbook003.xml21
-rw-r--r--tests/builders/fixtures/ansible-playbook003.yaml5
3 files changed, 31 insertions, 1 deletions
diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py
index c5cb5dab..69713989 100644
--- a/jenkins_jobs/modules/builders.py
+++ b/jenkins_jobs/modules/builders.py
@@ -3902,6 +3902,7 @@ def ansible_playbook(parser, xml_parent, data):
:inventory-type values:
* **path**
* **content**
+ * **do-not-specify**
:arg dict inventory: Inventory data, depends on inventory-type
@@ -3965,7 +3966,7 @@ def ansible_playbook(parser, xml_parent, data):
except KeyError as ex:
raise MissingAttributeError(ex)
- inventory_types = ('path', 'content')
+ inventory_types = ('path', 'content', 'do-not-specify')
inventory_type = str(
data.get('inventory-type', inventory_types[0])).lower()
@@ -3989,6 +3990,9 @@ def ansible_playbook(parser, xml_parent, data):
XML.SubElement(inventory, 'content').text = content
XML.SubElement(inventory, 'dynamic').text = str(
inv_data.get('dynamic', False)).lower()
+ elif inventory_type == 'do-not-specify':
+ inventory.set(
+ 'class', 'org.jenkinsci.plugins.ansible.InventoryDoNotSpecify')
else:
raise InvalidAttributeError(
'inventory-type', inventory_type, inventory_types)
diff --git a/tests/builders/fixtures/ansible-playbook003.xml b/tests/builders/fixtures/ansible-playbook003.xml
new file mode 100644
index 00000000..eecfc273
--- /dev/null
+++ b/tests/builders/fixtures/ansible-playbook003.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <builders>
+ <org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder>
+ <playbook>path/to/playbook.yml</playbook>
+ <inventory class="org.jenkinsci.plugins.ansible.InventoryDoNotSpecify"/>
+ <limit/>
+ <tags/>
+ <skippedTags/>
+ <startAtTask/>
+ <credentialsId/>
+ <sudo>false</sudo>
+ <forks>5</forks>
+ <unbufferedOutput>true</unbufferedOutput>
+ <colorizedOutput>false</colorizedOutput>
+ <hostKeyChecking>false</hostKeyChecking>
+ <additionalParameters/>
+ <copyCredentialsInWorkspace>false</copyCredentialsInWorkspace>
+ </org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder>
+ </builders>
+</project>
diff --git a/tests/builders/fixtures/ansible-playbook003.yaml b/tests/builders/fixtures/ansible-playbook003.yaml
new file mode 100644
index 00000000..0ee8b01d
--- /dev/null
+++ b/tests/builders/fixtures/ansible-playbook003.yaml
@@ -0,0 +1,5 @@
+---
+builders:
+ - ansible-playbook:
+ playbook: "path/to/playbook.yml"
+ inventory-type: "do-not-specify"