deckhand/tools/gate/roles/run-integration-tests/tasks/integration-tests.yaml

66 lines
2.5 KiB
YAML

# Copyright 2018 AT&T Intellectual Property. All other rights reserved.
#
# 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: Airship-Deckhand image build path
shell: cd "{{ work_dir }}"; pwd
register: airship_deckhand_path
vars:
work_dir: "{{ zuul.project.src_dir | default('') }}/{{ zuul_airship_deckhand_relative_path | default('') }}"
- name: Run Integration Tests with Docker
when: disable_keystone == false
block:
- name: Generate Keystone token for integration tests
shell: |-
set -e;
echo $( openstack token issue --format value -c id )
args:
chdir: "{{ zuul.project.src_dir }}"
register: test_auth_token
environment:
OS_CLOUD: openstack_helm
- name: Run Integration Tests
shell: |
set -ex;
stestr --test-path deckhand/tests/common/ run --serial --slowest --force-subunit-trace --color
args:
chdir: "{{ zuul.project.src_dir }}"
environment:
DECKHAND_IMAGE: "{{ airship_deckhand_image_id.stdout }}"
DECKHAND_TEST_URL: "127.0.0.1:9000"
DECKHAND_TEST_DIR: "{{ airship_deckhand_path.stdout }}/deckhand/tests/integration/gabbits"
TEST_AUTH_TOKEN: "{{ test_auth_token.stdout }}"
TEST_BARBICAN_URL: "{{ test_barbican_url.stdout }}"
register: result
failed_when: "result.rc != 0"
- name: Run Integration Tests with uwsgi
when: disable_keystone == true
shell: |
set -xe;
# NOTE(felipemonteiro): We don't use a venv because they don't play nicely
# with OpenStack-Helm, which is used to orchestrate various OpenStack
# services in the integration script called below.
sudo -H -E pip3 install -e .
sudo -H -E pip3 install -r requirements.txt -r test-requirements.txt
pifpaf run postgresql -- ./tools/integration-tests.sh
args:
chdir: "{{ zuul.project.src_dir }}"
environment:
DECKHAND_TEST_URL: "127.0.0.1:9000"
DECKHAND_TEST_DIR: "{{ airship_deckhand_path.stdout }}/deckhand/tests/integration/gabbits"
register: result
failed_when: "result.rc != 0"