0c66118b10
Existing host_config_and_reboot.role.j2.yaml is done in ocata to configure kernel args. This can be enhanced with use of role-specific parameters, which is done in the current patch. The earlier method is deprecated and will be removed in Q releae. Implements: blueprint ovs-2-6-dpdk Change-Id: Ib864f065527167a49a0f60812d7ad4ad12c836d1
86 lines
2.5 KiB
YAML
86 lines
2.5 KiB
YAML
heat_template_version: pike
|
|
|
|
description: >
|
|
All configurations which require reboot should be initiated via PreNetworkConfig. After
|
|
this configuration is completed, the corresponding node will be rebooted.
|
|
|
|
parameters:
|
|
server:
|
|
type: string
|
|
RoleParameters:
|
|
type: json
|
|
description: Role Specific parameters
|
|
default: {}
|
|
|
|
conditions:
|
|
is_host_config_required: {not: {equals: [{get_param: [RoleParameters, KernelArgs]}, ""]}}
|
|
|
|
resources:
|
|
HostParametersConfig:
|
|
type: OS::Heat::SoftwareConfig
|
|
condition: is_host_config_required
|
|
properties:
|
|
group: ansible
|
|
inputs:
|
|
- name: _KERNEL_ARGS_
|
|
- name: _TUNED_PROFILE_NAME_
|
|
- name: _TUNED_CORES_
|
|
outputs:
|
|
- name: result
|
|
config:
|
|
get_file: ansible_host_config.yaml
|
|
|
|
HostParametersDeployment:
|
|
type: OS::Heat::SoftwareDeployment
|
|
condition: is_host_config_required
|
|
properties:
|
|
name: HostParametersDeployment
|
|
server: {get_param: server}
|
|
config: {get_resource: HostParametersConfig}
|
|
actions: ['CREATE'] # Only do this on CREATE
|
|
input_values:
|
|
_KERNEL_ARGS_: {get_param: [RoleParameters, KernelArgs]}
|
|
_TUNED_PROFILE_NAME_: {get_param: [RoleParameters, TunedProfileName]}
|
|
_TUNED_CORES_: {get_param: [RoleParameters, HostIsolatedCoreList]}
|
|
|
|
RebootConfig:
|
|
type: OS::Heat::SoftwareConfig
|
|
condition: is_host_config_required
|
|
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: HostParametersDeployment
|
|
condition: is_host_config_required
|
|
properties:
|
|
name: RebootDeployment
|
|
server: {get_param: server}
|
|
config: {get_resource: RebootConfig}
|
|
actions: ['CREATE'] # Only do this on CREATE
|
|
signal_transport: NO_SIGNAL
|
|
|
|
outputs:
|
|
result:
|
|
condition: is_host_config_required
|
|
value:
|
|
get_attr: [HostParametersDeployment, result]
|
|
stdout:
|
|
condition: is_host_config_required
|
|
value:
|
|
get_attr: [HostParametersDeployment, deploy_stdout]
|
|
stderr:
|
|
condition: is_host_config_required
|
|
value:
|
|
get_attr: [HostParametersDeployment, deploy_stderr]
|
|
status_code:
|
|
condition: is_host_config_required
|
|
value:
|
|
get_attr: [HostParametersDeployment, deploy_status_code]
|