diff options
-rw-r--r-- | extraconfig/pre_network/config_then_reboot.yaml | 48 | ||||
-rw-r--r-- | overcloud-resource-registry-puppet.j2.yaml | 1 | ||||
-rw-r--r-- | puppet/blockstorage-role.yaml | 6 | ||||
-rw-r--r-- | puppet/cephstorage-role.yaml | 6 | ||||
-rw-r--r-- | puppet/compute-role.yaml | 6 | ||||
-rw-r--r-- | puppet/controller-role.yaml | 6 | ||||
-rw-r--r-- | puppet/objectstorage-role.yaml | 6 | ||||
-rw-r--r-- | puppet/role.role.j2.yaml | 6 |
8 files changed, 85 insertions, 0 deletions
diff --git a/extraconfig/pre_network/config_then_reboot.yaml b/extraconfig/pre_network/config_then_reboot.yaml new file mode 100644 index 00000000..ec4d2761 --- /dev/null +++ b/extraconfig/pre_network/config_then_reboot.yaml @@ -0,0 +1,48 @@ +heat_template_version: 2014-10-16 + +description: > + Do some configuration, then reboot - sometimes needed for early-boot + changes such as modifying kernel configuration + +parameters: + server: + type: string + +resources: + + SomeConfig: + type: OS::Heat::SoftwareConfig + properties: + group: script + config: | + #!/bin/bash + echo "did some config before reboot" > /root/pre-reboot-config + + SomeDeployment: + type: OS::Heat::SoftwareDeployment + properties: + name: SomeDeployment + server: {get_param: server} + config: {get_resource: SomeConfig} + actions: ['CREATE'] # Only do this on CREATE + + RebootConfig: + type: OS::Heat::SoftwareConfig + properties: + group: script + config: | + #!/bin/bash + # Stop os-collect-config to avoid any race collecting another + # deployment before reboot happens + systemctl stop os-collect-config.service + /sbin/reboot + + RebootDeployment: + type: OS::Heat::SoftwareDeployment + depends_on: SomeDeployment + properties: + name: RebootDeployment + server: {get_param: server} + config: {get_resource: RebootConfig} + actions: ['CREATE'] # Only do this on CREATE + signal_transport: NO_SIGNAL diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index 77a48658..26fb3173 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -11,6 +11,7 @@ resource_registry: OS::TripleO::Tasks::PackageUpdate: extraconfig/tasks/yum_update.yaml {% for role in roles %} + OS::TripleO::{{role.name}}::PreNetworkConfig: OS::Heat::None OS::TripleO::{{role.name}}PostDeploySteps: puppet/post.yaml OS::TripleO::{{role.name}}: puppet/{{role.name.lower()}}-role.yaml OS::TripleO::{{role.name}}Config: puppet/{{role.name.lower()}}-config.yaml diff --git a/puppet/blockstorage-role.yaml b/puppet/blockstorage-role.yaml index 36587a41..80f855af 100644 --- a/puppet/blockstorage-role.yaml +++ b/puppet/blockstorage-role.yaml @@ -307,8 +307,14 @@ resources: - - {get_attr: [BlockStorage, name]} - ctlplane + PreNetworkConfig: + type: OS::TripleO::BlockStorage::PreNetworkConfig + properties: + server: {get_resource: BlockStorage} + NetworkDeployment: type: OS::TripleO::SoftwareDeployment + depends_on: PreNetworkConfig properties: name: NetworkDeployment config: {get_resource: NetworkConfig} diff --git a/puppet/cephstorage-role.yaml b/puppet/cephstorage-role.yaml index 558f97d8..139fe7aa 100644 --- a/puppet/cephstorage-role.yaml +++ b/puppet/cephstorage-role.yaml @@ -313,8 +313,14 @@ resources: - - {get_attr: [CephStorage, name]} - ctlplane + PreNetworkConfig: + type: OS::TripleO::CephStorage::PreNetworkConfig + properties: + server: {get_resource: CephStorage} + NetworkDeployment: type: OS::TripleO::SoftwareDeployment + depends_on: PreNetworkConfig properties: name: NetworkDeployment config: {get_resource: NetworkConfig} diff --git a/puppet/compute-role.yaml b/puppet/compute-role.yaml index 818f18c8..e9062385 100644 --- a/puppet/compute-role.yaml +++ b/puppet/compute-role.yaml @@ -316,6 +316,11 @@ resources: - - {get_attr: [NovaCompute, name]} - ctlplane + PreNetworkConfig: + type: OS::TripleO::Compute::PreNetworkConfig + properties: + server: {get_resource: NovaCompute} + NetworkConfig: type: OS::TripleO::Compute::Net::SoftwareConfig properties: @@ -329,6 +334,7 @@ resources: NetworkDeployment: type: OS::TripleO::SoftwareDeployment + depends_on: PreNetworkConfig properties: name: NetworkDeployment config: {get_resource: NetworkConfig} diff --git a/puppet/controller-role.yaml b/puppet/controller-role.yaml index 2781daa0..ecb298eb 100644 --- a/puppet/controller-role.yaml +++ b/puppet/controller-role.yaml @@ -335,6 +335,11 @@ resources: - - {get_attr: [Controller, name]} - ctlplane + PreNetworkConfig: + type: OS::TripleO::Controller::PreNetworkConfig + properties: + server: {get_resource: Controller} + NetworkConfig: type: OS::TripleO::Controller::Net::SoftwareConfig properties: @@ -348,6 +353,7 @@ resources: NetworkDeployment: type: OS::TripleO::SoftwareDeployment + depends_on: PreNetworkConfig properties: name: NetworkDeployment config: {get_resource: NetworkConfig} diff --git a/puppet/objectstorage-role.yaml b/puppet/objectstorage-role.yaml index 2c76492a..a592f60b 100644 --- a/puppet/objectstorage-role.yaml +++ b/puppet/objectstorage-role.yaml @@ -307,8 +307,14 @@ resources: - - {get_attr: [SwiftStorage, name]} - ctlplane + PreNetworkConfig: + type: OS::TripleO::ObjectStorage::PreNetworkConfig + properties: + server: {get_resource: SwiftStorage} + NetworkDeployment: type: OS::TripleO::SoftwareDeployment + depends_on: PreNetworkConfig properties: name: NetworkDeployment config: {get_resource: NetworkConfig} diff --git a/puppet/role.role.j2.yaml b/puppet/role.role.j2.yaml index 9726d978..522d8587 100644 --- a/puppet/role.role.j2.yaml +++ b/puppet/role.role.j2.yaml @@ -325,8 +325,14 @@ resources: - - {get_attr: [{{role}}, name]} - ctlplane + PreNetworkConfig: + type: OS::TripleO::{{role}}::PreNetworkConfig + properties: + server: {get_resource: {{role}}}} + NetworkDeployment: type: OS::TripleO::SoftwareDeployment + depends_on: PreNetworkConfig properties: name: NetworkDeployment config: {get_resource: NetworkConfig} |