stonith_exists

Role Documentation

Welcome to the “stonith_exists” role documentation.

Role Variables: main.yml

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

Molecule Scenarios

Molecule is being used to test the “stonith_exists” role. The following section highlights the drivers in service and provides an example playbook showing how the role is leveraged.

Scenario: default

Example default configuration
driver:
  name: docker
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
  volumes:
  - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
- environment:
    http_proxy: '{{ lookup(''env'', ''http_proxy'') }}'
    https_proxy: '{{ lookup(''env'', ''https_proxy'') }}'
  hostname: centos8
  image: centos:8
  name: centos8
  pkg_extras: python*-setuptools
  volumes:
  - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
provisioner:
  env:
    ANSIBLE_STDOUT_CALLBACK: yaml
  log: true
  name: ansible
scenario:
  test_sequence:
  - destroy
  - create
  - prepare
  - converge
  - verify
  - destroy
verifier:
  name: testinfra
Example default playbook
- 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