tripleo-heat-templates/extraconfig/pre_network/host_config_and_reboot.role.j2.yaml
Carlos Camacho 927495fe3d Change template names to queens
The new master branch should point now to queens instead of pike.

So, HOT templates should specify that they might contain features
for queens release [1]

[1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#queens

Change-Id: I7654d1c59db0c4508a9d7045f452612d22493004
2017-11-23 10:15:32 +01:00

130 lines
3.4 KiB
YAML

heat_template_version: queens
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