tenks/ansible/host_setup.yml
Mark Goddard 13de0edd6c Install virtualbmc to system when SELinux is enabled
CentOS 8 nodepool images come with SELinux enabled, and prevent systemd
from accessing files in users' home directories. This prevents vbmcd
from starting.

To resolve this, install virtualbmc to the system when SELinux is
enabled.

Change-Id: I5d30aca2b1e1ae897568f6e11fceda39e0b06e17
2020-02-27 15:47:44 +00:00

56 lines
1.9 KiB
YAML

---
- hosts: localhost
tags:
- host-setup
tasks:
- name: Load state from file
include_vars:
file: "{{ state_file_path }}"
name: tenks_state
- hosts: hypervisors
tags:
- host-setup
vars:
physnet_indices: >-
{{ hostvars.localhost.tenks_state[inventory_hostname].physnet_indices }}
tasks:
- include_tasks: hypervisor_setup.yml
- hosts: libvirt
tags:
- host-setup
tasks:
- block:
- name: Configure host for Libvirt
include_role:
name: stackhpc.libvirt-host
vars:
libvirt_host_pools:
- name: "{{ libvirt_pool_name }}"
type: "{{ libvirt_pool_type }}"
capacity: "{{ libvirt_pool_capacity }}"
path: "{{ libvirt_pool_path }}"
mode: "{{ libvirt_pool_mode }}"
owner: "{{ libvirt_pool_owner }}"
group: "{{ libvirt_pool_group }}"
libvirt_host_require_vt: "{{ libvirt_require_vt }}"
libvirt_host_uri: "{{ libvirt_local_uri }}"
libvirt_host_socket_dir: "{{ libvirt_custom_socket_path }}"
libvirt_host_pid_path: "{{ libvirt_custom_pid_path }}"
- name: Set up Virtual BMC daemon
include_role:
name: virtualbmc-daemon
vars:
# NOTE(mgoddard): On CentOS 8 if SELinux is enabled, install
# virtualbmc to the system rather than a virtualenv. SELinux
# prevents systemd from accessing files in users' home directories.
selinux_enabled: "{{ ansible_selinux.status | default('disabled') == 'enabled' }}"
is_centos8: "{{ ansible_os_family == 'RedHat' and ansible_distribution_major_version | int == 8 }}"
vbmcd_virtualenv_path: "{{ '' if is_centos8 and selinux_enabled else virtualenv_path }}"
vbmcd_python_upper_constraints_url: >-
{{ python_upper_constraints_url }}
when: cmd == 'deploy'