| {% from 'cookied-bm-mcp-dvr-vxlan/underlay.yaml' import HOSTNAME_CFG01 with context %} | 
 | {% from 'cookied-bm-mcp-dvr-vxlan/underlay.yaml' import HOSTNAME_CTL01 with context %} | 
 | {% from 'cookied-bm-mcp-dvr-vxlan/underlay.yaml' import HOSTNAME_GTW01 with context %} | 
 | {% from 'cookied-bm-mcp-dvr-vxlan/underlay.yaml' import HOSTNAME_GTW02 with context %} | 
 | {% from 'shared-salt.yaml' import IPV4_NET_EXTERNAL_PREFIX with context %} | 
 | {% from 'shared-salt.yaml' import IPV4_NET_TENANT_PREFIX with context %} | 
 |  | 
 | {% import 'shared-salt.yaml' as SHARED with context %} | 
 | {% import 'shared-openstack.yaml' as SHARED_OPENSTACK with context %} | 
 |  | 
 | # Install OpenStack control services | 
 |  | 
 | {{ SHARED_OPENSTACK.MACRO_INSTALL_KEYSTONE() }} | 
 |  | 
 | {{ SHARED_OPENSTACK.MACRO_INSTALL_GLANCE() }} | 
 |  | 
 | {{ SHARED_OPENSTACK.MACRO_INSTALL_NOVA() }} | 
 |  | 
 | {{ SHARED_OPENSTACK.MACRO_INSTALL_CINDER(INSTALL_VOLUME=false) }} | 
 |  | 
 | - description: Install cinder volume | 
 |   cmd: salt --hard-crash --state-output=mixed --state-verbose=False | 
 |     -C 'I@cinder:volume' state.sls cinder | 
 |   node_name: {{ HOSTNAME_CFG01 }} | 
 |   retry: {count: 2, delay: 5} | 
 |   skip_fail: false | 
 |  | 
 | {{ SHARED_OPENSTACK.MACRO_INSTALL_NEUTRON(INSTALL_GATEWAY=true) }} | 
 |  | 
 | {{ SHARED_OPENSTACK.MACRO_INSTALL_HEAT() }} | 
 |  | 
 | {{ SHARED_OPENSTACK.MACRO_INSTALL_HORIZON() }} | 
 |  | 
 | {{ SHARED_OPENSTACK.MACRO_INSTALL_COMPUTE() }} | 
 |  |