As per the current release tested runtime, we test
till python 3.11 so updating the same in python
classifier in setup.cfg
Change-Id: I704213dde1d9292034e2a87162b3a6382396cc1f
Without this, tox fails with an error:
py38: FAIL code error: Multiple top-level packages discovered
in a flat-layout: ['etc', 'roles', 'cinder', 'playbooks',
'releasenotes'].
Change-Id: Iea13bca7b642ba0b0f1ffa38a504d5b6f2dd276b
In Zed cycle testing runtime, we are targetting to drop the
python 3.6 support, project started adding python 3.8 as minimum,
example nova:
- 56b5aed08c/setup.cfg (L13)
Change-Id: I1e0d0a43cd166e6cfd4be7ca0f426e9fc3625a28
Change method to check supported REST version on the backend.
This will mkae it easier to specify minimum REST versions for
specific feature support.
Closes-Bug: #1929219
Change-Id: Ibab932d3536d44dd7414560768ed5bdeaa9e61e1
We don't provide multiple backends in-tree and couldn't possibly support
those provided out-of-tree. Remove this knob.
Change-Id: Ia05eb6536bd4b2977358c0086293757091aa5e68
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Resolves warnings like the following:
UserWarning: Usage of dash-separated 'description-file' will not be
supported in future versions. Please use the underscore name
'description_file' instead
Change-Id: Ie12ecf09c30b1b53228882ba252813cd87dfa251
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
The driver requires the new rbd-iscsi-client package, which is used
to talk to the rbd-target-api on the ceph iscsi gateway node.
The rbd-target-api is a python script meant to keep ceph iscsi gw nodes in
sync with each other, but the API is works for creating iscsi targets.
This is a new driver that makes heavy use of the ceph-iscsi project's
rbd-target-api python REST client here:
https://github.com/ceph/ceph-iscsi
The driver is a derivation of the rbd driver, and the intention is to reuse
as much of the base rbd driver as possible and just do iSCSI specific
code here.
Change-Id: Iff0e4d1137851c8f0b8ec25632d1186c2859b2fc
Add a "mypy" tox environment which runs mypy
type checking against Cinder code.
Taken from Stephen Finucane's Nova work at
https://review.opendev.org/#/c/676208/
Added "show_error_codes" and "pretty" options.
Generates an html report in ./mypy-report/
This adds stubs for oslo.i18n, so that _() calls
are annotated as intended. It may be possible to
do this with less .pyi files carried along here.
Change-Id: I2589d22c1f16f2e177d34730a520591743c0c1e3
This adds the Source and Tracker links to our package metadata so that
the links show up on the PyPi page for this package.
https://pypi.org/project/cinder/
Change-Id: I704b3c41611c4778443256a0533e0522056985a4
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
This was causing a requirements repo cleanup script to not recognize the
package was in use.
Also adds a few missed extra packages to the All extra section.
Change-Id: If4dfe5170f061ab2fa89b486ca1d09f5e719a679
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
As part of Victoria, the highest python version to support is now Python
3.8. See [0] for full details of the expected runtimes to support.
This switches over functional testing to use 3.8 and updates the
projects metadata to declare 3.8 as a supported runtime.
[0] https://governance.openstack.org/tc/reference/runtimes/victoria.html
Change-Id: Ica2dade49a65e749acc701bc16127809a7f079d6
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
This repo is now testing only with Python 3, so let's 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
- Update classifiers
- Use newer openstackdocstheme, Sphinx, os-api-ref versions,
remove unused mock requirement
Change-Id: If7db350ea55a5edf7055ce049d27d9412b0e40bc
New attempt to update Datera Cinder in-tree driver. This review request
builds on https://review.opendev.org/#/c/661359/ with fixed zuul gating
tests.
Full list of changes since last update:
* Added Pypi packaging installation support
* Dropping support for v2 API. No Datera products exist in production
with this API version.
* Added v2.2 API support
* Rewrite of the driver to use the Datera Python-SDK instead of
hand-rolled connections. Usage requires the dfs_sdk python package
* Dropping support for default_storage_name and default_volume_name
volume-type keys
* Added CHAP support
* Implemented fast-path Glance-->Datera image cloning with clone_image RPC
* Implemented fast-path volume retype
* Rewrote unit tests from scratch
* Added iops_per_gb and bandwidth_per_gb volume-type keys
* Implemented update_migrated_volume
* Increased number of stats reported with get_volume_stats
* API fallback now only occurs during driver initialization. This
increases driver performance
* Added config option for customizing volume-type default values
* Implemented template size override
* Implemented LDAP support
* Added support for filter_functions and goodness_functions
* Changed version string to date-based
* Implemented manage_existing_snapshot and related RPCs
* Removed ancient py25 compatibility imports
* Updated Copyright to 2020
* Fixed almost all requests From walter and Sean
* Added comprehensive version history
Change-Id: I56a1a24d60a7bc0dc59bfcfa89da23f43696a31e
tox:
- bumped tox minversion to 3.1.0 to get 'ignore_basepython_conflict'
- tox 'ignore_basepython_conflict' allows us to factor basepython=
python3 to the [testenv] but override it when using '-e py37'
(that way you actually get python 3.7 instead of whatever the system
has for python3)
gate:
- adjusted tempest-dsvm-lvm-lio-barbican to use python 3 for devstack
- removed openstack-python-jobs template as these tests are covered
in py3 by openstack-python3-ussuri-jobs
- dropped integrated-gate template as these tests are covered by the
integrated-gate-storage template, which is already python3
- dropped tempest-full jobs as these are covered in py3 by tempest-
integrated-storage
- changed openstack-tox-functional to openstack-tox-functional-py37
and made it voting
The legacy-grenade-dsvm-cinder-mn-sub-* jobs are converted to py3
in a different patch, https://review.opendev.org/#/c/695787/
Left py2 requirements and did not adjust setup.cfg to require py3.
This prevents breakage for any projects still installing cinder under
py2. These can be changed by a follow up patch in January.
Co-authored-by: Sean McGinnis <sean.mcginnis@gmail.com>
Co-authored-by: Brian Rosmaita <rosmaita.fossdev@gmail.com>
Closes-bug: #1853372
Change-Id: I376bd708ecc864f29c35b7225f875bb20a98cd3c
Bump the storpool module's version to 4.0.0 for various
improvements and fixes.
Add storpool.spopenstack at its current version 2.2.1.
Add both storpool and storpool.spopenstack to setup.cfg and
lower-constraints.txt.
Change-Id: I2764e1a5f1ec8bbd878a7b2346722ec723889b22
With the latest changes in the rsdlib in the RSD driver,
The _get_providing_pool(self, volume) method is returning
StoragePoolCollection instance, instead of StoragePool URL. Made
code changes and corresponding unit tests to address this changes
Change-Id: If7d24d2537deecd28400c120a23f3af172e92222
Closes-Bug: #1836121
This patch adds a new [extras] to setup.cfg. This section contains
support for drivers and their dependency requirements. This allows
a user to pip install cinder and optionally install a driver's
required pypi based library.
For example, if you wanted to install cinder and support the 3PAR
driver, you would use:
pip install cinder[hpe3par]
This installs all of the cinder requirements as well as the requirements
for the hpe3par driver.
The following drivers weren't added to the extras stanza
rbd: No rados library in pypi
drbd: There is no drbdmanage pypi package
linstor: no python-linstor pypi package
storpool: pypi package doesn't install in python3 env
Change-Id: I2200ce6f554df0c988eb39521ce4defd75998a85
This goal is to implement the process set out in the 2018-10-24 Python
Update Process TC resolution[1], for the Train cycle to ensure unit
testing is in place for all of the Tested Runtimes for Train[2].
In practice, this generally means adding unit tests for Python 3.7 and dropping
unit tests for Python 3.5. Using the Zuul template for Train will ensure that
all projects that support Python3 will be tested against the agreed runtime
versions, and make it easier to update them in future.
[1]https://governance.openstack.org/tc/resolutions/20181024-python-update-process.html
[2]https://governance.openstack.org/tc/reference/runtimes/train.html
Change-Id: I03679fa9f097080250668ca3cc92d4360e5d2494
Depends-On: https://review.opendev.org/#/c/641878/
This is a followup to Drop py35 jobs from gate and tox env[1].
[1] https://review.openstack.org/#/c/639385/
Change-Id: I282efb314b82381feb1d34f84e628f4e9853394f
Tox has py36 env enabled but it isn't consistent with the setup.cfg.
To maintain consistency, this patch adds the entry for py36 in
setup.cfg metadata.
Change-Id: Ie3fd02d7c9d2f6e70a13baf24473a2c1d561a1fd
When the sample config is generated, the policy_file default value
specified by oslo.policy is showing up, not the default value that
Cinder is using. Correct this by enhancing the function specified
for cinder in the oslo.config.opts.defaults entry point.
This patch exposed Bug #1807184 in oslo.policy. The requirements
and lower-constraints changes on this patch bump the minimum
version of oslo.policy we use to include the fix (1.44.1). This
version was already included in upper-constraints by Change
I50bb9d48106376f5baaafae372492c0744182da2.
Change-Id: Ic28d660a9d876139f47f98cf1024a30b005cd0e0
Closes-bug: #1807071
The resource_filters.json file has been added to the included data files
which will allow packagers to rely on the default file instead of having
to carry it as a template.
Change-Id: I2a0120c4ab199ef7ede09a707de8540ce98809af
Signed-off-by: Kevin Carter <kevin@cloudnull.com>
We add the oslo_messaging.notify.drivers configuration in [1] for
backwards compat with Havana notification_driver configuration values,
and add the oslo_middleware configuration in [2] for backwards
compatibility with Juno middleware configurations.
But now these configuration is already out-of-date and useless, so we
remove these configurations in this patch.
[1] bcd9f363ff8a10ff30795c54f471a8c6d76450fe
[2] c4897471777949983912676ad46ad99c42ed2b22
Change-Id: I92792a98bb21e2759549949333dba82df4345c01
This adds the cinder-status CLI for performing upgrade checks as part of
the Stein cycle upgrade-checkers goal. It only includes a placeholder
for actual checks. Follow up patches will need to be added for anything
we identify as needing specific checking.
Story: 2003657
Task: 26123
Change-Id: I2e532d313d12e60848b17e869882e52ec456929b
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
As part of Queens Goal "Split Tempest Plugins into Separate
Repos/Projects",the cinder tempest plugin needs to be split
into a separate project.
https://governance.openstack.org/tc/goals/queens/split-tempest-plugins.html
This patch removes the in-tree tempest plugin as well as the
setuptools entry point.
Change-Id: I5ff95ca13f02ed6e0afb35f0d6bb5c36d4111f5a
Depends-On: Ib309cb1f87211e82eae0d27fa2464ec13a9deca6
Implements: blueprint goal-split-tempest-plugin
This completes the "policy-in-code" work for Cinder by removing
the old policy.json handling. It also adds new in-code checks to
the legacy consistency group code for completeness.
Change-Id: I810b6cb6bba2d95cc5bb477d6e2968ac1734c96b
Depends-on: I364e401227fe43e2bacf8a799e10286ee445f835
Implements: bp policy-in-code
This is the basic patch which consits of the framework
code for default policy in code feature as well as
support in attachment resource.
Change-Id: Ie3ff068e61ea8e0e8fff78deb732e183e036a10c
Partial-Implements: blueprint policy-in-code
In order to make it simpler to use the default
configuration files when deploying services
from source, the files are added to pbr's
data_files section so that the files are
included in the built wheels and therefore
deployed with the code. Packaging and deployment
tools can then more easily use the default files
if they wish to.
This pattern is already established with similar
files for neutron and the glance metadefs as has
been mentioned in the related bug report.
Change-Id: Idbc616e9ca23b1b7187f39a1e157f56862851f6c
Closes-Bug: #1718356
We should be treating warnings from Sphinx as
errors as they usually result in bad HTML output.
Now that we have all of the existing warnings resolved we
want to turn on this option so that more bad docstrings, etc.
do not get merged.
One last bad docstring appears to have snuck in. This patch
also fixes that docstring problem in cinder/volume/qos_specs.py .
We have a requirement on graphviz that was never handled and is
actually causing one of our web pages to be improperly rendered.
The patch adds the dependency to bindep.txt so that we do not
see a check failure and so the documentation builds properly.
Change-Id: I66a9282b63d884a390534b0c777be8433a7e9bb3