From e3e83fc96e4dfad1de259639ad1f9ac4287f23f2 Mon Sep 17 00:00:00 2001 From: Evgeni Golov Date: Mon, 7 Aug 2017 14:29:42 +0200 Subject: [PATCH] ansible_playbook: add support for DoNotSpecify inventory type Change-Id: Idc72f9c1081a571bfc1ca69b74815b2c2033ef96 Signed-off-by: Evgeni Golov --- jenkins_jobs/modules/builders.py | 6 +++++- .../builders/fixtures/ansible-playbook003.xml | 21 +++++++++++++++++++ .../fixtures/ansible-playbook003.yaml | 5 +++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 tests/builders/fixtures/ansible-playbook003.xml create mode 100644 tests/builders/fixtures/ansible-playbook003.yaml diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py index c5cb5dab5..697139893 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 000000000..eecfc273b --- /dev/null +++ b/tests/builders/fixtures/ansible-playbook003.xml @@ -0,0 +1,21 @@ + + + + + path/to/playbook.yml + + + + + + + false + 5 + true + false + false + + false + + + diff --git a/tests/builders/fixtures/ansible-playbook003.yaml b/tests/builders/fixtures/ansible-playbook003.yaml new file mode 100644 index 000000000..0ee8b01d1 --- /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"