ironic.objects.chassis module

class ironic.objects.chassis.Chassis(context=None, **kwargs)[source]

Bases: IronicObject, VersionedObjectDictCompat

VERSION = '1.3'
create(context=None)[source]

Create a Chassis record in the DB.

Column-wise updates will be made based on the result of self.what_changed(). If target_power_state is provided, it will be checked against the in-database copy of the chassis before updates are made.

Parameters:

context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Chassis(context)

property created_at
dbapi = <oslo_db.api.DBAPI object>
property description
destroy(context=None)[source]

Delete the Chassis from the DB.

Parameters:

context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Chassis(context)

property extra
fields = {'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'description': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'extra': FlexibleDict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'id': Integer(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'uuid': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}
classmethod get(context, chassis_id)[source]

Find a chassis based on its id or uuid and return a Chassis object.

Parameters:
  • context – Security context

  • chassis_id – the id or uuid of a chassis.

Returns:

a Chassis object.

classmethod get_by_id(context, chassis_id)[source]

Find a chassis based on its integer ID and return a Chassis object.

Parameters:
  • cls – the Chassis

  • context – Security context

  • chassis_id – the ID of a chassis.

Returns:

a Chassis object.

classmethod get_by_uuid(context, uuid)[source]

Find a chassis based on UUID and return a Chassis object.

Parameters:
  • cls – the Chassis

  • context – Security context

  • uuid – the UUID of a chassis.

Returns:

a Chassis object.

property id
classmethod list(context, limit=None, marker=None, sort_key=None, sort_dir=None)[source]

Return a list of Chassis objects.

Parameters:
  • cls – the Chassis

  • context – Security context.

  • limit – maximum number of resources to return in a single result.

  • marker – pagination marker for large data sets.

  • sort_key – column to sort results by.

  • sort_dir – direction to sort. “asc” or “desc”.

Returns:

a list of Chassis object.

refresh(context=None)[source]

Loads and applies updates for this Chassis.

Loads a Chassis with the same uuid from the database and checks for updated attributes. Updates are applied from the loaded chassis column by column, if there are any updates.

Parameters:

context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Chassis(context)

save(context=None)[source]

Save updates to this Chassis.

Updates will be made column by column based on the result of self.what_changed().

Parameters:

context – Security context. NOTE: This should only be used internally by the indirection_api. Unfortunately, RPC requires context as the first argument, even though we don’t use it. A context should be set when instantiating the object, e.g.: Chassis(context)

property updated_at
property uuid
class ironic.objects.chassis.ChassisCRUDNotification(context=None, **kwargs)[source]

Bases: NotificationBase

Notification emitted when ironic creates, updates, deletes a chassis.

VERSION = '1.0'
property created_at
property event_type
fields = {'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'event_type': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'level': NotificationLevel(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False,valid_values=('debug', 'info', 'warning', 'error', 'critical')), 'payload': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'publisher': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}
property level
property payload
property publisher
property updated_at
class ironic.objects.chassis.ChassisCRUDPayload(chassis, **kwargs)[source]

Bases: NotificationPayloadBase

SCHEMA = {'created_at': ('chassis', 'created_at'), 'description': ('chassis', 'description'), 'extra': ('chassis', 'extra'), 'updated_at': ('chassis', 'updated_at'), 'uuid': ('chassis', 'uuid')}
VERSION = '1.0'
property created_at
property description
property extra
fields = {'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'description': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'extra': FlexibleDict(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'uuid': UUID(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False)}
property updated_at
property uuid