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: docker
lint:
enabled: false
log: true
platforms:
- easy_install:
- pip
environment:
http_proxy: '{{ lookup(''env'', ''http_proxy'') }}'
https_proxy: '{{ lookup(''env'', ''https_proxy'') }}'
hostname: centos7
image: centos:7
name: centos7
pkg_extras: python-setuptools
- environment:
http_proxy: '{{ lookup(''env'', ''http_proxy'') }}'
https_proxy: '{{ lookup(''env'', ''https_proxy'') }}'
hostname: fedora28
image: fedora:28
name: fedora28
pkg_extras: python*-setuptools
provisioner:
env:
ANSIBLE_STDOUT_CALLBACK: yaml
log: true
name: ansible
scenario:
test_sequence:
- destroy
- create
- prepare
- converge
- verify
- destroy
verifier:
lint:
name: flake8
name: testinfra
- 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.