Remove files from master, as development will no longer occur there.
The stable branches continue to be supported while they are in
Maintained status.
Updated the README to indicate this change.
Depends-on: Ib186ac5830e5920e264d79be946995e63e960426
Depends-on: I081cd363117671eaab6a3193094d5872f9820354
Depends-on: If2b9a82cddb20543b176ee22765049db257c89b9
Depends-on: I1143e5e5ccf8103e386fe1ce614a554e7f152d9a
Change-Id: I4722b869033ad1bd357e36c4a258b6d3ea61f5d6
As a cycle-with-intermediary release with trailing deliverable type,
cinderlib's master remains the 2023.2 development branch until early
in the 2024.1 (Caracal) cycle when the cinderlib 2023.2 (Bobcat)
release is made. So update tox.ini and .zuul.yaml to test against
cinder and os-brick stable/2023.2 instead of their master branches,
and restrict cinder and os-brick in requirements.txt to the 2023.2
series.
See the cinderlib docs for more info about this change:
https://docs.openstack.org/cinderlib/latest/contributor/contributing.html#cinderlib-tox-and-zuul-configuration-maintenance
Change-Id: I830b8e2f9766746a7f81b24ce1b7c1f4d4c7c5a1
It was removed as a cinder dependency by change I39448af0eb8f
but we haven't caught up yet, and are still using it. Add it
to our requirements as a temporary measure.
Change-Id: I135f0a91ae00b03942a3bf62fea4789e30c06f84
See "cinderlib tox and zuul configuration maintenance" in
https://docs.openstack.org/cinderlib/latest/contributor/contributing.html
for an explanation of these changes.
Notes:
- checked, but can't address the TODO in .zuul.yaml yet
- no changes needed for setup.cfg
- py39 testing wasn't required for Antelope, but it is for Bobcat
Change-Id: I4b68ec8594fca14445333143b2852ee122aa6bd6
As a cycle-with-intermediary release with trailing deliverable type,
cinderlib's master remains the 2023.1 development branch until early
in the 2023.2 (Bobcat) cycle when the cinderlib 2023.1 (Antelope)
release is made. So update tox.ini and .zuul.yaml to test against
cinder and os-brick stable/2023.1 instead of their master branches,
and restrict cinder and os-brick in requirements.txt to the 2023.1
series.
Change-Id: Id74b4d0e2bad8fa7a3629d85458b089e00a60211
Change I5febaed02e95 to global-requirements lifted the cap
on importlib-metadata, so we should too.
The cinderlib restriction to py<3.8 was originally made by
change I1709952cf0d0 (merged 28 July 2020).
Change-Id: Ib0397640e524a3d932e71d4c776eca19234c057a
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
When a virtual environment is created with the "--system-site-packages"
option and privsep is installed on the system privsep will only use the
system packages and completely ignore the ones in the virtual
environment.
This results in errors such as the ones we see:
- In the Ussuri gate: ModuleNotFoundError: No module named
'os_brick.privileged.rootwrap'
- In the Wallaby gate: ModuleNotFoundError: No module named
'os_brick.privileged.nvmeof'
This happens because os-brick and cinder are starting privsep using the
"privsep-helper" mechanism, and privsep was not installed in the virtual
env because it was already present system wide, so the "privsep-helper"
that is executed is the one from "/usr/local/bin/privsep-helper".
This python script "privsep-helper" ignores the virtual environment and
forces usage of the system's python, for example in a Wallaby
installation this could be "#!/usr/bin/python3.6".
Since it ignores the virtual environment it won't use its packages and
anything that's not present on system wide will not be found, and if
found it may be executing different code.
This patch fixes this issue by replacing the helper used to start
privsep with our own command.
This command is the same as the one usually installed in /usr/local/bin
but using /usr/bin/env to select the python to use.
This new script has been included as data in the cinderlib namespace
instead of making it install as a system script (like the original
privsep command) because we don't want to polute the system wide
binaries directory just for a corner case.
We also need to preserve user site-packages for the running Python when
calling root from the virtual environment, since the packages installed
on the virtual environment with "--system-site-packages" would have
taken those into consideration during the installation and not the ones
present on the root user.
To help debug issues at the gate all functional tests are now running
with debug logs.
Change-Id: I0278b42785d14f92a521e6deff872dcba6505270
Related-Bug: #1958159
Closes-Bug: #1979534
As a cycle-with-intermediary release with trailing deliverable type,
cinderlib's master remains the yoga development branch until early in
the zed cycle when the cinderlib yoga release is made. So update
tox.ini to test against cinder and os-brick stable/yoga instead of
their master branches, and restrict cinder and os-brick in
requirements.txt to yoga versions.
Change-Id: I8da1ddc38607eca378a503a961bf55a03566c5bc
cinderlib is a 'trailing' deliverable type. The stable/xena
branch has just been cut, so transition master to yoga development.
Depends-on: https://review.opendev.org/c/openstack/releases/+/818392
Change-Id: I7f33a6f8fd903974ef462ac4e8be3e74e8a610a5
As a cycle-with-intermediary release with trailing deliverable type,
cinderlib's master remains the xena development branch until its
xena release is made early in the yoga cycle, so update tox.ini so
that it's testing against cinder, brick stable/xena instead of master
branches, and restrict cinder, brick in requirements.txt to their
xena versions.
Change-Id: Icdcaa3330be766e7b94fd1276ffbd024e9e52ad4
cinderlib is a 'trailing' deliverable type. The stable/wallaby
branch has just been cut, so transition master to xena development.
Depends-on: https://review.opendev.org/c/openstack/releases/+/797422
Change-Id: Ic6be0596fcc4cef40301702c3bac3085468c8daa
The master branches of cinder and os-brick are now in xena development,
so while cinderlib is still in wallaby development, we want to use
stable/wallaby cinder and stable/wallaby os-brick for testing cinderlib.
Also use stable/wallaby upper constraints.
Change-Id: I9d76b380d18f5a15fb26496b209b3dd8342e4364
Changes prompted by the new pip resolver doing stricter dependency
checking:
- req, lc: cinder to 17.0.0 (victoria official release)
- lc: os-brick: 2.7.0 -> 4.0.1 (victoria official release)
- lc: stevedore: 1.20.0 -> 1.31.0 (version in victoria cinder l-c)
- update test-req to match cinder stable/victoria versions
- added some indirect dependencies to test-requirements.txt to help
speed up dependency resolution
This patch is picking up an updated flake8 that is more strict
about import order checking, so we add a per-file-ignore config
option to tox.ini to turn off E402 detection for the affected
files. See comment in cinderlib/cinder.py for details. NOTE:
per-file-ignores requires flake8>=3.7.0, but we don't specify
that here because the flake8 version is controlled by hacking.
Change-Id: I6e7fb6724bb29078b2fa70a38f37238c356e6f48
Importing pkg_resources scans all of the installed modules for data
that won't be used. Switch to using importlib.metdata, which more
efficiently loads the metadata for a package.
Change-Id: I1709952cf0d0329e9b56c20edef50eff1696af22
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Up to cinderlib's version 0.9.0 the library was backward compatible with
older Cinder releases, but version 1.0.0 and higher are no longer
compatible with pre Train Cinder releases, so we need to pin the Cinder
release.
Change-Id: I15944eb67a5628cf2d2983409d767efc6de7608f
Closes-Bug: #1870149