We high-spiritedly announce the release of: cinderlib 0.9.0: Direct usage of Cinder Block Storage drivers without the services This is the first release of cinderlib. The source is available from: https://git.openstack.org/cgit/openstack/cinderlib Download the package from: https://pypi.org/project/cinderlib For more details, please see below. 0.9.0 ^^^^^ Prelude ******* The Cinder Library, also known as cinderlib, is a Python library that leverages the Cinder project to provide an object oriented abstraction around Cinder's storage drivers to allow their usage directly without running any of the Cinder services or surrounding services, such as KeyStone, MySQL or RabbitMQ. This is the Tech Preview release of the library, and is intended for developers who only need the basic CRUD functionality of the drivers and don't care for all the additional features Cinder provides such as quotas, replication, multi-tenancy, migrations, retyping, scheduling, backups, authorization, authentication, REST API, etc. New Features ************ * Use a Cinder driver without running a DBMS, Message broker, or Cinder service. * Using multiple simultaneous drivers on the same application. * Basic operations support. * Create volume * Delete volume * Extend volume * Clone volume * Create snapshot * Delete snapshot * Create volume from snapshot * Connect volume * Disconnect volume * Local attach * Local detach * Validate connector * Extra Specs for specific backend functionality. * Backend QoS * Multi-pool support * Metadata persistence plugins. * Stateless: Caller stores JSON serialization. * Database: Metadata is stored in a database: MySQL, PostgreSQL, SQLite... * Custom plugin: Caller provides module to store Metadata and cinderlib calls Changes in cinderlib 132d08a8946779f4a6efc07e35684313d6e2af91..0.9.0 -------------------------------------------------------------------- 502f4ce Fix get_connector_properties 42b650e DOCFIX: correct syntax of codeblock bcf0710 Replace openstack.org git:// URLs with https:// 37c085f Add DevStack plugin b6bc89d Fix RBD connector 1bdc8fa Fix cinderlib Python package 4219b90 Fix Volume snapshots and connections on deletion fa0f512 Fix error_deleting status in vol and snap 8491638 Convert the driver_options to a dictionary cd5365d Add zuul jobs 77f399f Format as a Cinder-related OpenStack project 49554c7 Bump version: 0.3.8 → 0.3.9 3c80321 Fix raise on Snapshot initialization 44dd496 Bump version: 0.3.7 → 0.3.8 7dfc3c2 Fix exception raise on failed attach 5817b95 Bump version: 0.3.6 → 0.3.7 87f0787 Fix initialization with legacy pools e314e6d Remove unused exception 6f0e451 Bump version: 0.3.5 → 0.3.6 f24db76 Fix stats caching b13e7ef Bump version: 0.3.4 → 0.3.5 b89f2f2 Workaround for driver stats bug c1bbf15 Add driver dependencies to containers c8fc952 Add support for MultiOpt parameters a9b4466 Bump version: 0.3.3 → 0.3.4 ef2672b Remove rbd-nbd and improve rbd-ko bf6aa77 Bump version: 0.3.2 → 0.3.3 19d4ca2 Document list_installed_drivers a09a7e1 Support NBD RBD attachments b0be34b List available drivers in current Cinder package 6af899b Add history for 0.3.2 bced31f Bump version: 0.3.1 → 0.3.2 1d25f38 Fix config parse when caller has args a2b2324 Bump version: 0.3.0 → 0.3.1 259db16 Build stable Rocky container ead327c Raise ProcessExecutionError on execute's OSError 5dbf752 Bump version: 0.2.2 → 0.3.0 8577622 Update cinderlib c491c71 Support pool-aware drivers 09abcf4 Stop using AZ to store backend name 696ad6d docs: Add fail_on_missing_backend to header e53227a Add volume type support 9f8d4b8 Raise NotImplementedError e2c10ee Fix Python3 compatibility d39092b Fix minor typo f6cb4ed Detach volumes when unavailable 0c2a82a Improve error message on unavailable de1ee38 Add LVM CI job 5b5213f Make tox -epy27 pass e93d054 Prepare for cinder gate test 6fe85bf Fix #9: RBD attachments not working 713fcf7 Fix #7: Facilitate running example using container 1ae465e docs: Update LVM configuration b2bfa96 Fix typo 2fcf68a Fix docker automated build fe4d66a Bump version: 0.2.2.dev0 → 0.2.2 836182b docs: Update docks referring to Pike release a0b98c9 Hook based image build process b0015cb Ensure lvm2 package is installed 03e6f2f Support requests and requests-kerberos 3e6b68c Docker image from Cinder master 7d6c29a Change Cinder requirements 6ebd043 Fix DBError on attach on non Pike versions a18eaaa Stop setting attributes on CONF 81c66bc Fix loading object without configured backend b788d54 Fix README example fd6b0dc Provide a workaround for demo on old centos boxes ba286b4 Remove separator spaces on serialization 69bca39 Fix example in CONTRIBUTING 310b89f Don't raise on set_key_value and delete_key_value 72de1dd Fix DB persistence get_key_values 6928a56 Fix persistence base set_key_value 05ccf5c Workaround for Python 2 getaddrinfo bug 148fbfa Docker: Make Dockerfiles easier to read bd3ff23 Bump version: 0.2.1 → 0.2.2.dev0 65977d1 Support PEP 440 version scheme 38db760 docs: Fix automatic doc build requirements b566fe7 docs: Add docker hub shields to README.rst d125c6c docs: Markdown README with RST af237d3 Fix README on Github d49f9d2 Fix doc build 6f627eb Fix install_requirest e253ea9 Don't install RDO Pike repository 8250aaa Add Docker images fe9922d Support loading object without configured backend 091be3c Move the setup of the CONF to the persistence d883e7d Use NOS-Brick 6ef8ec9 tests: Support older versions of lsblk d60078f docs: Validation of XtremIO with FC 4925f39 dosc: Fix object's dumps being called as method 2266750 docs: Mention how to avoid keyring in /etc/ceph 6310829 Fix github README file b7cee8b Bump version: 0.2.0 → 0.2.1 ce4a475 Fix package readme 8c28652 Bump version: 0.1.0 → 0.2.0 08a067f docs: Fix VMAX configuration for Q and R 7b28212 func tests: Fix num volumes in stats 1820e02 Fix multipath 744f956 docs: Validation of VMAX 0c1e656 docs: Validation of SolidFire 05def46 docs: Fix readthedocs doc building 8e97951 docs: Add validated drivers section 0640124 docs: Explain reporting validation results c700714 Support Ceph/RBD in functional tests 2d0e6b3 Functional tests support for non precise sizes 0c46ec5 Improve lazy loaded volumes list 3aa57a7 Update documentation 748a5d9 Support changing persistence backend while running 73b0cc3 Allow saving deserialized objects 85d9525 Add save method ea19926 Add refresh method 3310a47 Add minimum serialization method to objects 291c534 Fix serialization 4b23376 Add dump and dumps methods e4d29a6 Don't include package data for now 4c1dce9 Fix generated packages ec7cfa4 Don't fail if connector has no multipath info 467ba49 Add key-value storage in persistence plugins d70ebd9 Fix multipath value on persitence retrieval 6f1c02f Fix DeviceUnavailable exception 47a42d1 Add custom connector for RBD f4ac8f0 Fix Connection OVO parameters ca19de1 Don't alter persistence config c049a46 Add device_attached to Connection object eca52ae Refactor connections f0d5f8a Consolidate persistence unit tests b02fad6 Add DB metadata plugin unit tests 60c6557 Set created_at field on creation e5be04b Add memory metadata plugin unit tests 8bdec6a Run unit tests in verbose mode 196abb9 Fix memory metadata plugin 87f11aa Automatically set availability_zone in Volume 153fd3d Add DB persistence plugin ffc5312 Always call create_export and remove_export a6ecf01 Fix name & description inconsistency a4ab3dc Fix wrong size in volume from snapshot d913aed Add metadata plugin mechanism db5ed94 Fix iSCSI disconnect 7dde24e Add support for default project_id and user_id 0b608f8 Add more funtional tests 69e1b65 Improve stats documentation 8035671 Fix XtremIO volume cloning 10a2559 Update history file 040abe1 Fix create volume from snapshot dc43aff Add functional testing documentation fcf23fa Add some basic functional tests bf20215 Limit dependency to Pike e2114cd Add driver dependencies as extras e1a7ed3 Fix docs: Connection detach info is wrong a5ba7e2 Fix disablig of sudo 2448d4f Improve readme losetup command b49f5d8 Add documentation d15a6d7 Fix read the docs building error a4eb75c Fix spelling error e556c1d Fix tox and requirements 7633007 Accept id set to None e604c25 Fix serialization of non attached Connection 96cef2d Add support to modify OVO fields on connect method a73ee7d Small README change 433b4c0 Remove unused shields from README a9e21b4 Fix missing attached attribute 40e7a1d Minor readme example fix a64f287 Add usage example in readme Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..522d8c9 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +cinder diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 0000000..9ba0853 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,12 @@ +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. + +pbr!=2.1.0,>=2.0.0 # Apache-2.0 +hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 +coverage!=4.4,>=4.0 # Apache-2.0 +ddt>=1.0.1 # MIT +oslotest>=3.2.0 # Apache-2.0 +testscenarios>=0.4 # Apache-2.0/BSD +testtools>=2.2.0 # MIT +stestr>=1.0.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org