X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=puppet%2Fcontroller-post-puppet.yaml;h=49cbe1e28f36800a9105bb314be8fcfcd7c8c2db;hb=70148d3fd4f063efc7d9ea0f9a4506fa57575dc4;hp=38a7e599afffc4c4afb9cec486a8e119f771a7ff;hpb=5e7928431e0ba0afd91ef924d43ca5fb28b345fa;p=apex-tripleo-heat-templates.git diff --git a/puppet/controller-post-puppet.yaml b/puppet/controller-post-puppet.yaml index 38a7e599..49cbe1e2 100644 --- a/puppet/controller-post-puppet.yaml +++ b/puppet/controller-post-puppet.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2014-10-16 +heat_template_version: 2015-04-30 description: > OpenStack controller node post deployment for Puppet. @@ -6,42 +6,39 @@ description: > parameters: servers: type: json + NodeConfigIdentifiers: + type: json + description: Value which changes if the node configuration may need to be re-applied + resources: ControllerPuppetConfig: - type: OS::Heat::SoftwareConfig - properties: - group: puppet - options: - enable_hiera: True - enable_facter: False - outputs: - - name: result - config: - get_file: manifests/overcloud_controller.pp + type: OS::TripleO::ControllerConfig # Step through a series of Puppet runs using the same manifest. - # NOTE(dprince): Heat breakpoints would make for a really cool way to step - # through breakpoints in a controlled manner across the entire cluster - ControllerPuppetDeploymentLoadBalancer: + # NOTE: To enable stepping through the deployments via heat hooks, + # you must observe the glob naming defined in overcloud-steps.yaml + # e.g all Deployment resources should have a *Deployment_StepN suffix + ControllerLoadBalancerDeployment_Step1: type: OS::Heat::StructuredDeployments properties: - name: puppet_1 servers: {get_param: servers} config: {get_resource: ControllerPuppetConfig} input_values: step: 1 + update_identifier: {get_param: NodeConfigIdentifiers} actions: ['CREATE'] # no need for two passes on an UPDATE - ControllerPuppetDeploymentServicesBase: + ControllerServicesBaseDeployment_Step2: type: OS::Heat::StructuredDeployments + depends_on: ControllerLoadBalancerDeployment_Step1 properties: - name: puppet_2 servers: {get_param: servers} config: {get_resource: ControllerPuppetConfig} input_values: step: 2 + update_identifier: {get_param: NodeConfigIdentifiers} actions: ['CREATE'] # no need for two passes on an UPDATE ControllerRingbuilderPuppetConfig: @@ -57,18 +54,49 @@ resources: config: get_file: manifests/ringbuilder.pp - ControllerRingbuilderPuppetDeployment: + ControllerRingbuilderDeployment_Step3: type: OS::Heat::StructuredDeployments + depends_on: ControllerServicesBaseDeployment_Step2 properties: - name: puppet_3 servers: {get_param: servers} config: {get_resource: ControllerRingbuilderPuppetConfig} + input_values: + update_identifier: {get_param: NodeConfigIdentifiers} - ControllerPuppetDeploymentOvercloudServices: + ControllerOvercloudServicesDeployment_Step4: type: OS::Heat::StructuredDeployments + depends_on: ControllerRingbuilderDeployment_Step3 properties: - name: puppet_4 servers: {get_param: servers} config: {get_resource: ControllerPuppetConfig} input_values: step: 3 + update_identifier: {get_param: NodeConfigIdentifiers} + + ControllerOvercloudServicesDeployment_Step5: + type: OS::Heat::StructuredDeployments + depends_on: ControllerOvercloudServicesDeployment_Step4 + properties: + servers: {get_param: servers} + config: {get_resource: ControllerPuppetConfig} + input_values: + step: 4 + update_identifier: {get_param: NodeConfigIdentifiers} + + ControllerOvercloudServicesDeployment_Step6: + type: OS::Heat::StructuredDeployments + depends_on: ControllerOvercloudServicesDeployment_Step5 + properties: + servers: {get_param: servers} + config: {get_resource: ControllerPuppetConfig} + input_values: + step: 5 + update_identifier: {get_param: NodeConfigIdentifiers} + + # Note, this should come last, so use depends_on to ensure + # this is created after any other resources. + ExtraConfig: + depends_on: ControllerOvercloudServicesDeployment_Step5 + type: OS::TripleO::NodeExtraConfigPost + properties: + servers: {get_param: servers}