)]}'
{"specs/liberty/declarative-notifications.rst":[{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"df7fefd5d368b330ce8a7343736f56311d434582","unresolved":false,"context_lines":[{"line_number":20,"context_line":"The issues this proposal addresses include:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"* There is no way to selectively listen to specific event topics of interest."},{"line_number":23,"context_line":"* Capturing notifications of interest should not require code changes."},{"line_number":24,"context_line":"* Adding new event exchanges involves same routine code changes. Too much code duplication."},{"line_number":25,"context_line":"* Requires more insight into the code base than needed"},{"line_number":26,"context_line":"* more elegant exchange control"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_4dae4499","line":23,"updated":"2015-06-04 13:13:08.000000000","message":"I have some doubts that it is correct, what about event-definition.yaml file, there you describe all events you\u0027d like to handle.","commit_id":"596b6a1782e812f4a25228a176b378469618b3bb"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b0ec2684e1337808c82ebea5126963bd0503bbf5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"The issues this proposal addresses include:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"* There is no way to selectively listen to specific event topics of interest."},{"line_number":23,"context_line":"* Capturing notifications of interest should not require code changes."},{"line_number":24,"context_line":"* Adding new event exchanges involves same routine code changes. Too much code duplication."},{"line_number":25,"context_line":"* Requires more insight into the code base than needed"},{"line_number":26,"context_line":"* more elegant exchange control"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_0d6dec30","line":23,"in_reply_to":"5afe65bd_4dae4499","updated":"2015-06-04 13:17:21.000000000","message":"i think the idea is that this would behave very similarly. this would be a \u0027sample_definition\u0027 file. \n\nthe idea is the definition files are what build the event/sample and define how it is built and the pipeline is what filters the event/sample and pushes it to the right place.","commit_id":"596b6a1782e812f4a25228a176b378469618b3bb"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b0ec2684e1337808c82ebea5126963bd0503bbf5","unresolved":false,"context_lines":[{"line_number":41,"context_line":"            - \"create.*\""},{"line_number":42,"context_line":"            - \"update.*\""},{"line_number":43,"context_line":"            - \"exists.*\""},{"line_number":44,"context_line":"       volume: 1"},{"line_number":45,"context_line":"       unit: network"},{"line_number":46,"context_line":"       counter_name: foo.bar"},{"line_number":47,"context_line":"       tenant_id: message.tenant_id"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_6dcfc029","line":44,"updated":"2015-06-04 13:17:21.000000000","message":"i think we can talk about adding support for simple arithmetic to build volume. ie volume: payload.audit_end - payload.audit_start\n\n... as a secondary work item","commit_id":"596b6a1782e812f4a25228a176b378469618b3bb"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"226cdddf72e7968610eceeae82a5a48da31baec3","unresolved":false,"context_lines":[{"line_number":46,"context_line":"       counter_name: foo.bar"},{"line_number":47,"context_line":"       tenant_id: message.tenant_id"},{"line_number":48,"context_line":"       user_id: message.user_id"},{"line_number":49,"context_line":"       instance_id: message.instance_id"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"This essentially depicts the boiler plate code we add in notifications.py. A base"},{"line_number":52,"context_line":"notification handler loads the event definition and does the rudimentary steps of"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_02a0368f","line":49,"updated":"2015-06-03 20:38:01.000000000","message":"any idea how metadata will work?","commit_id":"596b6a1782e812f4a25228a176b378469618b3bb"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a663d4731f1ce43b200da966bfcbfb1f8516f117","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"These exchanges will be read by the base notification handler and get_targets logic will"},{"line_number":60,"context_line":"loop through the allowed exchanges and sets up the exchanges. If an event name is part of"},{"line_number":61,"context_line":"the exchange names, we\u0027ll skip processing these notifications and move on."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Alternatives"},{"line_number":64,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_4242a511","line":61,"updated":"2015-06-09 03:42:14.000000000","message":"hi prad, sorry about delay\n\nso i was thinking here:\nhttps://github.com/openstack/ceilometer/blob/master/ceilometer/notification.py#L191-L193\n\nwe would remove it and explicitly have target options set by notification agent (not the meters). we could continue to use existing conf options to build a list of exchanges (https://github.com/openstack/ceilometer/blob/master/ceilometer/compute/notifications/__init__.py#L22-L26) ie if not none, enable\n\nbut we have a new option where users explicitly list exchanges, (we continue with same defaults ie nova, cinder)\n\nthe reason we can\u0027t block is the exchange names themselves are customisable, so we have to explicitly say what the names are that we want to listen to","commit_id":"f7ba9ea6c54d5d9af57fc183ef37f91eab3fc81d"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"3a0ae75cea8da71d025603c335bf8a6f0ad1be66","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"These exchanges will be read by the base notification handler and get_targets logic will"},{"line_number":60,"context_line":"loop through the allowed exchanges and sets up the exchanges. If an event name is part of"},{"line_number":61,"context_line":"the exchange names, we\u0027ll skip processing these notifications and move on."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Alternatives"},{"line_number":64,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_ee3809d5","line":61,"in_reply_to":"3afb71cf_4242a511","updated":"2015-06-10 15:07:42.000000000","message":"hmm so if we leverage the existing conf options where user defines exchanges, why do we need another new option to explicitly list exchanges? couldnt we just assume that if its defined in ceilo.conf we enable it?","commit_id":"f7ba9ea6c54d5d9af57fc183ef37f91eab3fc81d"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"9bddad631946f9f7303dc99a3285903de6b14387","unresolved":false,"context_lines":[{"line_number":51,"context_line":"This essentially depicts the boiler plate code we add in notifications.py. A base"},{"line_number":52,"context_line":"notification handler loads the event definition and does the rudimentary steps of"},{"line_number":53,"context_line":"calling the process_notifications and yielding samples. The advantage of this is that"},{"line_number":54,"context_line":"in future when new events need to be added, the end user only need to update the yaml."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Secondly, we need to elegantly handle exchange control as part of this definition."},{"line_number":57,"context_line":"The exchanges are specified in ceilometer.conf"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_b907c317","line":54,"updated":"2015-06-11 15:50:32.000000000","message":"Does this mean that all the plugin extensions will get deprecated and replaced by the base notification handler? \nAlso, wanted to find out if this means that we are doing away with extensions altogether.","commit_id":"93cb124758a63480b04d24cea53e81932d5e3baf"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"e711505ca494e55ce35f0cb3e4af7eaec09f53a8","unresolved":false,"context_lines":[{"line_number":51,"context_line":"This essentially depicts the boiler plate code we add in notifications.py. A base"},{"line_number":52,"context_line":"notification handler loads the event definition and does the rudimentary steps of"},{"line_number":53,"context_line":"calling the process_notifications and yielding samples. The advantage of this is that"},{"line_number":54,"context_line":"in future when new events need to be added, the end user only need to update the yaml."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Secondly, we need to elegantly handle exchange control as part of this definition."},{"line_number":57,"context_line":"The exchanges are specified in ceilometer.conf"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_394873cc","line":54,"in_reply_to":"3afb71cf_b907c317","updated":"2015-06-11 16:21:05.000000000","message":"Yes, The idea is, to track new events we shouldnt have to add the same boilerplate code every time. Just add it to the yaml and we dynamically process the events and generate samples. The existing extensions will be translated into the yaml template and we get rid of all the redundant notifications.py\u0027s.","commit_id":"93cb124758a63480b04d24cea53e81932d5e3baf"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"11d4bfa78e20b0a85fc1230ed7b3c80c8b01badf","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Secondly, we need to elegantly handle exchange control as part of this definition."},{"line_number":57,"context_line":"The exchanges are specified in ceilometer.conf"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"We already ahve exchange definitions as part of ceilometer.conf. We could leverage these"},{"line_number":60,"context_line":"as it is and assume that if these are defined then we will enable them. We could also"},{"line_number":61,"context_line":"add a new option to specify all the exchanges we like to allow with same exchange name"},{"line_number":62,"context_line":"as defined. These exchanges will be read by the base notification handler and get_targets"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1af86dd1_3103e311","line":59,"updated":"2015-06-12 08:02:50.000000000","message":"s/ahve/have","commit_id":"93cb124758a63480b04d24cea53e81932d5e3baf"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"9bed19d0c88f5fda7096de8620710134beea26cd","unresolved":false,"context_lines":[{"line_number":40,"context_line":"       topics:"},{"line_number":41,"context_line":"            - \"create.*\""},{"line_number":42,"context_line":"            - \"update.*\""},{"line_number":43,"context_line":"            - \"exists.*\""},{"line_number":44,"context_line":"       volume: 1"},{"line_number":45,"context_line":"       unit: network"},{"line_number":46,"context_line":"       counter_name: foo.bar"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af86dd1_971ddd68","line":43,"updated":"2015-06-12 13:16:03.000000000","message":"Hmm, I might miss the point here, please correct me if I do. In my understanding we would like to support these \u0027create/update/exists\u0027 type of notifications as events as opposed to samples. Of course if we provide a possibility like this then no one can prevent the user from messing up the config, but it would probably good to figure out some guidelines here before ending up in the same duplication problems we kind of have already. And also add an example here that shows how it looks like for non \u0027event-type\u0027 samples.","commit_id":"341663a8cef9bb6edb304479a74f3a358a42d034"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"9bed19d0c88f5fda7096de8620710134beea26cd","unresolved":false,"context_lines":[{"line_number":153,"context_line":"Documentation Impact"},{"line_number":154,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"None"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"References"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af86dd1_b41d7711","line":156,"updated":"2015-06-12 13:16:03.000000000","message":"It should have documentation impact both in the Admin and the Dev Guides.","commit_id":"341663a8cef9bb6edb304479a74f3a358a42d034"}]}
