DEPRECATED, Direct usage of Cinder Block Storage drivers without the services
Go to file
Brian Rosmaita e4dd75a3b4 Add local upper constraints support
The issue is that we want to install os-brick from source, but if we
do this using upper-constraints on the install, it will fail.  This
patch modifies the tox install command used by appropriate testenvs
so it will create and use a local constraints file with os-brick
removed.

The local u-c file is named 'local-upper-constraints.txt'.  The
constraints file used can be overridden via the
CINDERLIB_CONSTRAINTS_FILE environment variable.

Change-Id: I8cb4085dd465043a783c974886f56e49820871a1
2022-06-25 06:25:13 +00:00
cinderlib Fix privsep issues inside virtual env 2022-06-24 15:26:48 +02:00
devstack OpenDev Migration Patch 2019-04-26 16:28:35 +00:00
doc Update contributor docs 2021-06-30 09:45:28 -04:00
playbooks Update Ceph version on CI job 2022-06-15 18:38:14 +02:00
releasenotes Fix privsep issues inside virtual env 2022-06-24 15:26:48 +02:00
roles/run-cinderlib-tests Fix privsep issues inside virtual env 2022-06-24 15:26:48 +02:00
tools Add local upper constraints support 2022-06-25 06:25:13 +00:00
.gitignore Add local upper constraints support 2022-06-25 06:25:13 +00:00
.gitreview OpenDev Migration Patch 2019-04-26 16:28:35 +00:00
.stestr.conf Add zuul jobs 2019-02-26 16:21:34 +01:00
.zuul.yaml Use stable/yoga override for CI jobs (conclusion) 2022-06-16 09:29:13 -04:00
CONTRIBUTING.rst Ussuri contrib docs community goal 2020-03-05 10:00:21 -05:00
DESCRIPTION.rst Fix cinderlib Python package 2019-03-15 13:19:12 +01:00
HACKING.rst Format as a Cinder-related OpenStack project 2019-02-19 16:28:03 +01:00
LICENSE Format as a Cinder-related OpenStack project 2019-02-19 16:28:03 +01:00
README.rst Fix cinderlib Python package 2019-03-15 13:19:12 +01:00
babel.cfg Format as a Cinder-related OpenStack project 2019-02-19 16:28:03 +01:00
bindep.txt Use Python 3 by default and drop Python 2 2020-01-10 15:03:23 +01:00
requirements.txt Fix privsep issues inside virtual env 2022-06-24 15:26:48 +02:00
setup.cfg Fix privsep issues inside virtual env 2022-06-24 15:26:48 +02:00
setup.py Cleanup py27 support 2020-04-04 17:29:41 +02:00
test-requirements.txt Move cinderlib to new hacking 4.0.0 2021-02-23 16:25:51 +00:00
tox.ini Add local upper constraints support 2022-06-25 06:25:13 +00:00

README.rst

Cinder Library

image

image

image

Introduction

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.

The library 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.

The library was originally created as an external project, so it didn't have the broad range of backend testing Cinder does, and only a limited number of drivers were validated at the time. Drivers should work out of the box, and we'll keep a list of drivers that have added the cinderlib functional tests to the driver gates confirming they work and ensuring they will keep working.

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 it when necessary.

Demo