metadata:
description: 'Verify that stonith devices are configured for your OpenStack Platform
HA cluster. We don''t configure stonith device with TripleO Installer. Because
the hardware configuration may be differ in each environment and requires different
fence agents. How to configure fencing please read https://access.redhat.com/documentation/en/red-hat-openstack-platform/8/paged/director-installation-and-usage/86-fencing-the-controller-nodes
'
groups:
- post-deployment
name: Validate stonith devices
driver:
name: podman
log: true
platforms:
- dockerfile: Dockerfile
environment:
http_proxy: '{{ lookup(''env'', ''http_proxy'') }}'
https_proxy: '{{ lookup(''env'', ''https_proxy'') }}'
hostname: ubi8
image: ubi8/ubi-init
name: ubi8
pkg_extras: python*-setuptools
privileged: true
registry:
url: registry.access.redhat.com
ulimits:
- host
volumes:
- /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
- /etc/pki/rpm-gpg:/etc/pki/rpm-gpg
- /opt/yum.repos.d:/etc/yum.repos.d:rw
provisioner:
env:
ANSIBLE_LIBRARY: ${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}
ANSIBLE_STDOUT_CALLBACK: yaml
inventory:
hosts:
all:
hosts:
ubi8:
ansible_python_interpreter: /usr/bin/python3
log: true
name: ansible
scenario:
test_sequence:
- destroy
- create
- prepare
- converge
- verify
- destroy
verifier:
name: testinfra
hosts:
all:
hosts:
ubi8:
ansible_python_interpreter: /usr/bin/python3
- hosts: all
name: Converge
tasks:
- include_role:
name: stonith_exists
name: Safe run
- block:
- copy:
content: '#!/bin/sh
echo "NO stonith devices configured"
exit 0
'
dest: /usr/bin/pcs
mode: 493
name: Faulty pcs script
- include_role:
name: stonith_exists
name: Run validation
name: Fail the validation
rescue:
- meta: clear_host_errors
name: Clear host errors
- debug:
msg: The validation works! End play
name: Test output
- meta: end_play
name: End play
- fail:
msg: 'The stonith_exists validation didn''t properly detect failed
stonith config
'
name: Fail playbook if reached
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.