playbooks: Do not serialize ironic deployment 99/23499/3
authorMarkos Chandras <mchandras@suse.de>
Fri, 21 Oct 2016 09:36:09 +0000 (10:36 +0100)
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>
Wed, 2 Nov 2016 08:43:26 +0000 (08:43 +0000)
[This is similar to upstream https://review.openstack.org/389079]

This somewhat reverts 0a82e3d8d29f85229e1ed29d90de47346bc1d9b1
("Serialize localhost actions during final host deployment").
The only point where we want to serialize the steps is when accessing
common files on the host. In the bifrost-deploy-nodes-dynamic role,
all tasks are accessing files based on the 'inventory_hostname'
variable, which means there is no conflict there and tasks on these
role can run in parallel. This allows bifrost to provision machines
in parallel during pxe boot which speeds up the entire operation.

Change-Id: I64b1f2832c333c89e33e8f9d19f03e4d653d74b4
Signed-off-by: Markos Chandras <mchandras@suse.de>
prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml

index d650f10..a0bc285 100644 (file)
     - role: ironic-enroll-dynamic
     - { role: ironic-inspect-node, when: inspect_nodes | default('false') | bool == true }
 - hosts: baremetal
-  name: "Create configuration drive files"
+  name: "Create configuration drive files and deploy machines"
+  vars:
+    multinode_testing: "{{ inventory_dhcp | bool == true }}"
   become: no
   connection: local
   roles:
     - role: bifrost-configdrives-dynamic
+    - role: bifrost-deploy-nodes-dynamic
 - hosts: baremetal
-  vars:
-    multinode_testing: "{{ inventory_dhcp | bool == true }}"
   name: "Deploy machines."
   become: no
   connection: local
   serial: 1
   roles:
-    - role: bifrost-deploy-nodes-dynamic
     - role: bifrost-prepare-for-test-dynamic