d057ad0b6a
Handlers normally don't run until the end of a play execution. Since we are forcing a handler run in the middle of the tasks there is not a good reason to use handlers for this case. Additionally we're not relying on this handler anywhere else. Because of this, let's switch to explicit tasks that check changed results instead of handlers. We've seen issues with trying to use handlers in ansible when not using a linear strategy. Change-Id: I4eb5ece7d5c1d25f5beacd9e21e20ae9f3d45c17 Closes-Bug: #1888853
77 lines
2.3 KiB
YAML
77 lines
2.3 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_module_load" will search for and load any operating system variable file
|
|
|
|
- name: Kernel module block
|
|
become: true
|
|
block:
|
|
- name: Ensure /etc/modules-load.d exists
|
|
file:
|
|
path: /etc/modules-load.d
|
|
state: directory
|
|
setype: etc_t
|
|
selevel: s0
|
|
|
|
- name: "Load modules"
|
|
modprobe:
|
|
name: "{{ item.name }}"
|
|
params: "{{ item.params | default(omit) }}"
|
|
state: "{{ item.state | default('present') }}"
|
|
loop: "{{ tripleo_modules }}"
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
|
|
- name: "Persist modules via modules-load.d"
|
|
template:
|
|
dest: "/etc/modules-load.d/{{ item.name }}.conf"
|
|
src: module-load.conf.j2
|
|
loop: "{{ tripleo_modules }}"
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
register: _tripleo_modules_add
|
|
when:
|
|
- (item.state | default('present')) == 'present'
|
|
|
|
- name: "Drop module persistence"
|
|
file:
|
|
path: "/etc/modules-load.d/{{ item.name }}.conf"
|
|
state: absent
|
|
loop: "{{ tripleo_modules }}"
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
register: _tripleo_modules_remove
|
|
when:
|
|
- (item.state | default('present')) == 'absent'
|
|
|
|
- name: "Set modules persistence via /etc/modules"
|
|
lineinfile:
|
|
dest: /etc/modules
|
|
line: "{{ item.name }} {{ item.params | default('') }}"
|
|
state: "{{ item.state | default('present') }}"
|
|
create: true
|
|
loop: "{{ tripleo_modules }}"
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
|
|
- name: Modules reload
|
|
systemd:
|
|
name: systemd-modules-load.service
|
|
state: restarted
|
|
when:
|
|
- _tripleo_modules_add.changed or _tripleo_modules_remove.changed
|