Don't replace OS::Neutron::Port on update
authorSteve Hardy <shardy@redhat.com>
Tue, 28 Oct 2014 19:22:18 +0000 (19:22 +0000)
committerSteven Hardy <shardy@redhat.com>
Tue, 28 Oct 2014 19:29:50 +0000 (19:29 +0000)
Due to an ununsual interface to OS::Neutron::Port resources,
it's necessary to specify replacement_policy: AUTO, or the
resource is unconditionally replaced on every stack update.

I've started discussion re possibly changing the default in
Heat, but right now, we need this or we have the bad outcome
of replacing all (!) compute and controller nodes on every
stack-update, even if the templates are unmodified.

Passing the AUTO value should be safe regardless of any
potential change of default value in Heat.

Change-Id: I6dd02ae17407f8f4c81ae418e5027f4f38ae4e9b
Closes-Bug: #1383709

overcloud-source.yaml
overcloud-vlan-port.yaml
overcloud-without-mergepy.yaml

index a1e71f0..070ffe8 100644 (file)
@@ -351,6 +351,7 @@ resources:
       network_id: {get_param: NeutronControlPlaneID}
       fixed_ips:
         get_param: ControlFixedIPs
+      replacement_policy: AUTO
   MysqlClusterUniquePart:
     type: OS::Heat::RandomString
     properties:
@@ -366,6 +367,7 @@ resources:
       network: {get_param: PublicVirtualNetwork}
       fixed_ips:
         get_param: PublicVirtualFixedIPs
+      replacement_policy: AUTO
   RabbitCookie:
     type: OS::Heat::RandomString
     properties:
index 71b444f..8f6f693 100644 (file)
@@ -36,3 +36,4 @@ resources:
     properties:
       name: controller0_vlan
       network: public
+      replacement_policy: AUTO
index cb4f25c..d38a398 100644 (file)
@@ -569,6 +569,7 @@ resources:
       name: control_virtual_ip
       network_id: {get_param: NeutronControlPlaneID}
       fixed_ips: {get_param: ControlFixedIPs}
+      replacement_policy: AUTO
 
   PublicVirtualIP:
     type: OS::Neutron::Port
@@ -576,6 +577,7 @@ resources:
       name: public_virtual_ip
       network: {get_param: PublicVirtualNetwork}
       fixed_ips: {get_param: PublicVirtualFixedIPs}
+      replacement_policy: AUTO
 
   ControllerBootstrapNodeConfig:
     type: OS::Heat::StructuredConfig