diff options
Diffstat (limited to 'network/ports')
40 files changed, 284 insertions, 1764 deletions
diff --git a/network/ports/ctlplane_vip.yaml b/network/ports/ctlplane_vip.yaml index bb54ca62..f874c30d 100644 --- a/network/ports/ctlplane_vip.yaml +++ b/network/ports/ctlplane_vip.yaml @@ -9,8 +9,8 @@ parameters: description: Name of the service to lookup default: '' type: string - NetworkName: - description: # Here for compatibility with isolated networks + NetworkName: # Here for compatibility with isolated networks + description: Name of the network where the VIP will be created default: ctlplane type: string PortName: diff --git a/network/ports/external.yaml b/network/ports/external.yaml deleted file mode 100644 index a02cc284..00000000 --- a/network/ports/external.yaml +++ /dev/null @@ -1,61 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the external network. The IP address will be chosen - automatically if FixedIPs is empty. - -parameters: - ExternalNetName: - description: Name of the external neutron network - default: external - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml - description: The name of the undercloud Neutron control plane - default: ctlplane - type: string - FixedIPs: - description: > - Control the IP allocation for the VIP port. E.g. - [{'ip_address':'1.2.3.4'}] - default: [] - type: json - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - ExternalPort: - type: OS::Neutron::Port - properties: - network: {get_param: ExternalNetName} - name: {get_param: PortName} - fixed_ips: {get_param: FixedIPs} - replacement_policy: AUTO - -outputs: - ip_address: - description: external network IP - value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: external network IP (for compatibility with external_v6.yaml) - value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]} - ip_subnet: - description: IP/Subnet CIDR for the external network IP - value: - list_join: - - '' - - - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/external_from_pool.yaml b/network/ports/external_from_pool.yaml deleted file mode 100644 index d2610c69..00000000 --- a/network/ports/external_from_pool.yaml +++ /dev/null @@ -1,46 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs - -parameters: - ExternalNetName: - description: Name of the external network - default: external - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - ExternalNetCidr: - default: '10.0.0.0/24' - description: Cidr for the external network. - type: string - -outputs: - ip_address: - description: external network IP - value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: external network IP (for compatibility with IPv6) - value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]} - ip_subnet: - description: IP/Subnet CIDR for the external network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: ExternalNetCidr}, 1]} diff --git a/network/ports/external_from_pool_v6.yaml b/network/ports/external_from_pool_v6.yaml deleted file mode 100644 index e5fe8d71..00000000 --- a/network/ports/external_from_pool_v6.yaml +++ /dev/null @@ -1,52 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs. This version is for IPv6 - addresses. The ip_address_uri output will have brackets for use in URLs. - -parameters: - ExternalNetName: - description: Name of the external network - default: external - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - ExternalNetCidr: - default: '2001:db8:fd00:1000::/64' - description: Cidr for the external network. - type: string - -outputs: - ip_address: - description: external network IP - value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: external network IP (for compatibility with IPv6) - value: - list_join: - - '' - - - '[' - - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the external network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: ExternalNetCidr}, 1]} diff --git a/network/ports/internal_api.yaml b/network/ports/internal_api.yaml deleted file mode 100644 index f258080a..00000000 --- a/network/ports/internal_api.yaml +++ /dev/null @@ -1,57 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the internal_api network. - -parameters: - InternalApiNetName: - description: Name of the internal API neutron network - default: internal_api - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - FixedIPs: - description: > - Control the IP allocation for the VIP port. E.g. - [{'ip_address':'1.2.3.4'}] - default: [] - type: json - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - InternalApiPort: - type: OS::Neutron::Port - properties: - network: {get_param: InternalApiNetName} - name: {get_param: PortName} - fixed_ips: {get_param: FixedIPs} - replacement_policy: AUTO - -outputs: - ip_address: - description: internal API network IP - value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: | - internal API network IP (for compatibility with internal_api_v6.yaml) - value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]} - ip_subnet: - description: IP/Subnet CIDR for the internal API network IP - value: - list_join: - - '' - - - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [InternalApiPort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/internal_api_from_pool.yaml b/network/ports/internal_api_from_pool.yaml deleted file mode 100644 index cb87fd54..00000000 --- a/network/ports/internal_api_from_pool.yaml +++ /dev/null @@ -1,46 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs - -parameters: - InternalApiNetName: - description: Name of the internal API network - default: internal_api - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - InternalApiNetCidr: - default: '172.16.2.0/24' - description: Cidr for the internal API network. - type: string - -outputs: - ip_address: - description: internal API network IP - value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: internal API network IP (for compatibility with internal_api_v6.yaml) - value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]} - ip_subnet: - description: IP/Subnet CIDR for the internal API network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: InternalApiNetCidr}, 1]} diff --git a/network/ports/internal_api_from_pool_v6.yaml b/network/ports/internal_api_from_pool_v6.yaml deleted file mode 100644 index 12a0731b..00000000 --- a/network/ports/internal_api_from_pool_v6.yaml +++ /dev/null @@ -1,52 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs. This version is for IPv6 - addresses. The ip_address_uri output will have brackets for use in URLs. - -parameters: - InternalApiNetName: - description: Name of the internal API network - default: internal_api - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - InternalApiNetCidr: - default: 'fd00:fd00:fd00:2000::/64' - description: Cidr for the internal API network. - type: string - -outputs: - ip_address: - description: internal API network IP - value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: internal API network IP (for compatibility with internal_api_v6.yaml) - value: - list_join: - - '' - - - '[' - - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the internal API network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: InternalApiNetCidr}, 1]} diff --git a/network/ports/internal_api_v6.yaml b/network/ports/internal_api_v6.yaml deleted file mode 100644 index 46e6e187..00000000 --- a/network/ports/internal_api_v6.yaml +++ /dev/null @@ -1,61 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the internal_api network. - -parameters: - InternalApiNetName: - description: Name of the internal API neutron network - default: internal_api - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - FixedIPs: - description: > - Control the IP allocation for the VIP port. E.g. - [{'ip_address':'1.2.3.4'}] - default: [] - type: json - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - InternalApiPort: - type: OS::Neutron::Port - properties: - network: {get_param: InternalApiNetName} - name: {get_param: PortName} - fixed_ips: {get_param: FixedIPs} - replacement_policy: AUTO - -outputs: - ip_address: - description: internal API network IP - value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: internal api network IP with brackets suitable for a URL - value: - list_join: - - '' - - - '[' - - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the internal API network IP - value: - list_join: - - '' - - - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [InternalApiPort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/management.yaml b/network/ports/management.yaml deleted file mode 100644 index dd62033b..00000000 --- a/network/ports/management.yaml +++ /dev/null @@ -1,49 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the management network. The IP address will be chosen - automatically if FixedIPs is empty. - -parameters: - ManagementNetName: - description: Name of the management neutron network - default: management - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - type: string - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - ManagementPort: - type: OS::Neutron::Port - properties: - network: {get_param: ManagementNetName} - name: {get_param: PortName} - replacement_policy: AUTO - -outputs: - ip_address: - description: management network IP - value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: management network IP (for compatibility with management_v6.yaml) - value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]} - ip_subnet: - description: IP/Subnet CIDR for the management network IP - value: - list_join: - - '' - - - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [ManagementPort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/management_from_pool.yaml b/network/ports/management_from_pool.yaml deleted file mode 100644 index 188be68c..00000000 --- a/network/ports/management_from_pool.yaml +++ /dev/null @@ -1,46 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs - -parameters: - ManagementNetName: - description: Name of the management network - default: management - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - ManagementNetCidr: - default: '172.16.4.0/24' - description: Cidr for the management network. - type: string - -outputs: - ip_address: - description: management network IP - value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: management network IP (for compatibility with management_v6.yaml) - value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]} - ip_subnet: - description: IP/Subnet CIDR for the management network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: ManagementNetCidr}, 1]} diff --git a/network/ports/management_from_pool_v6.yaml b/network/ports/management_from_pool_v6.yaml deleted file mode 100644 index b5d44259..00000000 --- a/network/ports/management_from_pool_v6.yaml +++ /dev/null @@ -1,52 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs. This version is for IPv6 - addresses. The ip_address_uri output will have brackets for use in URLs. - -parameters: - ManagementNetName: - description: Name of the management network - default: management - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - ManagementNetCidr: - default: 'fd00:fd00:fd00:6000::/64' - description: Cidr for the management network. - type: string - -outputs: - ip_address: - description: management network IP - value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: management network IP (for compatibility with management_v6.yaml) - value: - list_join: - - '' - - - '[' - - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the management network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: ManagementNetCidr}, 1]} diff --git a/network/ports/management_v6.yaml b/network/ports/management_v6.yaml deleted file mode 100644 index 977502a8..00000000 --- a/network/ports/management_v6.yaml +++ /dev/null @@ -1,54 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the management network. The IP address will be chosen - automatically if FixedIPs is empty. - -parameters: - ManagementNetName: - description: Name of the management neutron network - default: management - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - type: string - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - ManagementPort: - type: OS::Neutron::Port - properties: - network: {get_param: ManagementNetName} - name: {get_param: PortName} - replacement_policy: AUTO - -outputs: - ip_address: - description: management network IP - value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: management network IP with brackets suitable for a URL - value: - list_join: - - '' - - - '[' - - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the management network IP - value: - list_join: - - '' - - - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [ManagementPort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/net_ip_list_map.yaml b/network/ports/net_ip_list_map.j2.yaml index a9111ed9..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 @@ -37,7 +24,7 @@ parameters: InternalApiNetName: default: internal_api - description: The name of the internal API network. + description: The name of the internal_api network. type: string ExternalNetName: default: external @@ -53,12 +40,17 @@ parameters: type: string StorageMgmtNetName: default: storage_mgmt - description: The name of the Storage management network. + description: The name of the storage_mgmt network. type: string 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 a6971b0f..00000000 --- a/network/ports/net_ip_map.yaml +++ /dev/null @@ -1,205 +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 - ExternalIpUri: - default: '' - type: string - description: IP address with brackets in case of IPv6 - InternalApiIp: - default: '' - type: string - InternalApiIpSubnet: - default: '' - type: string - InternalApiIpUri: - default: '' - type: string - description: IP address with brackets in case of IPv6 - StorageIp: - default: '' - type: string - StorageIpSubnet: - default: '' - type: string - StorageIpUri: - default: '' - type: string - description: IP address with brackets in case of IPv6 - StorageMgmtIp: - default: '' - type: string - StorageMgmtIpSubnet: - default: '' - type: string - StorageMgmtIpUri: - default: '' - type: string - description: IP address with brackets in case of IPv6 - TenantIp: - default: '' - type: string - TenantIpSubnet: - default: '' - type: string - 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 management 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 018bf2bb..00000000 --- a/network/ports/net_vip_map_external.yaml +++ /dev/null @@ -1,64 +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 - InternalApiIp: - default: '' - type: string - InternalApiIpUri: - default: '' - type: string - StorageIp: - default: '' - type: string - StorageIpUri: - default: '' - type: string - StorageMgmtIp: - default: '' - type: string - StorageMgmtIpUri: - default: '' - type: string - -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 aa40cf17..00000000 --- a/network/ports/net_vip_map_external_v6.yaml +++ /dev/null @@ -1,84 +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 - InternalApiIp: - default: '' - type: string - InternalApiIpUri: - default: '' - type: string - StorageIp: - default: '' - type: string - StorageIpUri: - default: '' - type: string - StorageMgmtIp: - default: '' - type: string - StorageMgmtIpUri: - default: '' - type: string - -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/network/ports/noop.yaml b/network/ports/noop.yaml index 8030bfc0..9f39c4ff 100644 --- a/network/ports/noop.yaml +++ b/network/ports/noop.yaml @@ -12,19 +12,21 @@ parameters: description: IP address on the control plane type: string ControlPlaneNetwork: - description: Name of the control plane network + description: The name of the undercloud Neutron control plane default: ctlplane type: string PortName: description: Name of the port default: '' type: string - NetworkName: - description: # Here for compatibility with vip.yaml - default: '' + NetworkName: # Here for compatibility with vip.yaml + description: Name of the network where the VIP will be created + default: ctlplane type: string FixedIPs: - description: # Here for compatibility with vip.yaml + description: > + Control the IP allocation for the VIP port. E.g. + [{'ip_address':'1.2.3.4'}] default: [] type: json ControlPlaneSubnetCidr: # Override this via parameter_defaults diff --git a/network/ports/external_v6.yaml b/network/ports/port.j2 index 12d61cce..2088d840 100644 --- a/network/ports/external_v6.yaml +++ b/network/ports/port.j2 @@ -1,19 +1,19 @@ heat_template_version: pike description: > - Creates a port on the external network. The IP address will be chosen + Creates a port on the {{network.name}} network. The IP address will be chosen automatically if FixedIPs is empty. parameters: - ExternalNetName: - description: Name of the external neutron network - default: external + {{network.name}}NetName: + description: The name of the {{network.name_lower}} network. + default: {{network.name_lower|default(network.name|lower)}} type: string PortName: description: Name of the port default: '' type: string - ControlPlaneIP: # Here for compatability with noop.yaml + ControlPlaneIP: # Here for compatibility with noop.yaml description: IP address on the control plane default: '' type: string @@ -36,31 +36,37 @@ parameters: resources: - ExternalPort: + {{network.name}}Port: type: OS::Neutron::Port properties: - network: {get_param: ExternalNetName} + network: {get_param: {{network.name}}NetName} name: {get_param: PortName} fixed_ips: {get_param: FixedIPs} replacement_policy: AUTO outputs: ip_address: - description: external network IP - value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]} + description: {{network.name}} network IP + value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]} ip_address_uri: - description: external network IP with brackets suitable for a URL +{%- if network.ipv6 or ipv6_override|default(false) %} + description: {{network.name}} network IP (with brackets for IPv6 URLs) value: list_join: - '' - - '[' - - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]} + - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]} - ']' +{%- else %} + description: {{network.name}} network IP (for compatibility with IPv6 URLs) + value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]} +{%- endif %} ip_subnet: - description: IP/Subnet CIDR for the external network IP + description: IP/Subnet CIDR for the {{network.name}} network IP value: list_join: - '' - - - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]} + - - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]} - '/' - - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]} + - {str_split: ['/', {get_attr: [{{network.name}}Port, subnets, 0, cidr]}, 1]} + diff --git a/network/ports/port.network.j2.yaml b/network/ports/port.network.j2.yaml index ded3e798..d0bd45ab 100644 --- a/network/ports/port.network.j2.yaml +++ b/network/ports/port.network.j2.yaml @@ -1,72 +1 @@ -heat_template_version: pike - -description: > - Creates a port on the {{network.name}} network. The IP address will be chosen - automatically if FixedIPs is empty. - -parameters: - {{network.name}}NetName: - description: Name of the {{network.name_lower}} neutron network - default: {{network.name_lower|default(network.name|lower)}} - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml - description: The name of the undercloud Neutron control plane - default: ctlplane - type: string - FixedIPs: - description: > - Control the IP allocation for the VIP port. E.g. - [{'ip_address':'1.2.3.4'}] - default: [] - type: json - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - {{network.name}}Port: - type: OS::Neutron::Port - properties: - network: {get_param: {{network.name}}NetName} - name: {get_param: PortName} - fixed_ips: {get_param: FixedIPs} - replacement_policy: AUTO - -outputs: - ip_address: - description: {{network.name}} network IP - value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]} - ip_address_uri: -{%- if network.ipv6 %} - description: {{network.name}} network IP (with brackets for IPv6 URLs) - value: - list_join: - - '' - - - '[' - - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]} - - ']' -{%- else %} - description: {{network.name}} network IP (for compatibility with IPv6 URLs) - value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]} -{%- endif %} - ip_subnet: - description: IP/Subnet CIDR for the {{network.name}} network IP - value: - list_join: - - '' - - - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [{{network.name}}Port, subnets, 0, cidr]}, 1]} - +{% include 'port.j2' %} diff --git a/network/ports/port_from_pool.j2 b/network/ports/port_from_pool.j2 new file mode 100644 index 00000000..14b93692 --- /dev/null +++ b/network/ports/port_from_pool.j2 @@ -0,0 +1,65 @@ +heat_template_version: pike + +description: > + Creates a port on the {{network.name}} network, using a map of IPs per role. + Each role has a map of IPs in <Role>IPs parameters, with a list of IPs by + network (lower_name or lower case). For example: + ControllerIPs: + external: + - 1.2.3.4 # First controller + - 1.2.3.5 # Second controller + +parameters: + {{network.name}}NetName: + description: The name of the {{network.name_lower}} network. + default: {{network.name_lower}} + type: string + PortName: + description: Name of the port + default: '' + type: string + ControlPlaneIP: # Here for compatibility with noop.yaml + description: IP address on the control plane + default: '' + type: string + ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml + description: The name of the undercloud Neutron control plane + default: ctlplane + type: string + IPPool: # Set in <Role>IPs map, see environments/ips-from-pool-all.yaml + default: {} + type: json + NodeIndex: # First node in the role will get first IP, and so on... + default: 0 + type: number + {{network.name}}NetCidr: + default: {{network.ip_subnet}} + description: Cidr for the {{network.name_lower}} network. + type: string + +outputs: + ip_address: + description: {{network.name}} network IP + value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]} + ip_address_uri: +{%- if network.ipv6 or ipv6_override|default(false) %} + description: {{network.name}} network IP (with brackets for IPv6 URLs) + value: + list_join: + - '' + - - '[' + - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]} + - ']' +{%- else %} + description: {{network.name}} network IP (for compatibility with {{network.name_lower}}_v6.yaml) + value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]} +{%- endif %} + ip_subnet: + description: IP/Subnet CIDR for the {{network.name}} network IP + value: + list_join: + - '' + - - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]} + - '/' + - {str_split: ['/', {get_param: {{network.name}}NetCidr}, 1]} + diff --git a/network/ports/port_from_pool.network.j2.yaml b/network/ports/port_from_pool.network.j2.yaml index 9c08ec76..ff863583 100644 --- a/network/ports/port_from_pool.network.j2.yaml +++ b/network/ports/port_from_pool.network.j2.yaml @@ -1,65 +1 @@ -heat_template_version: pike - -description: > - Creates a port on the {{network.name}} network, using a map of IPs per role. - Each role has a map of IPs in <Role>IPs parameters, with a list of IPs by - network (lower_name or lower case). For example: - ControllerIPs: - external: - - 1.2.3.4 # First controller - - 1.2.3.5 # Second controller - -parameters: - {{network.name}}NetName: - description: Name of the {{network.name}} neutron network - default: {{network.name_lower}} - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml - description: The name of the undercloud Neutron control plane - default: ctlplane - type: string - IPPool: # Set in <Role>IPs map, see environments/ips-from-pool-all.yaml - default: {} - type: json - NodeIndex: # First node in the role will get first IP, and so on... - default: 0 - type: number - {{network.name}}NetCidr: - default: {{network.ip_subnet}} - description: Cidr for the {{network.name_lower}} network. - type: string - -outputs: - ip_address: - description: {{network.name}} network IP - value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]} - ip_address_uri: -{%- if network.ipv6 %} - description: {{network.name}} network IP (with brackets for IPv6 URLs) - value: - list_join: - - '' - - - '[' - - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]} - - ']' -{%- else %} - description: {{network.name}} network IP (for compatibility with {{network.name_lower}}_v6.yaml) - value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]} -{%- endif %} - ip_subnet: - description: IP/Subnet CIDR for the {{network.name}} network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: {{network.name}}NetCidr}, 1]} - +{% include 'port_from_pool.j2' %} diff --git a/network/ports/port_from_pool_v6.network.j2.yaml b/network/ports/port_from_pool_v6.network.j2.yaml new file mode 100644 index 00000000..689e1ad0 --- /dev/null +++ b/network/ports/port_from_pool_v6.network.j2.yaml @@ -0,0 +1,2 @@ +{% set ipv6_override = true -%} +{% include 'port_from_pool.j2' %} diff --git a/network/ports/port_v6.network.j2.yaml b/network/ports/port_v6.network.j2.yaml new file mode 100644 index 00000000..59709bde --- /dev/null +++ b/network/ports/port_v6.network.j2.yaml @@ -0,0 +1,2 @@ +{% set ipv6_override = true -%} +{% include 'port.j2' %} diff --git a/network/ports/storage.yaml b/network/ports/storage.yaml deleted file mode 100644 index 5c1aba1a..00000000 --- a/network/ports/storage.yaml +++ /dev/null @@ -1,56 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the storage network. - -parameters: - StorageNetName: - description: Name of the storage neutron network - default: storage - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - FixedIPs: - description: > - Control the IP allocation for the VIP port. E.g. - [{'ip_address':'1.2.3.4'}] - default: [] - type: json - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - StoragePort: - type: OS::Neutron::Port - properties: - network: {get_param: StorageNetName} - name: {get_param: PortName} - fixed_ips: {get_param: FixedIPs} - replacement_policy: AUTO - -outputs: - ip_address: - description: storage network IP - value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: storage network IP (for compatibility with storage_v6.yaml) - value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]} - ip_subnet: - description: IP/Subnet CIDR for the storage network IP - value: - list_join: - - '' - - - {get_attr: [StoragePort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [StoragePort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/storage_from_pool.yaml b/network/ports/storage_from_pool.yaml deleted file mode 100644 index ca5993fc..00000000 --- a/network/ports/storage_from_pool.yaml +++ /dev/null @@ -1,46 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs - -parameters: - StorageNetName: - description: Name of the storage network - default: storage - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - StorageNetCidr: - default: '172.16.1.0/24' - description: Cidr for the storage network. - type: string - -outputs: - ip_address: - description: storage network IP - value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: storage network IP (for compatibility with storage_v6.yaml) - value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]} - ip_subnet: - description: IP/Subnet CIDR for the storage network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: StorageNetCidr}, 1]} diff --git a/network/ports/storage_from_pool_v6.yaml b/network/ports/storage_from_pool_v6.yaml deleted file mode 100644 index ec7cd2f0..00000000 --- a/network/ports/storage_from_pool_v6.yaml +++ /dev/null @@ -1,52 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs. This version is for IPv6 - addresses. The ip_address_uri output will have brackets for use in URLs. - -parameters: - StorageNetName: - description: Name of the storage network - default: storage - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - StorageNetCidr: - default: 'fd00:fd00:fd00:3000::/64' - description: Cidr for the storage network. - type: string - -outputs: - ip_address: - description: storage network IP - value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: storage network IP (for compatibility with storage_v6.yaml) - value: - list_join: - - '' - - - '[' - - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the storage network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: StorageNetCidr}, 1]} diff --git a/network/ports/storage_mgmt.yaml b/network/ports/storage_mgmt.yaml deleted file mode 100644 index 94b058a2..00000000 --- a/network/ports/storage_mgmt.yaml +++ /dev/null @@ -1,57 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the storage_mgmt API network. - -parameters: - StorageMgmtNetName: - description: Name of the storage_mgmt API neutron network - default: storage_mgmt - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - FixedIPs: - description: > - Control the IP allocation for the VIP port. E.g. - [{'ip_address':'1.2.3.4'}] - default: [] - type: json - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - StorageMgmtPort: - type: OS::Neutron::Port - properties: - network: {get_param: StorageMgmtNetName} - name: {get_param: PortName} - fixed_ips: {get_param: FixedIPs} - replacement_policy: AUTO - -outputs: - ip_address: - description: storage_mgmt network IP - value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: | - storage_mgmt network IP (for compatibility with storage_mgmt_v6.yaml) - value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]} - ip_subnet: - description: IP/Subnet CIDR for the storage_mgmt network IP - value: - list_join: - - '' - - - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [StorageMgmtPort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/storage_mgmt_from_pool.yaml b/network/ports/storage_mgmt_from_pool.yaml deleted file mode 100644 index 63b2e154..00000000 --- a/network/ports/storage_mgmt_from_pool.yaml +++ /dev/null @@ -1,46 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs - -parameters: - StorageMgmtNetName: - description: Name of the storage MGMT network - default: storage_mgmt - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - StorageMgmtNetCidr: - default: '172.16.3.0/24' - description: Cidr for the storage MGMT network. - type: string - -outputs: - ip_address: - description: storage MGMT network IP - value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: storage MGMT network IP (for compatibility with storage_mgmt_v6.yaml) - value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]} - ip_subnet: - description: IP/Subnet CIDR for the storage MGMT network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: StorageMgmtNetCidr}, 1]} diff --git a/network/ports/storage_mgmt_from_pool_v6.yaml b/network/ports/storage_mgmt_from_pool_v6.yaml deleted file mode 100644 index 6d0b8794..00000000 --- a/network/ports/storage_mgmt_from_pool_v6.yaml +++ /dev/null @@ -1,52 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs This version is for IPv6 - addresses. The ip_address_uri output will have brackets for use in URLs. - -parameters: - StorageMgmtNetName: - description: Name of the storage MGMT network - default: storage_mgmt - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - StorageMgmtNetCidr: - default: 'fd00:fd00:fd00:4000::/64' - description: Cidr for the storage MGMT network. - type: string - -outputs: - ip_address: - description: storage MGMT network IP - value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: storage MGMT network IP (for compatibility with storage_mgmt_v6.yaml) - value: - list_join: - - '' - - - '[' - - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the storage MGMT network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: StorageMgmtNetCidr}, 1]} diff --git a/network/ports/storage_mgmt_v6.yaml b/network/ports/storage_mgmt_v6.yaml deleted file mode 100644 index 3d70c690..00000000 --- a/network/ports/storage_mgmt_v6.yaml +++ /dev/null @@ -1,61 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the storage_mgmt API network. - -parameters: - StorageMgmtNetName: - description: Name of the storage_mgmt API neutron network - default: storage_mgmt - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - FixedIPs: - description: > - Control the IP allocation for the VIP port. E.g. - [{'ip_address':'1.2.3.4'}] - default: [] - type: json - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - StorageMgmtPort: - type: OS::Neutron::Port - properties: - network: {get_param: StorageMgmtNetName} - name: {get_param: PortName} - fixed_ips: {get_param: FixedIPs} - replacement_policy: AUTO - -outputs: - ip_address: - description: storage_mgmt network IP - value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: storage_mgmt network IP with brackets suitable for a URI - value: - list_join: - - '' - - - '[' - - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the storage_mgmt network IP - value: - list_join: - - '' - - - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [StorageMgmtPort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/storage_v6.yaml b/network/ports/storage_v6.yaml deleted file mode 100644 index 6137d241..00000000 --- a/network/ports/storage_v6.yaml +++ /dev/null @@ -1,61 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the storage network. - -parameters: - StorageNetName: - description: Name of the storage neutron network - default: storage - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - FixedIPs: - description: > - Control the IP allocation for the VIP port. E.g. - [{'ip_address':'1.2.3.4'}] - default: [] - type: json - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - StoragePort: - type: OS::Neutron::Port - properties: - network: {get_param: StorageNetName} - name: {get_param: PortName} - fixed_ips: {get_param: FixedIPs} - replacement_policy: AUTO - -outputs: - ip_address: - description: storage network IP - value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: storage network IP with brackets suitable for a URL - value: - list_join: - - '' - - - '[' - - {get_attr: [StoragePort, fixed_ips, 0, ip_address]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the storage network IP - value: - list_join: - - '' - - - {get_attr: [StoragePort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [StoragePort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/tenant.yaml b/network/ports/tenant.yaml deleted file mode 100644 index a56b0f43..00000000 --- a/network/ports/tenant.yaml +++ /dev/null @@ -1,56 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the tenant network. - -parameters: - TenantNetName: - description: Name of the tenant neutron network - default: tenant - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - FixedIPs: - description: > - Control the IP allocation for the VIP port. E.g. - [{'ip_address':'1.2.3.4'}] - default: [] - type: json - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - TenantPort: - type: OS::Neutron::Port - properties: - network: {get_param: TenantNetName} - name: {get_param: PortName} - fixed_ips: {get_param: FixedIPs} - replacement_policy: AUTO - -outputs: - ip_address: - description: tenant network IP - value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: tenant network IP (for compatibility with tenant_v6.yaml) - value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]} - ip_subnet: - description: IP/Subnet CIDR for the tenant network IP - value: - list_join: - - '' - - - {get_attr: [TenantPort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [TenantPort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/tenant_from_pool.yaml b/network/ports/tenant_from_pool.yaml deleted file mode 100644 index 03ff6d11..00000000 --- a/network/ports/tenant_from_pool.yaml +++ /dev/null @@ -1,46 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs - -parameters: - TenantNetName: - description: Name of the tenant network - default: tenant - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatibility with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - TenantNetCidr: - default: '172.16.0.0/24' - description: Cidr for the tenant network. - type: string - -outputs: - ip_address: - description: tenant network IP - value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: tenant network IP (for compatibility with tenant_v6.yaml) - value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]} - ip_subnet: - description: IP/Subnet CIDR for the tenant network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: TenantNetCidr}, 1]} diff --git a/network/ports/tenant_from_pool_v6.yaml b/network/ports/tenant_from_pool_v6.yaml deleted file mode 100644 index d45faf06..00000000 --- a/network/ports/tenant_from_pool_v6.yaml +++ /dev/null @@ -1,51 +0,0 @@ -heat_template_version: pike - -description: > - Returns an IP from a network mapped list of IPs - -parameters: - TenantNetName: - description: Name of the tenant network - default: tenant - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - IPPool: - default: {} - description: A network mapped list of IPs - type: json - NodeIndex: - default: 0 - description: Index of the IP to get from Pool - type: number - TenantNetCidr: - default: 'fd00:fd00:fd00:5000::/64' - description: Cidr for the tenant network. - type: string - -outputs: - ip_address: - description: tenant network IP - value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]} - ip_address_uri: - description: tenant network IP (for compatibility with tenant_v6.yaml) - value: - list_join: - - '' - - - '[' - - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the tenant network IP - value: - list_join: - - '' - - - {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]} - - '/' - - {str_split: ['/', {get_param: TenantNetCidr}, 1]} diff --git a/network/ports/tenant_v6.yaml b/network/ports/tenant_v6.yaml deleted file mode 100644 index d23e91f7..00000000 --- a/network/ports/tenant_v6.yaml +++ /dev/null @@ -1,61 +0,0 @@ -heat_template_version: pike - -description: > - Creates a port on the tenant network. - -parameters: - TenantNetName: - description: Name of the tenant neutron network - default: tenant - type: string - PortName: - description: Name of the port - default: '' - type: string - ControlPlaneIP: # Here for compatability with noop.yaml - description: IP address on the control plane - default: '' - type: string - FixedIPs: - description: > - Control the IP allocation for the VIP port. E.g. - [{'ip_address':'1.2.3.4'}] - default: [] - type: json - IPPool: # Here for compatibility with from_pool.yaml - default: {} - type: json - NodeIndex: # Here for compatibility with from_pool.yaml - default: 0 - type: number - -resources: - - TenantPort: - type: OS::Neutron::Port - properties: - network: {get_param: TenantNetName} - name: {get_param: PortName} - fixed_ips: {get_param: FixedIPs} - replacement_policy: AUTO - -outputs: - ip_address: - description: tenant network IP - value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]} - ip_address_uri: - description: tenant network IP with brackets suitable for a URL - value: - list_join: - - '' - - - '[' - - {get_attr: [TenantPort, fixed_ips, 0, ip_address]} - - ']' - ip_subnet: - description: IP/Subnet CIDR for the tenant network IP - value: - list_join: - - '' - - - {get_attr: [TenantPort, fixed_ips, 0, ip_address]} - - '/' - - {str_split: ['/', {get_attr: [TenantPort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/vip.yaml b/network/ports/vip.yaml index 70b4482c..f47760c8 100644 --- a/network/ports/vip.yaml +++ b/network/ports/vip.yaml @@ -11,7 +11,7 @@ parameters: type: string NetworkName: description: Name of the network where the VIP will be created - default: internal_api + default: ctlplane type: string PortName: description: Name of the port diff --git a/network/ports/vip_v6.yaml b/network/ports/vip_v6.yaml index 09f646a6..90525a31 100644 --- a/network/ports/vip_v6.yaml +++ b/network/ports/vip_v6.yaml @@ -11,7 +11,7 @@ parameters: type: string NetworkName: description: Name of the network where the VIP will be created - default: internal_api + default: ctlplane type: string PortName: description: Name of the port |