dada512485
Using static import_role, make the vars defined under the
import_role task to be available for the whole PLAY itself,
which is causing the role-specific parameter to be available
in other roles. Move to dynamic include_role, which will
define these variables only for the included ansible role.
Closes-Bug: #1859129
Change-Id: I402db858526def9dfd33f954f1ecd885c01f4367
(cherry picked from commit 8d6edac637
)
101 lines
3.2 KiB
YAML
101 lines
3.2 KiB
YAML
heat_template_version: rocky
|
|
|
|
description: Host config and reboot service which configures Kernel Args and reboot
|
|
|
|
parameters:
|
|
RoleNetIpMap:
|
|
default: {}
|
|
type: json
|
|
ServiceData:
|
|
default: {}
|
|
description: Dictionary packing service data
|
|
type: json
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
RoleName:
|
|
default: ''
|
|
description: Role name on which the service is applied
|
|
type: string
|
|
RoleParameters:
|
|
default: {}
|
|
description: Parameters specific to the role
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
KernelArgs:
|
|
default: ""
|
|
type: string
|
|
description: Kernel Args to apply to the host
|
|
tags:
|
|
- role_specific
|
|
TunedProfileName:
|
|
default: 'throughput-performance'
|
|
type: string
|
|
description: Tuned Profile to apply to the host
|
|
tags:
|
|
- role_specific
|
|
IsolCpusList:
|
|
default: ""
|
|
type: string
|
|
description: >
|
|
List of logical CPU ids whic need to be isolated from the host processes.
|
|
This input is provided to the tuned profile cpu-partitioning to configure
|
|
systemd and repin interrupts (IRQ repinning).
|
|
tags:
|
|
- role_specific
|
|
NodeRebootWaitTimeout:
|
|
default: 900
|
|
type: number
|
|
description: Timeout in seconds to specify the wait time for ansible node reboot
|
|
|
|
resources:
|
|
RoleParametersValue:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
type: json
|
|
value:
|
|
map_replace:
|
|
- map_replace:
|
|
- tuned_profile: TunedProfileName
|
|
isolated_cores: IsolCpusList
|
|
kernel_args: KernelArgs
|
|
- values: {get_param: [RoleParameters]}
|
|
- values:
|
|
TunedProfileName: {get_param: TunedProfileName}
|
|
IsolCpusList: {get_param: IsolCpusList}
|
|
KernelArgs: {get_param: KernelArgs}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Host Config Service
|
|
value:
|
|
service_name: boot_params_service
|
|
deploy_steps_tasks:
|
|
# TODO(skramaja): Tasks of Tuned TripleO service can be used here
|
|
# But the configuration in that service has to be moved from host_prep_tasks to step 0 of deploy_step_tasks
|
|
- name: Configure tuned before reboot
|
|
when: step|int == 0
|
|
include_role:
|
|
name: tuned
|
|
vars:
|
|
tuned_profile: {get_attr: [RoleParametersValue, value, tuned_profile]}
|
|
tuned_isolated_cores: {get_attr: [RoleParametersValue, value, isolated_cores]}
|
|
- name: Configure kernel args and reboot
|
|
when: step|int == 0
|
|
include_role:
|
|
name: tripleo-kernel
|
|
tasks_from: kernelargs.yml
|
|
vars:
|
|
tripleo_kernel_args: {get_attr: [RoleParametersValue, value, kernel_args]}
|
|
tripleo_kernel_reboot_timeout: {get_param: NodeRebootWaitTimeout}
|