Browse Source
Remove these from the j2 excludes and instead render all the networks to avoid duplication. Change-Id: Id8e14e06ffe959c50456b4c88fef306046a8b478 Partially-Implements: blueprint composable-networkschanges/67/495367/2
30 changed files with 91 additions and 1396 deletions
@ -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: The 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 |
||||
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]} |
@ -1,46 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Returns an IP from a network mapped list of IPs |
||||
|
||||
parameters: |
||||
ExternalNetName: |
||||
description: The 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]} |
@ -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: The 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]} |
@ -1,57 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Creates a port on the internal_api network. |
||||
|
||||
parameters: |
||||
InternalApiNetName: |
||||
description: The 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 |
||||
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]} |
@ -1,46 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Returns an IP from a network mapped list of IPs |
||||
|
||||
parameters: |
||||
InternalApiNetName: |
||||
description: The 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]} |
@ -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: The 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]} |
@ -1,61 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Creates a port on the internal_api network. |
||||
|
||||
parameters: |
||||
InternalApiNetName: |
||||
description: The 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 |
||||
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]} |
@ -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: The name of the management 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]} |
@ -1,46 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Returns an IP from a network mapped list of IPs |
||||
|
||||
parameters: |
||||
ManagementNetName: |
||||
description: The 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]} |
@ -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: The 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]} |
@ -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: The name of the management 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]} |
@ -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' %} |
||||
|
@ -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]} |
||||
|
@ -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' %} |
||||
|
@ -0,0 +1,2 @@
|
||||
{% set ipv6_override = true -%} |
||||
{% include 'port_from_pool.j2' %} |
@ -0,0 +1,2 @@
|
||||
{% set ipv6_override = true -%} |
||||
{% include 'port.j2' %} |
@ -1,56 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Creates a port on the storage network. |
||||
|
||||
parameters: |
||||
StorageNetName: |
||||
description: The 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 |
||||
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]} |
@ -1,46 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Returns an IP from a network mapped list of IPs |
||||
|
||||
parameters: |
||||
StorageNetName: |
||||
description: The 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]} |
@ -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: The 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]} |
@ -1,57 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Creates a port on the storage_mgmt API network. |
||||
|
||||
parameters: |
||||
StorageMgmtNetName: |
||||
description: The 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 |
||||
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]} |
@ -1,46 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Returns an IP from a network mapped list of IPs |
||||
|
||||
parameters: |
||||
StorageMgmtNetName: |
||||
description: The 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]} |
@ -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: The 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]} |
@ -1,61 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Creates a port on the storage_mgmt API network. |
||||
|
||||
parameters: |
||||
StorageMgmtNetName: |
||||
description: The 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 |
||||
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]} |
@ -1,61 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Creates a port on the storage network. |
||||
|
||||
parameters: |
||||
StorageNetName: |
||||
description: The 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 |
||||
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]} |
@ -1,56 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Creates a port on the tenant network. |
||||
|
||||
parameters: |
||||
TenantNetName: |
||||
description: The 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 |
||||
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]} |
@ -1,46 +0,0 @@
|
||||
heat_template_version: pike |
||||
|
||||
description: > |
||||
Returns an IP from a network mapped list of IPs |
||||
|
||||
parameters: |
||||
TenantNetName: |
||||
description: The 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 |
||||