DNM - devstack-admin-plugins job test

Change-Id: I77a16e9c96fd731bf0833c624c2fbc90ab753c2f
This commit is contained in:
lpiwowar 2021-11-16 13:21:22 +01:00
parent d630e489aa
commit a14328779c
6 changed files with 171 additions and 265 deletions

View File

@ -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/python-tempestconf-tempest-devstack.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

20
playbooks/post.yaml Normal file
View File

@ -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

View File

@ -1,8 +1,8 @@
- hosts: all
roles:
#- hosts: all
# roles:
# the role is inherited from openstack/devstack project
- run-devstack
# - run-devstack
- hosts: tempest
vars:
devstack_base_dir: "/opt/stack"
@ -36,16 +36,16 @@
include_role:
name: tempestconf-workaround-auth-url
- name: Generate tempest configuration file
include_role:
name: generate-tempestconf-file
vars:
create_accounts_file: True
source_credentials_commands: "export HOST_IP={{ ansible_default_ipv4.address }}; source {{ devstack_base_dir }}/devstack/openrc {{ user }} {{ user }}"
#- name: Generate tempest configuration file
# include_role:
# name: generate-tempestconf-file
# vars:
# create_accounts_file: True
# source_credentials_commands: "export HOST_IP={{ ansible_default_ipv4.address }}; source {{ devstack_base_dir }}/devstack/openrc {{ user }} {{ user }}"
- name: Generate tempest configuration file based on cloud credentials
include_role:
name: generate-tempestconf-file-cloud
#- name: Generate tempest configuration file based on cloud credentials
# include_role:
# name: generate-tempestconf-file-cloud
# run-tempest role is inherited from openstack/tempest project
- name: Run Tempest Tests

17
playbooks/run.yaml Normal file
View File

@ -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('|') }}"

View File

@ -0,0 +1,3 @@
devstack_base_dir: /opt/stack
tempest_test_timeout: ''

View File

@ -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 {} }}'