From 48359591e7e3908f2740f74deba5775884ea47e3 Mon Sep 17 00:00:00 2001 From: lpiwowar Date: Tue, 16 Nov 2021 13:21:22 +0100 Subject: [PATCH] DNM - devstack-admin-plugins job test Change-Id: I77a16e9c96fd731bf0833c624c2fbc90ab753c2f --- .zuul.yaml | 362 +++++++----------------- playbooks/post.yaml | 20 ++ playbooks/run.yaml | 17 ++ roles/run-heat-tests/defaults/main.yaml | 3 + roles/run-heat-tests/tasks/main.yaml | 8 + 5 files changed, 158 insertions(+), 252 deletions(-) create mode 100644 playbooks/post.yaml create mode 100644 playbooks/run.yaml create mode 100644 roles/run-heat-tests/defaults/main.yaml create mode 100644 roles/run-heat-tests/tasks/main.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 505f2c52..24576f38 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -6,137 +6,75 @@ - release-notes-jobs-python3 check: jobs: - - python-tempestconf-tempest-devstack-admin - - python-tempestconf-tempest-devstack-admin-train - - python-tempestconf-tempest-devstack-admin-ussuri - - python-tempestconf-tempest-devstack-admin-victoria - - python-tempestconf-tempest-devstack-admin-wallaby - - python-tempestconf-tempest-devstack-admin-xena - - python-tempestconf-tempest-devstack-demo - # TODO(mkopec) temporarily disabled to unblock gates - #- python-tempestconf-tempest-devstack-admin-plugins - - python-tempestconf-tempest-packstack-admin: - voting: false - - python-tempestconf-tempest-packstack-demo: - voting: false - - refstack-client-devstack-master: - irrelevant-files: &irrelevant-files - - config_tempest/tests/.*$ - - ^doc/.*$ - - ^releasenotes/.*$ - - ^.*\.rst$ - - tripleo-ci-centos-8-content-provider: - irrelevant-files: *irrelevant-files - - tripleo-ci-centos-8-scenario002-standalone: - irrelevant-files: *irrelevant-files - vars: &standalone - consumer_job: true - build_container_images: false - tags: - - standalone - dependencies: - - tripleo-ci-centos-8-content-provider - - tripleo-ci-centos-8-standalone: - irrelevant-files: *irrelevant-files - vars: *standalone - dependencies: - - tripleo-ci-centos-8-content-provider - - tripleo-ci-centos-8-scenario010-standalone: - irrelevant-files: *irrelevant-files - voting: false - vars: - consumer_job: true - build_container_images: false - tags: - - standalone - - octavia - dependencies: - - tripleo-ci-centos-8-content-provider - - opendev-tox-docs + - heat-functional-tmp gate: jobs: - - python-tempestconf-tempest-devstack-admin - - python-tempestconf-tempest-devstack-admin-train - - python-tempestconf-tempest-devstack-admin-ussuri - - python-tempestconf-tempest-devstack-admin-victoria - - python-tempestconf-tempest-devstack-admin-wallaby - - python-tempestconf-tempest-devstack-admin-xena - - python-tempestconf-tempest-devstack-demo - # TODO(mkopec) temporarily disabled to unblock gates - #- python-tempestconf-tempest-devstack-admin-plugins - - refstack-client-devstack-master: - irrelevant-files: *irrelevant-files - - tripleo-ci-centos-8-content-provider: - irrelevant-files: *irrelevant-files - - tripleo-ci-centos-8-scenario002-standalone: - irrelevant-files: *irrelevant-files - vars: *standalone - dependencies: - - tripleo-ci-centos-8-content-provider - - tripleo-ci-centos-8-standalone: - irrelevant-files: *irrelevant-files - vars: *standalone - dependencies: - - tripleo-ci-centos-8-content-provider - - opendev-tox-docs + - heat-functional-tmp promote: jobs: - - opendev-promote-docs + - heat-functional-tmp experimental: jobs: - - python-tempestconf-tempest-devstack-demo-train - - python-tempestconf-tempest-devstack-demo-ussuri - - python-tempestconf-tempest-devstack-demo-victoria - - python-tempestconf-tempest-devstack-demo-wallaby - - python-tempestconf-tempest-devstack-demo-xena - - refstack-client-devstack-train - - refstack-client-devstack-ussuri - - refstack-client-devstack-victoria - - refstack-client-devstack-wallaby - - refstack-client-devstack-xena - + - heat-functional-tmp - job: - name: python-tempestconf-devstack-base + name: heat-functional-base-tmp parent: devstack - description: Base job for python-tempestconf on a devstack environment + abstract: true + run: playbooks/run.yaml + post-run: playbooks/post.yaml + description: Base heat functional test job + timeout: 7800 + roles: + - zuul: openinfra/python-tempestconf + - zuul: opendev.org/openstack/devstack + - zuul: opendev.org/openstack/tempest required-projects: + - openstack/devstack-gate + - openstack/barbican - openstack/heat + - openstack/heat-templates - openstack/heat-tempest-plugin + - openstack/octavia + - openstack/neutron + - openstack/oslo.messaging + - openstack/python-barbicanclient + - openstack/python-heatclient + - openstack/heat-agents + - openstack/tempest - openstack/manila - openstack/manila-ui - openstack/manila-tempest-plugin - openstack/python-manilaclient - openinfra/python-tempestconf - - openstack/tempest - openstack/devstack - openstack/designate - - openstack/designate-tempest-plugin + - openstack/designate-tempest-plugin - openstack/barbican - openstack/barbican-tempest-plugin - openstack/requirements - roles: - - zuul: openinfra/python-tempestconf - - zuul: openstack/tempest - - zuul: openstack/devstack vars: - zuul_copy_output: - '{{ devstack_base_dir }}/tempest/tempest.log': logs - '{{ devstack_base_dir }}/tempest/etc/tempest.conf': logs - '{{ zuul.project.src_dir }}/etc/accounts.yaml': logs tempestconf_pip_virtualenv_python: "python3" - devstack_plugins: - heat: https://opendev.org/openstack/heat - manila: https://opendev.org/openstack/manila - manila-ui: https://opendev.org/openstack/manila-ui - designate: https://opendev.org/openstack/designate - barbican: https://opendev.org/openstack/barbican + configure_swap_size: 8192 + tempest_plugins: + - heat-tempest-plugin + - designate-tempest-plugin + - barbican-tempest-plugin devstack_localrc: - USE_PYTHON3: True + TEMPEST_PLUGINS: '/opt/stack/heat-tempest-plugin' + HEAT_USE_MOD_WSGI: True + CEILOMETER_PIPELINE_INTERVAL: 60 + USE_PYTHON3: True MANILA_USE_UWSGI: False MANILA_USE_MOD_WSGI: False LIBS_FROM_GIT: python-manilaclient - devstack_services: &devstack_services + devstack_services: + tls-proxy: false + s-account: false + s-container: false + s-object: false + s-proxy: false + tempest: true h-eng: True h-api: True h-api-cfn: True @@ -148,40 +86,79 @@ designate-producer: True designate-mdns: True barbican: True - irrelevant-files: *irrelevant-files - -- job: - name: python-tempestconf-packstack-base - parent: packstack-centos8s - description: Base job for python-tempestconf on packstack environment - required-projects: - - x/packstack - - openinfra/python-tempestconf - - openstack/tempest - - openstack/devstack - post-run: playbooks/upload-logs.yaml - roles: - - zuul: x/packstack - - zuul: openinfra/python-tempestconf - - zuul: openstack/tempest - - zuul: openstack/devstack - vars: - tempest_concurrency: 2 - scenario: scenario000 + devstack_plugins: + barbican: https://opendev.org/openstack/barbican + heat: https://opendev.org/openstack/heat + octavia: https://opendev.org/openstack/octavia + manila: https://opendev.org/openstack/manila + manila-ui: https://opendev.org/openstack/manila-ui + designate: https://opendev.org/openstack/designate + devstack_local_conf: + post-config: + $HEAT_CONF: + DEFAULT: + convergence_engine: true + stack_scheduler_hints: true + hidden_stack_tags: hidden + encrypt_parameters_and_properties: True + logging_exception_prefix: "%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s" + enable_stack_adopt: true + enable_stack_abandon: true + max_stacks_per_tenant: 256 + heat_api: + workers: 2 + heat_api_cfn: + workers: 2 + cache: + enabled: True + eventlet_opts: + client_socket_timeout: 120 + oslo_messaging_notifications: + driver: messagingv2 + test-config: + $TEMPEST_CONFIG: + service_available: + heat: True + heat_plugin: + convergence_engine_enabled: true + minimal_image_ref: ${DEFAULT_IMAGE_NAME:-cirros-0.3.6-x86_64-disk} + instance_type: m1.heat_int + minimal_instance_type: m1.heat_micro + image_ref: Fedora-Cloud-Base-33-1.2.x86_64 + hidden_stack_tag: hidden + heat_config_notify_script: /opt/stack/heat-agents/heat-config/bin/heat-config-notify + boot_config_env: /opt/stack/heat-templates/hot/software-config/boot-config/test_image_env.yaml + credential_secret_id: $OS_CREDENTIAL_SECRET_ID + heat_features_enabled: + multi_cloud: True + # disable cinder backup feature + volume-feature-enabled: + backup: False + test_results_stage_name: test_results zuul_copy_output: - /opt/stack/tempest/etc/tempest.conf: logs - /opt/stack/tempest/tempest.log: logs - /etc/openstack/accounts.yaml: logs - irrelevant-files: *irrelevant-files + '{{ devstack_base_dir }}/tempest/etc/tempest.conf': logs + '{{ devstack_base_dir }}/tempest/etc/accounts.yaml': logs + '{{ devstack_base_dir }}/tempest/tempest.log': logs + '{{ stage_dir }}/{{ test_results_stage_name }}.subunit': logs + '{{ stage_dir }}/{{ test_results_stage_name }}.html': logs + '{{ stage_dir }}/stackviz': logs + extensions_to_txt: + conf: true + log: true + yaml: true + yml: true + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^heat/locale/.*$ + - ^heat/tests/.*$ + - ^releasenotes/.*$ - job: - name: python-tempestconf-tempest-devstack-admin-plugins - parent: python-tempestconf-devstack-base - description: | - Tempest job for python-tempestconf on a devstack environment as the admin user. - run: playbooks/python-tempestconf-tempest-devstack.yaml + name: heat-functional-tmp + parent: heat-functional-base-tmp vars: - # creator role is required for Barbican tests additional_tempestconf_params: "auth.tempest_roles creator image_signature_verification.enforced False" test_regex: - 'heat_tempest_plugin' @@ -204,122 +181,3 @@ - "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/barbican-tempest-plugin'].src_dir }}" tempest_concurrency: 2 -- job: - name: python-tempestconf-tempest-devstack-admin - parent: python-tempestconf-devstack-base - description: | - Tempest job for python-tempestconf on a devstack environment as the admin user. - run: playbooks/python-tempestconf-tempest-devstack.yaml - vars: - user: admin - cloud_user: devstack-admin - tempest_concurrency: 2 - -- job: - name: python-tempestconf-tempest-devstack-admin-train - parent: python-tempestconf-tempest-devstack-admin - override-checkout: stable/train - vars: - branch: stable/train - -- job: - name: python-tempestconf-tempest-devstack-admin-ussuri - parent: python-tempestconf-tempest-devstack-admin - override-checkout: stable/ussuri - vars: - branch: stable/ussuri - -- job: - name: python-tempestconf-tempest-devstack-admin-victoria - parent: python-tempestconf-tempest-devstack-admin - override-checkout: stable/victoria - vars: - branch: stable/victoria - -- job: - name: python-tempestconf-tempest-devstack-admin-wallaby - parent: python-tempestconf-tempest-devstack-admin - override-checkout: stable/wallaby - vars: - branch: stable/wallaby - -- job: - name: python-tempestconf-tempest-devstack-admin-xena - parent: python-tempestconf-tempest-devstack-admin - override-checkout: stable/xena - vars: - branch: stable/xena - -- job: - name: python-tempestconf-tempest-devstack-demo - parent: python-tempestconf-devstack-base - description: | - Tempest job for python-tempestconf on a devstack environment as the demo user. - run: playbooks/python-tempestconf-tempest-devstack.yaml - vars: - additional_tempestconf_params: "auth.tempest_roles member" - user: demo - cloud_user: devstack - test_demo: true - cloud_admin: devstack-admin - # concurrency is reduced in this job, because a minimal accounts - # file is used - tempest_concurrency: 1 - # skip until https://storyboard.openstack.org/#!/story/2004209 - # is resolved - tempest_exclude_regex: 'tempest.api.compute.servers' - -- job: - name: python-tempestconf-tempest-devstack-demo-train - parent: python-tempestconf-tempest-devstack-demo - override-checkout: stable/train - vars: - branch: stable/train - -- job: - name: python-tempestconf-tempest-devstack-demo-ussuri - parent: python-tempestconf-tempest-devstack-demo - override-checkout: stable/ussuri - vars: - branch: stable/ussuri - -- job: - name: python-tempestconf-tempest-devstack-demo-victoria - parent: python-tempestconf-tempest-devstack-demo - override-checkout: stable/victoria - vars: - branch: stable/victoria - -- job: - name: python-tempestconf-tempest-devstack-demo-wallaby - parent: python-tempestconf-tempest-devstack-demo - override-checkout: stable/wallaby - vars: - branch: stable/wallaby - -- job: - name: python-tempestconf-tempest-devstack-demo-xena - parent: python-tempestconf-tempest-devstack-demo - override-checkout: stable/xena - vars: - branch: stable/xena - -- job: - name: python-tempestconf-tempest-packstack-admin - parent: python-tempestconf-packstack-base - description: | - Tempest job for python-tempestconf on a packstack environment as the admin user. - run: playbooks/python-tempestconf-tempest-packstack.yaml - vars: - user: admin - -- job: - name: python-tempestconf-tempest-packstack-demo - parent: python-tempestconf-packstack-base - description: | - Tempest job for python-tempestconf on a packstack environment as the demo user. - run: playbooks/python-tempestconf-tempest-packstack.yaml - vars: - user: demo - test_demo: true - cloud_admin: packstack-admin diff --git a/playbooks/post.yaml b/playbooks/post.yaml new file mode 100644 index 00000000..a2826d30 --- /dev/null +++ b/playbooks/post.yaml @@ -0,0 +1,20 @@ +- hosts: primary + name: Clear test env + tasks: + - name: clear test env + shell: + cmd: | + /opt/stack/heat/heat_integrationtests/cleanup_test_env.sh + executable: /bin/bash + chdir: "{{ zuul.project.src_dir }}" + environment: + DEVSTACK_BASE_DIR: "{{ devstack_base_dir }}" + become: true + +- hosts: tempest + become: true + roles: + - role: fetch-subunit-output + zuul_work_dir: '{{ devstack_base_dir }}/tempest' + - role: process-stackviz + diff --git a/playbooks/run.yaml b/playbooks/run.yaml new file mode 100644 index 00000000..0ac0d50b --- /dev/null +++ b/playbooks/run.yaml @@ -0,0 +1,17 @@ +- hosts: all + roles: + - orchestrate-devstack + +- hosts: tempest + roles: + - setup-tempest-run-dir + - setup-tempest-data-dir + - acl-devstack-files + - install-plugins + - setup-tempest-run-dir + - run-tempest + vars: + tox_envlist: "all" + tempest_test_regex: "{{ test_regex|join('|') }}" + tempest_exclude_regex: "{{ exclude_regex|join('|') }}" + diff --git a/roles/run-heat-tests/defaults/main.yaml b/roles/run-heat-tests/defaults/main.yaml new file mode 100644 index 00000000..57565042 --- /dev/null +++ b/roles/run-heat-tests/defaults/main.yaml @@ -0,0 +1,3 @@ +devstack_base_dir: /opt/stack +tempest_test_timeout: '' + diff --git a/roles/run-heat-tests/tasks/main.yaml b/roles/run-heat-tests/tasks/main.yaml new file mode 100644 index 00000000..41a4c42a --- /dev/null +++ b/roles/run-heat-tests/tasks/main.yaml @@ -0,0 +1,8 @@ +- name: Run heat tests + command: tox -evenv-tempest -- stestr --test-path={{devstack_base_dir}}/heat/heat_integrationtests \ + --top-dir={{devstack_base_dir}}/heat run + args: + chdir: "{{devstack_base_dir}}/tempest" + become: true + become_user: tempest + environment: '{{ {"OS_TEST_TIMEOUT": tempest_test_timeout} if tempest_test_timeout else {} }}'