diff --git a/ansible/filter_plugins/tenks.py b/ansible/filter_plugins/tenks.py index e284f22..e736c68 100644 --- a/ansible/filter_plugins/tenks.py +++ b/ansible/filter_plugins/tenks.py @@ -41,6 +41,7 @@ class FilterModule(object): # Libvirt filters. 'set_libvirt_interfaces': set_libvirt_interfaces, + 'set_libvirt_start_params': set_libvirt_start_params, 'set_libvirt_volume_pool': set_libvirt_volume_pool, # Miscellaneous filters. @@ -83,6 +84,18 @@ def set_libvirt_volume_pool(context, node): return node +def set_libvirt_start_params(node): + """Set the Libvirt start and autostart parameters. + + Since Ironic will be managing the power state and we may want to perform + inspection, don't start the VM after definition or automatically start on + host start-up. + """ + node['start'] = False + node['autostart'] = False + return node + + @contextfilter def bridge_name(context, physnet): """Get the Tenks OVS bridge name from a physical network name. diff --git a/ansible/node_instantiation.yml b/ansible/node_instantiation.yml index bfcf836..f6296c8 100644 --- a/ansible/node_instantiation.yml +++ b/ansible/node_instantiation.yml @@ -27,4 +27,5 @@ else 'present')}) | map('set_libvirt_interfaces') | map('set_libvirt_volume_pool') + | map('set_libvirt_start_params') | list }}