Allow the deployer to pick a predefined IP for VIPs
authorGiulio Fidente <gfidente@redhat.com>
Wed, 9 Dec 2015 11:03:01 +0000 (12:03 +0100)
committerGiulio Fidente <gfidente@redhat.com>
Thu, 28 Jan 2016 18:08:48 +0000 (19:08 +0100)
Adds three top-level params to allow the deployer pick a predefined IP
for the InternalApi, Storage and StorageMgmt VIPs. We had this already
for the External network (PublicVirtualFixedIPs) and the ctlplane
network (ControlFixedIPs).

Change-Id: I1509e1888774ffa72445ed681dd8107eec703d64

overcloud.yaml

index 673bf50..019779a 100644 (file)
@@ -88,6 +88,12 @@ parameters:
     default: 'REBUILD_PRESERVE_EPHEMERAL'
     description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
     type: string
+  InternalApiVirtualFixedIPs:
+    default: []
+    description: >
+        Control the IP allocation for the InternalApiVirtualInterface port. E.g.
+        [{'ip_address':'1.2.3.4'}]
+    type: json
   KeyName:
     default: default
     description: Name of an existing Nova key pair to enable SSH access to the instances
@@ -284,6 +290,18 @@ parameters:
     description: The user password for SNMPd with readonly rights running on all Overcloud nodes
     type: string
     hidden: true
+  StorageVirtualFixedIPs:
+    default: []
+    description: >
+        Control the IP allocation for the StorageVirtualInterface port. E.g.
+        [{'ip_address':'1.2.3.4'}]
+    type: json
+  StorageMgmtVirtualFixedIPs:
+    default: []
+    description: >
+        Control the IP allocation for the StorageMgmgVirtualInterface port. E.g.
+        [{'ip_address':'1.2.3.4'}]
+    type: json
   TimeZone:
     default: 'UTC'
     description: The timezone to be set on nodes.
@@ -1246,6 +1264,7 @@ resources:
     properties:
       ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
       PortName: internal_api_virtual_ip
+      FixedIPs: {get_param: InternalApiVirtualFixedIPs}
 
   StorageVirtualIP:
     depends_on: Networks
@@ -1253,6 +1272,7 @@ resources:
     properties:
       ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
       PortName: storage_virtual_ip
+      FixedIPs: {get_param: StorageVirtualFixedIPs}
 
   StorageMgmtVirtualIP:
     depends_on: Networks
@@ -1260,6 +1280,7 @@ resources:
     properties:
       ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
       PortName: storage_management_virtual_ip
+      FixedIPs: {get_param: StorageMgmtVirtualFixedIPs}
 
   VipMap:
     type: OS::TripleO::Network::Ports::NetVipMap