Add DeployIdentifier overcloud parameter
authorDan Prince <dprince@redhat.com>
Wed, 11 Nov 2015 22:46:50 +0000 (17:46 -0500)
committerDan Prince <dprince@redhat.com>
Wed, 11 Nov 2015 22:46:50 +0000 (17:46 -0500)
We've heard from end users that it is confusing that puppet
isn't re-executed on a heat stack-update.

This patch adds a new DeployIdentifier parameter which
we can set via client tooling (tripleoclient) to a unique
value so that on each heat stack-update we always execute
all of our configuration deployments.

Change-Id: Ic352ddd30807dc378e5e7b6c396bc53f5d6d5622
Related-bug: #1505430

overcloud-without-mergepy.yaml

index 714bf9f..38ec678 100644 (file)
@@ -709,6 +709,12 @@ parameters:
     description: >
       Setting to a previously unused value during stack-update will trigger
       package update on all nodes
+  DeployIdentifier:
+    default: ''
+    type: string
+    description: >
+      Setting this to a unique value will re-run any deployment tasks which
+      perform configuration on a Heat stack-update.
 
   # If you want to remove a specific node from a resource group, you can pass
   # the node name or id as a <Group>RemovalPolicies parameter, for example:
@@ -1375,6 +1381,7 @@ resources:
       NodeConfigIdentifiers:
         allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
         controller_config: {get_attr: [Controller, attributes, config_identifier]}
+        deployment_identifier: {get_param: DeployIdentifier}
 
   ComputeNodesPostDeployment:
     type: OS::TripleO::ComputePostDeployment
@@ -1384,6 +1391,7 @@ resources:
       NodeConfigIdentifiers:
         allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
         compute_config: {get_attr: [Compute, attributes, config_identifier]}
+        deployment_identifier: {get_param: DeployIdentifier}
 
   ObjectStorageNodesPostDeployment:
     type: OS::TripleO::ObjectStoragePostDeployment
@@ -1393,6 +1401,7 @@ resources:
       NodeConfigIdentifiers:
         allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
         objectstorage_config: {get_attr: [ObjectStorage, attributes, config_identifier]}
+        deployment_identifier: {get_param: DeployIdentifier}
 
   BlockStorageNodesPostDeployment:
     type: OS::TripleO::BlockStoragePostDeployment
@@ -1402,6 +1411,7 @@ resources:
       NodeConfigIdentifiers:
         allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
         blockstorage_config: {get_attr: [BlockStorage, attributes, config_identifier]}
+        deployment_identifier: {get_param: DeployIdentifier}
 
   CephStorageNodesPostDeployment:
     type: OS::TripleO::CephStoragePostDeployment
@@ -1411,6 +1421,7 @@ resources:
       NodeConfigIdentifiers:
         allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
         cephstorage_config: {get_attr: [CephStorage, attributes, config_identifier]}
+        deployment_identifier: {get_param: DeployIdentifier}
 
 outputs:
   KeystoneURL: