poppy.storage drivers

poppy.storage.base base classes

class poppy.storage.base.controller.StorageControllerBase(driver)

Bases: object

Top-level class for controllers.

Parameters:driver – Instance of the driver instantiating this controller.
class poppy.storage.base.driver.StorageDriverBase(conf)

Bases: object

Interface definition for storage drivers.

Data plane storage drivers are responsible for implementing the core functionality of the system.

Connection information and driver-specific options are loaded from the config file.

Parameters:conf (oslo_config.ConfigOpts) – Configuration containing options for this driver.
flavors_controller

Returns the driver’s hostname controller.

:raise NotImplementedError

is_alive()

Check whether the storage is ready.

:raise NotImplementedError

services_controller

Returns the driver’s hostname controller.

:raise NotImplementedError

storage_name()

For name.

:raise NotImplementedError

class poppy.storage.base.services.ServicesControllerBase(driver)

Bases: poppy.storage.base.controller.StorageControllerBase

Services Controller Base definition.

create(project_id, service_id, service_json)

:param project_id :param service_id :param service_json :raise NotImplementedError

create_cert(project_id, cert_obj)

:param project_id :param cert_obj :raise NotImplementedError

delete(project_id, service_id)

:param project_id :param service_id :raise NotImplementedError

static format_result(result)

:param result :raise NotImplementedError

get()

:raise NotImplementedError

get_provider_details(project_id, service_id)

:param project_id :param service_id :raise NotImplementedError

list(project_id, marker=None, limit=None)

:param project_id :param marker :param limit :raise NotImplementedError

update(project_id, service_id, service_json)

:param project_id :param service_id :param service_json

:returns service_obj :raise NotImplementedError

update_cert_info(domain_name, cert_type, flavor_id, cert_details)

update_cert_info.

:param domain_name :param cert_type :param flavor_id :param cert_info

update_provider_details(provider_details)

:param provider_details :raise NotImplementedError

update_state(project_id, service_id, state)

Update service state

:param project_id :param service_id :param state :raise NotImplementedError

poppy.storage.cassandra driver

Cassandra Storage Driver for CDN

Exports Cassandra storage controllers.

Field Mappings:
In order to reduce the disk / memory space used, fields name will be, most of the time, the first letter of their long name. Fields mapping will be updated and documented in each controller class.

Cassandra storage driver implementation.

class poppy.storage.cassandra.driver.CassandraStorageDriver(conf)

Bases: poppy.storage.base.driver.StorageDriverBase

Cassandra Storage Driver.

change_namespace(namespace)

change_namespace.

:param namespace

close_connection()

close_connection.

connect()

connect.

:returns connection

connection

Cassandra connection instance.

database

database.

:returns session

delete_namespace(namespace)

delete_namespace.

:param namespace

flavors_controller

flavors_controller.

:returns flavor controller

is_alive()

Health check for Cassandra.

services_controller

services_controller.

:returns service controller

storage_name

storage name.

:returns ‘Cassandra’

class poppy.storage.cassandra.services.ServicesController(driver)

Bases: poppy.storage.base.services.ServicesControllerBase

Services Controller.

cert_already_exist(domain_name, comparing_cert_type, comparing_flavor_id, comparing_project_id)

Check if a cert with this domain name and type has already been created, or if the domain has been taken by other customers

:param domain_name :param cert_type :param comparing_project_id

:returns Boolean if the cert with same type exists with another user.

create(project_id, service_obj)

create.

:param project_id :param service_obj

:raises ValueError

create_cert(project_id, cert_obj)
delete(project_id, service_id)

delete.

Archive local configuration storage

delete_cert(project_id, domain_name, cert_type)

Delete a certificate.

:param project_id :param domain_name :param cert_type

:raises ValueError

domain_exists_elsewhere(domain_name, service_id)

Check if a service with this domain name has already been created.

:param domain_name :param service_id

:raises ValueError :returns Boolean if the service exists with another user.

static format_result(result)

format_result.

:param result :returns formatted result

get(project_id, service_id)

get.

:param project_id :param service_name

:returns result The requested service :raises ValueError

get_certs_by_domain(domain_name, project_id=None, flavor_id=None, cert_type=None)
get_provider_details(project_id, service_id)

get_provider_details.

:param project_id :param service_id :returns results Provider details

get_service_count(project_id)

Fetch Count of Services per project_id. :param project_id :returns count

get_service_details_by_domain_name(domain_name)

get_provider_details_by_domain_name.

:param domain_name :returns Provider details

get_service_limit(project_id)

Fetch Current limit on number of services per project_id.

:param project_id :raises ValueError :returns limit, if limit exists else default.

list(project_id, marker, limit)

list.

:param project_id :param marker :param limit

:returns services

session

Get session.

:returns session

set_service_limit(project_id, project_limit)

Set Current limit on number of services per project_id.

:param project_id :param project_limit

update(project_id, service_id, service_obj)

update.

:param project_id :param service_id :param service_obj

update_cert_info(domain_name, cert_type, flavor_id, cert_details)

update_cert_info.

:param domain_name :param cert_type :param flavor_id :param cert_info

update_provider_details(project_id, service_id, provider_details)

update_provider_details.

:param project_id :param service_id :param provider_details

update_state(project_id, service_id, state)

Update service state

:param project_id :param service_id :param state

:returns service_obj

poppy.storage.mongodb driver

poppy.storage.mockdb driver

Storage Driver for CDN

Exports storage controllers.

Field Mappings:
In order to reduce the disk / memory space used, fields name will be, most of the time, the first letter of their long name. Fields mapping will be updated and documented in each controller class.

Storage driver implementation.

class poppy.storage.mockdb.driver.MockDBStorageDriver(conf)

Bases: poppy.storage.base.driver.StorageDriverBase

close_connection()
connect()
connection

Connection instance.

database
flavors_controller
is_alive()
services_controller
storage_name

For name.

class poppy.storage.mockdb.services.ServicesController(driver)

Bases: poppy.storage.base.services.ServicesControllerBase

create(project_id, service_obj)
create_cert(project_id, cert_obj)
delete(project_id, service_id)
delete_cert(project_id, domain_name, cert_type)
domain_exists_elsewhere(domain_name, service_id)
static format_result(result)
get(project_id, service_id)
get_certs_by_domain(domain_name, project_id=None, flavor_id=None, cert_type=None)
get_provider_details(project_id, service_id)
get_service_count(project_id)
get_service_details_by_domain_name(domain_name)
get_service_limit(project_id)
list(project_id, marker=None, limit=None)
session
set_service_limit(project_id, project_limit)
update(project_id, service_id, service_json)
update_cert_info(domain_name, cert_type, flavor_id, cert_details)
update_provider_details(project_id, service_name, provider_details)
update_state(project_id, service_id, state)

Update service state

:param project_id :param service_id :param state

:returns service_obj