oslo_versionedobjects was not made available until very
late in the Kilo cycle (i.e. near the end of kilo-3).
In order to make progress on cinder objects, a fork of
nova objects was made, so that proper trial and testing
could be done. The following patch makes the switch to
use oslo_versionedobjects.
Implements: blueprint cinder-objects
Change-Id: I883f387c8247e8d79da82016a624cef2180cde88
suds-jurko is actively maintained (latest commit in december 2014) and supports
Python 3, whereas suds doesn't seem to be maintained anymore (last release in
2010).
suds-jurko is a drop-in replacement for suds, both packages provide the same
Python module.
suds-jurko is already in global requirements.
Change-Id: I646602624af7fbece277fe2305a3a541a456ed85
This patch adds the os-brick pypi library to
Cinder's requirements.txt as a precursor to the
removal of cinder/brick from the codebase.
Change-Id: Ib0c0996421af1c52fe66df5479768addc40412ad
This patch moves Cinder to using olso.middleware, updates us so
we are using the oslo_middleware namespace and syncs the latest
middleware code from oslo-incubator to support grenade jobs.
The details for the middleware sync from oslo-incubator are as follows:
Current HEAD in OSLO:
---------------------
commit e589dde0721a0a67e4030813e582afec6e70d042
Date: Wed Feb 18 03:08:12 2015 +0000
Merge "Have a little fun with release notes"
Changes merged with this patch:
---------------------
__init__.py
4ffc4c87 - Add middleware.request_id shim for Kilo
4504e4f4 - Remove middleware
catch_errors.py
a01a8527 - Use oslo_middleware instead of deprecated oslo.middleware
ce8f8fa4 - Add middleware.catch_errors shim for Kilo
4504e4f4 - Remove middleware
5d40e143 - Remove code that moved to oslo.i18n
76183592 - add deprecation note to middleware
463e6916 - remove oslo log from middleware
fcf517d7 - Update oslo log messages with translation domains
request_id.py
a01a8527 - Use oslo_middleware instead of deprecated oslo.middleware
66d8d613 - Fix oslo.middleware deprecation error
4ffc4c87 - Add middleware.request_id shim for Kilo
4504e4f4 - Remove middleware
76183592 - add deprecation note to middleware
d7bd9dc3 - Don't store the request ID value in middleware as class variable
Some notes on this change. It is based on the change made in Nova:
https://review.openstack.org/#/c/130771 and is the recommended method
for cleaning up the unused portions of middleware from oslo-incubator,
moving to the oslo.middleware library and not breaking grenade in the
gate.
Change-Id: Ia99ab479cb8ef63a0db1a1208cc2501abba6132c
The Quobyte driver introduced an new dependency to xattr
python binding. This driver is the only consumer of xattr.
Instead of introducing new dependencies call getfattr binary
as already done in the quobyte nova volume driver.
Closes-Bug: 1420332
Co-Authored-By: Marc Koderer <marc@koderer.com>
Change-Id: I83f97310313cf7a603996ae64327002cdf0ad5fc
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
The common code between various VMware drivers was moved to
oslo.vmware library during Icehouse release. The VMDK driver
should be updated to use this library. Changes are mostly
replacing import statements and removing redundant modules
and corresponding test cases.
Summary of changes:
* Replace api with oslo.vmware.api
* Replace vim with oslo.vmware.vim
* Replace pbm with oslo.vmware.pbm
* Replace io_util with oslo.vmware.image_transfer
* Replace vmware_images with oslo.vmware.image_transfer
* Replace read_write_util with oslo.vmware.rw_handles
* Remove error_util and use oslo.vmware.exceptions
* Move VMDK driver specific exceptions to a new module
'exceptions'
* Replace PBM WSDL files with the corresponding files in
oslo.vmware
* Replace PBM related methods in volumeops with the
corresponding ones in oslo.vmware.pbm
Implements: blueprint vmdk-oslo.vmware
Change-Id: Ib484fabffb8ef1a56051d7e1bed5218b633306bb
Since Cinder does not support Python 2.6 anymore and that argparse is
native in Python >=2.7, no need to pip install it.
Change-Id: I1701a3f6584c5fc827387b185d7182d3011062ca
Submitted a retry decorator and it was pointed out that
the retrying library was already in global-requirements,
it would probably be good to leverage this and use it rather
than roll our own, so let's add it to our version of requirements
and then we can look at whether using a decorator or just
leveraging the lib is the right way to go.
Change-Id: Ieea042e5cd65b7c7bfa803996f60856fcae054bf
This patch adds a new filter for the cinder scheduler that
can interpret two new properties provided by backends,
'filter_function' and 'goodness_function'. A driver can rely
on cinder.conf entries to define these properties for a backend
or the driver can generate them some other way. An evaluator is
used by the filter to parse the properties. The 'goodness_function'
property is used to weigh qualified backends in case multiple ones
pass the filter. More details can be found in the spec:
https://review.openstack.org/#/c/129330/
Implements: blueprint filtering-weighing-with-driver-supplied-functions
DocImpact: New optional backend properties in cinder.conf.
New filter and weigher available for scheduler.
Change-Id: I38408ab49b6ed869c1faae746ee64a3bae86be58
Manual push to sync global req. Just need the setuptools
pin, further detail here: http://goo.gl/c9RmSE
Change-Id: I75e7c8829153e10b81d2ce5dbfca84fdde14a3ff
Supported Operations are:
- Create Volume
- Delete Volume
- Attach Volume
- Detach Volume
- Extend Volume
- Create Snapshot
- Delete Snapshot
- List Snapshots
- Create Volume from Snapshot
- Create Volume from Image
- Create Volume from Volume (Clone)
- Create Image from Volume
The driver uses a file-based interface to access the configured
Quobyte volume. Therefore, the driver is similar to the existing
drivers NFS and GlusterFS.
Due to the similarities, I reused the snapshot code from the GlusterFS
driver. Gluster, thanks for that! I've kept the "Red Hat" copyright in
the header to credit you properly.
All driver functions are covered by unit tests. Snapshot tests were
taken over from test_glusterfs.py. New tests are written using "Mock"
instead of "mox".
Certification tests: https://bugs.launchpad.net/cinder/+bug/1401471
Implements: blueprint quobyte-usp-driver
Change-Id: I7ca13e28b000d7a07c2baecd5454e50be4c9640b
Let's switch to the newly released oslo library for the
processutils and lockutils. We use the config fixture(s) to
specify disable_process_locking and lock_path in the CONF
variable of oslo.concurrency library for correctly setting the
flags.
Change-Id: Ib8f3aac5449eba66ea84bc5cad8aea061adab276
oslo.utils library now provides the functionality previously in
oslo-incubator's excutils, importutils, network_utils, strutils
timeutils, units etc. Some of these outdated modules will still be
around for a while until all other oslo modules that use them have been
updated in future commits.
Change-Id: Idee8600dfe42e5977b8fb824e91afff7e9119981
Very simple import change in each file, just touches a whole
lot of files. jsonutils has graduated into a standalone library
and has been removed from the oslo-incubator repository.
We should be using the library for all projects.
This commit doesn't change files synced from oslo-incubator, and
doesn't remove the 'module=jsonutils' in openstack-common.conf.
Another sync commit will cover that.
Change-Id: I56ea380a85e8a3c1b42b2425430fc28409937365
python-barbicanclient 3.0.0 has introduced cliff module, but pins it
to 1.6.1, while global-requirements set it to >=1.7.0, now the whole
OpenStack projects depends on higher version of cliff, but
python-barbicanclient is needed by cinder, then grenade test will
fail because: pkg_resources.DistributionNotFound: cliff==1.6.1
As long as python-barbicanclient maintainers don't provide a patch
for 3.0.0 (which seems not happen FMPOV), we need to disbable this
version.
Change-Id: I02f055ae89989cef2bd0264c60279a1f1a141e01
Related-Bug: #1388414
Need to land the sample config update with these
updates so that the global requirements update can
pass tests.
Change-Id: Iaae306f05098165d80a7398a22038b322e9f7935
*) Add osprofiler wsgi middleware
This middleware is used for 2 things:
1) It checks that person who want to trace is trusted and knows
secret HMAC key.
2) It start tracing in case of proper trace headers
and add first wsgi trace point, with info about HTTP request
*) Add initialization of osprofiler at start of serivce
Set's olso.messaging notifer instance (to send notifications to Ceilometer)
*) Fix fake notifier
NOTE to test this:
You should put to localrc:
RECLONE=no
CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler
ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral,ceilometer-anotification,ceilometer-collector
ENABLED_SERVICES+=,ceilometer-alarm-evaluator,ceilometer-alarm-notifier
ENABLED_SERVICES+=,ceilometer-api
You should use python-cinderclient with this patch:
https://review.openstack.org/#/c/103359/
Run any command with --profile SECRET_KEY
$ cinder --profile SECRET_KEY create 1
# it will print <Trace ID>
Get pretty HTML with traces:
$ osprofiler trace show --html <Profile ID>
note that osprofiler should be run from admin user name & tenant.
Change-Id: Ic3ce587946eaa7e6b19cf35a2cc905ae5de29dd3
Adds a barbican keymgr wrapper to the key manager interface in
cinder. This allows barbican to be configured as the key manager
for encryption keys in cinder. The wrapper translates calls from
the existing key manager interface to python-barbicanclient.
There are two new configuration variables: encryption_auth_url
(the authentication URL for the encryption service) and
encryption_api_url (the api URL for the encryption service).
Change-Id: Ifd0d9b073d7f1c3c92d318c20a080b253008b50c
Implements: blueprint encryption-with-barbican
DocImpact
auth_token middleware in python-keystoneclient is deprecated and has
been moved to the keystonemiddleware repo.
Closes-Bug: #1342274
Change-Id: I1aadbe24db63eb2507b088cd53886d7f2e192cab