# Pastebin XtQf24AV nobodycam@devstack:/opt/stack/ironic$ git diff ironic/objects/notification.py diff --git a/ironic/objects/notification.py b/ironic/objects/notification.py index e8ac9b667..e1a6359aa 100644 --- a/ironic/objects/notification.py +++ b/ironic/objects/notification.py @@ -120,6 +120,17 @@ class NotificationBase(base.IronicObject): notifier = rpc.get_versioned_notifier(publisher_id) notify = getattr(notifier, self.level) + + if 'previous_provision_state' in payload['ironic_object.data'].keys(): + pps = payload['ironic_object.data']['previous_provision_state'] + else: + pps= "None" # we are looking for a string to compaire + + # lets see if we can add a custom we're really done emit + if (pps == 'cleaning' and payload['ironic_object.data']['previous_target_provision_state'] == 'available' and + payload['ironic_object.data']['provision_state'] == 'available'): + event_type="baremetal.node.release.complete" + notify(context, event_type=event_type, payload=payload)