Render port templates via j2
Remove these from the j2 excludes and instead render all the networks to avoid duplication. Change-Id: Id8e14e06ffe959c50456b4c88fef306046a8b478 Partially-Implements: blueprint composable-networks
This commit is contained in:
parent
c87a0d0083
commit
700b82bf20
@ -11,27 +11,3 @@ name:
|
|||||||
- network/storage_mgmt_v6.yaml
|
- network/storage_mgmt_v6.yaml
|
||||||
- network/tenant_v6.yaml
|
- network/tenant_v6.yaml
|
||||||
- network/management_v6.yaml
|
- network/management_v6.yaml
|
||||||
- network/ports/internal_api.yaml
|
|
||||||
- network/ports/external.yaml
|
|
||||||
- network/ports/storage.yaml
|
|
||||||
- network/ports/storage_mgmt.yaml
|
|
||||||
- network/ports/tenant.yaml
|
|
||||||
- network/ports/management.yaml
|
|
||||||
- network/ports/internal_api_v6.yaml
|
|
||||||
- network/ports/external_v6.yaml
|
|
||||||
- network/ports/storage_v6.yaml
|
|
||||||
- network/ports/storage_mgmt_v6.yaml
|
|
||||||
- network/ports/tenant_v6.yaml
|
|
||||||
- network/ports/management_v6.yaml
|
|
||||||
- network/ports/internal_api_from_pool.yaml
|
|
||||||
- network/ports/external_from_pool.yaml
|
|
||||||
- network/ports/storage_from_pool.yaml
|
|
||||||
- network/ports/storage_mgmt_from_pool.yaml
|
|
||||||
- network/ports/tenant_from_pool.yaml
|
|
||||||
- network/ports/management_from_pool.yaml
|
|
||||||
- network/ports/internal_api_from_pool_v6.yaml
|
|
||||||
- network/ports/external_from_pool_v6.yaml
|
|
||||||
- network/ports/storage_from_pool_v6.yaml
|
|
||||||
- network/ports/storage_mgmt_from_pool_v6.yaml
|
|
||||||
- network/ports/tenant_from_pool_v6.yaml
|
|
||||||
- network/ports/management_from_pool_v6.yaml
|
|
||||||
|
@ -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,19 +1,19 @@
|
|||||||
heat_template_version: pike
|
heat_template_version: pike
|
||||||
|
|
||||||
description: >
|
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.
|
automatically if FixedIPs is empty.
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
ExternalNetName:
|
{{network.name}}NetName:
|
||||||
description: The name of the external network.
|
description: The name of the {{network.name_lower}} network.
|
||||||
default: external
|
default: {{network.name_lower|default(network.name|lower)}}
|
||||||
type: string
|
type: string
|
||||||
PortName:
|
PortName:
|
||||||
description: Name of the port
|
description: Name of the port
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
type: string
|
||||||
ControlPlaneIP: # Here for compatability with noop.yaml
|
ControlPlaneIP: # Here for compatibility with noop.yaml
|
||||||
description: IP address on the control plane
|
description: IP address on the control plane
|
||||||
default: ''
|
default: ''
|
||||||
type: string
|
type: string
|
||||||
@ -36,31 +36,37 @@ parameters:
|
|||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|
||||||
ExternalPort:
|
{{network.name}}Port:
|
||||||
type: OS::Neutron::Port
|
type: OS::Neutron::Port
|
||||||
properties:
|
properties:
|
||||||
network: {get_param: ExternalNetName}
|
network: {get_param: {{network.name}}NetName}
|
||||||
name: {get_param: PortName}
|
name: {get_param: PortName}
|
||||||
fixed_ips: {get_param: FixedIPs}
|
fixed_ips: {get_param: FixedIPs}
|
||||||
replacement_policy: AUTO
|
replacement_policy: AUTO
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
ip_address:
|
ip_address:
|
||||||
description: external network IP
|
description: {{network.name}} network IP
|
||||||
value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
|
value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
|
||||||
ip_address_uri:
|
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:
|
value:
|
||||||
list_join:
|
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:
|
ip_subnet:
|
||||||
description: IP/Subnet CIDR for the external network IP
|
description: IP/Subnet CIDR for the {{network.name}} network IP
|
||||||
value:
|
value:
|
||||||
list_join:
|
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]}
|
||||||
|
|
@ -1,72 +1 @@
|
|||||||
heat_template_version: pike
|
{% include 'port.j2' %}
|
||||||
|
|
||||||
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]}
|
|
||||||
|
|
||||||
|
65
network/ports/port_from_pool.j2
Normal file
65
network/ports/port_from_pool.j2
Normal file
@ -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
|
{% include 'port_from_pool.j2' %}
|
||||||
|
|
||||||
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]}
|
|
||||||
|
|
||||||
|
2
network/ports/port_from_pool_v6.network.j2.yaml
Normal file
2
network/ports/port_from_pool_v6.network.j2.yaml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
{% set ipv6_override = true -%}
|
||||||
|
{% include 'port_from_pool.j2' %}
|
2
network/ports/port_v6.network.j2.yaml
Normal file
2
network/ports/port_v6.network.j2.yaml
Normal file
@ -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
|
|
||||||
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]}
|
|
@ -1,51 +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 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]}
|
|
@ -1,61 +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 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]}
|
|
Loading…
Reference in New Issue
Block a user