b8b5ca12be
Adds optional hooks which can run operator defined additional config on nodes after the application deployment has completed. Change-Id: I3f99e648efad82ce2cd51e2d5168c716f0cee8fe
83 lines
2.3 KiB
YAML
83 lines
2.3 KiB
YAML
heat_template_version: 2014-10-16
|
|
|
|
description: >
|
|
OpenStack controller node post deployment for Puppet.
|
|
|
|
parameters:
|
|
servers:
|
|
type: json
|
|
|
|
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
|
|
|
|
# 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
|
|
ControllerDeploymentLoadBalancer_Step1:
|
|
type: OS::Heat::StructuredDeployments
|
|
properties:
|
|
servers: {get_param: servers}
|
|
config: {get_resource: ControllerPuppetConfig}
|
|
input_values:
|
|
step: 1
|
|
actions: ['CREATE'] # no need for two passes on an UPDATE
|
|
|
|
ControllerDeploymentServicesBase_Step2:
|
|
type: OS::Heat::StructuredDeployments
|
|
depends_on: ControllerDeploymentLoadBalancer_Step1
|
|
properties:
|
|
servers: {get_param: servers}
|
|
config: {get_resource: ControllerPuppetConfig}
|
|
input_values:
|
|
step: 2
|
|
actions: ['CREATE'] # no need for two passes on an UPDATE
|
|
|
|
ControllerRingbuilderPuppetConfig:
|
|
type: OS::Heat::SoftwareConfig
|
|
properties:
|
|
group: puppet
|
|
options:
|
|
enable_hiera: True
|
|
enable_facter: False
|
|
inputs:
|
|
outputs:
|
|
- name: result
|
|
config:
|
|
get_file: manifests/ringbuilder.pp
|
|
|
|
ControllerRingbuilderDeployment_Step3:
|
|
type: OS::Heat::StructuredDeployments
|
|
depends_on: ControllerDeploymentServicesBase_Step2
|
|
properties:
|
|
servers: {get_param: servers}
|
|
config: {get_resource: ControllerRingbuilderPuppetConfig}
|
|
|
|
ControllerDeploymentOvercloudServices_Step4:
|
|
type: OS::Heat::StructuredDeployments
|
|
depends_on: ControllerRingbuilderDeployment_Step3
|
|
properties:
|
|
servers: {get_param: servers}
|
|
config: {get_resource: ControllerPuppetConfig}
|
|
input_values:
|
|
step: 3
|
|
|
|
# Note, this should come last, so use depends_on to ensure
|
|
# this is created after any other resources.
|
|
ExtraConfig:
|
|
depends_on: ControllerDeploymentOvercloudServices_Step4
|
|
type: OS::TripleO::NodeExtraConfigPost
|
|
properties:
|
|
servers: {get_param: servers}
|
|
|