nova_conf_path: /var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf
metadata:
description: 'When using Neutron, the `firewall_driver` option in Nova must be set
to `NoopFirewallDriver`.
'
groups:
- post-deployment
name: Verify NoOpFirewallDriver is set in Nova
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 python-enum34
- environment:
http_proxy: '{{ lookup(''env'', ''http_proxy'') }}'
https_proxy: '{{ lookup(''env'', ''https_proxy'') }}'
hostname: fedora28
image: fedora:28
name: fedora28
pkg_extras: python*-setuptools python*-enum
provisioner:
env:
ANSIBLE_LIBRARY: ../../../../library
ANSIBLE_STDOUT_CALLBACK: yaml
log: true
name: ansible
scenario:
test_sequence:
- destroy
- create
- prepare
- converge
- verify
- destroy
verifier:
lint:
name: flake8
name: testinfra
- gather_facts: false
hosts: all
name: Converge
tasks:
- block:
- copy:
content: '[DEFAULT]
firewall_driver = nova.virt.firewall.NoopFirewallDriver
'
dest: /nova.conf
name: Create a correct Nova config file
- include_role:
name: no-op-firewall-nova-driver
vars:
nova_conf_path: /nova.conf
- debug:
msg: The validation works as expected!
name: Successful Validation
- block:
- ini_file:
backup: true
dest: /nova.conf
option: firewall_driver
section: DEFAULT
value: CHANGEME
name: Modifying Nova config file
- include_role:
name: no-op-firewall-nova-driver
vars:
nova_conf_path: /nova.conf
name: Failing Validation
rescue:
- meta: clear_host_errors
name: Clear host errors
- debug:
msg: The validation fails as expected! End the playbook run
- meta: end_play
name: End play
- fail:
msg: 'No-op-firewall-nova-driver validation failed finding bad configuration!
'
name: Fail the test
vars:
nova_conf_path: /nova.conf
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.