aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.rst2
-rw-r--r--ci/common/net-config-multinode-os-net-config.yaml4
-rw-r--r--ci/common/net-config-multinode.yaml4
-rw-r--r--ci/environments/scenario001-multinode-containers.yaml1
-rw-r--r--ci/environments/scenario004-multinode-containers.yaml1
-rwxr-xr-xdocker/firstboot/setup_docker_host.sh3
-rw-r--r--docker/services/database/mysql.yaml69
-rw-r--r--docker/services/glance-api.yaml11
-rw-r--r--docker/services/haproxy.yaml65
-rw-r--r--docker/services/nova-libvirt.yaml53
-rw-r--r--docker/services/pacemaker/haproxy.yaml57
-rw-r--r--docker/services/pacemaker/rabbitmq.yaml15
-rw-r--r--environments/docker-centos-tripleoupstream.yaml124
-rw-r--r--environments/docker-services-tls-everywhere.yaml3
-rw-r--r--extraconfig/nova_metadata/krb-service-principals.j2.yaml (renamed from extraconfig/nova_metadata/krb-service-principals.yaml)44
-rw-r--r--net-config-bond.yaml4
-rw-r--r--net-config-bridge.yaml4
-rw-r--r--net-config-linux-bridge.yaml4
-rw-r--r--net-config-noop.yaml4
-rw-r--r--net-config-static-bridge-with-external-dhcp.yaml4
-rw-r--r--net-config-static-bridge.yaml4
-rw-r--r--net-config-static.yaml4
-rw-r--r--net-config-undercloud.yaml4
-rw-r--r--network/config/bond-with-vlans/ceph-storage.yaml4
-rw-r--r--network/config/bond-with-vlans/cinder-storage.yaml4
-rw-r--r--network/config/bond-with-vlans/compute-dpdk.yaml4
-rw-r--r--network/config/bond-with-vlans/compute.yaml4
-rw-r--r--network/config/bond-with-vlans/controller-no-external.yaml4
-rw-r--r--network/config/bond-with-vlans/controller-v6.yaml4
-rw-r--r--network/config/bond-with-vlans/controller.yaml4
-rw-r--r--network/config/bond-with-vlans/networker.yaml4
-rw-r--r--network/config/bond-with-vlans/swift-storage.yaml4
-rw-r--r--network/config/contrail/contrail-nic-config-compute.yaml4
-rw-r--r--network/config/contrail/contrail-nic-config.yaml4
-rw-r--r--network/config/multiple-nics/ceph-storage.yaml4
-rw-r--r--network/config/multiple-nics/cinder-storage.yaml4
-rw-r--r--network/config/multiple-nics/compute-dvr.yaml4
-rw-r--r--network/config/multiple-nics/compute.yaml4
-rw-r--r--network/config/multiple-nics/controller-v6.yaml4
-rw-r--r--network/config/multiple-nics/controller.yaml4
-rw-r--r--network/config/multiple-nics/networker.yaml4
-rw-r--r--network/config/multiple-nics/swift-storage.yaml4
-rw-r--r--network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml4
-rw-r--r--network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml4
-rw-r--r--network/config/single-nic-linux-bridge-vlans/compute.yaml4
-rw-r--r--network/config/single-nic-linux-bridge-vlans/controller-v6.yaml4
-rw-r--r--network/config/single-nic-linux-bridge-vlans/controller.yaml4
-rw-r--r--network/config/single-nic-linux-bridge-vlans/networker.yaml4
-rw-r--r--network/config/single-nic-linux-bridge-vlans/swift-storage.yaml4
-rw-r--r--network/config/single-nic-vlans/ceph-storage.yaml4
-rw-r--r--network/config/single-nic-vlans/cinder-storage.yaml4
-rw-r--r--network/config/single-nic-vlans/compute.yaml4
-rw-r--r--network/config/single-nic-vlans/controller-no-external.yaml4
-rw-r--r--network/config/single-nic-vlans/controller-v6.yaml4
-rw-r--r--network/config/single-nic-vlans/controller.yaml4
-rw-r--r--network/config/single-nic-vlans/networker.yaml4
-rw-r--r--network/config/single-nic-vlans/swift-storage.yaml4
-rw-r--r--network/ports/net_ip_list_map.j2.yaml (renamed from network/ports/net_ip_list_map.yaml)42
-rw-r--r--network/ports/net_ip_map.j2.yaml81
-rw-r--r--network/ports/net_ip_map.yaml210
-rw-r--r--network/ports/net_vip_map_external.j2.yaml40
-rw-r--r--network/ports/net_vip_map_external.yaml68
-rw-r--r--network/ports/net_vip_map_external_v6.j2.yaml45
-rw-r--r--network/ports/net_vip_map_external_v6.yaml88
-rw-r--r--overcloud-resource-registry-puppet.j2.yaml1
-rw-r--r--overcloud.j2.yaml208
-rw-r--r--puppet/services/neutron-plugin-ml2.yaml7
-rw-r--r--puppet/services/pacemaker/cinder-volume.yaml20
-rw-r--r--releasenotes/notes/neutron-ml2-overlay-ip-version-4f14932355847aa0.yaml5
-rwxr-xr-xtripleo_heat_templates/environment_generator.py2
70 files changed, 671 insertions, 770 deletions
diff --git a/README.rst b/README.rst
index 93c443bb..94f4f63c 100644
--- a/README.rst
+++ b/README.rst
@@ -82,7 +82,7 @@ and should be executed according to the following table:
| neutron-bgpvpn | | | | X | | |
+----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
| ovn | | | | | | X |
-+---------------------------------------------------------------------------------------------------------+
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
| neutron-l2gw | | | | X | | |
+----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
| rabbitmq | X | X | X | X | X | X |
diff --git a/ci/common/net-config-multinode-os-net-config.yaml b/ci/common/net-config-multinode-os-net-config.yaml
index 6f4542bd..9d45a9ff 100644
--- a/ci/common/net-config-multinode-os-net-config.yaml
+++ b/ci/common/net-config-multinode-os-net-config.yaml
@@ -15,7 +15,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -23,7 +23,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/ci/common/net-config-multinode.yaml b/ci/common/net-config-multinode.yaml
index f7e250e2..6beb62f0 100644
--- a/ci/common/net-config-multinode.yaml
+++ b/ci/common/net-config-multinode.yaml
@@ -15,7 +15,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -23,7 +23,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/ci/environments/scenario001-multinode-containers.yaml b/ci/environments/scenario001-multinode-containers.yaml
index 73dc5b14..a3bc8fcf 100644
--- a/ci/environments/scenario001-multinode-containers.yaml
+++ b/ci/environments/scenario001-multinode-containers.yaml
@@ -109,6 +109,7 @@ parameter_defaults:
CephMonKey: 'AQC+Ox1VmEr3BxAALZejqeHj50Nj6wJDvs96OQ=='
CephAdminKey: 'AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ=='
CephClientKey: 'AQC+vYNXgDAgAhAAc8UoYt+OTz5uhV7ItLdwUw=='
+ CephPoolDefaultSize: 1
NovaEnableRbdBackend: true
CinderEnableRbdBackend: true
CinderBackupBackend: ceph
diff --git a/ci/environments/scenario004-multinode-containers.yaml b/ci/environments/scenario004-multinode-containers.yaml
index 6d795f97..5590de26 100644
--- a/ci/environments/scenario004-multinode-containers.yaml
+++ b/ci/environments/scenario004-multinode-containers.yaml
@@ -95,6 +95,7 @@ parameter_defaults:
CephMonKey: 'AQC+Ox1VmEr3BxAALZejqeHj50Nj6wJDvs96OQ=='
CephAdminKey: 'AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ=='
CephClientKey: 'AQC+vYNXgDAgAhAAc8UoYt+OTz5uhV7ItLdwUw=='
+ CephPoolDefaultSize: 1
SwiftCeilometerPipelineEnabled: false
NeutronServicePlugins: 'router, networking_bgpvpn.neutron.services.plugin.BGPVPNPlugin'
BgpvpnServiceProvider: 'BGPVPN:Dummy:networking_bgpvpn.neutron.services.service_drivers.driver_api.BGPVPNDriver:default'
diff --git a/docker/firstboot/setup_docker_host.sh b/docker/firstboot/setup_docker_host.sh
index 8b4c6a03..af213bbd 100755
--- a/docker/firstboot/setup_docker_host.sh
+++ b/docker/firstboot/setup_docker_host.sh
@@ -6,3 +6,6 @@ set -eux
# Disable libvirtd since it conflicts with nova_libvirt container
/usr/bin/systemctl disable libvirtd.service
/usr/bin/systemctl stop libvirtd.service
+# Disable virtlogd since it conflicts with nova_virtlogd container
+/usr/bin/systemctl disable virtlogd.service
+/usr/bin/systemctl stop virtlogd.service
diff --git a/docker/services/database/mysql.yaml b/docker/services/database/mysql.yaml
index 54331415..402dc351 100644
--- a/docker/services/database/mysql.yaml
+++ b/docker/services/database/mysql.yaml
@@ -40,6 +40,18 @@ parameters:
type: string
hidden: true
default: ''
+ EnableInternalTLS:
+ type: boolean
+ default: false
+ InternalTLSCAFile:
+ default: '/etc/ipa/ca.crt'
+ type: string
+ description: Specifies the default CA cert to use if TLS is used for
+ services in the internal network.
+
+conditions:
+
+ internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
resources:
@@ -86,10 +98,21 @@ outputs:
dest: "/"
merge: true
preserve_properties: true
+ - source: "/var/lib/kolla/config_files/src-tls/*"
+ dest: "/"
+ merge: true
+ preserve_properties: true
+ optional: true
permissions:
- path: /var/lib/mysql
owner: mysql:mysql
recurse: true
+ - path: /etc/pki/tls/certs/mysql.crt
+ owner: mysql:mysql
+ optional: true
+ - path: /etc/pki/tls/private/mysql.key
+ owner: mysql:mysql
+ optional: true
docker_config:
# Kolla_bootstrap runs before permissions set by kolla_config
step_1:
@@ -108,12 +131,25 @@ outputs:
# Kolla bootstraps aren't idempotent, explicitly checking if bootstrap was done
command: ['bash', '-c', 'test -e /var/lib/mysql/mysql || kolla_start']
volumes: &mysql_volumes
- - /var/lib/kolla/config_files/mysql.json:/var/lib/kolla/config_files/config.json
- - /var/lib/config-data/puppet-generated/mysql/:/var/lib/kolla/config_files/src:ro
- - /etc/localtime:/etc/localtime:ro
- - /etc/hosts:/etc/hosts:ro
- - /var/lib/mysql:/var/lib/mysql
- - /var/log/containers/mysql:/var/log/mariadb
+ list_concat:
+ -
+ - /var/lib/kolla/config_files/mysql.json:/var/lib/kolla/config_files/config.json
+ - /var/lib/config-data/puppet-generated/mysql/:/var/lib/kolla/config_files/src:ro
+ - /etc/localtime:/etc/localtime:ro
+ - /etc/hosts:/etc/hosts:ro
+ - /var/lib/mysql:/var/lib/mysql
+ - /var/log/containers/mysql:/var/log/mariadb
+ - if:
+ - internal_tls_enabled
+ -
+ - list_join:
+ - ':'
+ - - {get_param: InternalTLSCAFile}
+ - {get_param: InternalTLSCAFile}
+ - 'ro'
+ - /etc/pki/tls/certs/mysql.crt:/var/lib/kolla/config_files/src-tls/etc/pki/tls/certs/mysql.crt:ro
+ - /etc/pki/tls/private/mysql.key:/var/lib/kolla/config_files/src-tls/etc/pki/tls/private/mysql.key:ro
+ - null
environment:
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
- KOLLA_BOOTSTRAP=True
@@ -146,9 +182,24 @@ outputs:
step_config: 'include ::tripleo::profile::base::database::mysql'
config_image: *mysql_config_image
volumes:
- - /var/lib/mysql:/var/lib/mysql/:ro
- - /var/log/containers/mysql:/var/log/mariadb
- - /var/lib/config-data/mysql/root:/root:ro #provides .my.cnf
+ list_concat:
+ -
+ - /var/lib/mysql:/var/lib/mysql/:ro
+ - /var/log/containers/mysql:/var/log/mariadb
+ - /var/lib/config-data/mysql/root:/root:ro #provides .my.cnf
+ - if:
+ - internal_tls_enabled
+ -
+ - list_join:
+ - ':'
+ - - {get_param: InternalTLSCAFile}
+ - {get_param: InternalTLSCAFile}
+ - 'ro'
+ - /etc/pki/tls/certs/mysql.crt:/var/lib/kolla/config_files/src-tls/etc/pki/tls/certs/mysql.crt:ro
+ - /etc/pki/tls/private/mysql.key:/var/lib/kolla/config_files/src-tls/etc/pki/tls/private/mysql.key:ro
+ - null
+ metadata_settings:
+ get_attr: [MysqlPuppetBase, role_data, metadata_settings]
host_prep_tasks:
- name: create persistent directories
file:
diff --git a/docker/services/glance-api.yaml b/docker/services/glance-api.yaml
index 044eb283..df226b15 100644
--- a/docker/services/glance-api.yaml
+++ b/docker/services/glance-api.yaml
@@ -39,10 +39,16 @@ parameters:
EnableInternalTLS:
type: boolean
default: false
+ GlanceNfsEnabled:
+ default: false
+ description: >
+ When using GlanceBackend 'file', mount NFS share for image storage.
+ type: boolean
conditions:
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
+ nfs_backend_enabled: {equals: [{get_param: GlanceNfsEnabled}, true]}
resources:
@@ -128,6 +134,11 @@ outputs:
- /var/lib/config-data/puppet-generated/glance_api/:/var/lib/kolla/config_files/src:ro
- /var/log/containers/glance:/var/log/glance
- /etc/ceph:/var/lib/kolla/config_files/src-ceph:ro
+ -
+ if:
+ - nfs_backend_enabled
+ - /var/lib/glance:/var/lib/glance
+ - ''
environment:
- KOLLA_BOOTSTRAP=True
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
diff --git a/docker/services/haproxy.yaml b/docker/services/haproxy.yaml
index 2f0584ea..f0e2f71d 100644
--- a/docker/services/haproxy.yaml
+++ b/docker/services/haproxy.yaml
@@ -60,6 +60,18 @@ parameters:
default: {}
description: Parameters specific to the role
type: json
+ EnableInternalTLS:
+ type: boolean
+ default: false
+ InternalTLSCAFile:
+ default: '/etc/ipa/ca.crt'
+ type: string
+ description: Specifies the default CA cert to use if TLS is used for
+ services in the internal network.
+
+conditions:
+
+ internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
resources:
@@ -86,6 +98,9 @@ outputs:
- get_attr: [HAProxyBase, role_data, config_settings]
- tripleo::haproxy::haproxy_daemon: false
tripleo::haproxy::haproxy_service_manage: false
+ # NOTE(jaosorior): We disable the CRL since we have no way to restart haproxy
+ # when this is updated
+ tripleo::haproxy::crl_file: null
step_config: &step_config
get_attr: [HAProxyBase, role_data, step_config]
service_config_settings: {get_attr: [HAProxyBase, role_data, service_config_settings]}
@@ -96,12 +111,23 @@ outputs:
step_config:
"class {'::tripleo::profile::base::haproxy': manage_firewall => false}"
config_image: {get_param: DockerHAProxyConfigImage}
- volumes: &deployed_cert_mount
- - list_join:
- - ':'
- - - {get_param: DeployedSSLCertificatePath}
- - {get_param: DeployedSSLCertificatePath}
- - 'ro'
+ volumes:
+ list_concat:
+ - - list_join:
+ - ':'
+ - - {get_param: DeployedSSLCertificatePath}
+ - {get_param: DeployedSSLCertificatePath}
+ - 'ro'
+ - if:
+ - internal_tls_enabled
+ - - /etc/pki/tls/certs/haproxy:/etc/pki/tls/certs/haproxy:ro
+ - /etc/pki/tls/private/haproxy:/etc/pki/tls/private/haproxy:ro
+ - list_join:
+ - ':'
+ - - {get_param: InternalTLSCAFile}
+ - {get_param: InternalTLSCAFile}
+ - 'ro'
+ - null
kolla_config:
/var/lib/kolla/config_files/haproxy.json:
command: haproxy -f /etc/haproxy/haproxy.cfg
@@ -110,6 +136,16 @@ outputs:
dest: "/"
merge: true
preserve_properties: true
+ - source: "/var/lib/kolla/config_files/src-tls/*"
+ dest: "/"
+ merge: true
+ preserve_properties: true
+ optional: true
+ permissions:
+ - path: /etc/pki/tls/certs/haproxy
+ owner: haproxy:haproxy
+ recurse: true
+ optional: true
docker_config:
step_1:
haproxy_firewall:
@@ -133,7 +169,6 @@ outputs:
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}
- - *deployed_cert_mount
-
- /var/lib/kolla/config_files/haproxy.json:/var/lib/kolla/config_files/config.json:ro
- /var/lib/config-data/puppet-generated/haproxy/:/var/lib/kolla/config_files/src:ro
@@ -154,10 +189,24 @@ outputs:
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}
- - *deployed_cert_mount
-
- /var/lib/kolla/config_files/haproxy.json:/var/lib/kolla/config_files/config.json:ro
- /var/lib/config-data/puppet-generated/haproxy/:/var/lib/kolla/config_files/src:ro
+ - list_join:
+ - ':'
+ - - {get_param: DeployedSSLCertificatePath}
+ - {get_param: DeployedSSLCertificatePath}
+ - 'ro'
+ -
+ if:
+ - internal_tls_enabled
+ - /etc/pki/tls/certs/haproxy:/var/lib/kolla/config_files/src-tls/etc/pki/tls/certs/haproxy:ro
+ - ''
+ -
+ if:
+ - internal_tls_enabled
+ - /etc/pki/tls/private/haproxy:/var/lib/kolla/config_files/src-tls/etc/pki/tls/private/haproxy:ro
+ - ''
environment:
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
metadata_settings:
diff --git a/docker/services/nova-libvirt.yaml b/docker/services/nova-libvirt.yaml
index 916b057e..7637e6e9 100644
--- a/docker/services/nova-libvirt.yaml
+++ b/docker/services/nova-libvirt.yaml
@@ -12,10 +12,6 @@ parameters:
DockerNovaLibvirtConfigImage:
description: The container image to use for the nova_libvirt config_volume
type: string
- EnablePackageInstall:
- default: 'false'
- description: Set to true to enable package installation at deploy time
- type: boolean
ServiceData:
default: {}
description: Dictionary packing service data
@@ -144,13 +140,45 @@ outputs:
dest: "/etc/ceph/"
merge: true
preserve_properties: true
+ /var/lib/kolla/config_files/nova_virtlogd.json:
+ command: /usr/sbin/virtlogd --config /etc/libvirt/virtlogd.conf
+ config_files:
+ - source: "/var/lib/kolla/config_files/src/*"
+ dest: "/"
+ merge: true
+ preserve_properties: true
permissions:
- path: /var/log/nova
owner: nova:nova
recurse: true
docker_config:
step_3:
+ nova_virtlogd:
+ start_order: 0
+ image: {get_param: DockerNovaLibvirtImage}
+ net: host
+ pid: host
+ privileged: true
+ restart: always
+ volumes:
+ list_concat:
+ - {get_attr: [ContainersCommon, volumes]}
+ -
+ - /var/lib/kolla/config_files/nova_virtlogd.json:/var/lib/kolla/config_files/config.json:ro
+ - /var/lib/config-data/puppet-generated/nova_libvirt/:/var/lib/kolla/config_files/src:ro
+ - /lib/modules:/lib/modules:ro
+ - /dev:/dev
+ - /run:/run
+ - /sys/fs/cgroup:/sys/fs/cgroup
+ - /var/lib/nova:/var/lib/nova
+ - /var/run/libvirt:/var/run/libvirt
+ - /var/lib/libvirt:/var/lib/libvirt
+ - /etc/libvirt/qemu:/etc/libvirt/qemu:ro
+ - /var/log/libvirt/qemu:/var/log/libvirt/qemu
+ environment:
+ - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
nova_libvirt:
+ start_order: 1
image: {get_param: DockerNovaLibvirtImage}
net: host
pid: host
@@ -169,7 +197,6 @@ outputs:
- /sys/fs/cgroup:/sys/fs/cgroup
- /var/lib/nova:/var/lib/nova
- /etc/libvirt:/etc/libvirt
- # Needed to use host's virtlogd
- /var/run/libvirt:/var/run/libvirt
- /var/lib/libvirt:/var/lib/libvirt
- /var/log/libvirt/qemu:/var/log/libvirt/qemu:ro
@@ -216,22 +243,6 @@ outputs:
file:
path: /etc/ceph
state: directory
- - name: set enable_package_install fact
- set_fact:
- enable_package_install: {get_param: EnablePackageInstall}
- # We use virtlogd on host, so when using Deployed Server
- # feature, we need to ensure libvirt is installed.
- - name: install libvirt-daemon
- package:
- name: libvirt-daemon
- state: present
- when: enable_package_install
- - name: start virtlogd socket
- service:
- name: virtlogd.socket
- state: started
- enabled: yes
- when: enable_package_install
upgrade_tasks:
- name: Stop and disable libvirtd service
tags: step2
diff --git a/docker/services/pacemaker/haproxy.yaml b/docker/services/pacemaker/haproxy.yaml
index 24155912..5ba54f85 100644
--- a/docker/services/pacemaker/haproxy.yaml
+++ b/docker/services/pacemaker/haproxy.yaml
@@ -41,6 +41,22 @@ parameters:
default: {}
description: Parameters specific to the role
type: json
+ InternalTLSCAFile:
+ default: '/etc/ipa/ca.crt'
+ type: string
+ description: Specifies the default CA cert to use if TLS is used for
+ services in the internal network.
+ InternalTLSCRLPEMFile:
+ default: '/etc/pki/CA/crl/overcloud-crl.pem'
+ type: string
+ description: Specifies the default CRL PEM file to use for revocation if
+ TLS is used for services in the internal network.
+ HAProxyInternalTLSCertsDirectory:
+ default: '/etc/pki/tls/certs/haproxy'
+ type: string
+ HAProxyInternalTLSKeysDirectory:
+ default: '/etc/pki/tls/private/haproxy'
+ type: string
resources:
@@ -65,6 +81,17 @@ outputs:
- tripleo::haproxy::haproxy_daemon: false
haproxy_docker: true
tripleo::profile::pacemaker::haproxy_bundle::haproxy_docker_image: &haproxy_image {get_param: DockerHAProxyImage}
+ # the list of directories that contain the certs to bind mount in the countainer
+ # bind-mounting the directories rather than all the cert, key and pem files ensures
+ # that docker won't create directories on the host when then pem files do not exist
+ tripleo::profile::pacemaker::haproxy_bundle::tls_mapping: &tls_mapping
+ - get_param: InternalTLSCAFile
+ - get_param: HAProxyInternalTLSKeysDirectory
+ - get_param: HAProxyInternalTLSCertsDirectory
+ tripleo::profile::pacemaker::haproxy_bundle::internal_certs_directory: {get_param: HAProxyInternalTLSCertsDirectory}
+ tripleo::profile::pacemaker::haproxy_bundle::internal_keys_directory: {get_param: HAProxyInternalTLSKeysDirectory}
+ # disable the use CRL file until we can restart the container when the file expires
+ tripleo::haproxy::crl_file: null
step_config: ""
service_config_settings: {get_attr: [HAProxyBase, role_data, service_config_settings]}
# BEGIN DOCKER SETTINGS
@@ -80,11 +107,9 @@ outputs:
- 'include ::tripleo::profile::pacemaker::haproxy_bundle'
config_image: {get_param: DockerHAProxyConfigImage}
volumes: &deployed_cert_mount
- - list_join:
- - ':'
- - - {get_param: DeployedSSLCertificatePath}
- - {get_param: DeployedSSLCertificatePath}
- - 'ro'
+ yaql:
+ expression: $.data.select($+":"+$+":ro")
+ data: *tls_mapping
kolla_config:
/var/lib/kolla/config_files/haproxy.json:
command: haproxy -f /etc/haproxy/haproxy.cfg
@@ -94,6 +119,28 @@ outputs:
merge: true
preserve_properties: true
optional: true
+ - source: "/var/lib/kolla/config_files/src-tls/*"
+ dest: "/"
+ merge: true
+ optional: true
+ preserve_properties: true
+ permissions:
+ - path:
+ list_join:
+ - ''
+ - - {get_param: HAProxyInternalTLSCertsDirectory}
+ - '/*'
+ owner: haproxy:haproxy
+ perm: '0600'
+ optional: true
+ - path:
+ list_join:
+ - ''
+ - - {get_param: HAProxyInternalTLSKeysDirectory}
+ - '/*'
+ owner: haproxy:haproxy
+ perm: '0600'
+ optional: true
docker_config:
step_2:
haproxy_init_bundle:
diff --git a/docker/services/pacemaker/rabbitmq.yaml b/docker/services/pacemaker/rabbitmq.yaml
index de53ceee..d8e50afd 100644
--- a/docker/services/pacemaker/rabbitmq.yaml
+++ b/docker/services/pacemaker/rabbitmq.yaml
@@ -92,6 +92,11 @@ outputs:
dest: "/"
merge: true
preserve_properties: true
+ - source: "/var/lib/kolla/config_files/src-tls/*"
+ dest: "/"
+ merge: true
+ optional: true
+ preserve_properties: true
permissions:
- path: /var/lib/rabbitmq
owner: rabbitmq:rabbitmq
@@ -99,6 +104,14 @@ outputs:
- path: /var/log/rabbitmq
owner: rabbitmq:rabbitmq
recurse: true
+ - path: /etc/pki/tls/certs/rabbitmq.crt
+ owner: rabbitmq:rabbitmq
+ perm: '0600'
+ optional: true
+ - path: /etc/pki/tls/private/rabbitmq.key
+ owner: rabbitmq:rabbitmq
+ perm: '0600'
+ optional: true
# When using pacemaker we don't launch the container, instead that is done by pacemaker
# itself.
docker_config:
@@ -164,6 +177,8 @@ outputs:
echo 'export ERL_EPMD_ADDRESS=127.0.0.1' > /etc/rabbitmq/rabbitmq-env.conf
echo 'export ERL_EPMD_PORT=4370' >> /etc/rabbitmq/rabbitmq-env.conf
for pid in $(pgrep epmd); do if [ "$(lsns -o NS -p $pid)" == "$(lsns -o NS -p 1)" ]; then kill $pid; break; fi; done
+ metadata_settings:
+ get_attr: [RabbitmqBase, role_data, metadata_settings]
upgrade_tasks:
- name: get bootstrap nodeid
tags: common
diff --git a/environments/docker-centos-tripleoupstream.yaml b/environments/docker-centos-tripleoupstream.yaml
deleted file mode 100644
index 01a118e4..00000000
--- a/environments/docker-centos-tripleoupstream.yaml
+++ /dev/null
@@ -1,124 +0,0 @@
-# Generated with the following on 2017-08-11T04:58:59.567629
-#
-# openstack overcloud container image prepare --env-file environments/docker-centos-tripleoupstream.yaml
-#
-
-parameter_defaults:
- DockerAodhApiImage: tripleoupstream/centos-binary-aodh-api:latest
- DockerAodhConfigImage: tripleoupstream/centos-binary-aodh-api:latest
- DockerAodhEvaluatorImage: tripleoupstream/centos-binary-aodh-evaluator:latest
- DockerAodhListenerImage: tripleoupstream/centos-binary-aodh-listener:latest
- DockerAodhNotifierImage: tripleoupstream/centos-binary-aodh-notifier:latest
- DockerBarbicanApiImage: tripleoupstream/centos-binary-barbican-api:latest
- DockerCeilometerCentralImage: tripleoupstream/centos-binary-ceilometer-central:latest
- DockerCeilometerComputeImage: tripleoupstream/centos-binary-ceilometer-compute:latest
- DockerCeilometerConfigImage: tripleoupstream/centos-binary-ceilometer-central:latest
- DockerCeilometerIpmiImage: tripleoupstream/centos-binary-ceilometer-ipmi:latest
- DockerCeilometerNotificationImage: tripleoupstream/centos-binary-ceilometer-notification:latest
- DockerCinderApiImage: tripleoupstream/centos-binary-cinder-api:latest
- DockerCinderBackupImage: tripleoupstream/centos-binary-cinder-backup:latest
- DockerCinderConfigImage: tripleoupstream/centos-binary-cinder-api:latest
- DockerCinderSchedulerImage: tripleoupstream/centos-binary-cinder-scheduler:latest
- DockerCinderVolumeImage: tripleoupstream/centos-binary-cinder-volume:latest
- DockerClustercheckConfigImage: tripleoupstream/centos-binary-mariadb:latest
- DockerClustercheckImage: tripleoupstream/centos-binary-mariadb:latest
- DockerCollectdConfigImage: tripleoupstream/centos-binary-collectd:latest
- DockerCollectdImage: tripleoupstream/centos-binary-collectd:latest
- DockerCongressApiImage: tripleoupstream/centos-binary-congress-api:latest
- DockerCongressConfigImage: tripleoupstream/centos-binary-congress-api:latest
- DockerEc2ApiConfigImage: tripleoupstream/centos-binary-ec2-api:latest
- DockerEc2ApiImage: tripleoupstream/centos-binary-ec2-api:latest
- DockerEtcdConfigImage: tripleoupstream/centos-binary-etcd:latest
- DockerEtcdImage: tripleoupstream/centos-binary-etcd:latest
- DockerGlanceApiConfigImage: tripleoupstream/centos-binary-glance-api:latest
- DockerGlanceApiImage: tripleoupstream/centos-binary-glance-api:latest
- DockerGnocchiApiImage: tripleoupstream/centos-binary-gnocchi-api:latest
- DockerGnocchiConfigImage: tripleoupstream/centos-binary-gnocchi-api:latest
- DockerGnocchiMetricdImage: tripleoupstream/centos-binary-gnocchi-metricd:latest
- DockerGnocchiStatsdImage: tripleoupstream/centos-binary-gnocchi-statsd:latest
- DockerHAProxyConfigImage: tripleoupstream/centos-binary-haproxy:latest
- DockerHAProxyImage: tripleoupstream/centos-binary-haproxy:latest
- DockerHeatApiCfnConfigImage: tripleoupstream/centos-binary-heat-api-cfn:latest
- DockerHeatApiCfnImage: tripleoupstream/centos-binary-heat-api-cfn:latest
- DockerHeatApiConfigImage: tripleoupstream/centos-binary-heat-api:latest
- DockerHeatApiImage: tripleoupstream/centos-binary-heat-api:latest
- DockerHeatConfigImage: tripleoupstream/centos-binary-heat-api:latest
- DockerHeatEngineImage: tripleoupstream/centos-binary-heat-engine:latest
- DockerHorizonConfigImage: tripleoupstream/centos-binary-horizon:latest
- DockerHorizonImage: tripleoupstream/centos-binary-horizon:latest
- DockerIronicApiConfigImage: tripleoupstream/centos-binary-ironic-api:latest
- DockerIronicApiImage: tripleoupstream/centos-binary-ironic-api:latest
- DockerIronicConductorImage: tripleoupstream/centos-binary-ironic-conductor:latest
- DockerIronicConfigImage: tripleoupstream/centos-binary-ironic-pxe:latest
- DockerIronicInspectorConfigImage: tripleoupstream/centos-binary-ironic-inspector:latest
- DockerIronicInspectorImage: tripleoupstream/centos-binary-ironic-inspector:latest
- DockerIronicPxeImage: tripleoupstream/centos-binary-ironic-pxe:latest
- DockerIscsidConfigImage: tripleoupstream/centos-binary-iscsid:latest
- DockerIscsidImage: tripleoupstream/centos-binary-iscsid:latest
- DockerKeystoneConfigImage: tripleoupstream/centos-binary-keystone:latest
- DockerKeystoneImage: tripleoupstream/centos-binary-keystone:latest
- DockerManilaApiImage: tripleoupstream/centos-binary-manila-api:latest
- DockerManilaConfigImage: tripleoupstream/centos-binary-manila-api:latest
- DockerManilaSchedulerImage: tripleoupstream/centos-binary-manila-scheduler:latest
- DockerManilaShareImage: tripleoupstream/centos-binary-manila-share:latest
- DockerMemcachedConfigImage: tripleoupstream/centos-binary-memcached:latest
- DockerMemcachedImage: tripleoupstream/centos-binary-memcached:latest
- DockerMistralApiImage: tripleoupstream/centos-binary-mistral-api:latest
- DockerMistralConfigImage: tripleoupstream/centos-binary-mistral-api:latest
- DockerMistralEngineImage: tripleoupstream/centos-binary-mistral-engine:latest
- DockerMistralExecutorImage: tripleoupstream/centos-binary-mistral-executor:latest
- DockerMongodbConfigImage: tripleoupstream/centos-binary-mongodb:latest
- DockerMongodbImage: tripleoupstream/centos-binary-mongodb:latest
- DockerMultipathdConfigImage: tripleoupstream/centos-binary-multipathd:latest
- DockerMultipathdImage: tripleoupstream/centos-binary-multipathd:latest
- DockerMysqlClientConfigImage: tripleoupstream/centos-binary-mariadb:latest
- DockerMysqlConfigImage: tripleoupstream/centos-binary-mariadb:latest
- DockerMysqlImage: tripleoupstream/centos-binary-mariadb:latest
- DockerNeutronApiImage: tripleoupstream/centos-binary-neutron-server:latest
- DockerNeutronConfigImage: tripleoupstream/centos-binary-neutron-server:latest
- DockerNeutronDHCPImage: tripleoupstream/centos-binary-neutron-dhcp-agent:latest
- DockerNeutronL3AgentImage: tripleoupstream/centos-binary-neutron-l3-agent:latest
- DockerNeutronMetadataImage: tripleoupstream/centos-binary-neutron-metadata-agent:latest
- DockerNovaApiImage: tripleoupstream/centos-binary-nova-api:latest
- DockerNovaComputeImage: tripleoupstream/centos-binary-nova-compute:latest
- DockerNovaComputeIronicImage: tripleoupstream/centos-binary-nova-compute-ironic:latest
- DockerNovaConductorImage: tripleoupstream/centos-binary-nova-conductor:latest
- DockerNovaConfigImage: tripleoupstream/centos-binary-nova-api:latest
- DockerNovaConsoleauthImage: tripleoupstream/centos-binary-nova-consoleauth:latest
- DockerNovaLibvirtConfigImage: tripleoupstream/centos-binary-nova-compute:latest
- DockerNovaLibvirtImage: tripleoupstream/centos-binary-nova-libvirt:latest
- DockerNovaPlacementConfigImage: tripleoupstream/centos-binary-nova-placement-api:latest
- DockerNovaPlacementImage: tripleoupstream/centos-binary-nova-placement-api:latest
- DockerNovaSchedulerImage: tripleoupstream/centos-binary-nova-scheduler:latest
- DockerNovaVncProxyImage: tripleoupstream/centos-binary-nova-novncproxy:latest
- DockerOVNControllerConfigImage: tripleoupstream/centos-binary-ovn-controller:latest
- DockerOVNControllerImage: tripleoupstream/centos-binary-ovn-controller:latest
- DockerOVNNbDbImage: tripleoupstream/centos-binary-ovn-nb-db-server:latest
- DockerOVNNorthdImage: tripleoupstream/centos-binary-ovn-northd:latest
- DockerOVNSbDbImage: tripleoupstream/centos-binary-ovn-sb-db-server:latest
- DockerOctaviaApiImage: tripleoupstream/centos-binary-octavia-api:latest
- DockerOctaviaConfigImage: tripleoupstream/centos-binary-octavia-api:latest
- DockerOctaviaHealthManagerImage: tripleoupstream/centos-binary-octavia-health-manager:latest
- DockerOctaviaHousekeepingImage: tripleoupstream/centos-binary-octavia-housekeeping:latest
- DockerOctaviaWorkerImage: tripleoupstream/centos-binary-octavia-worker:latest
- DockerOpenvswitchImage: tripleoupstream/centos-binary-neutron-openvswitch-agent:latest
- DockerPankoApiImage: tripleoupstream/centos-binary-panko-api:latest
- DockerPankoConfigImage: tripleoupstream/centos-binary-panko-api:latest
- DockerRabbitmqConfigImage: tripleoupstream/centos-binary-rabbitmq:latest
- DockerRabbitmqImage: tripleoupstream/centos-binary-rabbitmq:latest
- DockerRedisConfigImage: tripleoupstream/centos-binary-redis:latest
- DockerRedisImage: tripleoupstream/centos-binary-redis:latest
- DockerSaharaApiImage: tripleoupstream/centos-binary-sahara-api:latest
- DockerSaharaConfigImage: tripleoupstream/centos-binary-sahara-api:latest
- DockerSaharaEngineImage: tripleoupstream/centos-binary-sahara-engine:latest
- DockerSensuClientImage: tripleoupstream/centos-binary-sensu-client:latest
- DockerSensuConfigImage: tripleoupstream/centos-binary-sensu-client:latest
- DockerSwiftAccountImage: tripleoupstream/centos-binary-swift-account:latest
- DockerSwiftConfigImage: tripleoupstream/centos-binary-swift-proxy-server:latest
- DockerSwiftContainerImage: tripleoupstream/centos-binary-swift-container:latest
- DockerSwiftObjectImage: tripleoupstream/centos-binary-swift-object:latest
- DockerSwiftProxyImage: tripleoupstream/centos-binary-swift-proxy-server:latest
- DockerTackerConfigImage: tripleoupstream/centos-binary-tacker:latest
- DockerTackerImage: tripleoupstream/centos-binary-tacker:latest
- DockerZaqarConfigImage: tripleoupstream/centos-binary-zaqar:latest
- DockerZaqarImage: tripleoupstream/centos-binary-zaqar:latest
diff --git a/environments/docker-services-tls-everywhere.yaml b/environments/docker-services-tls-everywhere.yaml
index 49d02e6f..0b01da4d 100644
--- a/environments/docker-services-tls-everywhere.yaml
+++ b/environments/docker-services-tls-everywhere.yaml
@@ -26,7 +26,6 @@ resource_registry:
OS::TripleO::Services::HeatApi: ../docker/services/heat-api.yaml
OS::TripleO::Services::HeatApiCfn: ../docker/services/heat-api-cfn.yaml
OS::TripleO::Services::HeatEngine: ../docker/services/heat-engine.yaml
- OS::TripleO::Services::Iscsid: ../docker/services/iscsid.yaml
OS::TripleO::Services::Keystone: ../docker/services/keystone.yaml
OS::TripleO::Services::Memcached: ../docker/services/memcached.yaml
OS::TripleO::Services::NeutronApi: ../docker/services/neutron-api.yaml
@@ -41,3 +40,5 @@ resource_registry:
OS::TripleO::Services::SwiftProxy: ../docker/services/swift-proxy.yaml
OS::TripleO::Services::SwiftRingBuilder: ../docker/services/swift-ringbuilder.yaml
OS::TripleO::Services::SwiftStorage: ../docker/services/swift-storage.yaml
+ OS::TripleO::Services::HAproxy: ../docker/services/haproxy.yaml
+ OS::TripleO::Services::MySQL: ../docker/services/database/mysql.yaml
diff --git a/extraconfig/nova_metadata/krb-service-principals.yaml b/extraconfig/nova_metadata/krb-service-principals.j2.yaml
index cdd4341a..b18dba66 100644
--- a/extraconfig/nova_metadata/krb-service-principals.yaml
+++ b/extraconfig/nova_metadata/krb-service-principals.j2.yaml
@@ -5,30 +5,38 @@ parameters:
RoleData:
type: json
description: the list containing the 'role_data' output for the ServiceChain
-
- # Coming from parameter_defaults
+{%- for network in networks if network.vip|default(false) %}
+{%- if network.name == 'External' %}
+ # Special case the External hostname param, which is CloudName
CloudName:
default: overcloud.localdomain
description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
type: string
+{%- elif network.name == 'InternalApi' %}
+ # Special case the Internal API hostname param, which is CloudNameInternal
CloudNameInternal:
- default: overcloud.internalapi.localdomain
+ default: overcloud.{{network.name.lower()}}.localdomain
description: >
- The DNS name of this cloud's internal API endpoint. E.g.
- 'ci-overcloud.internalapi.tripleo.org'.
+ The DNS name of this cloud's {{network.name_lower}} endpoint. E.g.
+ 'ci-overcloud.{{network.name.lower()}}.tripleo.org'.
type: string
- CloudNameStorage:
- default: overcloud.storage.localdomain
+{%- elif network.name == 'StorageMgmt' %}
+ # Special case StorageMgmt hostname param, which is CloudNameStorageManagement
+ CloudNameStorageManagement:
+ default: overcloud.{{network.name.lower()}}.localdomain
description: >
- The DNS name of this cloud's storage endpoint. E.g.
- 'ci-overcloud.storage.tripleo.org'.
+ The DNS name of this cloud's {{network.name_lower}} endpoint. E.g.
+ 'ci-overcloud.{{network.name.lower()}}.tripleo.org'.
type: string
- CloudNameStorageManagement:
- default: overcloud.storagemgmt.localdomain
+{%- else %}
+ CloudName{{network.name}}:
+ default: overcloud.{{network.name.lower()}}.localdomain
description: >
- The DNS name of this cloud's storage management endpoint. E.g.
- 'ci-overcloud.storagemgmt.tripleo.org'.
+ The DNS name of this cloud's {{network.name_lower}} endpoint. E.g.
+ 'ci-overcloud.{{network.name.lower()}}.tripleo.org'.
type: string
+{%- endif %}
+{%- endfor %}
CloudNameCtlplane:
default: overcloud.ctlplane.localdomain
description: >
@@ -61,10 +69,17 @@ resources:
data:
metadata: {get_attr: [IncomingMetadataSettings, value]}
fqdns:
+{%- for network in networks if network.vip|default(false) %}
+{%- if network.name == 'External' %}
external: {get_param: CloudName}
+{%- elif network.name == 'InternalApi' %}
internal_api: {get_param: CloudNameInternal}
- storage: {get_param: CloudNameStorage}
+{%- elif network.name == 'StorageMgmt' %}
storage_mgmt: {get_param: CloudNameStorageManagement}
+{%- else %}
+ {{network.name_lower}}: {get_param: CloudName{{network.name}}}
+{%- endif %}
+{%- endfor %}
ctlplane: {get_param: CloudNameCtlplane}
CompactServices:
@@ -82,3 +97,4 @@ outputs:
map_merge:
- {get_attr: [IndividualServices, value]}
- compact_services: {get_attr: [CompactServices, value]}
+
diff --git a/net-config-bond.yaml b/net-config-bond.yaml
index 95b47455..8a97c854 100644
--- a/net-config-bond.yaml
+++ b/net-config-bond.yaml
@@ -22,7 +22,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -30,7 +30,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/net-config-bridge.yaml b/net-config-bridge.yaml
index 29646ab5..0668245d 100644
--- a/net-config-bridge.yaml
+++ b/net-config-bridge.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/net-config-linux-bridge.yaml b/net-config-linux-bridge.yaml
index 6c44e60e..3964341a 100644
--- a/net-config-linux-bridge.yaml
+++ b/net-config-linux-bridge.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/net-config-noop.yaml b/net-config-noop.yaml
index 57f1a197..bdfda577 100644
--- a/net-config-noop.yaml
+++ b/net-config-noop.yaml
@@ -15,7 +15,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -23,7 +23,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/net-config-static-bridge-with-external-dhcp.yaml b/net-config-static-bridge-with-external-dhcp.yaml
index cbf282ea..0e0d5900 100644
--- a/net-config-static-bridge-with-external-dhcp.yaml
+++ b/net-config-static-bridge-with-external-dhcp.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/net-config-static-bridge.yaml b/net-config-static-bridge.yaml
index c778bd81..e3e930d5 100644
--- a/net-config-static-bridge.yaml
+++ b/net-config-static-bridge.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/net-config-static.yaml b/net-config-static.yaml
index e864be03..02e2fe65 100644
--- a/net-config-static.yaml
+++ b/net-config-static.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/net-config-undercloud.yaml b/net-config-undercloud.yaml
index 881fbfd7..df02833a 100644
--- a/net-config-undercloud.yaml
+++ b/net-config-undercloud.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/bond-with-vlans/ceph-storage.yaml b/network/config/bond-with-vlans/ceph-storage.yaml
index 9683456a..bd15a189 100644
--- a/network/config/bond-with-vlans/ceph-storage.yaml
+++ b/network/config/bond-with-vlans/ceph-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/bond-with-vlans/cinder-storage.yaml b/network/config/bond-with-vlans/cinder-storage.yaml
index 3ad6d653..4ea3c470 100644
--- a/network/config/bond-with-vlans/cinder-storage.yaml
+++ b/network/config/bond-with-vlans/cinder-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/bond-with-vlans/compute-dpdk.yaml b/network/config/bond-with-vlans/compute-dpdk.yaml
index 095c4973..5def1ca9 100644
--- a/network/config/bond-with-vlans/compute-dpdk.yaml
+++ b/network/config/bond-with-vlans/compute-dpdk.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/bond-with-vlans/compute.yaml b/network/config/bond-with-vlans/compute.yaml
index 882402af..2acbc877 100644
--- a/network/config/bond-with-vlans/compute.yaml
+++ b/network/config/bond-with-vlans/compute.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/bond-with-vlans/controller-no-external.yaml b/network/config/bond-with-vlans/controller-no-external.yaml
index 4901f94d..55603518 100644
--- a/network/config/bond-with-vlans/controller-no-external.yaml
+++ b/network/config/bond-with-vlans/controller-no-external.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/bond-with-vlans/controller-v6.yaml b/network/config/bond-with-vlans/controller-v6.yaml
index 33c6fa65..69ab7539 100644
--- a/network/config/bond-with-vlans/controller-v6.yaml
+++ b/network/config/bond-with-vlans/controller-v6.yaml
@@ -14,7 +14,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -22,7 +22,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/bond-with-vlans/controller.yaml b/network/config/bond-with-vlans/controller.yaml
index 100821b7..70e41eb6 100644
--- a/network/config/bond-with-vlans/controller.yaml
+++ b/network/config/bond-with-vlans/controller.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/bond-with-vlans/networker.yaml b/network/config/bond-with-vlans/networker.yaml
index aa6e9da6..45994c72 100644
--- a/network/config/bond-with-vlans/networker.yaml
+++ b/network/config/bond-with-vlans/networker.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/bond-with-vlans/swift-storage.yaml b/network/config/bond-with-vlans/swift-storage.yaml
index 0ede081f..c31bf225 100644
--- a/network/config/bond-with-vlans/swift-storage.yaml
+++ b/network/config/bond-with-vlans/swift-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/contrail/contrail-nic-config-compute.yaml b/network/config/contrail/contrail-nic-config-compute.yaml
index a5f0ecab..5f9e9198 100644
--- a/network/config/contrail/contrail-nic-config-compute.yaml
+++ b/network/config/contrail/contrail-nic-config-compute.yaml
@@ -16,7 +16,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
InternalApiDefaultRoute: # Not used by default in this template
default: '10.0.0.1'
@@ -28,7 +28,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/contrail/contrail-nic-config.yaml b/network/config/contrail/contrail-nic-config.yaml
index 595f34d1..fb78caca 100644
--- a/network/config/contrail/contrail-nic-config.yaml
+++ b/network/config/contrail/contrail-nic-config.yaml
@@ -16,7 +16,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
InternalApiDefaultRoute: # Not used by default in this template
default: '10.0.0.1'
@@ -28,7 +28,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/multiple-nics/ceph-storage.yaml b/network/config/multiple-nics/ceph-storage.yaml
index 3cc4361f..8448f84f 100644
--- a/network/config/multiple-nics/ceph-storage.yaml
+++ b/network/config/multiple-nics/ceph-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/multiple-nics/cinder-storage.yaml b/network/config/multiple-nics/cinder-storage.yaml
index fa7d49e3..57882e22 100644
--- a/network/config/multiple-nics/cinder-storage.yaml
+++ b/network/config/multiple-nics/cinder-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/multiple-nics/compute-dvr.yaml b/network/config/multiple-nics/compute-dvr.yaml
index a7939125..562a63d9 100644
--- a/network/config/multiple-nics/compute-dvr.yaml
+++ b/network/config/multiple-nics/compute-dvr.yaml
@@ -13,7 +13,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -21,7 +21,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/multiple-nics/compute.yaml b/network/config/multiple-nics/compute.yaml
index d1dc06a3..febfed0c 100644
--- a/network/config/multiple-nics/compute.yaml
+++ b/network/config/multiple-nics/compute.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/multiple-nics/controller-v6.yaml b/network/config/multiple-nics/controller-v6.yaml
index 477eeaae..17544f22 100644
--- a/network/config/multiple-nics/controller-v6.yaml
+++ b/network/config/multiple-nics/controller-v6.yaml
@@ -13,7 +13,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -21,7 +21,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/multiple-nics/controller.yaml b/network/config/multiple-nics/controller.yaml
index 59f16b93..7d9dbe7a 100644
--- a/network/config/multiple-nics/controller.yaml
+++ b/network/config/multiple-nics/controller.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/multiple-nics/networker.yaml b/network/config/multiple-nics/networker.yaml
index b251fb9c..abee66ca 100644
--- a/network/config/multiple-nics/networker.yaml
+++ b/network/config/multiple-nics/networker.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/multiple-nics/swift-storage.yaml b/network/config/multiple-nics/swift-storage.yaml
index 180f553f..cf547918 100644
--- a/network/config/multiple-nics/swift-storage.yaml
+++ b/network/config/multiple-nics/swift-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml b/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml
index 6685f2bc..b22f633a 100644
--- a/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml b/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml
index ecc57ad5..1c5a8c9a 100644
--- a/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-linux-bridge-vlans/compute.yaml b/network/config/single-nic-linux-bridge-vlans/compute.yaml
index a637ef00..f4fd5fba 100644
--- a/network/config/single-nic-linux-bridge-vlans/compute.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/compute.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml b/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml
index d4058078..44fc961c 100644
--- a/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml
@@ -13,7 +13,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -21,7 +21,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-linux-bridge-vlans/controller.yaml b/network/config/single-nic-linux-bridge-vlans/controller.yaml
index a52a8b84..0a54145a 100644
--- a/network/config/single-nic-linux-bridge-vlans/controller.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/controller.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-linux-bridge-vlans/networker.yaml b/network/config/single-nic-linux-bridge-vlans/networker.yaml
index b1733dec..7dd48944 100644
--- a/network/config/single-nic-linux-bridge-vlans/networker.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/networker.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml b/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml
index ad154fad..2649391f 100644
--- a/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-vlans/ceph-storage.yaml b/network/config/single-nic-vlans/ceph-storage.yaml
index 790e8a7d..ebcc721c 100644
--- a/network/config/single-nic-vlans/ceph-storage.yaml
+++ b/network/config/single-nic-vlans/ceph-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-vlans/cinder-storage.yaml b/network/config/single-nic-vlans/cinder-storage.yaml
index 6dee3bee..d2548e4e 100644
--- a/network/config/single-nic-vlans/cinder-storage.yaml
+++ b/network/config/single-nic-vlans/cinder-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-vlans/compute.yaml b/network/config/single-nic-vlans/compute.yaml
index d2559d2c..78814af1 100644
--- a/network/config/single-nic-vlans/compute.yaml
+++ b/network/config/single-nic-vlans/compute.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-vlans/controller-no-external.yaml b/network/config/single-nic-vlans/controller-no-external.yaml
index d26de321..1dc9a6f3 100644
--- a/network/config/single-nic-vlans/controller-no-external.yaml
+++ b/network/config/single-nic-vlans/controller-no-external.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-vlans/controller-v6.yaml b/network/config/single-nic-vlans/controller-v6.yaml
index 8f68760f..f1055ae3 100644
--- a/network/config/single-nic-vlans/controller-v6.yaml
+++ b/network/config/single-nic-vlans/controller-v6.yaml
@@ -13,7 +13,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -21,7 +21,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-vlans/controller.yaml b/network/config/single-nic-vlans/controller.yaml
index 8530118f..171fcf5d 100644
--- a/network/config/single-nic-vlans/controller.yaml
+++ b/network/config/single-nic-vlans/controller.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-vlans/networker.yaml b/network/config/single-nic-vlans/networker.yaml
index 54a17e46..2502984a 100644
--- a/network/config/single-nic-vlans/networker.yaml
+++ b/network/config/single-nic-vlans/networker.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/config/single-nic-vlans/swift-storage.yaml b/network/config/single-nic-vlans/swift-storage.yaml
index b4587e04..99ab66c1 100644
--- a/network/config/single-nic-vlans/swift-storage.yaml
+++ b/network/config/single-nic-vlans/swift-storage.yaml
@@ -12,7 +12,7 @@ parameters:
type: string
InternalApiIpSubnet:
default: ''
- description: IP address/subnet on the internal API network
+ description: IP address/subnet on the internal_api network
type: string
StorageIpSubnet:
default: ''
@@ -20,7 +20,7 @@ parameters:
type: string
StorageMgmtIpSubnet:
default: ''
- description: IP address/subnet on the storage mgmt network
+ description: IP address/subnet on the storage_mgmt network
type: string
TenantIpSubnet:
default: ''
diff --git a/network/ports/net_ip_list_map.yaml b/network/ports/net_ip_list_map.j2.yaml
index 6d7b7c16..e929ab2c 100644
--- a/network/ports/net_ip_list_map.yaml
+++ b/network/ports/net_ip_list_map.j2.yaml
@@ -4,24 +4,11 @@ parameters:
ControlPlaneIpList:
default: []
type: comma_delimited_list
- ExternalIpList:
- default: []
- type: comma_delimited_list
- InternalApiIpList:
- default: []
- type: comma_delimited_list
- StorageIpList:
- default: []
- type: comma_delimited_list
- StorageMgmtIpList:
- default: []
- type: comma_delimited_list
- TenantIpList:
- default: []
- type: comma_delimited_list
- ManagementIpList:
+{%- for network in networks %}
+ {{network.name}}IpList:
default: []
type: comma_delimited_list
+{%- endfor %}
EnabledServices:
default: []
type: comma_delimited_list
@@ -58,7 +45,12 @@ parameters:
TenantNetName:
default: tenant
description: The name of the tenant network.
+{%- for network in networks %}
+ {{network.name}}NetName:
+ default: {{network.name_lower}}
+ description: The name of the {{network.name_lower}} network.
type: string
+{%- endfor %}
resources:
@@ -91,19 +83,13 @@ resources:
value:
map_replace:
- ctlplane: {get_param: ControlPlaneIpList}
- external: {get_param: ExternalIpList}
- internal_api: {get_param: InternalApiIpList}
- storage: {get_param: StorageIpList}
- storage_mgmt: {get_param: StorageMgmtIpList}
- tenant: {get_param: TenantIpList}
- management: {get_param: ManagementIpList}
+{%- for network in networks %}
+ {{network.name_lower}}: {get_param: {{network.name}}IpList}
+{%- endfor %}
- keys:
- external: {get_param: ExternalNetName}
- internal_api: {get_param: InternalApiNetName}
- storage: {get_param: StorageNetName}
- storage_mgmt: {get_param: StorageMgmtNetName}
- tenant: {get_param: TenantNetName}
- management: {get_param: ManagementNetName}
+{%- for network in networks %}
+ {{network.name_lower}}: {get_param: {{network.name}}NetName}
+{%- endfor %}
outputs:
net_ip_map:
diff --git a/network/ports/net_ip_map.j2.yaml b/network/ports/net_ip_map.j2.yaml
new file mode 100644
index 00000000..f01d624a
--- /dev/null
+++ b/network/ports/net_ip_map.j2.yaml
@@ -0,0 +1,81 @@
+heat_template_version: pike
+
+parameters:
+ ControlPlaneIp:
+ default: ''
+ type: string
+ ControlPlaneSubnetCidr: # Override this via parameter_defaults
+ default: '24'
+ description: The subnet CIDR of the control plane network.
+ type: string
+{%- for network in networks %}
+ {{network.name}}Ip:
+ default: ''
+ type: string
+ {{network.name}}IpSubnet:
+ description: 'IP address/subnet on the {{network.name_lower}} network'
+ default: ''
+ type: string
+ {{network.name}}IpUri:
+ default: ''
+ type: string
+ description: IP address with brackets in case of IPv6
+{%- endfor %}
+
+{%- for network in networks %}
+ {{network.name}}NetName:
+ default: {{network.name_lower}}
+ description: The name of the {{network.name_lower}} network.
+ type: string
+{%- endfor %}
+
+resources:
+
+ NetIpMapValue:
+ type: OS::Heat::Value
+ properties:
+ type: json
+ value:
+ map_replace:
+ - ctlplane: {get_param: ControlPlaneIp}
+{%- for network in networks %}
+ {{network.name_lower}}: {get_param: {{network.name}}Ip}
+{%- endfor %}
+ ctlplane_subnet:
+ list_join:
+ - ''
+ - - {get_param: ControlPlaneIp}
+ - '/'
+ - {get_param: ControlPlaneSubnetCidr}
+{%- for network in networks %}
+ {{network.name_lower}}_subnet: {get_param: {{network.name}}IpSubnet}
+{%- endfor %}
+ ctlplane_uri: {get_param: ControlPlaneIp}
+{%- for network in networks %}
+ {{network.name_lower}}_uri: {get_param: {{network.name}}IpUri}
+{%- endfor %}
+ - keys:
+{%- for network in networks %}
+ {{network.name_lower}}: {get_param: {{network.name}}NetName}
+{%- endfor %}
+{%- for network in networks %}
+ {{network.name_lower}}_subnet:
+ str_replace:
+ template: NAME_subnet
+ params:
+ NAME: {get_param: {{network.name}}NetName}
+{%- endfor %}
+{%- for network in networks %}
+ {{network.name_lower}}_uri:
+ str_replace:
+ template: NAME_uri
+ params:
+ NAME: {get_param: {{network.name}}NetName}
+{%- endfor %}
+
+outputs:
+ net_ip_map:
+ description: >
+ A Hash containing a mapping of network names to assigned IPs
+ for a specific machine.
+ value: {get_attr: [NetIpMapValue, value]}
diff --git a/network/ports/net_ip_map.yaml b/network/ports/net_ip_map.yaml
deleted file mode 100644
index 1b0e7589..00000000
--- a/network/ports/net_ip_map.yaml
+++ /dev/null
@@ -1,210 +0,0 @@
-heat_template_version: pike
-
-parameters:
- ControlPlaneIp:
- default: ''
- type: string
- ControlPlaneSubnetCidr: # Override this via parameter_defaults
- default: '24'
- description: The subnet CIDR of the control plane network.
- type: string
- ExternalIp:
- default: ''
- type: string
- ExternalIpSubnet:
- default: ''
- type: string
- description: IP address/subnet on the external network
- ExternalIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- InternalApiIp:
- default: ''
- type: string
- InternalApiIpSubnet:
- default: ''
- type: string
- description: IP address/subnet on the internal API network
- InternalApiIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- StorageIp:
- default: ''
- type: string
- StorageIpSubnet:
- default: ''
- type: string
- description: IP address/subnet on the storage network
- StorageIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- StorageMgmtIp:
- default: ''
- type: string
- StorageMgmtIpSubnet:
- default: ''
- type: string
- description: IP address/subnet on the storage mgmt network
- StorageMgmtIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- TenantIp:
- default: ''
- type: string
- TenantIpSubnet:
- default: ''
- type: string
- description: IP address/subnet on the tenant network
- TenantIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- ManagementIp:
- default: ''
- type: string
- ManagementIpSubnet:
- default: ''
- type: string
- description: IP address/subnet on the management network
- ManagementIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
-
- InternalApiNetName:
- default: internal_api
- description: The name of the internal_api network.
- type: string
- ExternalNetName:
- default: external
- description: The name of the external network.
- type: string
- ManagementNetName:
- default: management
- description: The name of the management network.
- type: string
- StorageNetName:
- default: storage
- description: The name of the storage network.
- type: string
- StorageMgmtNetName:
- default: storage_mgmt
- description: The name of the storage_mgmt network.
- type: string
- TenantNetName:
- default: tenant
- description: The name of the tenant network.
- type: string
-
-resources:
-
- NetIpMapValue:
- type: OS::Heat::Value
- properties:
- type: json
- value:
- map_replace:
- - ctlplane: {get_param: ControlPlaneIp}
- external: {get_param: ExternalIp}
- internal_api: {get_param: InternalApiIp}
- storage: {get_param: StorageIp}
- storage_mgmt: {get_param: StorageMgmtIp}
- tenant: {get_param: TenantIp}
- management: {get_param: ManagementIp}
- ctlplane_subnet:
- list_join:
- - ''
- - - {get_param: ControlPlaneIp}
- - '/'
- - {get_param: ControlPlaneSubnetCidr}
- external_subnet: {get_param: ExternalIpSubnet}
- internal_api_subnet: {get_param: InternalApiIpSubnet}
- storage_subnet: {get_param: StorageIpSubnet}
- storage_mgmt_subnet: {get_param: StorageMgmtIpSubnet}
- tenant_subnet: {get_param: TenantIpSubnet}
- management_subnet: {get_param: ManagementIpSubnet}
- ctlplane_uri: {get_param: ControlPlaneIp}
- external_uri: {get_param: ExternalIpUri}
- internal_api_uri: {get_param: InternalApiIpUri}
- storage_uri: {get_param: StorageIpUri}
- storage_mgmt_uri: {get_param: StorageMgmtIpUri}
- tenant_uri: {get_param: TenantIpUri}
- management_uri: {get_param: ManagementIpUri}
- - keys:
- external: {get_param: ExternalNetName}
- internal_api: {get_param: InternalApiNetName}
- storage: {get_param: StorageNetName}
- storage_mgmt: {get_param: StorageMgmtNetName}
- tenant: {get_param: TenantNetName}
- management: {get_param: ManagementNetName}
- external_subnet:
- str_replace:
- template: NAME_subnet
- params:
- NAME: {get_param: ExternalNetName}
- internal_api_subnet:
- str_replace:
- template: NAME_subnet
- params:
- NAME: {get_param: InternalApiNetName}
- storage_subnet:
- str_replace:
- template: NAME_subnet
- params:
- NAME: {get_param: StorageNetName}
- storage_mgmt_subnet:
- str_replace:
- template: NAME_subnet
- params:
- NAME: {get_param: StorageMgmtNetName}
- tenant_subnet:
- str_replace:
- template: NAME_subnet
- params:
- NAME: {get_param: TenantNetName}
- management_subnet:
- str_replace:
- template: NAME_subnet
- params:
- NAME: {get_param: ManagementNetName}
- external_uri:
- str_replace:
- template: NAME_uri
- params:
- NAME: {get_param: ExternalNetName}
- internal_api_uri:
- str_replace:
- template: NAME_uri
- params:
- NAME: {get_param: InternalApiNetName}
- storage_uri:
- str_replace:
- template: NAME_uri
- params:
- NAME: {get_param: StorageNetName}
- storage_mgmt_uri:
- str_replace:
- template: NAME_uri
- params:
- NAME: {get_param: StorageMgmtNetName}
- tenant_uri:
- str_replace:
- template: NAME_uri
- params:
- NAME: {get_param: TenantNetName}
- management_uri:
- str_replace:
- template: NAME_uri
- params:
- NAME: {get_param: ManagementNetName}
-
-outputs:
- net_ip_map:
- description: >
- A Hash containing a mapping of network names to assigned IPs
- for a specific machine.
- value: {get_attr: [NetIpMapValue, value]}
diff --git a/network/ports/net_vip_map_external.j2.yaml b/network/ports/net_vip_map_external.j2.yaml
new file mode 100644
index 00000000..b17f48b5
--- /dev/null
+++ b/network/ports/net_vip_map_external.j2.yaml
@@ -0,0 +1,40 @@
+heat_template_version: pike
+
+parameters:
+ # Set these via parameter defaults to configure external VIPs
+ ControlPlaneIP:
+ default: ''
+ type: string
+{%- for network in networks if network.vip|default(false) %}
+ {{network.name}}NetworkVip:
+ default: ''
+ type: string
+{%- endfor %}
+ # The following are unused in this template
+ ControlPlaneIp:
+ default: ''
+ type: string
+{%- for network in networks if network.vip|default(false) %}
+ {{network.name}}Ip:
+ default: ''
+ type: string
+ {{network.name}}IpUri:
+ default: ''
+ type: string
+ description: IP address with brackets in case of IPv6
+{%- endfor %}
+
+outputs:
+ net_ip_map:
+ description: >
+ A Hash containing a mapping of network names to assigned IPs
+ for a specific machine.
+ value:
+ ctlplane: {get_param: ControlPlaneIP}
+{%- for network in networks if network.vip|default(false) %}
+ {{network.name_lower}}: {get_param: {{network.name}}NetworkVip}
+{%- endfor %}
+ ctlplane_uri: {get_param: ControlPlaneIP}
+{%- for network in networks if network.vip|default(false) %}
+ {{network.name_lower}}_uri: {get_param: {{network.name}}NetworkVip}
+{%- endfor %}
diff --git a/network/ports/net_vip_map_external.yaml b/network/ports/net_vip_map_external.yaml
deleted file mode 100644
index d0847882..00000000
--- a/network/ports/net_vip_map_external.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-heat_template_version: pike
-
-parameters:
- # Set these via parameter defaults to configure external VIPs
- ControlPlaneIP:
- default: ''
- type: string
- ExternalNetworkVip:
- default: ''
- type: string
- InternalApiNetworkVip:
- default: ''
- type: string
- StorageNetworkVip:
- default: ''
- type: string
- StorageMgmtNetworkVip:
- default: ''
- type: string
- # The following are unused in this template
- ControlPlaneIp:
- default: ''
- type: string
- ExternalIp:
- default: ''
- type: string
- ExternalIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- InternalApiIp:
- default: ''
- type: string
- InternalApiIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- StorageIp:
- default: ''
- type: string
- StorageIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- StorageMgmtIp:
- default: ''
- type: string
- StorageMgmtIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
-
-outputs:
- net_ip_map:
- description: >
- A Hash containing a mapping of network names to assigned IPs
- for a specific machine.
- value:
- ctlplane: {get_param: ControlPlaneIP}
- external: {get_param: ExternalNetworkVip}
- internal_api: {get_param: InternalApiNetworkVip}
- storage: {get_param: StorageNetworkVip}
- storage_mgmt: {get_param: StorageMgmtNetworkVip}
- ctlplane_uri: {get_param: ControlPlaneIP}
- external_uri: {get_param: ExternalNetworkVip}
- internal_api_uri: {get_param: InternalApiNetworkVip}
- storage_uri: {get_param: StorageNetworkVip}
- storage_mgmt_uri: {get_param: StorageMgmtNetworkVip}
diff --git a/network/ports/net_vip_map_external_v6.j2.yaml b/network/ports/net_vip_map_external_v6.j2.yaml
new file mode 100644
index 00000000..5eff73c1
--- /dev/null
+++ b/network/ports/net_vip_map_external_v6.j2.yaml
@@ -0,0 +1,45 @@
+heat_template_version: pike
+
+parameters:
+ # Set these via parameter defaults to configure external VIPs
+ ControlPlaneIP:
+ default: ''
+ type: string
+{%- for network in networks if network.vip|default(false) %}
+ {{network.name}}NetworkVip:
+ default: ''
+ type: string
+{%- endfor %}
+ # The following are unused in this template
+ ControlPlaneIp:
+ default: ''
+ type: string
+{%- for network in networks if network.vip|default(false) %}
+ {{network.name}}Ip:
+ default: ''
+ type: string
+ {{network.name}}IpUri:
+ default: ''
+ type: string
+ description: IP address with brackets in case of IPv6
+{%- endfor %}
+
+outputs:
+ net_ip_map:
+ description: >
+ A Hash containing a mapping of network names to assigned IPs
+ for a specific machine.
+ value:
+ ctlplane: {get_param: ControlPlaneIP}
+{%- for network in networks if network.vip|default(false) %}
+ {{network.name_lower}}: {get_param: {{network.name}}NetworkVip}
+{%- endfor %}
+ ctlplane_uri: {get_param: ControlPlaneIP}
+{%- for network in networks if network.vip|default(false) %}
+ {{network.name_lower}}_uri:
+ list_join:
+ - ''
+ - - '['
+ - {get_param: {{network.name}}NetworkVip}
+ - ']'
+{%- endfor %}
diff --git a/network/ports/net_vip_map_external_v6.yaml b/network/ports/net_vip_map_external_v6.yaml
deleted file mode 100644
index 72e60cb2..00000000
--- a/network/ports/net_vip_map_external_v6.yaml
+++ /dev/null
@@ -1,88 +0,0 @@
-heat_template_version: pike
-
-parameters:
- # Set these via parameter defaults to configure external VIPs
- ControlPlaneIP:
- default: ''
- type: string
- ExternalNetworkVip:
- default: ''
- type: string
- InternalApiNetworkVip:
- default: ''
- type: string
- StorageNetworkVip:
- default: ''
- type: string
- StorageMgmtNetworkVip:
- default: ''
- type: string
- # The following are unused in this template
- ControlPlaneIp:
- default: ''
- type: string
- ExternalIp:
- default: ''
- type: string
- ExternalIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- InternalApiIp:
- default: ''
- type: string
- InternalApiIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- StorageIp:
- default: ''
- type: string
- StorageIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
- StorageMgmtIp:
- default: ''
- type: string
- StorageMgmtIpUri:
- default: ''
- type: string
- description: IP address with brackets in case of IPv6
-
-outputs:
- net_ip_map:
- description: >
- A Hash containing a mapping of network names to assigned IPs
- for a specific machine.
- value:
- ctlplane: {get_param: ControlPlaneIP}
- external: {get_param: ExternalNetworkVip}
- internal_api: {get_param: InternalApiNetworkVip}
- storage: {get_param: StorageNetworkVip}
- storage_mgmt: {get_param: StorageMgmtNetworkVip}
- ctlplane_uri: {get_param: ControlPlaneIP}
- external_uri:
- list_join:
- - ''
- - - '['
- - {get_param: ExternalNetworkVip}
- - ']'
- internal_api_uri:
- list_join:
- - ''
- - - '['
- - {get_param: InternalApiNetworkVip}
- - ']'
- storage_uri:
- list_join:
- - ''
- - - '['
- - {get_param: StorageNetworkVip}
- - ']'
- storage_mgmt_uri:
- list_join:
- - ''
- - - '['
- - {get_param: StorageMgmtNetworkVip}
- - ']'
diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml
index 63868b54..2a9f9d76 100644
--- a/overcloud-resource-registry-puppet.j2.yaml
+++ b/overcloud-resource-registry-puppet.j2.yaml
@@ -279,7 +279,6 @@ resource_registry:
OS::TripleO::Services::NeutronVppAgent: OS::Heat::None
OS::TripleO::Services::Docker: OS::Heat::None
OS::TripleO::Services::CertmongerUser: OS::Heat::None
- OS::TripleO::Services::Iscsid: OS::Heat::None
OS::TripleO::Services::Clustercheck: OS::Heat::None
OS::TripleO::Services::VRTSHyperScale: OS::Heat::None
diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml
index a7a4fe25..2e398671 100644
--- a/overcloud.j2.yaml
+++ b/overcloud.j2.yaml
@@ -21,40 +21,44 @@ description: >
parameters:
# Common parameters (not specific to a role)
+{%- for network in networks if network.vip|default(false) %}
+{%- if network.name == 'External' %}
+ # Special case the External hostname param, which is CloudName
CloudName:
default: overcloud.localdomain
description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
type: string
+{%- elif network.name == 'InternalApi' %}
+ # Special case the Internal API hostname param, which is CloudNameInternal
CloudNameInternal:
- default: overcloud.internalapi.localdomain
+ default: overcloud.{{network.name.lower()}}.localdomain
description: >
- The DNS name of this cloud's internal API endpoint. E.g.
- 'ci-overcloud.internalapi.tripleo.org'.
+ The DNS name of this cloud's {{network.name_lower}} endpoint. E.g.
+ 'ci-overcloud.{{network.name.lower()}}.tripleo.org'.
type: string
- CloudNameStorage:
- default: overcloud.storage.localdomain
+{%- elif network.name == 'StorageMgmt' %}
+ # Special case StorageMgmt hostname param, which is CloudNameStorageManagement
+ CloudNameStorageManagement:
+ default: overcloud.{{network.name.lower()}}.localdomain
description: >
- The DNS name of this cloud's storage endpoint. E.g.
- 'ci-overcloud.storage.tripleo.org'.
+ The DNS name of this cloud's {{network.name_lower}} endpoint. E.g.
+ 'ci-overcloud.{{network.name.lower()}}.tripleo.org'.
type: string
- CloudNameStorageManagement:
- default: overcloud.storagemgmt.localdomain
+{%- else %}
+ CloudName{{network.name}}:
+ default: overcloud.{{network.name.lower()}}.localdomain
description: >
- The DNS name of this cloud's storage management endpoint. E.g.
- 'ci-overcloud.storagemgmt.tripleo.org'.
+ The DNS name of this cloud's {{network.name_lower}} endpoint. E.g.
+ 'ci-overcloud.{{network.name.lower()}}.tripleo.org'.
type: string
+{%- endif %}
+{%- endfor %}
CloudNameCtlplane:
default: overcloud.ctlplane.localdomain
description: >
The DNS name of this cloud's provisioning network endpoint. E.g.
'ci-overcloud.ctlplane.tripleo.org'.
type: string
- ControlFixedIPs:
- default: []
- description: >
- Control the IP allocation for the ControlVirtualIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- type: json
ExtraConfig:
default: {}
description: |
@@ -77,12 +81,6 @@ parameters:
description: |
DEPRECATED use ComputeExtraConfig instead
type: json
- InternalApiVirtualFixedIPs:
- default: []
- description: >
- Control the IP allocation for the InternalApiVirtualInterface port. E.g.
- [{'ip_address':'1.2.3.4'}]
- type: json
NeutronControlPlaneID:
default: 'ctlplane'
type: string
@@ -91,28 +89,34 @@ parameters:
default: nic1
description: Which interface to add to the NeutronPhysicalBridge.
type: string
- PublicVirtualFixedIPs:
+ ControlFixedIPs:
default: []
description: >
- Control the IP allocation for the PublicVirtualInterface port. E.g.
+ Control the IP allocation for the ControlVirtualIP port. E.g.
[{'ip_address':'1.2.3.4'}]
type: json
- RabbitCookieSalt:
- type: string
- default: unset
- description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
- StorageVirtualFixedIPs:
+{%- for network in networks if network.vip|default(false) %}
+{%- if network.name == 'External' %}
+ # TODO (dsneddon) Legacy name, eventually refactor to match network name
+ PublicVirtualFixedIPs:
default: []
description: >
- Control the IP allocation for the StorageVirtualInterface port. E.g.
+ Control the IP allocation for the PublicVirtualInterface port. E.g.
[{'ip_address':'1.2.3.4'}]
type: json
- StorageMgmtVirtualFixedIPs:
+{%- else %}
+ {{network.name}}VirtualFixedIPs:
default: []
description: >
- Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
+ Control the IP allocation for the {{network.name}}VirtualInterface port. E.g.
[{'ip_address':'1.2.3.4'}]
type: json
+{%- endif %}
+{%- endfor %}
+ RabbitCookieSalt:
+ type: string
+ default: unset
+ description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
RedisVirtualFixedIPs:
default: []
description: >
@@ -240,28 +244,38 @@ resources:
- - str_replace:
template: IP HOST
params:
- IP: {get_attr: [VipMap, net_ip_map, external]}
- HOST: {get_param: CloudName}
+ IP: {get_attr: [VipMap, net_ip_map, ctlplane]}
+ HOST: {get_param: CloudNameCtlplane}
+{%- for network in networks if network.vip|default(false) %}
+{%- if network.name == 'External' %}
+ # Special case the External hostname param, which is CloudName
- str_replace:
template: IP HOST
params:
- IP: {get_attr: [VipMap, net_ip_map, ctlplane]}
- HOST: {get_param: CloudNameCtlplane}
+ IP: {get_attr: [VipMap, net_ip_map, {{network.name_lower}}]}
+ HOST: {get_param: CloudName}
+{%- elif network.name == 'InternalApi' %}
+ # Special case the Internal API hostname param, which is CloudNameInternal
- str_replace:
template: IP HOST
params:
- IP: {get_attr: [VipMap, net_ip_map, internal_api]}
+ IP: {get_attr: [VipMap, net_ip_map, {{network.name_lower}}]}
HOST: {get_param: CloudNameInternal}
+{%- elif network.name == 'StorageMgmt' %}
+ # Special case StorageMgmt hostname param, which is CloudNameStorageManagement
- str_replace:
template: IP HOST
params:
- IP: {get_attr: [VipMap, net_ip_map, storage]}
- HOST: {get_param: CloudNameStorage}
+ IP: {get_attr: [VipMap, net_ip_map, {{network.name_lower}}]}
+ HOST: {get_param: CloudNameStorageManagement}
+{%- else %}
- str_replace:
template: IP HOST
params:
- IP: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
- HOST: {get_param: CloudNameStorageManagement}
+ IP: {get_attr: [VipMap, net_ip_map, {{network.name_lower}}]}
+ HOST: {get_param: CloudName{{network.name}}}
+{%- endif %}
+{%- endfor %}
HeatAuthEncryptionKey:
type: OS::TripleO::RandomString
@@ -297,11 +311,21 @@ resources:
type: OS::TripleO::EndpointMap
properties:
CloudEndpoints:
- external: {get_param: CloudName}
- internal_api: {get_param: CloudNameInternal}
- storage: {get_param: CloudNameStorage}
- storage_mgmt: {get_param: CloudNameStorageManagement}
ctlplane: {get_param: CloudNameCtlplane}
+{%- for network in networks if network.vip|default(false) %}
+{%- if network.name == 'External' %}
+ # Special case the External hostname param, which is CloudName
+ {{network.name_lower}}: {get_param: CloudName}
+{%- elif network.name == 'InternalApi' %}
+ # Special case the Internal API hostname param, which is CloudNameInternal
+ {{network.name_lower}}: {get_param: CloudNameInternal}
+{%- elif network.name == 'StorageMgmt' %}
+ # Special case StorageMgmt hostname param, which is CloudNameStorageManagement
+ {{network.name_lower}}: {get_param: CloudNameStorageManagement}
+{%- else %}
+ {{network.name_lower}}: {get_param: CloudName{{network.name}}}
+{%- endif %}
+{%- endfor %}
NetIpMap: {get_attr: [VipMap, net_ip_map]}
ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]}
@@ -458,12 +482,9 @@ resources:
type: OS::TripleO::Network::Ports::NetIpListMap
properties:
ControlPlaneIpList: {get_attr: [{{role.name}}, ip_address]}
- ExternalIpList: {get_attr: [{{role.name}}, external_ip_address]}
- InternalApiIpList: {get_attr: [{{role.name}}, internal_api_ip_address]}
- StorageIpList: {get_attr: [{{role.name}}, storage_ip_address]}
- StorageMgmtIpList: {get_attr: [{{role.name}}, storage_mgmt_ip_address]}
- TenantIpList: {get_attr: [{{role.name}}, tenant_ip_address]}
- ManagementIpList: {get_attr: [{{role.name}}, management_ip_address]}
+{%- for network in networks if network.enabled|default(true) %}
+ {{network.name}}IpList: {get_attr: [{{role.name}}, {{network.name_lower}}_ip_address]}
+{%- endfor %}
EnabledServices: {get_attr: [{{role.name}}ServiceNames, value]}
ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map_lower]}
ServiceHostnameList: {get_attr: [{{role.name}}, hostname]}
@@ -582,10 +603,20 @@ resources:
allNodesConfig:
type: OS::TripleO::AllNodes::SoftwareConfig
properties:
- cloud_name_external: {get_param: CloudName}
- cloud_name_internal_api: {get_param: CloudNameInternal}
- cloud_name_storage: {get_param: CloudNameStorage}
- cloud_name_storage_mgmt: {get_param: CloudNameStorageManagement}
+{%- for network in networks if network.vip|default(false) %}
+{%- if network.name == 'External' %}
+ # Special case the External hostname param, which is CloudName
+ cloud_name_{{network.name_lower}}: {get_param: CloudName}
+{%- elif network.name == 'InternalApi' %}
+ # Special case the Internal API hostname param, which is CloudNameInternal
+ cloud_name_{{network.name_lower}}: {get_param: CloudNameInternal}
+{%- elif network.name == 'StorageMgmt' %}
+ # Special case StorageMgmt hostname param, which is CloudNameStorageManagement
+ cloud_name_{{network.name_lower}}: {get_param: CloudNameStorageManagement}
+{%- else %}
+ cloud_name_{{network.name_lower}}: {get_param: CloudName{{network.name}}}
+{%- endif %}
+{%- endfor %}
cloud_name_ctlplane: {get_param: CloudNameCtlplane}
enabled_services:
list_join:
@@ -699,6 +730,8 @@ resources:
ServiceName: redis
FixedIPs: {get_param: RedisVirtualFixedIPs}
+{%- for network in networks if network.vip|default(false) %}
+{%- if network.name == 'External' %}
# The public VIP is on the External net, falls back to ctlplane
PublicVirtualIP:
depends_on: Networks
@@ -708,43 +741,38 @@ resources:
ControlPlaneNetwork: {get_param: NeutronControlPlaneID}
PortName: public_virtual_ip
FixedIPs: {get_param: PublicVirtualFixedIPs}
-
- InternalApiVirtualIP:
+{%- elif network.name == 'StorageMgmt' %}
+ {{network.name}}VirtualIP:
depends_on: Networks
- type: OS::TripleO::Network::Ports::InternalApiVipPort
+ type: OS::TripleO::Network::Ports::{{network.name}}VipPort
properties:
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- PortName: internal_api_virtual_ip
- FixedIPs: {get_param: InternalApiVirtualFixedIPs}
-
- StorageVirtualIP:
- depends_on: Networks
- type: OS::TripleO::Network::Ports::StorageVipPort
- properties:
- ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- PortName: storage_virtual_ip
- FixedIPs: {get_param: StorageVirtualFixedIPs}
-
- StorageMgmtVirtualIP:
+ PortName: storage_management_virtual_ip
+ FixedIPs: {get_param: {{network.name}}VirtualFixedIPs}
+{%- else %}
+ {{network.name}}VirtualIP:
depends_on: Networks
- type: OS::TripleO::Network::Ports::StorageMgmtVipPort
+ type: OS::TripleO::Network::Ports::{{network.name}}VipPort
properties:
ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- PortName: storage_management_virtual_ip
- FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
+ PortName: {{network.name_lower}}_virtual_ip
+ FixedIPs: {get_param: {{network.name}}VirtualFixedIPs}
+{%- endif %}
+{%- endfor %}
VipMap:
type: OS::TripleO::Network::Ports::NetVipMap
properties:
ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+{%- for network in networks if network.vip|default(false) %}
+{%- if network.name == 'External' %}
ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
- InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
- InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
- StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
- StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
- StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
- StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
+{%- else %}
+ {{network.name}}Ip: {get_attr: [{{network.name}}VirtualIP, ip_address]}
+ {{network.name}}IpUri: {get_attr: [{{network.name}}VirtualIP, ip_address_uri]}
+{%- endif %}
+{%- endfor %}
# No tenant or management VIP required
# Because of nested get_attr functions in the KeystoneAdminVip output, we
# can't determine which attributes of VipMap are used until after
@@ -758,24 +786,12 @@ resources:
PingTestIps:
list_join:
- ' '
- - - yaql:
- expression: coalesce($.data, []).first(null)
- data: {get_attr: [{{primary_role_name}}, external_ip_address]}
- - yaql:
- expression: coalesce($.data, []).first(null)
- data: {get_attr: [{{primary_role_name}}, internal_api_ip_address]}
- - yaql:
- expression: coalesce($.data, []).first(null)
- data: {get_attr: [{{primary_role_name}}, storage_ip_address]}
- - yaql:
- expression: coalesce($.data, []).first(null)
- data: {get_attr: [{{primary_role_name}}, storage_mgmt_ip_address]}
- - yaql:
- expression: coalesce($.data, []).first(null)
- data: {get_attr: [{{primary_role_name}}, tenant_ip_address]}
+ -
+{%- for network in networks if network.enabled|default(true) %}
- yaql:
expression: coalesce($.data, []).first(null)
- data: {get_attr: [{{primary_role_name}}, management_ip_address]}
+ data: {get_attr: [{{primary_role_name}}, {{network.name_lower}}_ip_address]}
+{%- endfor %}
UpdateWorkflow:
type: OS::TripleO::Tasks::UpdateWorkflow
diff --git a/puppet/services/neutron-plugin-ml2.yaml b/puppet/services/neutron-plugin-ml2.yaml
index bc91374a..1ea6b1ae 100644
--- a/puppet/services/neutron-plugin-ml2.yaml
+++ b/puppet/services/neutron-plugin-ml2.yaml
@@ -76,6 +76,12 @@ parameters:
description: Firewall driver for realizing neutron security group function
type: string
default: 'openvswitch'
+ NeutronOverlayIPVersion:
+ default: 4
+ description: IP version used for all overlay network endpoints.
+ type: number
+ constraints:
+ - allowed_values: [4,6]
resources:
NeutronBase:
@@ -105,6 +111,7 @@ outputs:
neutron::plugins::ml2::vni_ranges: {get_param: NeutronVniRanges}
neutron::plugins::ml2::tenant_network_types: {get_param: NeutronNetworkType}
neutron::plugins::ml2::firewall_driver: {get_param: NeutronFirewallDriver}
+ neutron::plugins::ml2::overlay_ip_version: {get_param: NeutronOverlayIPVersion}
step_config: |
include ::tripleo::profile::base::neutron::plugins::ml2
diff --git a/puppet/services/pacemaker/cinder-volume.yaml b/puppet/services/pacemaker/cinder-volume.yaml
index a1134f3e..f4675875 100644
--- a/puppet/services/pacemaker/cinder-volume.yaml
+++ b/puppet/services/pacemaker/cinder-volume.yaml
@@ -66,11 +66,17 @@ outputs:
resource: openstack-cinder-volume
state: disable
wait_for_resource: true
- - name: Sync cinder DB
+ - name: get bootstrap nodeid
tags: step5
- command: cinder-manage db sync
- - name: Start cinder_volume service (pacemaker)
- tags: step5
- pacemaker_resource:
- resource: openstack-cinder-volume
- state: enable
+ command: hiera bootstrap_nodeid
+ register: bootstrap_node
+ - block:
+ - name: Sync cinder DB
+ tags: step5
+ command: cinder-manage db sync
+ - name: Start cinder_volume service (pacemaker)
+ tags: step5
+ pacemaker_resource:
+ resource: openstack-cinder-volume
+ state: enable
+ when: bootstrap_node.stdout == ansible_hostname
diff --git a/releasenotes/notes/neutron-ml2-overlay-ip-version-4f14932355847aa0.yaml b/releasenotes/notes/neutron-ml2-overlay-ip-version-4f14932355847aa0.yaml
new file mode 100644
index 00000000..1c20b26d
--- /dev/null
+++ b/releasenotes/notes/neutron-ml2-overlay-ip-version-4f14932355847aa0.yaml
@@ -0,0 +1,5 @@
+---
+features:
+ - Add NeutronOverlayIPVersion parameter to congfigure neutron ML2
+ overlay_ip_version option. This parameter should be set to 6 when user
+ requires tenant vxlan tunnel endpoints to be IPv6.
diff --git a/tripleo_heat_templates/environment_generator.py b/tripleo_heat_templates/environment_generator.py
index 876dd854..f1469390 100755
--- a/tripleo_heat_templates/environment_generator.py
+++ b/tripleo_heat_templates/environment_generator.py
@@ -50,7 +50,7 @@ _PRIVATE_OVERRIDES = ['server', 'servers', 'NodeIndex', 'DefaultPasswords']
# static. This allows us to generate sample environments using them when
# necessary, but they won't be improperly included by accident.
_HIDDEN_PARAMS = ['EndpointMap', 'RoleName', 'RoleParameters',
- 'ServiceNetMap',
+ 'ServiceNetMap', 'ServiceData',
]