Bug 1281570 - [RFE][nova]: Versioned notification api
Summary: [RFE][nova]: Versioned notification api
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-nova
Version: 7.0 (Kilo)
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ga
: 9.0 (Mitaka)
Assignee: Eoghan Glynn
QA Contact: Prasanth Anbalagan
URL: https://blueprints.launchpad.net/nova...
Whiteboard: upstream_milestone_mitaka-3 upstream_...
: 1281569 (view as bug list)
Depends On:
Blocks: 1281573 1335634
TreeView+ depends on / blocked
 
Reported: 2015-11-12 20:04 UTC by Stephen Gordon
Modified: 2019-09-09 16:50 UTC (History)
13 users (show)

Fixed In Version: openstack-nova-13.0.0-1.el7ost
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-08-24 12:52:14 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 224755 0 None None None Never
OpenStack gerrit 229881 0 None None None Never
Red Hat Product Errata RHEA-2016:1761 0 normal SHIPPED_LIVE Red Hat OpenStack Platform 9 General Availability Advisory 2016-08-24 16:49:52 UTC

Description Stephen Gordon 2015-11-12 20:04:23 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/versioned-notification-api.

Description:

Versioned notification API

Notification interface of nova is not well defined and the current
notifications define a very inconsistent interface. There is no easy
way to see from the notification consumer point of view what is the format
and the content of the notification nova sends.

Nova developers can add new notifications to the system without specifying
the format and the content of the notification.

Moreover developers can change existing notifications without considering
backward compatibility towards the notification consumers.

Due to this situation maintaining a consumer for nova notifications is really
hard.

Specification URL (additional information):

http://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/versioned-notification-api.html

Comment 2 Mike McCune 2016-03-28 22:33:16 UTC
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions

Comment 3 Stephen Gordon 2016-06-14 19:20:26 UTC
*** Bug 1281569 has been marked as a duplicate of this bug. ***

Comment 6 Stephen Gordon 2016-07-05 20:46:47 UTC
QE will need to verify that on an OSP-d deployment the notification_format is "both", per upstream.

Comment 9 Prasanth Anbalagan 2016-08-19 02:39:30 UTC
Verified as follows -

[root@serverA]# yum list installed | grep openstack-nova
openstack-nova-api.noarch            1:13.1.1-2.el7ost       @rhelosp-9.0-puddle
openstack-nova-cert.noarch           1:13.1.1-2.el7ost       @rhelosp-9.0-puddle
openstack-nova-common.noarch         1:13.1.1-2.el7ost       @rhelosp-9.0-puddle
openstack-nova-compute.noarch        1:13.1.1-2.el7ost       @rhelosp-9.0-puddle
openstack-nova-conductor.noarch      1:13.1.1-2.el7ost       @rhelosp-9.0-puddle
openstack-nova-console.noarch        1:13.1.1-2.el7ost       @rhelosp-9.0-puddle
openstack-nova-novncproxy.noarch     1:13.1.1-2.el7ost       @rhelosp-9.0-puddle
openstack-nova-scheduler.noarch      1:13.1.1-2.el7ost       @rhelosp-9.0-puddle
[root@serverA]# 

Subscriber
============

 from kombu import Connection, Exchange, Queue
from pprint import pprint

nova_x = Exchange('nova', type='topic', durable=False)
info_q = Queue('notifications.info', exchange=nova_x, durable=False,
               routing_key='notifications.info')

def process_msg(body, message):
    print '='*80
    pprint(body)
    message.ack()

with Connection('amqp://guest:guest@localhost:5672//') as conn:
    with conn.Consumer(info_q, callbacks=[process_msg]):
        while True:
            try:
                conn.drain_events()
            except KeyboardInterrupt:
                break

Event
======

[root@serverA]# nova keypair-add key1
-----BEGIN RSA PRIVATE KEY-----
..
...
.....
-----END RSA PRIVATE KEY----


================================================================================
{u'oslo.message': u'{"_context_domain": null, "_context_roles": ["admin"], "_context_quota_class": null, "event_type": "keypair.create.start", "_context_request_id": "req-cd6298a5-7f91-4d69-8c25-c65ae2b0b2c7", "_context_service_catalog": [{"endpoints": [{"adminURL": "http://10.8.0.50:8776/v2/b03dfd4f822c466c8d965958ea6577d2", "region": "RegionOne", "internalURL": "http://10.8.0.50:8776/v2/b03dfd4f822c466c8d965958ea6577d2", "publicURL": "http://10.8.0.50:8776/v2/b03dfd4f822c466c8d965958ea6577d2"}], "type": "volumev2", "name": "cinderv2"}, {"endpoints": [{"adminURL": "http://10.8.0.50:8776/v1/b03dfd4f822c466c8d965958ea6577d2", "region": "RegionOne", "internalURL": "http://10.8.0.50:8776/v1/b03dfd4f822c466c8d965958ea6577d2", "publicURL": "http://10.8.0.50:8776/v1/b03dfd4f822c466c8d965958ea6577d2"}], "type": "volume", "name": "cinder"}], "timestamp": "2016-08-19 02:31:20.956322", "_context_user": "fa7a009ef1ec4b208f2cf1e85f0aaa91", "_unique_id": "489759494a8d4f21b2705b52ad0fd5a5", "_context_resource_uuid": null, "_context_instance_lock_checked": false, "_context_user_id": "fa7a009ef1ec4b208f2cf1e85f0aaa91", "payload": {"tenant_id": "b03dfd4f822c466c8d965958ea6577d2", "user_id": "fa7a009ef1ec4b208f2cf1e85f0aaa91", "key_name": "key1"}, "_context_project_name": "admin", "_context_read_deleted": "no", "_context_user_identity": "fa7a009ef1ec4b208f2cf1e85f0aaa91 b03dfd4f822c466c8d965958ea6577d2 - - -", "_context_auth_token": "f4c6783ff01e4c618de2180ffcbe0a61", "_context_show_deleted": false, "_context_tenant": "b03dfd4f822c466c8d965958ea6577d2", "priority": "INFO", "_context_read_only": false, "_context_is_admin": true, "_context_project_id": "b03dfd4f822c466c8d965958ea6577d2", "_context_project_domain": null, "_context_timestamp": "2016-08-19T02:31:20.814801", "_context_user_domain": null, "_context_user_name": "admin", "publisher_id": "api.rhos-compute-node-02.lab.eng.rdu2.redhat.com", "message_id": "40918c6d-7edb-433b-935a-bb3b8bc7ecc2", "_context_remote_address": "10.8.0.50"}',
 u'oslo.version': u'2.0'}
================================================================================

Comment 11 errata-xmlrpc 2016-08-24 12:52:14 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-1761.html


Note You need to log in before you can comment on or make changes to this bug.