summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Buil <mbuil@suse.com>2019-03-19 13:52:19 +0100
committerManuel Buil <mbuil@suse.com>2019-03-25 13:33:03 +0000
commit4993f06aadf49169cb7fc9917ba475c3d015a9ab (patch)
tree174bc6d96eb43c2abda5f8bd3ce537cf858a65c6
parent4cef3c83891b4e71bc75de138c3d03c8b7d935cf (diff)
Fix bug in the inventory generator
The dns keys should only appear in case the idf provides a dns entry for the network. Otherwise, it should not exist at all. If it exists, even if the value is empty, ansible will transform it in a variable and "item.network.dns is defined" will return true: https://github.com/opnfv/releng-xci/blob/master/xci/playbooks/roles/bootstrap-host/templates/osa/debian.interface.j2#L35 A docstring is also added to explain what is the purpose of the class Signed-off-by: Manuel Buil <mbuil@suse.com> Change-Id: Ib8afa06cecb54f384083060073fa463c7f8d313f
-rwxr-xr-xxci/playbooks/dynamic_inventory.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/xci/playbooks/dynamic_inventory.py b/xci/playbooks/dynamic_inventory.py
index 7831d197..0ea35ff7 100755
--- a/xci/playbooks/dynamic_inventory.py
+++ b/xci/playbooks/dynamic_inventory.py
@@ -21,6 +21,12 @@ import json
class XCIInventory(object):
+ """
+
+ Generates the ansible inventory based on the idf and pdf files provided
+ when executing the deployment script
+
+ """
def __init__(self):
super(XCIInventory, self).__init__()
self.inventory = {}
@@ -130,11 +136,11 @@ class XCIInventory(object):
for network, ndata in idf['idf']['net_config'].items():
network_interface_num = idf['idf']['net_config'][network]['interface']
host_networks[hostname][network] = {}
- host_networks[hostname][network]['dns'] = []
host_networks[hostname][network]['address'] = pdf_host_info['interfaces'][int(network_interface_num)]['address'] + "/" + str(ndata['mask'])
if 'gateway' in ndata.keys():
host_networks[hostname][network]['gateway'] = str(ndata['gateway']) + "/" + str(ndata['mask'])
if 'dns' in ndata.keys():
+ host_networks[hostname][network]['dns'] = []
for d in ndata['dns']:
host_networks[hostname][network]['dns'].append(str(d))