cinder.objects.cluster module

class Cluster(context=None, **kwargs)

Bases: cinder.objects.base.CinderPersistentObject, cinder.objects.base.CinderObject, cinder.objects.base.CinderComparableObject

Cluster Versioned Object.

Method get_by_id supports as additional named arguments:
  • get_services: If we want to load all services from this cluster.

  • services_summary: If we want to load num_nodes and num_down_nodes

    fields.

  • is_up: Boolean value to filter based on the cluster’s up status.

  • read_deleted: Filtering based on delete status. Default value “no”.

  • Any other cluster field will be used as a filter.

OPTIONAL_FIELDS = ('num_hosts', 'num_down_hosts', 'services')
VERSION = '1.1'
property active_backend_id
property binary
create()
property created_at
property deleted
property deleted_at
destroy()
property disabled
property disabled_reason
fields = {'active_backend_id': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'binary': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'deleted': Boolean(default=False,nullable=True), 'deleted_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'disabled': Boolean(default=False,nullable=True), 'disabled_reason': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'frozen': Boolean(default=False,nullable=False), 'id': Integer(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'last_heartbeat': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'name': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'num_down_hosts': Integer(default=0,nullable=False), 'num_hosts': Integer(default=0,nullable=False), 'replication_status': ReplicationStatus(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True,valid_values=('error', 'enabled', 'disabled', 'not-capable', 'failover-error', 'failing-over', 'failed-over', 'enabling', 'disabling')), 'services': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}
property frozen
property id
property is_up
property last_heartbeat
model

alias of cinder.db.sqlalchemy.models.Cluster

property name
property num_down_hosts
property num_hosts
obj_load_attr(attrname)

Lazy load services attribute.

obj_make_compatible(primitive, target_version)

Make a cluster representation compatible with a target version.

property replication_status
reset_service_replication()

Reset service replication flags on promotion.

When an admin promotes a cluster, each service member requires an update to maintain database consistency.

save()

Save the changed fields back to the store.

This is optional for subclasses, but is presented here in the base class for consistency among those that do.

property services
property updated_at
class ClusterList(*args, **kwargs)

Bases: cinder.objects.base.ObjectListBase, cinder.objects.base.CinderObject

VERSION = '1.0'
fields = {'objects': List(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False)}
classmethod get_all(context, is_up=None, get_services=False, services_summary=False, read_deleted='no', **filters)

Get all clusters that match the criteria.

Parameters
  • is_up – Boolean value to filter based on the cluster’s up status.

  • get_services – If we want to load all services from this cluster.

  • services_summary – If we want to load num_nodes and num_down_nodes fields.

  • read_deleted – Filtering based on delete status. Default value is “no”.

  • filters – Field based filters in the form of key/value.

property objects