summaryrefslogtreecommitdiffstats
path: root/xci/playbooks/dynamic_inventory.py
diff options
context:
space:
mode:
Diffstat (limited to 'xci/playbooks/dynamic_inventory.py')
-rwxr-xr-xxci/playbooks/dynamic_inventory.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/xci/playbooks/dynamic_inventory.py b/xci/playbooks/dynamic_inventory.py
index 7f60f94e..ed63141c 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 = {}
@@ -47,7 +53,7 @@ class XCIInventory(object):
self.opnfv_networks['opnfv']['public'] = {}
self.opnfv_networks['opnfv']['public']['address'] = '192.168.122.2/24'
self.opnfv_networks['opnfv']['public']['gateway'] = '192.168.122.1'
- self.opnfv_networks['opnfv']['public']['dns'] = '192.168.122.1'
+ self.opnfv_networks['opnfv']['public']['dns'] = ['192.168.122.1']
self.opnfv_networks['opnfv']['private'] = {}
self.opnfv_networks['opnfv']['private']['address'] = '172.29.240.10/22'
self.opnfv_networks['opnfv']['storage'] = {}
@@ -121,8 +127,8 @@ class XCIInventory(object):
for role in idf['xci']['installers'][self.installer]['nodes_roles'][host]:
self.add_to_group(role, hostname)
- pdf_host_info = filter(lambda x: x['name'] == host, pdf['nodes'])[0]
- native_vlan_if = filter(lambda x: x['vlan'] == 'native', pdf_host_info['interfaces'])
+ pdf_host_info = list(filter(lambda x: x['name'] == host, pdf['nodes']))[0]
+ native_vlan_if = list(filter(lambda x: x['vlan'] == 'native', pdf_host_info['interfaces']))
self.add_hostvar(hostname, 'ansible_host', native_vlan_if[0]['address'])
self.add_hostvar(hostname, 'ip', native_vlan_if[0]['address'])
host_networks[hostname] = {}
@@ -134,7 +140,9 @@ class XCIInventory(object):
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'] = str(ndata['dns'])
+ host_networks[hostname][network]['dns'] = []
+ for d in ndata['dns']:
+ host_networks[hostname][network]['dns'].append(str(d))
# Get also vlan and mac_address from pdf
host_networks[hostname][network]['mac_address'] = str(pdf_host_info['interfaces'][int(network_interface_num)]['mac_address'])
@@ -165,7 +173,8 @@ class XCIInventory(object):
# Now add the additional groups
for parent in idf['xci']['installers'][self.installer]['groups'].keys():
- map(lambda x: self.add_group(x, parent), idf['xci']['installers'][self.installer]['groups'][parent])
+ for host in idf['xci']['installers'][self.installer]['groups'][parent]:
+ self.add_group(host, parent)
# Read additional group variables
self.read_additional_group_vars()