ironic.objects.notification module¶
-
class
ironic.objects.notification.
EventType
(context=None, **kwargs)[source]¶ Bases:
ironic.objects.base.IronicObject
Defines the event_type to be sent on the wire.
An EventType must specify the object being acted on, a string describing the action being taken on the notification, and the status of the action.
-
VERSION
= '1.1'¶
-
property
action
¶
-
property
created_at
¶
-
fields
= {'action': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'object': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'status': NotificationStatus(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False,valid_values=('start', 'end', 'error', 'success')), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}¶
-
property
object
¶
-
property
status
¶
-
to_event_type_field
()[source]¶ Constructs string for event_type to be sent on the wire.
The string is in the format: baremetal.<object>.<action>.<status>
- Raises
ValueError if self.status is not one of
fields.NotificationStatusField
- Returns
event_type string
-
property
updated_at
¶
-
-
class
ironic.objects.notification.
NotificationBase
(context=None, **kwargs)[source]¶ Bases:
ironic.objects.base.IronicObject
Base class for versioned notifications.
Subclasses must define the “payload” field, which must be a subclass of NotificationPayloadBase.
-
VERSION
= '1.0'¶
-
property
created_at
¶
-
emit
(context)[source]¶ Send the notification.
- Raises
NotificationPayloadError
- Raises
oslo_versionedobjects.exceptions.MessageDeliveryFailure
-
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')), 'publisher': Object(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}¶
-
property
level
¶
-
property
publisher
¶
-
property
updated_at
¶
-
-
class
ironic.objects.notification.
NotificationPayloadBase
(*args, **kwargs)[source]¶ Bases:
ironic.objects.base.IronicObject
Base class for the payload of versioned notifications.
-
SCHEMA
= {}¶
-
VERSION
= '1.0'¶
-
property
created_at
¶
-
fields
= {'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}¶
-
populate_schema
(**kwargs)[source]¶ Populate the object based on the SCHEMA and the source objects
- Parameters
kwargs – A dict contains the source object and the keys defined in the SCHEMA
- Raises
NotificationSchemaObjectError
- Raises
NotificationSchemaKeyError
-
property
updated_at
¶
-
-
class
ironic.objects.notification.
NotificationPublisher
(context=None, **kwargs)[source]¶ Bases:
ironic.objects.base.IronicObject
-
VERSION
= '1.0'¶
-
property
created_at
¶
-
fields
= {'created_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True), 'host': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'service': String(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=False), 'updated_at': DateTime(default=<class 'oslo_versionedobjects.fields.UnspecifiedDefault'>,nullable=True)}¶
-
property
host
¶
-
property
service
¶
-
property
updated_at
¶
-