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
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
Since setuptools v54.1.0[1], the parmeters with dash have been
deprecated in favor of the new parameters with underscore.
This change updates the parameters accordingly to avoid the warnings
like the example below.
UserWarning: Usage of dash-separated 'description-file' will not be
supported in future versions. Please use the underscore name
'description_file' instead
[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb
Change-Id: I3174f715be88ed7cd5047931f74c0ff82117f52b
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg:
* Wheel is not needed for python 3 only repo
* Some other sections are obsolete
- Update classifiers
Change-Id: Ib1a0622e256b91d2d217e0406967b05f432418e3
Follow the rest of OpenStack and consistently switch to
python3 as default python interpreter and drop python2.
The "functional" tox target was failing with Python 2
as cinder/master has cut the Python 2.7 compatibility.
"functional" now points to the default python3. An explicit
"functional-py37" target has been added as well.
Fix the functional jobs as well:
- move the LVM job to centos-8 and adapt it when needed;
- move the Ceph job to ubuntu-bionic, as there are no
CentOS 8 Ceph packages (and the CentOS 7 ones do not
provide Python 3 bindings).
Closes-Bug: #1853372
Change-Id: Iea4f4f53df7400248848399494564910d3870f63
This patch adds a DevStack plugin to cinderlib so it can be installed
directly by DevStack and used for CI jobs as well as development.
When installing it will also get the Cinder configuration and generate a
.py file with the right initialization of the different backends that
have been configured in /etc/cinder/cinder.conf by the DevStack Cinder
job and its plugins.
Change-Id: I12f6b0e1bc047f1915e4f7532ea59495477f9b4a
Setuptools gives 2 errors with the current cinderlib Python package:
- Project's description-file has an unsupported directive.
- test-requirements has a github reference.
We fix the first issue by removing the git repository from the test
requirements and adding it to the Tox file while adding cinder to the
required-projects to allow cross-repo denedencies.
We also add os-brick since we are currently also very dependent on it on
the nos_brick.py code.
For the second issue we create a new DESCRIPTION.rst file that doesn't
include the "raw" directive unsupported by PyPi.
This patch will allow us to add the publish-to-pypi job to the
project-config repository.
Required-By: I9d8d9f7d802a27c3bfe3dbc0ee84cc24eee24ebc
Change-Id: Id029cedef513753700a10bcae761fdc1807964e1
This patch adds the following Zuul CI jobs:
- Python 2.7 unit tests
- Python 3.6 unit tests
- Functional tests with LVM
- Functional tests with Ceph
- Publis documentation
- Release notes
Change-Id: I2f3f34c1db4716b323c48908f51500898c2c6242
Allow specifying x.y.z.dev0
Now when we bump a minor it will automatically bump to dev.
current_version = 0.2.1
$ bumpversion patch
new_version = 0.2.2.dev0
If we want to release from any dev version:
$ bumpversion dev=4