Notifications

Hint

In this context, “notifications” are not related to the DNS NOTIFY message.

Notifications are RPC calls that contain a JSON object. Designate both generates and receives notifications.

The purpose of notifications in to inform unrelated OpenStack components of events in real time and trigger actions.

Emitters

They are emitted by Central on the following events:

  • dns.tld.create
  • dns.tld.update
  • dns.tld.delete
  • dns.tsigkey.create
  • dns.tsigkey.update
  • dns.tsigkey.delete
  • dns.domain.create
  • dns.zone.create
  • dns.domain.update
  • dns.zone.update
  • dns.domain.delete
  • dns.zone.delete
  • dns.zone.touch
  • dns.recordset.create
  • dns.recordset.update
  • dns.recordset.delete
  • dns.record.create
  • dns.record.update
  • dns.record.delete
  • dns.blacklist.create
  • dns.blacklist.update
  • dns.blacklist.delete
  • dns.pool.create
  • dns.pool.update
  • dns.pool.delete
  • dns.domain.update
  • dns.zone.update
  • dns.zone_transfer_request.create
  • dns.zone_transfer_request.update
  • dns.zone_transfer_request.delete
  • dns.zone_transfer_accept.create
  • dns.zone_transfer_accept.update
  • dns.zone_transfer_accept.delete
  • dns.zone_import.create
  • dns.zone_import.update
  • dns.zone_import.delete
  • dns.zone_export.create
  • dns.zone_export.update
  • dns.zone_export.delete

Receivers

Notification from other OpenStack component outside of Designate are received by Designate Sink.

Format

An example notification from Neutron:

{
   "priority" : "INFO",
   "message_id" : "95ecdca3-967f-40aa-9469-d9fccc91d64b",
   "event_type" : "port.delete.start",
   "_context_roles" : [
      "Member"
   ],
   "_context_tenant_id" : "c97027dd880d4c129ae7a4ba7edade05",
   "timestamp" : "2012-11-16 12:56:17.155860",
   "_context_is_admin" : false,
   "_context_user_id" : "4ce5c085e09a478ea4edcd667a92df78",
   "payload" : {
      "port_id" : "bfdcb007-f68d-46bd-8150-abcae9fb3af6"
   },
   "_context_timestamp" : "2012-11-16 12:56:17.154672",
   "publisher_id" : "network.svc02.os.lan",
   "_context_read_deleted" : "no"
}

More examples can be found at designate/tests/resources/sample_notifications