diff --git a/ci/common/net-config-multinode-os-net-config.yaml b/ci/common/net-config-multinode-os-net-config.yaml index 6c5cfbeb2a..09cee756f3 100644 --- a/ci/common/net-config-multinode-os-net-config.yaml +++ b/ci/common/net-config-multinode-os-net-config.yaml @@ -52,6 +52,11 @@ parameters: default: 1300 description: The mtu of the OvS bridge type: number + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) + type: string resources: diff --git a/ci/common/net-config-multinode.yaml b/ci/common/net-config-multinode.yaml index 3cf40e1236..226ea43062 100644 --- a/ci/common/net-config-multinode.yaml +++ b/ci/common/net-config-multinode.yaml @@ -48,6 +48,11 @@ parameters: description: The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's gateway_ip attribute.) type: string + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) + type: string resources: OsNetConfigImpl: diff --git a/ci/common/net-config-simple-bridge.yaml b/ci/common/net-config-simple-bridge.yaml index 575984c392..0d6617eb26 100644 --- a/ci/common/net-config-simple-bridge.yaml +++ b/ci/common/net-config-simple-bridge.yaml @@ -41,6 +41,12 @@ parameters: default: '' description: IP address/subnet on the management network type: string + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) + type: string + resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig diff --git a/ci/environments/network/multiple-nics-ipv6/network-environment.yaml b/ci/environments/network/multiple-nics-ipv6/network-environment.yaml index 860aa32e96..bfc2ab0579 100644 --- a/ci/environments/network/multiple-nics-ipv6/network-environment.yaml +++ b/ci/environments/network/multiple-nics-ipv6/network-environment.yaml @@ -7,7 +7,6 @@ resource_registry: OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml parameter_defaults: - EC2MetadataIp: 192.168.24.1 ExternalNetCidr: 2001:db8:fd00:1000::/64 ExternalAllocationPools: [{"start": "2001:db8:fd00:1000::10", "end": "2001:db8:fd00:1000:ffff:ffff:ffff:fffe"}] ExternalInterfaceDefaultRoute: 2001:db8:fd00:1000::1 diff --git a/ci/environments/network/multiple-nics-ipv6/nic-configs/ceph-storage.yaml b/ci/environments/network/multiple-nics-ipv6/nic-configs/ceph-storage.yaml index e55c7f2e4a..3c72fef5ae 100644 --- a/ci/environments/network/multiple-nics-ipv6/nic-configs/ceph-storage.yaml +++ b/ci/environments/network/multiple-nics-ipv6/nic-configs/ceph-storage.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/multiple-nics-ipv6/nic-configs/cinder-storage.yaml b/ci/environments/network/multiple-nics-ipv6/nic-configs/cinder-storage.yaml index de5d919635..853ab6fc96 100644 --- a/ci/environments/network/multiple-nics-ipv6/nic-configs/cinder-storage.yaml +++ b/ci/environments/network/multiple-nics-ipv6/nic-configs/cinder-storage.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/multiple-nics-ipv6/nic-configs/compute.yaml b/ci/environments/network/multiple-nics-ipv6/nic-configs/compute.yaml index b2fe4f72a6..2aceec6bdc 100644 --- a/ci/environments/network/multiple-nics-ipv6/nic-configs/compute.yaml +++ b/ci/environments/network/multiple-nics-ipv6/nic-configs/compute.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/multiple-nics-ipv6/nic-configs/controller.yaml b/ci/environments/network/multiple-nics-ipv6/nic-configs/controller.yaml index a119e720ad..700f24a36a 100644 --- a/ci/environments/network/multiple-nics-ipv6/nic-configs/controller.yaml +++ b/ci/environments/network/multiple-nics-ipv6/nic-configs/controller.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/multiple-nics-ipv6/nic-configs/swift-storage.yaml b/ci/environments/network/multiple-nics-ipv6/nic-configs/swift-storage.yaml index de5d919635..853ab6fc96 100644 --- a/ci/environments/network/multiple-nics-ipv6/nic-configs/swift-storage.yaml +++ b/ci/environments/network/multiple-nics-ipv6/nic-configs/swift-storage.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/multiple-nics/network-environment.yaml b/ci/environments/network/multiple-nics/network-environment.yaml index 4f5e0b5274..1d544d1b27 100644 --- a/ci/environments/network/multiple-nics/network-environment.yaml +++ b/ci/environments/network/multiple-nics/network-environment.yaml @@ -7,7 +7,6 @@ resource_registry: OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml parameter_defaults: - EC2MetadataIp: 192.168.24.1 ExternalNetCidr: 10.0.0.0/24 ExternalAllocationPools: [{"start": "10.0.0.10", "end": "10.0.0.50"}] ExternalInterfaceDefaultRoute: 10.0.0.1 diff --git a/ci/environments/network/multiple-nics/nic-configs/ceph-storage.yaml b/ci/environments/network/multiple-nics/nic-configs/ceph-storage.yaml index 6e3ac01a03..47c18a109a 100644 --- a/ci/environments/network/multiple-nics/nic-configs/ceph-storage.yaml +++ b/ci/environments/network/multiple-nics/nic-configs/ceph-storage.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/multiple-nics/nic-configs/cinder-storage.yaml b/ci/environments/network/multiple-nics/nic-configs/cinder-storage.yaml index 4ca0188b09..9ed88118a9 100644 --- a/ci/environments/network/multiple-nics/nic-configs/cinder-storage.yaml +++ b/ci/environments/network/multiple-nics/nic-configs/cinder-storage.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/multiple-nics/nic-configs/compute.yaml b/ci/environments/network/multiple-nics/nic-configs/compute.yaml index 444726d581..7c00aeab3a 100644 --- a/ci/environments/network/multiple-nics/nic-configs/compute.yaml +++ b/ci/environments/network/multiple-nics/nic-configs/compute.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/multiple-nics/nic-configs/controller.yaml b/ci/environments/network/multiple-nics/nic-configs/controller.yaml index f58604af83..9294fa6220 100644 --- a/ci/environments/network/multiple-nics/nic-configs/controller.yaml +++ b/ci/environments/network/multiple-nics/nic-configs/controller.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/multiple-nics/nic-configs/swift-storage.yaml b/ci/environments/network/multiple-nics/nic-configs/swift-storage.yaml index 4ca0188b09..9ed88118a9 100644 --- a/ci/environments/network/multiple-nics/nic-configs/swift-storage.yaml +++ b/ci/environments/network/multiple-nics/nic-configs/swift-storage.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/public-bond/network-environment.yaml b/ci/environments/network/public-bond/network-environment.yaml index 6ff32a7049..4924b5b9a0 100644 --- a/ci/environments/network/public-bond/network-environment.yaml +++ b/ci/environments/network/public-bond/network-environment.yaml @@ -7,7 +7,6 @@ resource_registry: OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml parameter_defaults: - EC2MetadataIp: 192.168.24.1 ExternalNetCidr: 10.0.0.0/24 ExternalAllocationPools: [{"start": "10.0.0.10", "end": "10.0.0.50"}] ExternalInterfaceDefaultRoute: 10.0.0.1 diff --git a/ci/environments/network/public-bond/nic-configs/ceph-storage.yaml b/ci/environments/network/public-bond/nic-configs/ceph-storage.yaml index 7b8091f499..bf6eb79ef4 100644 --- a/ci/environments/network/public-bond/nic-configs/ceph-storage.yaml +++ b/ci/environments/network/public-bond/nic-configs/ceph-storage.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/public-bond/nic-configs/cinder-storage.yaml b/ci/environments/network/public-bond/nic-configs/cinder-storage.yaml index 94f23c9d7e..e7326565c4 100644 --- a/ci/environments/network/public-bond/nic-configs/cinder-storage.yaml +++ b/ci/environments/network/public-bond/nic-configs/cinder-storage.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/public-bond/nic-configs/compute.yaml b/ci/environments/network/public-bond/nic-configs/compute.yaml index 66622a149e..61b1ded96a 100644 --- a/ci/environments/network/public-bond/nic-configs/compute.yaml +++ b/ci/environments/network/public-bond/nic-configs/compute.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/public-bond/nic-configs/controller.yaml b/ci/environments/network/public-bond/nic-configs/controller.yaml index 896995ee11..79dbc4e2a8 100644 --- a/ci/environments/network/public-bond/nic-configs/controller.yaml +++ b/ci/environments/network/public-bond/nic-configs/controller.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/ci/environments/network/public-bond/nic-configs/swift-storage.yaml b/ci/environments/network/public-bond/nic-configs/swift-storage.yaml index 94f23c9d7e..e7326565c4 100644 --- a/ci/environments/network/public-bond/nic-configs/swift-storage.yaml +++ b/ci/environments/network/public-bond/nic-configs/swift-storage.yaml @@ -77,8 +77,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: diff --git a/environments/network-environment-v6.j2.yaml b/environments/network-environment-v6.j2.yaml index 5242fea944..a2f38518c8 100644 --- a/environments/network-environment-v6.j2.yaml +++ b/environments/network-environment-v6.j2.yaml @@ -24,8 +24,10 @@ parameter_defaults: # ControlPlaneDefaultRoute: It is no longer a requirement to provide this # parameter. The attribute is resolved from the # ctlplane subnet(s). + # EC2MetadataIp: It is no longer a requirement to provide this parameter. The + # attribute is resolved from the ctlplane subnet(s). + # # - EC2MetadataIp: 192.168.24.1 # Generally the IP of the Undercloud {% for network in networks if network.enabled|default(true) %} {%- if network.name != 'Tenant' %} # Customize the IP subnets to match the local environment diff --git a/environments/network-environment.j2.yaml b/environments/network-environment.j2.yaml index a44a3dd8d1..25b64745e2 100644 --- a/environments/network-environment.j2.yaml +++ b/environments/network-environment.j2.yaml @@ -20,8 +20,9 @@ parameter_defaults: # ControlPlaneDefaultRoute: It is no longer a requirement to provide this # parameter. The attribute is resolved from the # ctlplane subnet(s). + # EC2MetadataIp: It is no longer a requirement to provide this parameter. The + # attribute is resolved from the ctlplane subnet(s). # - EC2MetadataIp: 192.168.24.1 # Generally the IP of the Undercloud {% for network in networks if network.enabled|default(true) %} # Customize the IP subnet to match the local environment {%- if network.ipv6|default(false) %} diff --git a/net-config-bond.j2.yaml b/net-config-bond.j2.yaml index 537efac323..4e67c8095e 100644 --- a/net-config-bond.j2.yaml +++ b/net-config-bond.j2.yaml @@ -27,6 +27,11 @@ parameters: description: The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's gateway_ip attribute.) type: string + EC2MetadataIp: # Here for compatability, not used. + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) + type: string {%- for network in networks %} {{network.name}}IpSubnet: default: '' diff --git a/net-config-bridge.j2.yaml b/net-config-bridge.j2.yaml index c1b922122b..0f9b83cbfd 100644 --- a/net-config-bridge.j2.yaml +++ b/net-config-bridge.j2.yaml @@ -17,6 +17,11 @@ parameters: description: The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's gateway_ip attribute.) type: string + EC2MetadataIp: # Here for compatability, not used. + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) + type: string {%- for network in networks %} {{network.name}}IpSubnet: default: '' diff --git a/net-config-linux-bridge.j2.yaml b/net-config-linux-bridge.j2.yaml index 6a838e63f8..5c5c5491fd 100644 --- a/net-config-linux-bridge.j2.yaml +++ b/net-config-linux-bridge.j2.yaml @@ -23,10 +23,11 @@ parameters: The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr attribute.) type: string - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string - default: 169.254.169.254/32 resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig diff --git a/net-config-noop.j2.yaml b/net-config-noop.j2.yaml index 8be8f7baf8..14cd711607 100644 --- a/net-config-noop.j2.yaml +++ b/net-config-noop.j2.yaml @@ -20,6 +20,11 @@ parameters: description: The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's gateway_ip attribute.) type: string + EC2MetadataIp: # Here for compatability, not used. + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) + type: string {%- for network in networks %} {{network.name}}IpSubnet: default: '' diff --git a/net-config-standalone.j2.yaml b/net-config-standalone.j2.yaml index 7480ca38a9..8ae2bb8dc8 100644 --- a/net-config-standalone.j2.yaml +++ b/net-config-standalone.j2.yaml @@ -46,6 +46,11 @@ parameters: tripleoclient to provide an easy means to pass in custom net configs for a standalone node. type: json + EC2MetadataIp: # Here for compatability, not used. + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) + type: string conditions: standalone_net_config_override: diff --git a/net-config-static-bridge-with-external-dhcp.j2.yaml b/net-config-static-bridge-with-external-dhcp.j2.yaml index 0beff02aa2..4a2c08ddcd 100644 --- a/net-config-static-bridge-with-external-dhcp.j2.yaml +++ b/net-config-static-bridge-with-external-dhcp.j2.yaml @@ -28,8 +28,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: OsNetConfigImpl: diff --git a/net-config-static-bridge.j2.yaml b/net-config-static-bridge.j2.yaml index f1a6bd363b..ab32b55f8c 100644 --- a/net-config-static-bridge.j2.yaml +++ b/net-config-static-bridge.j2.yaml @@ -28,8 +28,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: OsNetConfigImpl: diff --git a/net-config-static.j2.yaml b/net-config-static.j2.yaml index 75aa65636c..34509d1325 100644 --- a/net-config-static.j2.yaml +++ b/net-config-static.j2.yaml @@ -27,8 +27,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: OsNetConfigImpl: diff --git a/net-config-undercloud.j2.yaml b/net-config-undercloud.j2.yaml index 7720d71f1b..1dfc2e884c 100644 --- a/net-config-undercloud.j2.yaml +++ b/net-config-undercloud.j2.yaml @@ -42,6 +42,11 @@ parameters: default: {} description: Custom JSON data to be used to override the os-net-config data in this template. This is meant to be used by net_config_override parameter in tripleoclient to provide an easy means to pass in custom net configs for the Undercloud. type: json + EC2MetadataIp: # Here for compatability, not used. + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) + type: string conditions: undercloud_net_config_override: diff --git a/network/config/bond-with-vlans/controller-no-external.j2.yaml b/network/config/bond-with-vlans/controller-no-external.j2.yaml index 62e922a5d5..e6efbfbd07 100644 --- a/network/config/bond-with-vlans/controller-no-external.j2.yaml +++ b/network/config/bond-with-vlans/controller-no-external.j2.yaml @@ -46,8 +46,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string BondInterfaceOvsOptions: default: '' diff --git a/network/config/bond-with-vlans/controller-v6.j2.yaml b/network/config/bond-with-vlans/controller-v6.j2.yaml index a676459188..73b1c6d050 100644 --- a/network/config/bond-with-vlans/controller-v6.j2.yaml +++ b/network/config/bond-with-vlans/controller-v6.j2.yaml @@ -44,8 +44,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string BondInterfaceOvsOptions: default: bond_mode=active-backup diff --git a/network/config/bond-with-vlans/role.role.j2.yaml b/network/config/bond-with-vlans/role.role.j2.yaml index b6a8c9e3d0..d9d4a5f8d0 100644 --- a/network/config/bond-with-vlans/role.role.j2.yaml +++ b/network/config/bond-with-vlans/role.role.j2.yaml @@ -42,8 +42,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string BondInterfaceOvsOptions: default: bond_mode=active-backup diff --git a/network/config/multiple-nics/compute-dvr.j2.yaml b/network/config/multiple-nics/compute-dvr.j2.yaml index e631862454..68d403b5eb 100644 --- a/network/config/multiple-nics/compute-dvr.j2.yaml +++ b/network/config/multiple-nics/compute-dvr.j2.yaml @@ -44,8 +44,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: OsNetConfigImpl: diff --git a/network/config/multiple-nics/controller-v6.j2.yaml b/network/config/multiple-nics/controller-v6.j2.yaml index fde66f50c0..9622be7107 100644 --- a/network/config/multiple-nics/controller-v6.j2.yaml +++ b/network/config/multiple-nics/controller-v6.j2.yaml @@ -43,8 +43,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: OsNetConfigImpl: diff --git a/network/config/multiple-nics/role.role.j2.yaml b/network/config/multiple-nics/role.role.j2.yaml index e9686564b0..5e1bab8947 100644 --- a/network/config/multiple-nics/role.role.j2.yaml +++ b/network/config/multiple-nics/role.role.j2.yaml @@ -42,8 +42,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string {%- if role.name == 'ComputeOvsDpdk' %} NumDpdkInterfaceRxQueues: diff --git a/network/config/single-nic-linux-bridge-vlans/controller-v6.j2.yaml b/network/config/single-nic-linux-bridge-vlans/controller-v6.j2.yaml index d5a398f42f..f8dae080dc 100644 --- a/network/config/single-nic-linux-bridge-vlans/controller-v6.j2.yaml +++ b/network/config/single-nic-linux-bridge-vlans/controller-v6.j2.yaml @@ -43,8 +43,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: OsNetConfigImpl: diff --git a/network/config/single-nic-linux-bridge-vlans/role.role.j2.yaml b/network/config/single-nic-linux-bridge-vlans/role.role.j2.yaml index e2a1b02fc4..326ce5ba21 100644 --- a/network/config/single-nic-linux-bridge-vlans/role.role.j2.yaml +++ b/network/config/single-nic-linux-bridge-vlans/role.role.j2.yaml @@ -42,8 +42,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: OsNetConfigImpl: diff --git a/network/config/single-nic-vlans/controller-no-external.j2.yaml b/network/config/single-nic-vlans/controller-no-external.j2.yaml index e6ab1efb55..ade5e01073 100644 --- a/network/config/single-nic-vlans/controller-no-external.j2.yaml +++ b/network/config/single-nic-vlans/controller-no-external.j2.yaml @@ -46,8 +46,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: OsNetConfigImpl: diff --git a/network/config/single-nic-vlans/controller-v6.j2.yaml b/network/config/single-nic-vlans/controller-v6.j2.yaml index 4fc3c2fc1d..c7eee6f73d 100644 --- a/network/config/single-nic-vlans/controller-v6.j2.yaml +++ b/network/config/single-nic-vlans/controller-v6.j2.yaml @@ -43,8 +43,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: OsNetConfigImpl: diff --git a/network/config/single-nic-vlans/role.role.j2.yaml b/network/config/single-nic-vlans/role.role.j2.yaml index fd2ea24176..d5b30794b2 100644 --- a/network/config/single-nic-vlans/role.role.j2.yaml +++ b/network/config/single-nic-vlans/role.role.j2.yaml @@ -42,8 +42,10 @@ parameters: default: [] description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. type: comma_delimited_list - EC2MetadataIp: # Override this via parameter_defaults - description: The IP address of the EC2 metadata server. + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) type: string resources: OsNetConfigImpl: diff --git a/puppet/role.role.j2.yaml b/puppet/role.role.j2.yaml index 661bbbe6b8..6f770ba8be 100644 --- a/puppet/role.role.j2.yaml +++ b/puppet/role.role.j2.yaml @@ -255,6 +255,11 @@ parameters: description: The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's gateway_ip attribute.) type: string + EC2MetadataIp: + default: '' + description: The IP address of the EC2 metadata server. (The parameter + is automatically resolved from the ctlplane subnet's host_routes attribute.) + type: string ServerDeletionPolicy: description: Whether to retain or delete servers on deletion of the stack @@ -332,6 +337,9 @@ conditions: ctlplane_default_route_set: not: equals: [{get_param: ControlPlaneDefaultRoute}, ''] + ec2metadaip_set: + not: + equals: [{get_param: EC2MetadataIp}, ''] resources: {{server_resource_name}}: @@ -462,6 +470,16 @@ resources: - ctlplane_default_route_set - {get_param: ControlPlaneDefaultRoute} - {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, gateway_ip]} + EC2MetadataIp: + if: + - ec2metadaip_set + - {get_param: EC2MetadataIp} + - yaql: + # NOTE(hjensas): DeployedServer sets the EC2MetadataIp in DeployedServerEnvironment. + # Return an empty string if there are no host_routes in the subnet. (Standalone and Container Undercloud) + expression: switch($.data = null => '', $.data != null => $.data.where($.destination = "169.254.169.254/32").nexthop.first()) + data: {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, host_routes]} + {%- for network in networks %} {{network.name}}IpSubnet: {get_attr: [{{network.name}}Port, ip_subnet]} {%- endfor %} diff --git a/releasenotes/notes/use-subnet-attrs-ec2metadataip-aa28f3c030f13c9c.yaml b/releasenotes/notes/use-subnet-attrs-ec2metadataip-aa28f3c030f13c9c.yaml new file mode 100644 index 0000000000..0abe2b8324 --- /dev/null +++ b/releasenotes/notes/use-subnet-attrs-ec2metadataip-aa28f3c030f13c9c.yaml @@ -0,0 +1,25 @@ +--- +features: + - | + It is no longer a requirement to provide the parameter: ``EC2MetadataIp`` + in the environment when deploying. Now ``get_attr`` on the server resource + is used to resolve the value from the ``ctlplane`` subnet's ``host_routes`` + attribute.. A conditional is used to determine if the user provided the + parameter in the environment. If the user provided the parameter, the user + provided value is used. +upgrade: + - | + Since the the ``EC2MetadataIp`` can now be resolved from the ``ctlplane`` + subnet(s) this parameter can be removed from the environment + (``network-environment.yaml``). + + .. Note:: Prior to removing the parameter ensure that the property of + the ``ctlplane`` subnet(s) is correct. In case it is not, update + ``undercloud.conf`` with the correct configuration and re-run the + ``openstack undercloud install`` command to ensure the property + is set correctly. + + .. Note:: ``EC2MetadataIp`` is now passed to the network config template + when the resource is created. Because of this the parameter must + be defined in the network config template, even if it is not + used.