88 lines
2.7 KiB
YAML
88 lines
2.7 KiB
YAML
---
|
|
# Copyright 2019 Red Hat, Inc.
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
|
|
# "tripleo-kernel" will search for and load any operating system variable file
|
|
|
|
- name: Kernel tuning block
|
|
become: true
|
|
block:
|
|
- name: Install additional packages
|
|
package:
|
|
name: "{{ item.key }}"
|
|
state: "{{ item.opt.state | default('present') }}"
|
|
loop: "{{ tripleo_kernel_extra_packages | dict2items(key_name='key', value_name='opt') }}"
|
|
register: _install_packages_result
|
|
|
|
- name: Remove dracut-config-generic
|
|
package:
|
|
name: 'dracut-config-generic'
|
|
state: absent
|
|
|
|
- name: Ensure the /etc/modules-load.d/ directory exists
|
|
file:
|
|
path: /etc/modules-load.d
|
|
state: directory
|
|
mode: 0755
|
|
owner: root
|
|
group: root
|
|
setype: etc_t
|
|
|
|
- name: Write list of modules to load at boot
|
|
template:
|
|
src: "tripleo-modprobe.conf.j2"
|
|
dest: "/etc/modules-load.d/99-tripleo.conf"
|
|
mode: 0644
|
|
owner: root
|
|
group: root
|
|
setype: etc_t
|
|
register: _modprobe_result
|
|
|
|
- name: Modules reload
|
|
systemd:
|
|
name: systemd-modules-load.service
|
|
state: restarted
|
|
when:
|
|
- _install_packages_result.changed or _modprobe_result.changed
|
|
|
|
- name: Set default sysctl options
|
|
template:
|
|
src: "tripleo-sysctl.conf.j2"
|
|
dest: "/etc/sysctl.d/99-tripleo.conf"
|
|
mode: 0644
|
|
owner: root
|
|
group: root
|
|
setype: etc_t
|
|
register: _default_sysctl_result
|
|
|
|
- name: Set extra sysctl options
|
|
sysctl:
|
|
name: "{{ item.key }}"
|
|
value: "{{ item.opt.value }}"
|
|
sysctl_set: "{{ item.opt.set | default(true) }}"
|
|
state: "{{ item.opt.state | default('present') }}"
|
|
sysctl_file: "/etc/sysctl.d/99-tripleo.conf"
|
|
reload: false
|
|
loop: "{{ tripleo_kernel_sysctl_extra_settings | dict2items(key_name='key', value_name='opt') }}"
|
|
register: _extra_sysctl_result
|
|
|
|
- name: Sysctl reload
|
|
systemd:
|
|
name: systemd-sysctl.service
|
|
state: restarted
|
|
when:
|
|
- _extra_sysctl_result.changed or _default_sysctl_result.changed
|