diff options
Diffstat (limited to 'network/ports')
-rw-r--r-- | network/ports/management_from_pool.yaml | 2 | ||||
-rw-r--r-- | network/ports/management_from_pool_v6.yaml | 52 | ||||
-rw-r--r-- | network/ports/net_ip_map.yaml | 41 | ||||
-rw-r--r-- | network/ports/net_ip_subnet_map.yaml | 47 |
4 files changed, 93 insertions, 49 deletions
diff --git a/network/ports/management_from_pool.yaml b/network/ports/management_from_pool.yaml index fc87e39a..451677b2 100644 --- a/network/ports/management_from_pool.yaml +++ b/network/ports/management_from_pool.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2015-04-30 +heat_template_version: 2015-10-15 description: > Returns an IP from a network mapped list of IPs diff --git a/network/ports/management_from_pool_v6.yaml b/network/ports/management_from_pool_v6.yaml new file mode 100644 index 00000000..d9ac6046 --- /dev/null +++ b/network/ports/management_from_pool_v6.yaml @@ -0,0 +1,52 @@ +heat_template_version: 2015-10-15 + +description: > + Returns an IP from a network mapped list of IPs. This version is for IPv6 + addresses. The ip_address_uri output will have brackets for use in URLs. + +parameters: + ManagementNetName: + description: Name of the management network + default: management + type: string + PortName: + description: Name of the port + default: '' + type: string + ControlPlaneIP: # Here for compatability with noop.yaml + description: IP address on the control plane + default: '' + type: string + IPPool: + default: {} + description: A network mapped list of IPs + type: json + NodeIndex: + default: 0 + description: Index of the IP to get from Pool + type: number + ManagementNetCidr: + default: 'fd00:fd00:fd00:6000::/64' + description: Cidr for the management network. + type: string + +outputs: + ip_address: + description: management network IP + value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]} + ip_address_uri: + description: management network IP (for compatibility with management_v6.yaml) + value: + list_join: + - '' + - - '[' + - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]} + - ']' + ip_subnet: + description: IP/Subnet CIDR for the management network IP + value: + list_join: + - '' + - - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]} + - '/' + - {str_split: ['/', {get_attr: [ManagementPort, subnets, 0, cidr]}, 1]} diff --git a/network/ports/net_ip_map.yaml b/network/ports/net_ip_map.yaml index 6bb4557b..78c7c32c 100644 --- a/network/ports/net_ip_map.yaml +++ b/network/ports/net_ip_map.yaml @@ -4,9 +4,16 @@ parameters: ControlPlaneIp: default: '' type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string ExternalIp: default: '' type: string + ExternalIpSubnet: + default: '' + type: string ExternalIpUri: default: '' type: string @@ -14,6 +21,9 @@ parameters: InternalApiIp: default: '' type: string + InternalApiIpSubnet: + default: '' + type: string InternalApiIpUri: default: '' type: string @@ -21,6 +31,9 @@ parameters: StorageIp: default: '' type: string + StorageIpSubnet: + default: '' + type: string StorageIpUri: default: '' type: string @@ -28,6 +41,9 @@ parameters: StorageMgmtIp: default: '' type: string + StorageMgmtIpSubnet: + default: '' + type: string StorageMgmtIpUri: default: '' type: string @@ -35,6 +51,9 @@ parameters: TenantIp: default: '' type: string + TenantIpSubnet: + default: '' + type: string TenantIpUri: default: '' type: string @@ -42,6 +61,9 @@ parameters: ManagementIp: default: '' type: string + ManagementIpSubnet: + default: '' + type: string ManagementIpUri: default: '' type: string @@ -60,9 +82,26 @@ outputs: storage_mgmt: {get_param: StorageMgmtIp} tenant: {get_param: TenantIp} management: {get_param: ManagementIp} + net_ip_subnet_map: + description: > + A Hash containing a mapping of network names to assigned IPs/CIDR + for a specific machine. + value: + ctlplane: + list_join: + - '' + - - {get_param: ControlPlaneIp} + - '/' + - {get_param: ControlPlaneSubnetCidr} + external: {get_param: ExternalIpSubnet} + internal_api: {get_param: InternalApiIpSubnet} + storage: {get_param: StorageIpSubnet} + storage_mgmt: {get_param: StorageMgmtIpSubnet} + tenant: {get_param: TenantIpSubnet} + management: {get_param: ManagementIpSubnet} net_ip_uri_map: description: > - A Hash containing a mapping of netowrk names to assigned IPs for a + A Hash containing a mapping of network names to assigned IPs for a specific machine with brackets around IPv6 addresses for use in URLs. value: ctlplane: {get_param: ControlPlaneIp} diff --git a/network/ports/net_ip_subnet_map.yaml b/network/ports/net_ip_subnet_map.yaml deleted file mode 100644 index 2f933eaa..00000000 --- a/network/ports/net_ip_subnet_map.yaml +++ /dev/null @@ -1,47 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - type: string - ExternalIpSubnet: - default: '' - type: string - InternalApiIpSubnet: - default: '' - type: string - StorageIpSubnet: - default: '' - type: string - StorageMgmtIpSubnet: - default: '' - type: string - TenantIpSubnet: - default: '' - type: string - ManagementIpSubnet: - default: '' - type: string - ControlPlaneSubnetCidr: # Override this via parameter_defaults - default: '24' - description: The subnet CIDR of the control plane network. - type: string - -outputs: - net_ip_subnet_map: - description: > - A Hash containing a mapping of network names to assigned - IP/subnet mappings. - value: - ctlplane: - list_join: - - '' - - - {get_param: ControlPlaneIp} - - '/' - - {get_param: ControlPlaneSubnetCidr} - external: {get_param: ExternalIpSubnet} - internal_api: {get_param: InternalApiIpSubnet} - storage: {get_param: StorageIpSubnet} - storage_mgmt: {get_param: StorageMgmtIpSubnet} - tenant: {get_param: TenantIpSubnet} - management: {get_param: ManagementIpSubnet} |