glance/.zuul.yaml
Dan Smith 783fa72f48 Make image conversion use a proper python interpreter for prlimit
The image conversion plugin does a processutils exec(), which needs
to spawn python for prlimit support. Under uwsgi, sys.executable
points to uwsgi itself, which won't work in this case. This introduces
a [wsgi]/python_interpreter config option (because I don't think
there is any way to get this from uwsgi itself) which we use for
the exec. By default, it's sys.executable, which is what is used
right now so nobody should notice a change unless they need it.

Note: Making this depend on the devstack change to remove the wsgi
import restriction so we can get a test on it.

Partial-Bug: #1888713
Change-Id: I7cb2e135d6ea2cb21de55060df3f7bf40b3e64b6
2020-07-27 09:57:16 -07:00

359 lines
11 KiB
YAML

- job:
name: glance-code-constants-check
parent: tox
description: |
Tests to catch when code constants have gotten out of sync.
vars:
tox_envlist: gateonly
irrelevant-files:
- ^(test-|)requirements.txt$
- ^lower-constraints.txt$
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^etc/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tox.ini$
- ^\.zuul\.yaml$
- job:
name: glance-tox-oslo-tips-base
parent: tox
abstract: true
nodeset: ubuntu-bionic
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
- 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-functional-py36-oslo-tips
parent: glance-tox-oslo-tips-base
description: |
Glance py36 functional tests vs. oslo libraries masters
vars:
python_version: 3.6
tox_envlist: functional-py36
- job:
name: glance-tox-keystone-tips-base
parent: tox
abstract: true
nodeset: ubuntu-bionic
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-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-py36-keystone-tips
parent: glance-tox-keystone-tips-base
description: |
Glance py36 unit tests vs. keystone masters
vars:
python_version: 3.6
tox_envlist: py36
- 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-functional-py36-keystone-tips
parent: glance-tox-keystone-tips-base
description: |
Glance py36 functional tests vs. keystone masters
vars:
python_version: 3.6
tox_envlist: functional-py36
- job:
name: glance-tox-glance_store-tips-base
parent: tox
abstract: true
nodeset: ubuntu-bionic
timeout: 2400
description: Abstract job for Glance vs. glance_store
required-projects:
- name: openstack/glance_store
- 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-py36-glance_store-tips
parent: glance-tox-glance_store-tips-base
description: |
Glance py36 unit tests vs. glance_store master
vars:
python_version: 3.6
tox_envlist: py36
- 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-functional-py36-glance_store-tips
parent: glance-tox-glance_store-tips-base
description: |
Glance py36 functional tests vs. glance_store master
vars:
python_version: 3.6
tox_envlist: functional-py36
- job:
name: glance-tox-cursive-tips-base
parent: tox
abstract: true
nodeset: ubuntu-bionic
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-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-py36-cursive-tips
parent: glance-tox-cursive-tips-base
description: |
Glance py36 unit tests vs. cursive (and related libs) master
vars:
python_version: 3.6
tox_envlist: py36
- 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: glance-tox-functional-py36-cursive-tips
parent: glance-tox-cursive-tips-base
description: |
Glance py36 functional tests vs. cursive (and related libs) master
vars:
python_version: 3.6
tox_envlist: functional-py36
- job:
name: tempest-integrated-storage-import-workflow
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:
devstack_localrc:
GLANCE_STANDALONE: True
GLANCE_USE_IMPORT_WORKFLOW: True
devstack_local_conf:
post-config:
$GLANCE_IMAGE_IMPORT_CONF:
image_import_opts:
image_import_plugins: "['inject_image_metadata']"
inject_metadata_properties:
ignore_user_roles:
inject: |
"glance_devstack_test":"doyouseeme?"
- job:
name: tempest-integrated-storage-wsgi-import
parent: tempest-integrated-storage
description: |
The regular tempest-integrated-storage job but with glance in wsgi mode
vars:
devstack_localrc:
GLANCE_STANDALONE: False
GLANCE_USE_IMPORT_WORKFLOW: True
devstack_local_conf:
post-config:
$GLANCE_API_CONF:
DEFAULT:
enabled_import_methods: "[\"copy-image\", \"glance-direct\"]"
wsgi:
python_interpreter: /usr/bin/python3
$GLANCE_IMAGE_IMPORT_CONF:
image_import_opts:
image_import_plugins: "['image_conversion']"
image_conversion:
output_format: raw
- project:
templates:
- check-requirements
- integrated-gate-storage
- openstack-lower-constraints-jobs
- openstack-python3-victoria-jobs
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
check:
jobs:
- openstack-tox-functional-py36
- openstack-tox-functional-py38
- glance-code-constants-check
- devstack-plugin-ceph-tempest-py3:
voting: false
irrelevant-files: &tempest-irrelevant-files
- ^(test-|)requirements.txt$
- ^lower-constraints.txt$
- ^.*\.rst$
- ^api-ref/.*$
- ^glance/hacking/.*$
- ^glance/locale/.*$
- ^glance/tests/.*$
- ^doc/.*$
- ^releasenotes/.*$
- ^tools/.*$
- ^tox.ini$
- ^\.zuul\.yaml$
- tempest-integrated-storage:
irrelevant-files: *tempest-irrelevant-files
- tempest-integrated-storage-import-workflow:
irrelevant-files: *tempest-irrelevant-files
- tempest-integrated-storage-wsgi-import:
irrelevant-files: *tempest-irrelevant-files
- grenade:
irrelevant-files: *tempest-irrelevant-files
- tempest-ipv6-only:
irrelevant-files: *tempest-irrelevant-files
gate:
jobs:
- openstack-tox-functional-py36
- openstack-tox-functional-py38
- tempest-integrated-storage:
irrelevant-files: *tempest-irrelevant-files
- tempest-integrated-storage-import-workflow:
irrelevant-files: *tempest-irrelevant-files
- grenade:
irrelevant-files: *tempest-irrelevant-files
- tempest-ipv6-only:
irrelevant-files: *tempest-irrelevant-files
experimental:
jobs:
- glance-tox-py38-glance_store-tips
- glance-tox-py36-glance_store-tips
- glance-tox-functional-py38-glance_store-tips
- glance-tox-functional-py36-glance_store-tips
- barbican-simple-crypto-devstack-tempest
- grenade-multinode
- tempest-pg-full:
irrelevant-files: *tempest-irrelevant-files
- tempest-full-py3-opensuse15:
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-py38-oslo-tips:
branches: master
- glance-tox-functional-py36-oslo-tips:
branches: master
- glance-tox-py38-keystone-tips:
branches: master
- glance-tox-py36-keystone-tips:
branches: master
- glance-tox-functional-py38-keystone-tips:
branches: master
- glance-tox-functional-py36-keystone-tips:
branches: master
- glance-tox-py38-glance_store-tips:
branches: master
- glance-tox-py36-glance_store-tips:
branches: master
- glance-tox-functional-py38-glance_store-tips:
branches: master
- glance-tox-functional-py36-glance_store-tips:
branches: master
- glance-tox-py38-cursive-tips:
branches: master
- glance-tox-py36-cursive-tips:
branches: master
- glance-tox-functional-py38-cursive-tips:
branches: master
- glance-tox-functional-py36-cursive-tips:
branches: master