11b3cb25a9
There is a Heat patch posted (via Depends-On) that resolves the issue
that caused this to be reverted. This reverts the revert and we need to
make sure all the upgrades jobs pass before we merge this patch.
This reverts commit 69936229f4
.
Closes-Bug: #1699463
implements blueprint disable-deployments
Change-Id: Iedf680fddfbfc020d301bec8837a0cb98d481eb5
130 lines
3.4 KiB
YAML
130 lines
3.4 KiB
YAML
heat_template_version: pike
|
|
|
|
description: >
|
|
Do some configuration, then reboot - sometimes needed for early-boot
|
|
changes such as modifying kernel configuration
|
|
|
|
parameters:
|
|
server:
|
|
type: string
|
|
# Deprecated Parameters, these configuration are deprecated in favor or role-specific parameters.
|
|
# Use: extraconfig/pre_network/host_config_and_reboot.yaml.
|
|
# Deprecated in Pike and will be removed in Queens.
|
|
{{role}}KernelArgs:
|
|
type: string
|
|
default: ""
|
|
{{role}}TunedProfileName:
|
|
type: string
|
|
default: ""
|
|
{{role}}HostCpusList:
|
|
type: string
|
|
default: ""
|
|
deployment_actions:
|
|
default: ['CREATE', 'UPDATE']
|
|
type: comma_delimited_list
|
|
description: >
|
|
List of stack actions that will trigger any deployments in this
|
|
templates. The actions will be an empty list of the server is in the
|
|
toplevel DeploymentServerBlacklist parameter's value.
|
|
|
|
parameter_group:
|
|
- label: deprecated
|
|
parameters:
|
|
- {{role}}KernelArgs
|
|
- {{role}}TunedProfileName
|
|
- {{role}}HostCpusList
|
|
|
|
conditions:
|
|
param_exists:
|
|
or:
|
|
- not:
|
|
equals:
|
|
- get_param: {{role}}KernelArgs
|
|
- ""
|
|
- not:
|
|
equals:
|
|
- get_param: {{role}}TunedProfileName
|
|
- ""
|
|
deployment_actions_empty:
|
|
equals:
|
|
- {get_param: deployment_actions}
|
|
- []
|
|
|
|
resources:
|
|
|
|
HostParametersConfig:
|
|
type: OS::Heat::SoftwareConfig
|
|
condition: param_exists
|
|
properties:
|
|
group: ansible
|
|
inputs:
|
|
- name: _KERNEL_ARGS_
|
|
- name: _TUNED_PROFILE_NAME_
|
|
- name: _HOST_CPUS_LIST_
|
|
outputs:
|
|
- name: result
|
|
config:
|
|
get_file: ansible_host_config.ansible
|
|
|
|
HostParametersDeployment:
|
|
type: OS::Heat::SoftwareDeployment
|
|
condition: param_exists
|
|
properties:
|
|
name: HostParametersDeployment
|
|
server: {get_param: server}
|
|
config: {get_resource: HostParametersConfig}
|
|
actions:
|
|
if:
|
|
- deployment_actions_empty
|
|
- []
|
|
- ['CREATE'] # Only do this on CREATE
|
|
input_values:
|
|
_KERNEL_ARGS_: {get_param: {{role}}KernelArgs}
|
|
_TUNED_PROFILE_NAME_: {get_param: {{role}}TunedProfileName}
|
|
_HOST_CPUS_LIST_: {get_param: {{role}}HostCpusList}
|
|
|
|
RebootConfig:
|
|
type: OS::Heat::SoftwareConfig
|
|
condition: param_exists
|
|
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
|
|
condition: param_exists
|
|
depends_on: HostParametersDeployment
|
|
properties:
|
|
name: RebootDeployment
|
|
server: {get_param: server}
|
|
config: {get_resource: RebootConfig}
|
|
actions:
|
|
if:
|
|
- deployment_actions_empty
|
|
- []
|
|
- ['CREATE'] # Only do this on CREATE
|
|
signal_transport: NO_SIGNAL
|
|
|
|
outputs:
|
|
result:
|
|
value:
|
|
get_attr: [HostParametersDeployment, result]
|
|
condition: param_exists
|
|
stdout:
|
|
value:
|
|
get_attr: [HostParametersDeployment, deploy_stdout]
|
|
condition: param_exists
|
|
stderr:
|
|
value:
|
|
get_attr: [HostParametersDeployment, deploy_stderr]
|
|
condition: param_exists
|
|
status_code:
|
|
value:
|
|
get_attr: [HostParametersDeployment, deploy_status_code]
|
|
condition: param_exists
|