diff options
author | Manuel Buil <mbuil@suse.com> | 2019-03-19 13:52:19 +0100 |
---|---|---|
committer | Manuel Buil <mbuil@suse.com> | 2019-03-25 13:33:03 +0000 |
commit | 4993f06aadf49169cb7fc9917ba475c3d015a9ab (patch) | |
tree | 174bc6d96eb43c2abda5f8bd3ce537cf858a65c6 /xci/playbooks | |
parent | 4cef3c83891b4e71bc75de138c3d03c8b7d935cf (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
Diffstat (limited to 'xci/playbooks')
-rwxr-xr-x | xci/playbooks/dynamic_inventory.py | 8 |
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)) |