nova_event_callback

Role Documentation

Welcome to the “nova_event_callback” role documentation.

Role Defaults

This section highlights all of the defaults and variables set within the “nova_event_callback” role.

neutron_config_file: /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf
notify_nova_on_port_data_check: notify_nova_on_port_data_changes
notify_nova_on_port_status_check: notify_nova_on_port_status_changes
nova_config_file: /var/lib/config-data/puppet-generated/nova/etc/nova/nova.conf
tenant_name_check: tenant_name
vif_plugging_fatal_check: vif_plugging_is_fatal
vif_plugging_timeout_check: vif_plugging_timeout
vif_plugging_timeout_value_min: 300

Role Variables: main.yml

metadata:
  description: "This validations verifies that the Nova Event Callback feature is\
    \ configured which is generally enabled by default. It checks the following files\
    \ on the Overcloud Controller(s):\n  - /etc/nova/nova.conf:\n    [DEFAULT]/vif_plugging_is_fatal\
    \ = True\n    [DEFAULT]/vif_plugging_timeout >= 300\n  - /etc/neutron/neutron.conf:\n\
    \    [nova]/auth_url = 'http://nova_admin_auth_ip:5000'\n    [nova]/tenant_name\
    \ = 'service'\n    [DEFAULT]/notify_nova_on_port_data_changes = True\n    [DEFAULT]/notify_nova_on_port_status_changes\
    \ = True\n"
  groups:
  - post-deployment
  name: Nova Event Callback Configuration Check

Molecule Scenarios

Molecule is being used to test the “nova_event_callback” 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 python-enum34 python-netaddr ruby epel-release PyYAML
  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 python*-enum34 python*-netaddr ruby python*-PyYAML
  volumes:
  - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
provisioner:
  env:
    ANSIBLE_LIBRARY: ../../../../library
    ANSIBLE_STDOUT_CALLBACK: yaml
  log: true
  name: ansible
scenario:
  test_sequence:
  - destroy
  - create
  - prepare
  - converge
  - verify
  - destroy
verifier:
  name: testinfra
Example default playbook
- gather_facts: false
  hosts: all
  name: Converge
  tasks:
  - fail:
      msg: This role needs molecule tests!
    name: Warn developers about the lack of molecule testing