Merge "Add net_vip_map_external to be used for an external balancer"
authorJenkins <jenkins@review.openstack.org>
Thu, 26 Nov 2015 10:31:31 +0000 (10:31 +0000)
committerGerrit Code Review <review@openstack.org>
Thu, 26 Nov 2015 10:31:31 +0000 (10:31 +0000)
12 files changed:
environments/external-loadbalancer-vip.yaml [new file with mode: 0644]
network/ports/ctlplane_vip.yaml
network/ports/external.yaml
network/ports/internal_api.yaml
network/ports/net_vip_map_external.yaml [new file with mode: 0644]
network/ports/storage.yaml
network/ports/storage_mgmt.yaml
network/ports/tenant.yaml
network/ports/vip.yaml
overcloud-resource-registry-puppet.yaml
overcloud-resource-registry.yaml
overcloud-without-mergepy.yaml

diff --git a/environments/external-loadbalancer-vip.yaml b/environments/external-loadbalancer-vip.yaml
new file mode 100644 (file)
index 0000000..0866806
--- /dev/null
@@ -0,0 +1,13 @@
+resource_registry:
+  OS::TripleO::Network::Ports::NetVipMap: ../network/ports/net_vip_map_external.yaml
+
+parameter_defaults:
+  # When using an external loadbalancer set the following in parameter_defaults
+  # to control your VIPs (currently one per network)
+  # NOTE: we will eventually move to one VIP per service
+  #
+  # ControlNetworkVip:
+  # ExternalNetworkVip:
+  # InternalApiNetworkVip:
+  # StorageNetworkVip:
+  # StorageMgmtNetworkVip:
index 0d2945b..3e949f4 100644 (file)
@@ -15,6 +15,7 @@ parameters:
     type: string
   ControlPlaneIP: # Here for compatability with noop.yaml
     description: IP address on the control plane
+    default: ''
     type: string
   ControlPlaneNetwork:
     description: The name of the undercloud Neutron control plane
index 63e3eeb..1e2fff6 100644 (file)
@@ -15,6 +15,7 @@ parameters:
     type: string
   ControlPlaneIP: # Here for compatability 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
index da1b185..b671aa5 100644 (file)
@@ -14,6 +14,7 @@ parameters:
     type: string
   ControlPlaneIP: # Here for compatability with noop.yaml
     description: IP address on the control plane
+    default: ''
     type: string
 
 resources:
diff --git a/network/ports/net_vip_map_external.yaml b/network/ports/net_vip_map_external.yaml
new file mode 100644 (file)
index 0000000..36426b3
--- /dev/null
@@ -0,0 +1,50 @@
+heat_template_version: 2015-04-30
+
+parameters:
+  # Set these via parameter defaults to configure external VIPs
+  ControlNetworkVip:
+    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
+  InternalApiIp:
+    default: ''
+    type: string
+  StorageIp:
+    default: ''
+    type: string
+  StorageMgmtIp:
+    default: ''
+    type: string
+  TenantIp:
+    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: ControlNetworkVip}
+      external: {get_param: ExternalNetworkVip}
+      internal_api: {get_param: InternalApiNetworkVip}
+      storage: {get_param: StorageNetworkVip}
+      storage_mgmt: {get_param: StorageMgmtNetworkVip}
index ecb20b8..e1ef8e0 100644 (file)
@@ -14,6 +14,7 @@ parameters:
     type: string
   ControlPlaneIP: # Here for compatability with noop.yaml
     description: IP address on the control plane
+    default: ''
     type: string
 
 resources:
@@ -39,4 +40,3 @@ outputs:
               - '/'
               - {get_attr: [StoragePort, subnets, 0, cidr, -2]}
               - {get_attr: [StoragePort, subnets, 0, cidr, -1]}
-
index 2ab39f2..e5b5b88 100644 (file)
@@ -14,6 +14,7 @@ parameters:
     type: string
   ControlPlaneIP: # Here for compatability with noop.yaml
     description: IP address on the control plane
+    default: ''
     type: string
 
 resources:
index aae12d4..9a351a2 100644 (file)
@@ -14,6 +14,7 @@ parameters:
     type: string
   ControlPlaneIP: # Here for compatability with noop.yaml
     description: IP address on the control plane
+    default: ''
     type: string
 
 resources:
index 299579d..56efc17 100644 (file)
@@ -15,6 +15,7 @@ parameters:
     type: string
   ControlPlaneIP: # Here for compatability with noop.yaml
     description: IP address on the control plane
+    default: ''
     type: string
   ControlPlaneNetwork:
     description: The name of the undercloud Neutron control plane
index 18824ac..c072c29 100644 (file)
@@ -58,6 +58,7 @@ resource_registry:
   OS::TripleO::Network::Storage: network/noop.yaml
   OS::TripleO::Network::Tenant: network/noop.yaml
 
+  OS::TripleO::Network::Ports::NetVipMap: network/ports/net_ip_map.yaml
   OS::TripleO::Network::Ports::NetIpMap: network/ports/net_ip_map.yaml
   OS::TripleO::Network::Ports::NetIpSubnetMap: network/ports/net_ip_subnet_map.yaml
   OS::TripleO::Network::Ports::NetIpListMap: network/ports/net_ip_list_map.yaml
index ed02551..11a3359 100644 (file)
@@ -39,6 +39,7 @@ resource_registry:
   OS::TripleO::Network::Storage: network/noop.yaml
   OS::TripleO::Network::Tenant: network/noop.yaml
 
+  OS::TripleO::Network::Ports::NetVipMap: network/ports/net_ip_map.yaml
   OS::TripleO::Network::Ports::NetIpMap: network/ports/net_ip_map.yaml
   OS::TripleO::Network::Ports::NetIpSubnetMap: network/ports/net_ip_subnet_map.yaml
   OS::TripleO::Network::Ports::NetIpListMap: network/ports/net_ip_list_map.yaml
index a0fc758..10d1f27 100644 (file)
@@ -882,8 +882,8 @@ resources:
           SwiftPartPower: {get_param: SwiftPartPower}
           SwiftPassword: {get_param: SwiftPassword}
           SwiftReplicas: { get_param: SwiftReplicas}
-          VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} # deprecated. Use per service VIP settings instead now.
-          PublicVirtualIP: {get_attr: [PublicVirtualIP, ip_address]}
+          VirtualIP: {get_attr: [VipMap, net_ip_map, ctlplane]} # deprecated. Use per service VIP settings instead now.
+          PublicVirtualIP: {get_attr: [VipMap, net_ip_map, external]}
           ServiceNetMap: {get_param: ServiceNetMap}
           EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
           CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
@@ -957,7 +957,7 @@ resources:
           NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}
           NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType}
           NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend}
-          NovaPublicIP: {get_attr: [PublicVirtualIP, ip_address]}
+          NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]}
           NovaPassword: {get_param: NovaPassword}
           NtpServer: {get_param: NtpServer}
           RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
@@ -994,7 +994,7 @@ resources:
           CinderPassword: {get_param: CinderPassword}
           KeyName: {get_param: KeyName}
           Flavor: {get_param: OvercloudBlockStorageFlavor}
-          VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+          VirtualIP: {get_attr: [VipMap, net_ip_map, ctlplane]}
           GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
           RabbitPassword: {get_param: RabbitPassword}
           RabbitUserName: {get_param: RabbitUserName}
@@ -1172,7 +1172,7 @@ resources:
       PortName: storage_management_virtual_ip
 
   VipMap:
-    type: OS::TripleO::Network::Ports::NetIpMap
+    type: OS::TripleO::Network::Ports::NetVipMap
     properties:
       ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
       ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
@@ -1207,11 +1207,11 @@ resources:
         mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
         rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
         # direct configuration of Virtual IPs for each network
-        control_virtual_ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
-        public_virtual_ip: {get_attr: [PublicVirtualIP, ip_address]}
-        internal_api_virtual_ip: {get_attr: [InternalApiVirtualIP, ip_address]}
-        storage_virtual_ip: {get_attr: [StorageVirtualIP, ip_address]}
-        storage_mgmt_virtual_ip: {get_attr: [StorageMgmtVirtualIP, ip_address]}
+        control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]}
+        public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]}
+        internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]}
+        storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]}
+        storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]}
 
   ControllerBootstrapNodeConfig:
     type: OS::TripleO::BootstrapNode::SoftwareConfig
@@ -1445,7 +1445,7 @@ outputs:
     value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
   PublicVip:
     description: Controller VIP for public API endpoints
-    value: {get_attr: [PublicVirtualIP, ip_address]}
+    value: {get_attr: [VipMap, net_ip_map, external]}
   CeilometerInternalVip:
     description: VIP for Ceilometer API internal endpoint
     value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}