Last active
May 24, 2019 14:29
-
-
Save cloudnull/dc93f1e49db5b07f5662ecbff6a108f3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: Custom tuned profile | |
type: string | |
TunedProfileName: | |
default: 'throughput-performance' | |
description: Default tuned profile | |
type: string | |
outputs: | |
role_data: | |
description: Role chrony using composable timesync services. | |
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/{{ profile }}" | |
state: directory | |
- name: Create custom tuned profile | |
copy: | |
content: "{{ custom_profile }}" | |
dest: "/etc/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 {{ profile }} | |
environment: | |
PATH: "/bin:/usr/bin:/sbin:/usr/sbin" | |
when: | |
- ((tuned_active_profile['content'] | b64decode).strip()) != profile | |
ansible_group_vars: | |
tuned_profile: {get_param: TunedProfileName} | |
custom_profile: {get_param: TunedCustomProfile} | |
EnablePackageInstall: {get_param: EnablePackageInstall} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- name: Set tuned profile fact | |
set_fact: | |
tuned_profile: "{{ profile | default('throughput-performance') }}" | |
- name: Install tuned | |
package: | |
name: tuned | |
state: present | |
when: | |
- EnablePackageInstall | default(false) | bool | |
- name: Check for tuned-adm | |
command: >- | |
which tuned-adm | |
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 | |
- name: Create custom tuned profile | |
copy: | |
content: "{{ custom_profile }}" | |
dest: "/etc/tuned/{{ tuned_profile }}/tuned.conf" | |
when: | |
- custom_profile is defined | |
- 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 }} | |
when: | |
- ((tuned_active_profile['content'] | b64decode).strip()) != tuned_profile |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment