openstack-ansible-os_neutron/tests/test-dragonflow-functional.yml
Jean-Philippe Evrard 3db2ebb1b6 Fix tempest tests
The neutron plugins are now in a new repository, and therefore
the path to the whitelist has changed.

On top of that, the "when:" condition on the include playbook
naturally didn't trigger. There is no when on play(book)s!
Due to the fact this was ignored, we were running the tempest role
twice for a while. It didn't break, because the facts were properly
gathered, but it was suboptimal. If facts failed to gather, the
os_tempest role that gets included in the dragonflow play would fail,
and that would break the functional test (not only the dragonflow test).

The "when:" condition on plays should be removed with ansible 2.4 coming
soon anyway.

Change-Id: I4e4110683182310ca662de49ca4437ca56f9ca4c
2017-12-13 13:12:18 +00:00

65 lines
2.1 KiB
YAML

---
# Copyright 2016, Omer Anson <omer.anson@toganetworks.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Test Dragonflow
hosts: physical_host
user: root
gather_facts: true
post_tasks:
- name: Run Dragonflow fullstack tests
shell: |
. {{ tempest_venv_bin }}/activate
. /root/openrc
export DF_FULLSTACK_USE_ENV=1
export OS_STDOUT_CAPTURE=1
export OS_STDERR_CAPTURE=1
export OS_LOG_CAPTURE=1
python -m subunit.run discover dragonflow.tests.fullstack > /var/log/dragonflow-fullstack.subunit
subunit2html /var/log/dragonflow-fullstack.subunit /var/log/dragonflow-fullstack.html
register: dragonflow_fullstack_tests
tags:
- skip_ansible_lint
when:
- "neutron_plugin_type == 'ml2.dragonflow'"
- name: Ensure etc folder exists in logs
file:
path: /var/log/etc
state: directory
when:
- "neutron_plugin_type == 'ml2.dragonflow'"
- name: Copy config files
shell: |
cp -r /etc/neutron /var/log/etc
register: dragonflow_fullstack_log_copy
tags:
- skip_ansible_lint
when:
- "neutron_plugin_type == 'ml2.dragonflow'"
- name: Verify tests have passed
shell: |
. {{ tempest_venv_bin }}/activate
subunit-filter --without {{ dragonflow_fullstack_failing_tests | join(' --without ') }} -s /var/log/dragonflow-fullstack.subunit | subunit2pyunit
exit $?
tags:
- skip_ansible_lint
when:
- "neutron_plugin_type == 'ml2.dragonflow'"
vars_files:
- common/test-vars.yml