Open cinderlib for zed development
NOTE: don't use this patch as an example of "open cinderlib for xxx development" because it's happening *after* cinder and os-brick stable/zed have been cut (normally, it would happen before). In this patch we: - Switch tox.ini to using stable/zed instead of stable/yoga for requirements, cinder, and os-brick - update .zuul.yaml to use jobs specified by the openstack-python3-zed-template - add a cinderlib-os-brick-src-tempest-lvm-lio-barbican-zed job to .zuul.yaml - update tox.ini to support the current supported python runtimes for unit and functional tests plus python 3.10 - update requirements.txt to use only Zed release cinder and os-brick - update setup.cfg to reflect the Zed supported python runtimes Co-authored-by: Brian Rosmaita <rosmaita.fossdev@gmail.com> Co-authored-by: Takashi Kajinami <tkajinam@redhat.com> Change-Id: I6482088acfaf4c6de436d1a12195e96b3334e906
This commit is contained in:
parent
728b933bf2
commit
def0c7faa2
53
.zuul.yaml
53
.zuul.yaml
@ -6,57 +6,70 @@
|
||||
check:
|
||||
jobs:
|
||||
- openstack-tox-pep8
|
||||
- cinderlib-tox-py36
|
||||
- cinderlib-tox-py38
|
||||
- cinderlib-tox-py39
|
||||
- cinderlib-tox-py310:
|
||||
voting: false
|
||||
|
||||
- cinderlib-lvm-functional
|
||||
- cinderlib-ceph-functional
|
||||
- cinderlib-os-brick-src-tempest-lvm-lio-barbican-yoga
|
||||
- cinderlib-os-brick-src-tempest-lvm-lio-barbican-zed
|
||||
gate:
|
||||
jobs:
|
||||
- openstack-tox-pep8
|
||||
- cinderlib-tox-py36
|
||||
- cinderlib-tox-py38
|
||||
- cinderlib-tox-py39
|
||||
|
||||
- cinderlib-lvm-functional
|
||||
- cinderlib-ceph-functional
|
||||
- cinderlib-os-brick-src-tempest-lvm-lio-barbican-yoga
|
||||
- cinderlib-os-brick-src-tempest-lvm-lio-barbican-zed
|
||||
post:
|
||||
jobs:
|
||||
- publish-openstack-python-branch-tarball
|
||||
|
||||
- job:
|
||||
name: cinderlib-tox-py36
|
||||
parent: openstack-tox-py36
|
||||
name: cinderlib-tox-py38
|
||||
parent: openstack-tox-py38
|
||||
required-projects:
|
||||
- name: openstack/os-brick
|
||||
override-checkout: stable/yoga
|
||||
override-checkout: stable/zed
|
||||
- name: openstack/cinder
|
||||
override-checkout: stable/yoga
|
||||
override-checkout: stable/zed
|
||||
- name: openstack/requirements
|
||||
override-checkout: stable/yoga
|
||||
override-checkout: stable/zed
|
||||
|
||||
- job:
|
||||
name: cinderlib-tox-py39
|
||||
parent: openstack-tox-py39
|
||||
required-projects:
|
||||
- name: openstack/os-brick
|
||||
override-checkout: stable/yoga
|
||||
override-checkout: stable/zed
|
||||
- name: openstack/cinder
|
||||
override-checkout: stable/yoga
|
||||
override-checkout: stable/zed
|
||||
- name: openstack/requirements
|
||||
override-checkout: stable/yoga
|
||||
override-checkout: stable/zed
|
||||
|
||||
- job:
|
||||
name: cinderlib-tox-py310
|
||||
parent: openstack-tox-py310
|
||||
required-projects:
|
||||
- name: openstack/os-brick
|
||||
override-checkout: stable/zed
|
||||
- name: openstack/cinder
|
||||
override-checkout: stable/zed
|
||||
- name: openstack/requirements
|
||||
override-checkout: stable/zed
|
||||
|
||||
- job:
|
||||
name: cinderlib-functional
|
||||
parent: openstack-tox-functional-with-sudo
|
||||
required-projects:
|
||||
- name: openstack/os-brick
|
||||
override-checkout: stable/yoga
|
||||
override-checkout: stable/zed
|
||||
- name: openstack/cinder
|
||||
override-checkout: stable/yoga
|
||||
override-checkout: stable/zed
|
||||
- name: openstack/requirements
|
||||
override-checkout: stable/yoga
|
||||
override-checkout: stable/zed
|
||||
pre-run: playbooks/required-projects-bindeps.yaml
|
||||
irrelevant-files:
|
||||
- ^.*\.rst$
|
||||
@ -67,7 +80,7 @@
|
||||
name: cinderlib-lvm-functional
|
||||
parent: cinderlib-functional
|
||||
pre-run: playbooks/setup-lvm.yaml
|
||||
nodeset: centos-8-stream
|
||||
nodeset: centos-9-stream
|
||||
vars:
|
||||
tox_environment:
|
||||
# Workaround for https://github.com/pypa/pip/issues/6264
|
||||
@ -83,7 +96,7 @@
|
||||
name: cinderlib-ceph-functional
|
||||
parent: cinderlib-functional
|
||||
pre-run: playbooks/setup-ceph.yaml
|
||||
# TODO: move back to centos-8 as soon as Ceph packages are available
|
||||
# TODO: move back to centos as soon as Ceph packages are available
|
||||
nodeset: ubuntu-focal
|
||||
vars:
|
||||
tox_environment:
|
||||
@ -94,7 +107,7 @@
|
||||
NOSE_WITH_XUNIT: 1
|
||||
|
||||
- job:
|
||||
name: cinderlib-os-brick-src-tempest-lvm-lio-barbican-yoga
|
||||
name: cinderlib-os-brick-src-tempest-lvm-lio-barbican-zed
|
||||
parent: os-brick-src-tempest-lvm-lio-barbican
|
||||
description: |
|
||||
Use this job during the phase when cinderlib master is still
|
||||
@ -102,7 +115,7 @@
|
||||
cinderlib master and cinder master are the development branches
|
||||
for the *same* release, you should use the parent job directly
|
||||
in the check and gate, above.
|
||||
override-checkout: stable/yoga
|
||||
# NOTE: while the cinderlib stable/yoga branch does not exist,
|
||||
override-checkout: stable/zed
|
||||
# NOTE: while the cinderlib stable/zed branch does not exist,
|
||||
# zuul will fall back to using cinderlib master, which is the
|
||||
# behavior we want.
|
||||
|
@ -1,7 +1,7 @@
|
||||
# restrict cinder to the yoga release only
|
||||
cinder>=20.0.0.0,<21.0.0 # Apache-2.0
|
||||
# brick upper bound is controlled by yoga/upper-constraints
|
||||
os-brick>=5.2.0 # Apache-2.0
|
||||
# restrict cinder to the zed release only
|
||||
cinder>=21.0.0.0,<22.0.0 # Apache-2.0
|
||||
# brick upper bound is controlled by zed/upper-constraints
|
||||
os-brick>=6.1.0 # Apache-2.0
|
||||
|
||||
importlib_metadata>=1.7.0;python_version<'3.8' # Apache-2.0
|
||||
importlib_resources>=3.2.1;python_version<'3.10' # Apache-2.0
|
||||
|
@ -8,7 +8,7 @@ long_description = file: DESCRIPTION.rst
|
||||
author = OpenStack
|
||||
author_email = openstack-discuss@lists.openstack.org
|
||||
url = https://docs.openstack.org/cinderlib/latest/
|
||||
python_requires = >=3.6
|
||||
python_requires = >=3.8
|
||||
classifiers =
|
||||
Environment :: OpenStack
|
||||
Intended Audience :: Information Technology
|
||||
@ -20,8 +20,6 @@ classifiers =
|
||||
Programming Language :: Python :: Implementation :: CPython
|
||||
Programming Language :: Python :: 3 :: Only
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.6
|
||||
Programming Language :: Python :: 3.7
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
|
||||
|
29
tox.ini
29
tox.ini
@ -17,7 +17,7 @@ setenv = OS_STDOUT_CAPTURE=1
|
||||
TOX_INI_DIR={toxinidir}
|
||||
# make sure this is accurate for current development, both here
|
||||
# and in [testenv:functional]
|
||||
CINDERLIB_RELEASE=yoga
|
||||
CINDERLIB_RELEASE=zed
|
||||
usedevelop=True
|
||||
|
||||
# note: cannot set the special local install command here because it is also
|
||||
@ -31,8 +31,8 @@ usedevelop=True
|
||||
# NOTE: Functional tests may fail if host is missing bindeps from deps projects
|
||||
deps =
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
git+https://opendev.org/openstack/os-brick@stable/yoga#egg=os-brick
|
||||
git+https://opendev.org/openstack/cinder@stable/yoga#egg=cinder
|
||||
git+https://opendev.org/openstack/os-brick@stable/zed#egg=os-brick
|
||||
git+https://opendev.org/openstack/cinder@stable/zed#egg=cinder
|
||||
|
||||
commands =
|
||||
find . -ignore_readdir_race -type f -name "*.pyc" -delete
|
||||
@ -51,7 +51,7 @@ allowlist_externals =
|
||||
find
|
||||
passenv = *_proxy *_PROXY CINDERLIB_CONSTRAINTS_FILE
|
||||
|
||||
[testenv:py{3,36,38,39}]
|
||||
[testenv:py{3,38,39,310}]
|
||||
install_command = {toxinidir}/tools/special_install.sh {env:PIP_OPTIONS:} {opts} {packages}
|
||||
|
||||
[testenv:functional]
|
||||
@ -63,7 +63,7 @@ setenv = OS_TEST_PATH=./cinderlib/tests/functional
|
||||
CL_FTEST_ROOT_HELPER={env:CL_FTEST_ROOT_HELPER:{toxinidir}/tools/virtualenv-sudo.sh}
|
||||
TOX_INI_DIR={toxinidir}
|
||||
# make sure this is accurate for current development
|
||||
CINDERLIB_RELEASE=yoga
|
||||
CINDERLIB_RELEASE=zed
|
||||
|
||||
sitepackages = True
|
||||
# Not reusing py37's env due to https://github.com/tox-dev/tox/issues/477
|
||||
@ -82,7 +82,7 @@ allowlist_externals =
|
||||
{[testenv]allowlist_externals}
|
||||
stestr
|
||||
|
||||
[testenv:functional-py36]
|
||||
[testenv:functional-py{38,39,310}]
|
||||
install_command = {[testenv:functional]install_command}
|
||||
usedevelop=True
|
||||
passenv =
|
||||
@ -90,21 +90,6 @@ passenv =
|
||||
setenv =
|
||||
{[testenv:functional]setenv}
|
||||
sitepackages = True
|
||||
basepython=python3.6
|
||||
# NOTE: We intentionally do not reuse the unit test's env due to
|
||||
# https://github.com/tox-dev/tox/issues/477
|
||||
commands = {[testenv:functional]commands}
|
||||
allowlist_externals = {[testenv:functional]allowlist_externals}
|
||||
|
||||
[testenv:functional-py39]
|
||||
install_command = {[testenv:functional]install_command}
|
||||
usedevelop=True
|
||||
passenv =
|
||||
{[testenv:functional]passenv}
|
||||
setenv =
|
||||
{[testenv:functional]setenv}
|
||||
sitepackages = True
|
||||
basepython=python3.9
|
||||
# NOTE: We intentionally do not reuse the unit test's env due to
|
||||
# https://github.com/tox-dev/tox/issues/477
|
||||
commands = {[testenv:functional]commands}
|
||||
@ -122,7 +107,7 @@ commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasen
|
||||
# yes, we want the constraint in the install_command, not deps, so that
|
||||
# https://review.opendev.org/c/openstack/glance/+/839786 does not happen
|
||||
# to us
|
||||
install_command = python -m pip install -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/yoga} {opts} {packages}
|
||||
install_command = python -m pip install -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/zed} {opts} {packages}
|
||||
deps =
|
||||
-r{toxinidir}/doc/requirements.txt
|
||||
commands =
|
||||
|
Loading…
Reference in New Issue
Block a user