tripleo-heat-templates/deployment/tuned/tuned-baremetal-ansible.yaml

112 lines
3.5 KiB
YAML

heat_template_version: rocky
description: >
Configure tuned
parameters:
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
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
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
EnablePackageInstall:
default: 'false'
description: Set to true to enable package installation at deploy time
type: boolean
TunedCustomProfile:
default: ''
description: The definition of a new tuned profile in INI format which
will be named after the TunedProfileName and applied to the
host. E.g. if TunedProfileName is 'my_profile', it creates
the file '/etc/tuned/my_profile/tuned.conf' on host whose
content is the value of TunedCustomProfile, e.g. "[main]\n
include=throughput-performance\n[sysctl]\nvm.dirty_ratio=10"
type: string
tags:
- role_specific
TunedProfileName:
default: 'throughput-performance'
description: Tuned Profile to apply to the host
type: string
tags:
- role_specific
outputs:
role_data:
description: Role data for tuned
value:
service_name: tuned
host_prep_tasks:
- name: Install tuned
package:
name: tuned
state: present
when:
- EnablePackageInstall | default(false) | bool
- name: Check for tuned-adm
command: >-
which tuned-adm
environment:
PATH: "/bin:/usr/bin:/sbin:/usr/sbin"
changed_when: false
failed_when: false
register: tuned_check
- name: Run tuned setup
when:
- tuned_check.rc == 0
block:
- name: Ensure profile directory exists
file:
path: "/etc/tuned/{{ tuned_profile }}"
state: directory
when:
- (custom_profile is defined) and (custom_profile != '')
- name: Create custom tuned profile
copy:
content: "{{ custom_profile }}"
dest: "/etc/tuned/{{ tuned_profile }}/tuned.conf"
when:
- (custom_profile is defined) and (custom_profile != '')
- name: Check tuned active profile
slurp:
src: "/etc/tuned/active_profile"
register: tuned_active_profile
- name: Enable tuned profile
command: >-
tuned-adm profile {{ tuned_profile }}
environment:
PATH: "/bin:/usr/bin:/sbin:/usr/sbin"
when:
- ((tuned_active_profile['content'] | b64decode).strip()) != tuned_profile
ansible_group_vars:
tuned_profile: {get_param: TunedProfileName}
custom_profile: {get_param: TunedCustomProfile}
EnablePackageInstall: {get_param: EnablePackageInstall}