glance/.zuul.yaml
whoami-rajat 64e6da6fe1 Increase timeout for glance cinder multistore job
Currently the glance cinder multistore job times out from time to
time in 2 hours (and some minutes)[1].
The issue is not specific and generally points to a slow devstack
deployment or a slow tempest run[2] which exceeds the allocated time
provided for the job to complete.
Unless the job is checked thoroughly to determine the areas of
improvement, a short term fix would be to increase the timeout
of job (which might also be the ideal solution if the job is
landing on a system with inferior hardware).
This patch increases the timeout to 10800 seconds i.e. 3 hours.

[1] https://zuul.openstack.org/builds?job_name=glance-multistore-cinder-import&project=openstack%2Fglance&skip=0
[2] https://review.opendev.org/c/openstack/glance/+/899868/1#message-081c737d8747de44669acd1cdc322e347b09d390

Change-Id: I2d21d8b098355a6cc4ceb1de8f9d7fefa19be965
2023-11-30 12:10:25 +00:00

461 lines
15 KiB
YAML

- job:
name: glance-tox-oslo-tips-base
parent: tox
abstract: true
nodeset: ubuntu-focal
timeout: 2400
description: Abstract job for Glance vs. oslo libraries
# NOTE(rosmaita): we only need functional test jobs, oslo is
# already running periodic jobs using our unit tests. Those
# jobs are configured for glance in openstack/project-config/
# zuul.d/projects.yaml using the template 'periodic-jobs-with-oslo-master'
# which is defined in openstack/openstack-zuul-jobs/zuul.d/
# project-templates.yaml; the jobs the template refers to are
# defined in openstack/openstack-zuul-jobs/zuul.d/jobs.yaml
required-projects:
- name: openstack/debtcollector
- name: openstack/futurist
- name: openstack/oslo.concurrency
- name: openstack/oslo.config
- name: openstack/oslo.context
- name: openstack/oslo.db
- name: openstack/oslo.i18n
- name: openstack/oslo.log
- name: openstack/oslo.messaging
- name: openstack/oslo.middleware
- name: openstack/oslo.policy
- name: openstack/oslo.utils
- name: openstack/osprofiler
- name: openstack/stevedore
- name: openstack/taskflow
# Temporary job until SQLAlchemy 2.0 is no longer blocked by upper-requirements
# NOTE(stephenfin): We only need functional tests since DB interactions are
# stubbed out in unit tests
- job:
name: glance-tox-functional-py39-sqlalchemy-tips
parent: openstack-tox-functional-py39
description: |
Glance py39 functional tests vs. sqlalchemy and relatedd project masters
# The job only tests the latest and shouldn't be run on the stable branches
branches: master
required-projects:
- name: openstack/oslo.db
- name: github.com/sqlalchemy/sqlalchemy
override-checkout: main
- name: github.com/sqlalchemy/alembic
override-checkout: main
- job:
name: glance-tox-functional-py39-rbac-defaults
parent: openstack-tox-functional-py39
voting: false
description: |
Glance py39 functional tests with enforce_secure_rbac=True
vars:
python_version: 3.9
tox_envlist: functional-py39-rbac
- job:
name: glance-tox-functional-py39-oslo-tips
parent: glance-tox-oslo-tips-base
description: |
Glance py39 functional tests vs. oslo libraries masters
vars:
python_version: 3.9
tox_envlist: functional-py39
- job:
name: glance-tox-functional-py38-oslo-tips
parent: glance-tox-oslo-tips-base
description: |
Glance py38 functional tests vs. oslo libraries masters
vars:
python_version: 3.8
tox_envlist: functional-py38
- job:
name: glance-tox-keystone-tips-base
parent: tox
abstract: true
nodeset: ubuntu-focal
timeout: 2400
description: Abstract job for Glance vs. keystone
required-projects:
- name: openstack/keystoneauth
- name: openstack/keystonemiddleware
- name: openstack/python-keystoneclient
- job:
name: glance-tox-py39-keystone-tips
parent: glance-tox-keystone-tips-base
description: |
Glance py39 unit tests vs. keystone masters
vars:
python_version: 3.9
tox_envlist: py39
- job:
name: glance-tox-py38-keystone-tips
parent: glance-tox-keystone-tips-base
description: |
Glance py38 unit tests vs. keystone masters
vars:
python_version: 3.8
tox_envlist: py38
- job:
name: glance-tox-functional-py39-keystone-tips
parent: glance-tox-keystone-tips-base
description: |
Glance py39 functional tests vs. keystone masters
vars:
python_version: 3.9
tox_envlist: functional-py39
- job:
name: glance-tox-functional-py38-keystone-tips
parent: glance-tox-keystone-tips-base
description: |
Glance py38 functional tests vs. keystone masters
vars:
python_version: 3.8
tox_envlist: functional-py38
- job:
name: glance-tox-glance_store-tips-base
parent: tox
abstract: true
nodeset: ubuntu-focal
timeout: 2400
description: Abstract job for Glance vs. glance_store
required-projects:
- name: openstack/glance_store
- job:
name: glance-tox-py39-glance_store-tips
parent: glance-tox-glance_store-tips-base
description: |
Glance py39 unit tests vs. glance_store master
vars:
python_version: 3.9
tox_envlist: py39
- job:
name: glance-tox-py38-glance_store-tips
parent: glance-tox-glance_store-tips-base
description: |
Glance py38 unit tests vs. glance_store master
vars:
python_version: 3.8
tox_envlist: py38
- job:
name: glance-tox-functional-py39-glance_store-tips
parent: glance-tox-glance_store-tips-base
description: |
Glance py39 functional tests vs. glance_store master
vars:
python_version: 3.9
tox_envlist: functional-py39
- job:
name: glance-tox-functional-py38-glance_store-tips
parent: glance-tox-glance_store-tips-base
description: |
Glance py38 functional tests vs. glance_store master
vars:
python_version: 3.8
tox_envlist: functional-py38
- job:
name: glance-tox-cursive-tips-base
parent: tox
abstract: true
nodeset: ubuntu-focal
timeout: 2400
description: Abstract job for Glance vs. cursive and related libs
required-projects:
- name: x/cursive
- name: openstack/python-barbicanclient
- name: openstack/castellan
- job:
name: glance-tox-py39-cursive-tips
parent: glance-tox-cursive-tips-base
description: |
Glance py39 unit tests vs. cursive (and related libs) master
vars:
python_version: 3.9
tox_envlist: py39
- job:
name: glance-tox-py38-cursive-tips
parent: glance-tox-cursive-tips-base
description: |
Glance py38 unit tests vs. cursive (and related libs) master
vars:
python_version: 3.8
tox_envlist: py38
- job:
name: glance-tox-functional-py39-cursive-tips
parent: glance-tox-cursive-tips-base
description: |
Glance py39 functional tests vs. cursive (and related libs) master
vars:
python_version: 3.9
tox_envlist: functional-py39
- job:
name: glance-tox-functional-py38-cursive-tips
parent: glance-tox-cursive-tips-base
description: |
Glance py38 functional tests vs. cursive (and related libs) master
vars:
python_version: 3.8
tox_envlist: functional-py38
- job:
name: tempest-integrated-storage-import
parent: tempest-integrated-storage
description: |
The regular tempest-integrated-storage job but with glance metadata injection
post-run: playbooks/post-check-metadata-injection.yaml
vars:
configure_swap_size: 8192
tempest_concurrency: 3
zuul_copy_output:
/etc/glance-remote: logs
devstack_localrc:
GLANCE_STANDALONE: False
GLANCE_USE_IMPORT_WORKFLOW: True
devstack_services:
g-api-r: true
devstack_local_conf:
post-config:
$GLANCE_API_CONF:
DEFAULT:
enabled_import_methods: "[\"copy-image\", \"glance-direct\"]"
wsgi:
python_interpreter: /opt/stack/data/venv/bin/python
$GLANCE_IMAGE_IMPORT_CONF:
image_import_opts:
image_import_plugins: "['inject_image_metadata', 'image_conversion']"
inject_metadata_properties:
ignore_user_roles:
inject: |
"glance_devstack_test":"doyouseeme?"
image_conversion:
output_format: raw
test-config:
"$TEMPEST_CONFIG":
image:
image_caching_enabled: True
- job:
name: glance-multistore-cinder-import
parent: tempest-integrated-storage-import
description: |
The regular import workflow job to test with multiple cinder stores
timeout: 10800
vars:
devstack_localrc:
USE_CINDER_FOR_GLANCE: True
GLANCE_ENABLE_MULTIPLE_STORES: True
CINDER_ENABLED_BACKENDS: lvm:lvmdriver-1,lvm:lvmdriver-2
GLANCE_CINDER_DEFAULT_BACKEND: lvmdriver-1
# Glance RBAC new defaults are tested by default so we need to test
# old defaults in some job.
GLANCE_ENFORCE_SCOPE: false
- job:
name: glance-multistore-cinder-import-fips
parent: tempest-integrated-storage-import
description: |
The regular import workflow job to test with multiple cinder stores with
fips enabled
nodeset: devstack-single-node-centos-9-stream
pre-run: playbooks/enable-fips.yaml
vars:
configure_swap_size: 4096
nslookup_target: 'opendev.org'
devstack_local_conf:
post-config:
$GLANCE_API_CONF:
wsgi:
python_interpreter: $PYTHON
devstack_localrc:
USE_CINDER_FOR_GLANCE: True
GLANCE_ENABLE_MULTIPLE_STORES: True
CINDER_ENABLED_BACKENDS: lvm:lvmdriver-1,lvm:lvmdriver-2
GLANCE_CINDER_DEFAULT_BACKEND: lvmdriver-1
GLOBAL_VENV: false
- job:
name: tempest-integrated-storage-import-standalone
parent: tempest-integrated-storage-import
description: |
The regular tempest-integrated-storage-import-workflow job but with glance in
standalone mode
vars:
devstack_services:
g-api-r: false
devstack_localrc:
GLANCE_STANDALONE: True
- job:
name: glance-ceph-thin-provisioning
parent: devstack-plugin-ceph-tempest-py3
description: |
Just like devstack-plugin-ceph-tempest-py3, but with thin provisioning enabled
required-projects:
- name: openstack/glance_store
vars:
tempest_concurrency: 3
devstack_local_conf:
post-config:
$GLANCE_API_CONF:
glance_store:
rbd_thin_provisioning: True
# TODO(pdeore): Remove this jobs once all the glance jobs will be tested
# with new RBAC in integrated way and we do not need this separate job.
- job:
name: tempest-integrated-storage-enforce-scope-new-defaults
parent: tempest-integrated-storage
description: |
This job runs the Tempest tests with scope and new defaults enabled
Glance services.
vars:
tempest_concurrency: 3
devstack_localrc:
# Nova and glance scope and new defaults are enabled by default in
# Devstack so we do not need to explicitly set that to True.
CINDER_ENFORCE_SCOPE: true
- project:
templates:
- check-requirements
- integrated-gate-storage
- openstack-python3-jobs
- openstack-python3-jobs-arm64
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
check:
jobs:
- openstack-tox-functional-py38-fips
- openstack-tox-functional-py39
- openstack-tox-functional-py310
- glance-tox-functional-py39-rbac-defaults
- glance-tox-functional-py39-sqlalchemy-tips
- glance-ceph-thin-provisioning:
voting: false
irrelevant-files: &tempest-irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^api-ref/.*$
- ^glance/hacking/.*$
- ^glance/locale/.*$
- ^glance/tests/.*$
- ^doc/.*$
- ^releasenotes/.*$
- ^tools/.*$
- ^tox.ini$
- tempest-integrated-storage:
irrelevant-files: *tempest-irrelevant-files
- tempest-integrated-storage-enforce-scope-new-defaults:
irrelevant-files: *tempest-irrelevant-files
- tempest-integrated-storage-import:
irrelevant-files: *tempest-irrelevant-files
- tempest-integrated-storage-import-standalone:
irrelevant-files: *tempest-irrelevant-files
- glance-multistore-cinder-import:
irrelevant-files: *tempest-irrelevant-files
- grenade:
irrelevant-files: *tempest-irrelevant-files
- tempest-ipv6-only:
irrelevant-files: *tempest-irrelevant-files
- nova-ceph-multistore:
irrelevant-files: *tempest-irrelevant-files
- glance-secure-rbac-protection-functional
gate:
jobs:
- openstack-tox-functional-py39
- openstack-tox-functional-py310
- tempest-integrated-storage:
irrelevant-files: *tempest-irrelevant-files
- tempest-integrated-storage-enforce-scope-new-defaults:
irrelevant-files: *tempest-irrelevant-files
- tempest-integrated-storage-import:
irrelevant-files: *tempest-irrelevant-files
- tempest-integrated-storage-import-standalone:
irrelevant-files: *tempest-irrelevant-files
- grenade:
irrelevant-files: *tempest-irrelevant-files
- grenade-skip-level:
irrelevant-files: *tempest-irrelevant-files
- tempest-ipv6-only:
irrelevant-files: *tempest-irrelevant-files
- nova-ceph-multistore:
irrelevant-files: *tempest-irrelevant-files
- glance-secure-rbac-protection-functional
experimental:
jobs:
- glance-tox-py39-glance_store-tips
- glance-tox-py38-glance_store-tips
- glance-tox-functional-py39-glance_store-tips
- glance-tox-functional-py38-glance_store-tips
- barbican-tempest-plugin-simple-crypto
- grenade-multinode
- tempest-pg-full:
irrelevant-files: *tempest-irrelevant-files
- glance-multistore-cinder-import-fips:
irrelevant-files: *tempest-irrelevant-files
periodic:
jobs:
# NOTE(rosmaita): we only want the "tips" jobs to be run against
# master, hence the 'branches' qualifiers below. Without them, when
# a stable branch is cut, the tests would be run against the stable
# branch as well, which is pointless because these libraries are
# frozen (more or less) in the stable branches.
#
# The "tips" jobs can be removed from the stable branch .zuul.yaml
# files if someone is so inclined, but that would require manual
# maintenance, so we do not do it by default. Another option is
# to define these jobs in the openstack/project-config repo.
# That would make us less agile in adjusting these tests, so we
# aren't doing that either.
- glance-tox-functional-py39-oslo-tips:
branches: master
- glance-tox-functional-py38-oslo-tips:
branches: master
- glance-tox-py39-keystone-tips:
branches: master
- glance-tox-py38-keystone-tips:
branches: master
- glance-tox-functional-py39-keystone-tips:
branches: master
- glance-tox-functional-py38-keystone-tips:
branches: master
- glance-tox-py39-glance_store-tips:
branches: master
- glance-tox-py38-glance_store-tips:
branches: master
- glance-tox-functional-py39-glance_store-tips:
branches: master
- glance-tox-functional-py38-glance_store-tips:
branches: master
- glance-tox-py39-cursive-tips:
branches: master
- glance-tox-py38-cursive-tips:
branches: master
- glance-tox-functional-py39-cursive-tips:
branches: master
- glance-tox-functional-py38-cursive-tips:
branches: master
- glance-multistore-cinder-import-fips:
branches: master