overcloud_service_status¶
Role Documentation¶
Welcome to the “overcloud_service_status” role documentation.
Role Defaults¶
This section highlights all of the defaults and variables set within the “overcloud_service_status” role.
overcloud_deprecated_services:
  nova:
  - nova-consoleauth
overcloud_service_api:
- nova
- cinderv3
overcloud_service_status_debug: false
Role Variables: main.yml¶
metadata:
  description: 'An Ansible role to verify the Overcloud services states after a deployment
    or an update.  It checks the API /os-services and looks for deprecated services
    (nova-consoleauth) or any down services.
    '
  groups:
  - post-deployment
  - post-upgrade
  - post-overcloud-upgrade
  - post-overcloud-converge
  name: Verify overcloud services state after running a deployment or an update
Molecule Scenarios¶
Molecule is being used to test the “overcloud_service_status” 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¶
provisioner:
  env:
    ANSIBLE_LIBRARY: ${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}
    ANSIBLE_ROLES_PATH: ${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles
    ANSIBLE_STDOUT_CALLBACK: yaml
  inventory:
    hosts:
      all:
        hosts:
          centos:
            ansible_python_interpreter: /usr/bin/python3
            overcloud_admin_password: hello
            overcloud_keystone_url: http://127.0.0.1:8080
  log: true
  name: ansible
  playbooks:
    converge: ../../resources/playbooks/converge.yml
    prepare: ../../resources/playbooks/prepare.yml
Molecule Inventory¶
hosts:
  all:
    hosts:
      centos:
        ansible_python_interpreter: /usr/bin/python3
        overcloud_admin_password: hello
        overcloud_keystone_url: http://127.0.0.1:8080
Example default playbook¶
- hosts: all
  name: Converge
  tasks:
  - block:
    - include_role:
        name: overcloud_service_status
      name: Include overcloud_service_status role
    rescue:
    - fail:
        msg: Default test failed
      when: molecule_yml.scenario.name == "default"
    - set_fact:
        output_var: '{{ lookup(''vars'',  molecule_yml.scenario.name + ''_output'')}}'
    - fail:
        msg: No {{ molecule_yml.scenario.name }} found
      when: '''failed'' not in output_var'
Scenario: down_services¶
Example down_services configuration¶
provisioner:
  env:
    ANSIBLE_LIBRARY: ${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}
    ANSIBLE_ROLES_PATH: ${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles
    ANSIBLE_STDOUT_CALLBACK: yaml
  inventory:
    hosts:
      all:
        hosts:
          centos:
            ansible_python_interpreter: /usr/bin/python3
            overcloud_admin_password: hello
            overcloud_keystone_url: http://127.0.0.1:8080
  log: true
  name: ansible
  playbooks:
    converge: ../../resources/playbooks/converge.yml
    prepare: ../../resources/playbooks/prepare.yml
Molecule Inventory¶
hosts:
  all:
    hosts:
      centos:
        ansible_python_interpreter: /usr/bin/python3
        overcloud_admin_password: hello
        overcloud_keystone_url: http://127.0.0.1:8080
Example down_services playbook¶
- hosts: all
  name: Converge
  tasks:
  - block:
    - include_role:
        name: overcloud_service_status
      name: Include overcloud_service_status role
    rescue:
    - fail:
        msg: Default test failed
      when: molecule_yml.scenario.name == "default"
    - set_fact:
        output_var: '{{ lookup(''vars'',  molecule_yml.scenario.name + ''_output'')}}'
    - fail:
        msg: No {{ molecule_yml.scenario.name }} found
      when: '''failed'' not in output_var'
Scenario: deprecated_services¶
Example deprecated_services configuration¶
provisioner:
  env:
    ANSIBLE_LIBRARY: ${ANSIBLE_LIBRARY:-/usr/share/ansible/plugins/modules}
    ANSIBLE_ROLES_PATH: ${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles
    ANSIBLE_STDOUT_CALLBACK: yaml
  inventory:
    hosts:
      all:
        hosts:
          centos:
            ansible_python_interpreter: /usr/bin/python3
            overcloud_admin_password: hello
            overcloud_keystone_url: http://127.0.0.1:8080
  log: true
  name: ansible
  playbooks:
    converge: ../../resources/playbooks/converge.yml
    prepare: ../../resources/playbooks/prepare.yml
Molecule Inventory¶
hosts:
  all:
    hosts:
      centos:
        ansible_python_interpreter: /usr/bin/python3
        overcloud_admin_password: hello
        overcloud_keystone_url: http://127.0.0.1:8080
Example deprecated_services playbook¶
- hosts: all
  name: Converge
  tasks:
  - block:
    - include_role:
        name: overcloud_service_status
      name: Include overcloud_service_status role
    rescue:
    - fail:
        msg: Default test failed
      when: molecule_yml.scenario.name == "default"
    - set_fact:
        output_var: '{{ lookup(''vars'',  molecule_yml.scenario.name + ''_output'')}}'
    - fail:
        msg: No {{ molecule_yml.scenario.name }} found
      when: '''failed'' not in output_var'
