diff --git a/playbooks/deploy-osp.yml b/playbooks/deploy-osp.yml index 2933c77..df07e0d 100644 --- a/playbooks/deploy-osp.yml +++ b/playbooks/deploy-osp.yml @@ -189,6 +189,9 @@ - src: "osp/{{ redhat_osp_version }}/overcloud/ceph-custom-config.yaml.j2" dest: "/home/stack/templates/ceph-custom-config.yaml" mode: "0644" + - src: "osp/{{ redhat_osp_version }}/overcloud/network_data.yaml.j2" + dest: "/home/stack/templates/network_data.yaml" + mode: "0644" - name: Introspect servers shell: | diff --git a/playbooks/group_vars/all.yml b/playbooks/group_vars/all.yml index c5d4df1..9af5900 100644 --- a/playbooks/group_vars/all.yml +++ b/playbooks/group_vars/all.yml @@ -71,24 +71,30 @@ mnaio_host_networks: inet_type: 'static' address: '10.0.236.1/22' iface_port: none - flat: + tenant: iface: 'vm-br-eth2' inet_type: 'static' - address: '10.0.248.1/22' + address: '172.16.0.1/24' iface_port: none - vlan: + internal_api: iface: 'vm-br-eth3' - inet_type: 'manual' + inet_type: 'static' + address: '172.16.2.1/24' iface_port: none - vxlan: + external: iface: 'vm-br-eth4' inet_type: 'static' - address: '10.0.240.1/22' + address: '10.0.0.0/24' iface_port: none storage: iface: 'vm-br-eth5' inet_type: 'static' - address: '10.0.244.1/22' + address: '172.16.1.1/24' + iface_port: none + storage_mgmt: + iface: 'vm-br-eth6' + inet_type: 'static' + address: '172.16.3.1/24' iface_port: none osa_enable_infra: true diff --git a/playbooks/host_vars/ceph1.yml b/playbooks/host_vars/ceph1.yml index ff2405c..50f6cdd 100644 --- a/playbooks/host_vars/ceph1.yml +++ b/playbooks/host_vars/ceph1.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.130/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.130/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.130/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.130/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/ceph2.yml b/playbooks/host_vars/ceph2.yml index 026a470..ce1d9c2 100644 --- a/playbooks/host_vars/ceph2.yml +++ b/playbooks/host_vars/ceph2.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.131/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.131/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.131/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.131/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/ceph3.yml b/playbooks/host_vars/ceph3.yml index 92e0665..e395d9f 100644 --- a/playbooks/host_vars/ceph3.yml +++ b/playbooks/host_vars/ceph3.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.132/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.132/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.132/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.132/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/compute1.yml b/playbooks/host_vars/compute1.yml index 158aa12..65f273a 100644 --- a/playbooks/host_vars/compute1.yml +++ b/playbooks/host_vars/compute1.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.120/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.120/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.120/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.120/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/compute2.yml b/playbooks/host_vars/compute2.yml index 299cfa6..4e26246 100644 --- a/playbooks/host_vars/compute2.yml +++ b/playbooks/host_vars/compute2.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.121/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.121/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.121/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.121/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/controller1.yml b/playbooks/host_vars/controller1.yml index b788910..8586b3f 100644 --- a/playbooks/host_vars/controller1.yml +++ b/playbooks/host_vars/controller1.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.101/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.101/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.101/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.101/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/controller2.yml b/playbooks/host_vars/controller2.yml index fd2d9bd..60440d4 100644 --- a/playbooks/host_vars/controller2.yml +++ b/playbooks/host_vars/controller2.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.102/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.102/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.102/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.102/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/controller3.yml b/playbooks/host_vars/controller3.yml index eba8abe..c9e5caa 100644 --- a/playbooks/host_vars/controller3.yml +++ b/playbooks/host_vars/controller3.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.110/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.110/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.110/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.110/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/director.yml b/playbooks/host_vars/director.yml index 7603253..d9e11dc 100644 --- a/playbooks/host_vars/director.yml +++ b/playbooks/host_vars/director.yml @@ -29,33 +29,34 @@ server_preseed_ks: 'vm' # str - required, n server_extra_options: '' # str - not required, added kernel options server_virtual_bmc_port: '623' # int - virtualbmc port -server_networks: # dict - required, hash of networks, can be empty, key is used to name the networks. +server_networks: dhcp: - iface: 'eth0' # str - required, interface name - inet_type: 'static' # str - required, iface type [static, dhcp, manual] + iface: 'eth0' + inet_type: 'static' address: '192.168.24.2/24' - vm_int_iface: vm-br-dhcp # str - not Required, used to specify an integration networks interface when provisioning a VM + vm_int_iface: vm-br-dhcp mgmt: - iface: 'eth1' # str - required, interface name - inet_type: 'static' # str - required, iface type [static, dhcp, manual] - address: '10.0.236.100/22' # str - not required, must be in CIDR format - vm_int_iface: vm-br-eth1 # str - not Required, used to specify an integration networks interface when provisioning a VM - flat: - iface: 'eth2' # str - required, interface name - inet_type: 'static' # str - required, iface type [static, dhcp, manual] - address: '10.0.248.100/22' # str - not required, must be in CIDR format - vm_int_iface: vm-br-eth2 # str - not Required, used to specify an integration networks interface when provisioning a VM - vlan: - iface: 'eth3' # str - required, interface name - inet_type: 'manual' # str - required, iface type [static, dhcp, manual] - vm_int_iface: vm-br-eth3 # str - not Required, used to specify an integration networks interface when provisioning a VM - vxlan: - iface: 'eth4' # str - required, interface name - inet_type: 'static' # str - required, iface type [static, dhcp, manual] - address: '10.0.240.100/22' # str - not required, must be in CIDR format - vm_int_iface: vm-br-eth4 # str - not Required, used to specify an integration networks interface when provisioning a VM + iface: 'eth1' + inet_type: 'static' + address: '10.0.236.100/22' + vm_int_iface: vm-br-eth1 + tenant: + iface: 'eth2' + inet_type: 'static' + vm_int_iface: vm-br-eth2 + internal_api: + iface: 'eth3' + inet_type: 'manual' + vm_int_iface: vm-br-eth3 + external: + iface: 'eth4' + inet_type: 'static' + vm_int_iface: vm-br-eth4 storage: - iface: 'eth5' # str - required, interface name - inet_type: 'static' # str - required, iface type [static, dhcp, manual] - address: '10.0.244.100/22' # str - not required, must be in CIDR format - vm_int_iface: vm-br-eth5 # str - not Required, used to specify an integration networks interface when provisioning a VM + iface: 'eth5' + inet_type: 'static' + vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/loadbalancer1.yml b/playbooks/host_vars/loadbalancer1.yml deleted file mode 100644 index 7e0e3fc..0000000 --- a/playbooks/host_vars/loadbalancer1.yml +++ /dev/null @@ -1,59 +0,0 @@ ---- -# Copyright 2017, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in witing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -ansible_os_family: "{{ images[default_vm_image]['image_type'] }}" - -server_hostname: 'loadbalancer1' -server_domain_name: 'openstack.local' -server_vm: true -server_vm_ram: '{{ loadbalancer_vm_server_ram | default(1024) }}' -server_vm_vcpus: '{{ loadbalancer_vm_server_vcpus | default(1) }}' -server_vm_primary_network: 'dhcp' -server_image: "{{ default_vm_image }}" -server_default_interface: 'eth0' -server_mac_address: '52:54:00:bd:80:13' -server_preseed_ks: 'vm' -server_extra_options: '' -server_virtual_bmc_port: '635' - -server_networks: - dhcp: - iface: 'eth0' - inet_type: 'dhcp' - vm_int_iface: vm-br-dhcp - mgmt: - iface: 'eth1' - inet_type: 'static' - address: '10.0.236.150/22' - vm_int_iface: vm-br-eth1 - flat: - iface: 'eth2' - inet_type: 'static' - address: '10.0.248.150/22' - vm_int_iface: vm-br-eth2 - vlan: - iface: 'eth3' - inet_type: 'manual' - vm_int_iface: vm-br-eth3 - vxlan: - iface: 'eth4' - inet_type: 'static' - address: '10.0.240.150/22' - vm_int_iface: vm-br-eth4 - storage: - iface: 'eth5' - inet_type: 'static' - address: '10.0.244.150/22' - vm_int_iface: vm-br-eth5 diff --git a/playbooks/host_vars/swift1.yml b/playbooks/host_vars/swift1.yml index 23a70aa..ed256ff 100644 --- a/playbooks/host_vars/swift1.yml +++ b/playbooks/host_vars/swift1.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.140/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.140/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.140/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.140/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/swift2.yml b/playbooks/host_vars/swift2.yml index a729bd8..31827e2 100644 --- a/playbooks/host_vars/swift2.yml +++ b/playbooks/host_vars/swift2.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.141/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.141/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.141/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.141/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/host_vars/swift3.yml b/playbooks/host_vars/swift3.yml index a1330c2..ff49711 100644 --- a/playbooks/host_vars/swift3.yml +++ b/playbooks/host_vars/swift3.yml @@ -38,22 +38,23 @@ server_networks: inet_type: 'static' address: '10.0.236.142/22' vm_int_iface: vm-br-eth1 - flat: + tenant: iface: 'eth2' inet_type: 'static' - address: '10.0.248.142/22' vm_int_iface: vm-br-eth2 - vlan: + internal_api: iface: 'eth3' inet_type: 'manual' vm_int_iface: vm-br-eth3 - vxlan: + external: iface: 'eth4' inet_type: 'static' - address: '10.0.240.142/22' vm_int_iface: vm-br-eth4 storage: iface: 'eth5' inet_type: 'static' - address: '10.0.244.142/22' vm_int_iface: vm-br-eth5 + storage_mgmt: + iface: 'eth6' + inet_type: 'static' + vm_int_iface: vm-br-eth6 diff --git a/playbooks/osp/13/overcloud/network_data.yaml b/playbooks/osp/13/overcloud/network_data.yaml.j2 similarity index 94% rename from playbooks/osp/13/overcloud/network_data.yaml rename to playbooks/osp/13/overcloud/network_data.yaml.j2 index 7d96eec..848cf9c 100644 --- a/playbooks/osp/13/overcloud/network_data.yaml +++ b/playbooks/osp/13/overcloud/network_data.yaml.j2 @@ -5,6 +5,9 @@ # name: Name of the network (mandatory) # name_lower: lowercase version of name used for filenames # (optional, defaults to name.lower()) +# service_net_map_replace: if name_lower is set to a custom name this should be set +# to original default (optional). This field is only necessary when +# changing the default network names, not when adding a new custom network. # enabled: Is the network enabled (optional, defaults to true) # NOTE: False will use noop.yaml for unused legacy networks to support upgrades. # vlan: vlan for the network (optional) @@ -48,57 +51,52 @@ # are assigned in the network/config/multiple-nics templates, beginning with # NIC2, Control Plane is always NIC1. -- name: Storage - vip: true - vlan: 30 - name_lower: storage - ip_subnet: '172.16.1.0/24' - allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}] - ipv6_subnet: 'fd00:fd00:fd00:3000::/64' - ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] -- name: StorageMgmt - name_lower: storage_mgmt - vip: true - vlan: 40 - ip_subnet: '172.16.3.0/24' - allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}] - ipv6_subnet: 'fd00:fd00:fd00:4000::/64' - ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] -- name: InternalApi - name_lower: internal_api - vip: true - vlan: 20 - ip_subnet: '172.16.2.0/24' - allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}] - ipv6_subnet: 'fd00:fd00:fd00:2000::/64' - ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}] +- name: Management + # Management network is enabled by default for backwards-compatibility, but + # is not included in any roles by default. Add to role definitions to use. + enabled: true + vip: false # Management network does not use VIPs + name_lower: management + ip_subnet: '10.0.1.0/24' + allocation_pools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}] + ipv6_subnet: 'fd00:fd00:fd00:6000::/64' + ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}] - name: Tenant vip: false # Tenant network does not use VIPs name_lower: tenant - vlan: 50 ip_subnet: '172.16.0.0/24' allocation_pools: [{'start': '172.16.0.4', 'end': '172.16.0.250'}] # Note that tenant tunneling is only compatible with IPv4 addressing at this time. ipv6_subnet: 'fd00:fd00:fd00:5000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}] +- name: InternalApi + name_lower: internal_api + vip: true + ip_subnet: '172.16.2.0/24' + allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}] + ipv6_subnet: 'fd00:fd00:fd00:2000::/64' + ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}] - name: External vip: true name_lower: external - vlan: 10 ip_subnet: '10.0.0.0/24' allocation_pools: [{'start': '10.0.0.4', 'end': '10.0.0.250'}] gateway_ip: '10.0.0.1' ipv6_subnet: '2001:db8:fd00:1000::/64' ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}] gateway_ipv6: '2001:db8:fd00:1000::1' -- name: Management - # Management network is enabled by default for backwards-compatibility, but - # is not included in any roles by default. Add to role definitions to use. - enabled: true - vip: false # Management network does not use VIPs - name_lower: management - vlan: 60 - ip_subnet: '10.0.1.0/24' - allocation_pools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}] - ipv6_subnet: 'fd00:fd00:fd00:6000::/64' - ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}] +- name: Storage + vip: true + name_lower: storage + ip_subnet: '172.16.1.0/24' + allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}] + ipv6_subnet: 'fd00:fd00:fd00:3000::/64' + ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] +- name: StorageMgmt + enabled: false + name_lower: storage_mgmt + vip: true + ip_subnet: '172.16.3.0/24' + allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}] + ipv6_subnet: 'fd00:fd00:fd00:4000::/64' + ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] diff --git a/playbooks/osp/13/overcloud/overcloud-deploy.sh.j2 b/playbooks/osp/13/overcloud/overcloud-deploy.sh.j2 index d8cb9a7..ee60dda 100644 --- a/playbooks/osp/13/overcloud/overcloud-deploy.sh.j2 +++ b/playbooks/osp/13/overcloud/overcloud-deploy.sh.j2 @@ -9,6 +9,8 @@ openstack overcloud deploy --templates \ -e /home/stack/templates/node-info.yaml \ -e /home/stack/templates/overcloud_images.yaml \ -e /home/stack/templates/undercloud_ssl_camap.yaml \ + -e /usr/share/openstack-tripleo-heat-templates/environments/net-multiple-nics.yaml \ + -n /home/stack/templates/network_data.yaml \ {% if redhat_overcloud_register | bool %} -e /home/stack/templates/rhel-registration/environment-rhel-registration.yaml \ -e /home/stack/templates/rhel-registration/rhel-registration-resource-registry.yaml \