launch.py: Fix inventory list

This was introduced with Ia67e65d25a1d961b619aa445303015fd577dee57

Passing "-i file1,file2,file.." makes Ansible think that the inventory
argument is a list of hostnames.  Separate out the "-i" flags so it
reads each file as desired.

Change-Id: I92c9a74de6552968da6c919074d84f2911faf4d4
This commit is contained in:
Ian Wienand
2019-05-20 13:09:40 +10:00
parent ee4448b162
commit 87d2cea6a7

View File

@@ -170,20 +170,19 @@ def bootstrap_server(server, key, name, volume_device, keep,
t.daemon = True t.daemon = True
t.start() t.start()
inventory_list = ','.join([ inventory_list = (
jobdir.inventory_root, jobdir.inventory_root,
'/opt/system-config/inventory/openstack.yaml', '/opt/system-config/inventory/openstack.yaml',
'/opt/system-config/inventory/groups.yaml', '/opt/system-config/inventory/groups.yaml',
'/opt/system-config/inventory/emergency.yaml', '/opt/system-config/inventory/emergency.yaml',
]) )
ansible_cmd = [ inventory_cmds = [v for e in inventory_list for v in ('-i', e)]
'ansible-playbook', ansible_cmd = ['ansible-playbook', '--flush-cache' ] + \
'--flush-cache', inventory_cmds + \
'-i', inventory_list, '-l', name, ['-l', name,
'--private-key={key}'.format(key=jobdir.key), '--private-key={key}'.format(key=jobdir.key),
"--ssh-common-args='-o StrictHostKeyChecking=no'", "--ssh-common-args='-o StrictHostKeyChecking=no'",
'-e', 'target={name}'.format(name=name), '-e', 'target={name}'.format(name=name)]
]
# Run the base playbook limited to just this server we just created # Run the base playbook limited to just this server we just created
for playbook in [ for playbook in [