Go to file
Gorka Eguileor 42dbc4ac86 Fix test_global_setup unit test
Current code in test_global_setup sets a non valid user_id and leaves it
like that for the rest of the tests, which can lead to error:

ValueError: A string is required in field user_id, not a _SentinelObject

An easy way to reproduce this error is to create a file called fail.txt
with the following content:

cinderlib.tests.unit.test_cinderlib.TestCinderlib.test_global_setup
cinderlib.tests.unit.test_serialization.TestSerialization.test_conn_to_and_from

And then run from the tox virtual environment:

    stestr run --serial --load-list=fail.txt

This patch fixes this issue by restoring the values after the test is
run.

Change-Id: I121bc20c1ac4d7c07a1bcd13df19fdb868e65857
2021-06-29 17:48:07 +02:00
2021-06-29 17:48:07 +02:00
2019-04-26 16:28:35 +00:00
2020-08-07 14:46:23 +02:00
2021-06-22 00:11:18 +00:00
2021-06-18 15:12:24 +02:00
2019-02-26 16:21:34 +01:00
2019-04-26 16:28:35 +00:00
2019-02-26 16:21:34 +01:00
2021-06-22 00:11:18 +00:00
2019-03-15 13:19:12 +01:00
2019-03-15 13:19:12 +01:00
2021-04-19 22:13:48 -04:00
2020-04-04 17:29:41 +02:00
2020-04-04 17:29:41 +02:00
2021-04-19 22:13:48 -04:00

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

Description
DEPRECATED, Direct usage of Cinder Block Storage drivers without the services
Readme 3 MiB