From 2cc592d29d932e64708e20b8ff10f30c80c99249 Mon Sep 17 00:00:00 2001 From: Dan Sneddon Date: Thu, 21 Jan 2016 01:41:46 -0800 Subject: Make External Load Balancer templates work with IPv6 This change modifies the network isolation templates that allow for fixed IP addresses on the controllers' IPs and VIPs, and makes them compatible with IPv6 addresses. The latest version of the patchset creates an from_service_v6.yaml in order to properly handle service VIPs on IPv6 networks. Note that since OVS is not currently compatible with IPv6 tunnel endpoints, this patch does not yet enable IPv6 for the Tenant network by default. Change-Id: If881b000c6000ec13b54c0ee39f1c8940f079ae3 Co-Authored-By: Giulio Fidente --- network/ports/net_vip_map_external_v6.yaml | 95 ++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 network/ports/net_vip_map_external_v6.yaml (limited to 'network/ports/net_vip_map_external_v6.yaml') diff --git a/network/ports/net_vip_map_external_v6.yaml b/network/ports/net_vip_map_external_v6.yaml new file mode 100644 index 00000000..f6d67fe8 --- /dev/null +++ b/network/ports/net_vip_map_external_v6.yaml @@ -0,0 +1,95 @@ +heat_template_version: 2015-04-30 + +parameters: + # Set these via parameter defaults to configure external VIPs + ControlPlaneIP: + default: '' + type: string + ExternalNetworkVip: + default: '' + type: string + InternalApiNetworkVip: + default: '' + type: string + StorageNetworkVip: + default: '' + type: string + StorageMgmtNetworkVip: + default: '' + type: string + # The following are unused in this template + ControlPlaneIp: + default: '' + type: string + ExternalIp: + default: '' + type: string + ExternalIpUri: + default: '' + type: string + InternalApiIp: + default: '' + type: string + InternalApiIpUri: + default: '' + type: string + StorageIp: + default: '' + type: string + StorageIpUri: + default: '' + type: string + StorageMgmtIp: + default: '' + type: string + StorageMgmtIpUri: + default: '' + type: string + TenantIp: + default: '' + type: string + TenantIpUri: + default: '' + type: string + +outputs: + net_ip_map: + description: > + A Hash containing a mapping of network names to assigned IPs + for a specific machine. + value: + ctlplane: {get_param: ControlPlaneIP} + external: {get_param: ExternalNetworkVip} + internal_api: {get_param: InternalApiNetworkVip} + storage: {get_param: StorageNetworkVip} + storage_mgmt: {get_param: StorageMgmtNetworkVip} + net_ip_uri_map: + description: > + A Hash containing a mapping of netowrk names to assigned IPs for a + specific machine with brackets around IPv6 addresses for use in URLs. + value: + ctlplane: {get_param: ControlPlaneIP} + external: + list_join: + - '' + - - '[' + - {get_param: ExternalNetworkVip} + - ']' + internal_api: + list_join: + - '' + - - '[' + - {get_param: InternalApiNetworkVip} + - ']' + storage: + list_join: + - '' + - - '[' + - {get_param: StorageNetworkVip} + - ']' + storage_mgmt: + list_join: + - '' + - - '[' + - {get_param: StorageMgmtNetworkVip} + - ']' -- cgit 1.2.3-korg