)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13630,"name":"Luo Gangyi","email":"luogangyi@corp.netease.com","username":"luogangyi"},"change_message_id":"b2acac662129c1a8dbf442733786cd2d2814ceac","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-04-13 21:16:17 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add spec for notification alarm evaluator"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ie5ff0698a611eecd3f94a9d369795d685c0247ae"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dac4157f_f593fca1","line":8,"updated":"2015-04-20 14:33:16.000000000","message":"I think this commit message does not meet the standard. You should follow the guide (https://wiki.openstack.org/wiki/GitCommitMessages).","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"f6cc21bb0d76daac5d8d389ea3c8dddcb697550d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-04-13 21:16:17 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add spec for notification alarm evaluator"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ie5ff0698a611eecd3f94a9d369795d685c0247ae"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dac4157f_22935d5d","line":8,"in_reply_to":"dac4157f_f593fca1","updated":"2015-04-21 02:36:36.000000000","message":"Yeah, it\u0027s a bit lazy message. I will update by copying text from introduction in spec.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"}],"specs/liberty/event-alarm-evaluator.rst":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"3f9008e3ef8445b7ea4c7f720ba3e289f72e2250","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm evaluator would cache"},{"line_number":58,"context_line":"  alarm definitions in a certain period."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_b40d3840","line":56,"updated":"2015-06-15 20:48:06.000000000","message":"Just to see whether I got it, the primary target here is still using the cache as opposed to the database, right?","commit_id":"1d93ec02188ab2e6edde103154c2f33c98b2ec44"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"0db5cc0439795b77d17265bde3741fb06c69aa22","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm evaluator would cache"},{"line_number":58,"context_line":"  alarm definitions in a certain period."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_9192789e","line":56,"in_reply_to":"fa32b979_b40d3840","updated":"2015-06-16 05:28:57.000000000","message":"Right.\n\nEven if there is someone want to avoid caching for consistency, he/she can do that by setting validity period of cache zero.","commit_id":"1d93ec02188ab2e6edde103154c2f33c98b2ec44"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"3f9008e3ef8445b7ea4c7f720ba3e289f72e2250","unresolved":false,"context_lines":[{"line_number":196,"context_line":"----------------"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"Developers should be aware that events could be notified to end users and avoid"},{"line_number":199,"context_line":"passing raw infra information to end users, while defining events and traits."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Implementation"},{"line_number":202,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_54994c1e","line":199,"updated":"2015-06-15 20:48:06.000000000","message":"If this means the raw data, that option is configurable, which means operator/administrator impact. I don\u0027t know how much we expect operators to change the event definitions file, so that can remain a developer impact.","commit_id":"1d93ec02188ab2e6edde103154c2f33c98b2ec44"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"0db5cc0439795b77d17265bde3741fb06c69aa22","unresolved":false,"context_lines":[{"line_number":196,"context_line":"----------------"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"Developers should be aware that events could be notified to end users and avoid"},{"line_number":199,"context_line":"passing raw infra information to end users, while defining events and traits."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Implementation"},{"line_number":202,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_31c92c79","line":199,"in_reply_to":"fa32b979_54994c1e","updated":"2015-06-16 05:28:57.000000000","message":"Agree, we should also write this in Security Impact or Deployer Impact as well.","commit_id":"1d93ec02188ab2e6edde103154c2f33c98b2ec44"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"3f9008e3ef8445b7ea4c7f720ba3e289f72e2250","unresolved":false,"context_lines":[{"line_number":216,"context_line":"Work Items"},{"line_number":217,"context_line":"----------"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"* Add new alarm type \"event\" as well as AlarmNotificationRule"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"* Modify existing alarm evaluator to filter out \"event\" alarms"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_6fba7925","line":219,"updated":"2015-06-15 20:48:06.000000000","message":"s/AlarmNotificationRule/AlarmEventRule/\n\nIt will be less confusing as we use event everywhere now and also we have samples originated from notifications, but we don\u0027t plan to handle those here.","commit_id":"1d93ec02188ab2e6edde103154c2f33c98b2ec44"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"0db5cc0439795b77d17265bde3741fb06c69aa22","unresolved":false,"context_lines":[{"line_number":216,"context_line":"Work Items"},{"line_number":217,"context_line":"----------"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"* Add new alarm type \"event\" as well as AlarmNotificationRule"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"* Modify existing alarm evaluator to filter out \"event\" alarms"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa32b979_fcbddbd7","line":219,"in_reply_to":"fa32b979_6fba7925","updated":"2015-06-16 05:28:57.000000000","message":"Yes, we should use \"Event\" here. Miss conversion...","commit_id":"1d93ec02188ab2e6edde103154c2f33c98b2ec44"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"96ce083d235159a9ed469c3eac62a11668d3caff","unresolved":false,"context_lines":[{"line_number":49,"context_line":"alarms;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in event_pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_396c80cf","line":52,"updated":"2015-06-17 01:39:56.000000000","message":"Should we implicitly adding this special publisher into the event_pipeline.yaml? In case the admin forget put that into the event_pipeline and find event based alarm not working?","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"bc9efc855cff9811bbc701892a5a80a8a5b733fe","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in event_pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_f23e5fd9","line":53,"updated":"2015-06-16 08:06:02.000000000","message":"i\u0027m not sure there is a way to do this in oslo.messaging but it\u0027d be good if we defined a prefix to all alarm related queues.\n\nso it will always be alarm_*\n\nmy idea is this: since we currently can only support a single evaluator listening to a queue. if we want HA, and if oslo.messaging supports it, we can add functionality so that the evaluator on start up with grab all \u0027alarm_*\u0027 queues, and based on other active evaluators, it will only listen to a few (using the same hashring mechanism we use for the agents)\n\nthis can be done as future lifecycle support. thoughts?","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"df1d2a80894bd020434e8a5bcde04f4824937007","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in event_pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_e7151040","line":53,"in_reply_to":"fa32b979_457978c7","updated":"2015-06-17 01:03:30.000000000","message":"Done","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"10c4ecb066c4853d7df4fca77cb36ca23222cf99","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in event_pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_f663acda","line":53,"in_reply_to":"fa32b979_e3852f07","updated":"2015-06-16 10:08:13.000000000","message":"\u0027alarm.all\u0027 looks good to me.\n\nI also think that we will need to give a heads up to the users in the docs to not change that topic if we plan to rely on it this much.","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"653d9108e054063758574b79b1cdff351f01ce8e","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in event_pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_83dea36b","line":53,"in_reply_to":"fa32b979_f23e5fd9","updated":"2015-06-16 08:55:52.000000000","message":"Do you mean coordination based on queues?","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"e1f785494e5b246d36a56f0feb7cb9665d869c74","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in event_pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_e3852f07","line":53,"in_reply_to":"fa32b979_f23e5fd9","updated":"2015-06-16 09:07:28.000000000","message":"I agree to use the same prefix in topic name for all alarm related queues.\n\nYour idea make sense. The string after \u0027alarm_\u0027 should be value of key for expressing object which will be partitioned in the coordination. Nit, but I prefer \u0027.\u0027 rather than \u0027_\u0027.\n\nIt seems we should decide topic string in this spec proposal. I propose to use \u0027alarm.all\u0027 for topic name of this event notification to event alarm evaluator. This will not make conflict on topic name when we support multiple evaluators with coordination, and still can be hit by \u0027alarm.*\u0027.\n\nIf it\u0027s OK, I will upload new patch set in which topic name is specified in \u0027alarm.all\u0027 here and described prefix rule in future lifecycle.","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e4bb278f240d892534c291b84294802bd03972ef","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in event_pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_457978c7","line":53,"in_reply_to":"fa32b979_f663acda","updated":"2015-06-16 12:05:16.000000000","message":"alarm.all is fine with me too.","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"96ce083d235159a9ed469c3eac62a11668d3caff","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm evaluator would cache"},{"line_number":58,"context_line":"  alarm definitions in a certain period."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_f9ddb8e0","line":56,"updated":"2015-06-17 01:39:56.000000000","message":"I have a question about the cache: Is this a cache of found related alarms or is this a cache of all the alarms? In other words, do we need to query the alarm database if we can\u0027t find the alarm related to the event in the cache?\n\nConsider of the following scenario: we have only a few event alarm definition defined by the user, and have tons of event occurs which most of them does not have related alarms defined. Do we still need to query the alarm database every time an event occurs since we won\u0027t have related alarms in the cache for most event(because there is no such alarm defined in the DB)","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"96ce083d235159a9ed469c3eac62a11668d3caff","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm evaluator would cache"},{"line_number":58,"context_line":"  alarm definitions in a certain period."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_b932d0f0","line":58,"updated":"2015-06-17 01:39:56.000000000","message":"Is it possible to have this step happened on the notification agent side? So we can reduce the traffic if no event alarms are related to the coming event.\n\nWe may make this an optional feature of the special notifier as mentioned above.","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"dc8eb53e6c7504756a686e159292563352d5d821","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Another approach is enhancement of existing alarm evaluator by adding"},{"line_number":86,"context_line":"notification listener. However, there are two issues; 1) this approach could"},{"line_number":87,"context_line":"cause stall of periodical evaluations when it receives bulk of notifications,"},{"line_number":88,"context_line":"and 2) this could break the alarm partioning i.e. when alarm evaluator received"},{"line_number":89,"context_line":"notification, it might have to evaluate some alarms which are not assign to it."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Resource ID could be added to Alarm data model as an optional attribute."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_3eba5024","line":88,"updated":"2015-06-16 09:20:26.000000000","message":"s/partioning/partitioning/","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"df1d2a80894bd020434e8a5bcde04f4824937007","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Another approach is enhancement of existing alarm evaluator by adding"},{"line_number":86,"context_line":"notification listener. However, there are two issues; 1) this approach could"},{"line_number":87,"context_line":"cause stall of periodical evaluations when it receives bulk of notifications,"},{"line_number":88,"context_line":"and 2) this could break the alarm partioning i.e. when alarm evaluator received"},{"line_number":89,"context_line":"notification, it might have to evaluate some alarms which are not assign to it."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Resource ID could be added to Alarm data model as an optional attribute."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_073a74cc","line":88,"in_reply_to":"fa32b979_3eba5024","updated":"2015-06-17 01:03:30.000000000","message":"Done","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"bc9efc855cff9811bbc701892a5a80a8a5b733fe","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                  \"type\" : \"string\","},{"line_number":130,"context_line":"                  \"value\" : \"153462d0-a9b8-4b5b-8175-9e4b05e9b856\","},{"line_number":131,"context_line":"                  \"op\" : \"eq\","},{"line_number":132,"context_line":"              },"},{"line_number":133,"context_line":"              {"},{"line_number":134,"context_line":"                  \"field\" : \"traits.state\","},{"line_number":135,"context_line":"                  \"type\" : \"string\","},{"line_number":136,"context_line":"                  \"value\" : \"error\","}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_453503d8","line":133,"range":{"start_line":132,"start_character":14,"end_line":133,"end_character":13},"updated":"2015-06-16 08:06:02.000000000","message":"this will always be AND conditions right?","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"653d9108e054063758574b79b1cdff351f01ce8e","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                  \"value\" : \"153462d0-a9b8-4b5b-8175-9e4b05e9b856\","},{"line_number":131,"context_line":"                  \"op\" : \"eq\","},{"line_number":132,"context_line":"              },"},{"line_number":133,"context_line":"              {"},{"line_number":134,"context_line":"                  \"field\" : \"traits.state\","},{"line_number":135,"context_line":"                  \"type\" : \"string\","},{"line_number":136,"context_line":"                  \"value\" : \"error\","}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_43badb24","line":133,"in_reply_to":"fa32b979_453503d8","updated":"2015-06-16 08:55:52.000000000","message":"As part of the future lifecycle we can think about adding complex query support here. I\u0027m not sure whether it\u0027s really needed though, it might give more complexity rather than how much it would be useful by the end.\n\nSo \u0027AND\u0027 condition seems logical here.","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"e1f785494e5b246d36a56f0feb7cb9665d869c74","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                  \"value\" : \"153462d0-a9b8-4b5b-8175-9e4b05e9b856\","},{"line_number":131,"context_line":"                  \"op\" : \"eq\","},{"line_number":132,"context_line":"              },"},{"line_number":133,"context_line":"              {"},{"line_number":134,"context_line":"                  \"field\" : \"traits.state\","},{"line_number":135,"context_line":"                  \"type\" : \"string\","},{"line_number":136,"context_line":"                  \"value\" : \"error\","}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_e8298e38","line":133,"in_reply_to":"fa32b979_453503d8","updated":"2015-06-16 09:07:28.000000000","message":"Yes, the same as AlarmThresholdRule.\n\nAnyway, it might be nice to leave comment/idea in future lifecycle.","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"df1d2a80894bd020434e8a5bcde04f4824937007","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                  \"value\" : \"153462d0-a9b8-4b5b-8175-9e4b05e9b856\","},{"line_number":131,"context_line":"                  \"op\" : \"eq\","},{"line_number":132,"context_line":"              },"},{"line_number":133,"context_line":"              {"},{"line_number":134,"context_line":"                  \"field\" : \"traits.state\","},{"line_number":135,"context_line":"                  \"type\" : \"string\","},{"line_number":136,"context_line":"                  \"value\" : \"error\","}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_47b71cf5","line":133,"in_reply_to":"fa32b979_569378a3","updated":"2015-06-17 01:03:30.000000000","message":"Done","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"10c4ecb066c4853d7df4fca77cb36ca23222cf99","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                  \"value\" : \"153462d0-a9b8-4b5b-8175-9e4b05e9b856\","},{"line_number":131,"context_line":"                  \"op\" : \"eq\","},{"line_number":132,"context_line":"              },"},{"line_number":133,"context_line":"              {"},{"line_number":134,"context_line":"                  \"field\" : \"traits.state\","},{"line_number":135,"context_line":"                  \"type\" : \"string\","},{"line_number":136,"context_line":"                  \"value\" : \"error\","}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_569378a3","line":133,"in_reply_to":"fa32b979_e8298e38","updated":"2015-06-16 10:08:13.000000000","message":"I agree, we can list it there as something to think about, when we get there.","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"dc8eb53e6c7504756a686e159292563352d5d821","unresolved":false,"context_lines":[{"line_number":180,"context_line":"All event alarms defined in the project will be evaluated every time this"},{"line_number":181,"context_line":"evaluator received event. The number of alarms to be evaluated can be reduced"},{"line_number":182,"context_line":"by adding new parameter (e.g. Resource ID) on Alarm data model and setting"},{"line_number":183,"context_line":"filter while alarm quering."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Other deployer impact"},{"line_number":186,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_fe2ce84b","line":183,"updated":"2015-06-16 09:20:26.000000000","message":"s/quering/querying/","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"df1d2a80894bd020434e8a5bcde04f4824937007","unresolved":false,"context_lines":[{"line_number":180,"context_line":"All event alarms defined in the project will be evaluated every time this"},{"line_number":181,"context_line":"evaluator received event. The number of alarms to be evaluated can be reduced"},{"line_number":182,"context_line":"by adding new parameter (e.g. Resource ID) on Alarm data model and setting"},{"line_number":183,"context_line":"filter while alarm quering."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Other deployer impact"},{"line_number":186,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_87a8c48e","line":183,"in_reply_to":"fa32b979_fe2ce84b","updated":"2015-06-17 01:03:30.000000000","message":"Done","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"dc8eb53e6c7504756a686e159292563352d5d821","unresolved":false,"context_lines":[{"line_number":192,"context_line":"New service process (this alarm evaluator) have to be run."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"A deployer can run multiple evaluators in order to scale out event alarm"},{"line_number":195,"context_line":"evaluation process. All event will be dispathced to all evaluators listening"},{"line_number":196,"context_line":"the topic in a round robin fashion."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_febaa8e0","line":195,"updated":"2015-06-16 09:20:26.000000000","message":"s/dispathced/dispatched/","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"df1d2a80894bd020434e8a5bcde04f4824937007","unresolved":false,"context_lines":[{"line_number":192,"context_line":"New service process (this alarm evaluator) have to be run."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"A deployer can run multiple evaluators in order to scale out event alarm"},{"line_number":195,"context_line":"evaluation process. All event will be dispathced to all evaluators listening"},{"line_number":196,"context_line":"the topic in a round robin fashion."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_e7975046","line":195,"in_reply_to":"fa32b979_febaa8e0","updated":"2015-06-17 01:03:30.000000000","message":"Done","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"dc8eb53e6c7504756a686e159292563352d5d821","unresolved":false,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"* Adopting similar coordination process as the notification agent has, for"},{"line_number":247,"context_line":"  efficiency of this evaluator e.g. reducing cache of alarm definitions."},{"line_number":248,"context_line":"  Key for partisioning might be \u0027project_id\u0027, \u0027event_type\u0027 or \u0027resource_id\u0027."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* Mechanism to update cache of alarm definition promptly; poisoning cache on"},{"line_number":251,"context_line":"  evaluator in which assigned alarm definition has updated, etc."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_5e5154d7","line":248,"updated":"2015-06-16 09:20:26.000000000","message":"s/partisioning/partitioning/","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"df1d2a80894bd020434e8a5bcde04f4824937007","unresolved":false,"context_lines":[{"line_number":245,"context_line":""},{"line_number":246,"context_line":"* Adopting similar coordination process as the notification agent has, for"},{"line_number":247,"context_line":"  efficiency of this evaluator e.g. reducing cache of alarm definitions."},{"line_number":248,"context_line":"  Key for partisioning might be \u0027project_id\u0027, \u0027event_type\u0027 or \u0027resource_id\u0027."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* Mechanism to update cache of alarm definition promptly; poisoning cache on"},{"line_number":251,"context_line":"  evaluator in which assigned alarm definition has updated, etc."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_878f6429","line":248,"in_reply_to":"fa32b979_5e5154d7","updated":"2015-06-17 01:03:30.000000000","message":"Done","commit_id":"7e4a930c3672f29cbcdb6b6b07ccce7977cede09"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"8747aabb5505b76c8fb783ae39b9517893090ff3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"alarms;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator receives event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier to publish event in a new topic."},{"line_number":53,"context_line":"  The topic name is \u0027alarm.all\u0027."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_99c34ced","line":52,"updated":"2015-06-17 01:43:31.000000000","message":"Should we implicitly adding this special publisher into the event_pipeline.yaml? In case the admin forget put that into the event_pipeline and find event based alarm not working?","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"0fa93252f09bb444381c016ab9992eeee487be56","unresolved":false,"context_lines":[{"line_number":49,"context_line":"alarms;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator receives event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier to publish event in a new topic."},{"line_number":53,"context_line":"  The topic name is \u0027alarm.all\u0027."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_a90d2fe9","line":52,"in_reply_to":"fa32b979_06e10c9a","updated":"2015-06-19 12:03:17.000000000","message":"Done","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"0925468ed1f6d3b6d02f762398a0896436133f4a","unresolved":false,"context_lines":[{"line_number":49,"context_line":"alarms;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator receives event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier to publish event in a new topic."},{"line_number":53,"context_line":"  The topic name is \u0027alarm.all\u0027."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_06e10c9a","line":52,"in_reply_to":"fa32b979_6f60f6a5","updated":"2015-06-17 08:35:46.000000000","message":"Would that do any harm if it would be added to the event_pipeline.yaml? Like filling up the queue when the alarm evaluator is not running, etc.? As if it does, then let\u0027s keep it in the docco as a configuration requirement.","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"7230f61284d218390cb3fb7e31dfe01d39ed65b0","unresolved":false,"context_lines":[{"line_number":49,"context_line":"alarms;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator receives event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier to publish event in a new topic."},{"line_number":53,"context_line":"  The topic name is \u0027alarm.all\u0027."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_6f60f6a5","line":52,"in_reply_to":"fa32b979_99c34ced","updated":"2015-06-17 02:32:17.000000000","message":"Yes - so I added note that admin have to configure event_pipeline.yaml at line 191 in \"Other deployer impact\" section.","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"8747aabb5505b76c8fb783ae39b9517893090ff3","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  The topic name is \u0027alarm.all\u0027."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm evaluator would cache"},{"line_number":58,"context_line":"  alarm definitions in a certain period."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_59b94478","line":56,"updated":"2015-06-17 01:43:31.000000000","message":"I have a question about the cache: Is this a cache of found related alarms or is this a cache of all the alarms? In other words, do we need to query the alarm database if we can\u0027t find the alarm related to the event in the cache?\n\nConsider of the following scenario: we have only a few event alarm definition defined by the user, and have tons of event occurs which most of them does not have related alarms defined. Do we still need to query the alarm database every time an event occurs since we won\u0027t have related alarms in the cache for most event(because there is no such alarm defined in the DB)","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"9f3f1c935e934c8fcb04adca8446c0e7c07669db","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  The topic name is \u0027alarm.all\u0027."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm evaluator would cache"},{"line_number":58,"context_line":"  alarm definitions in a certain period."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_efcc066c","line":56,"in_reply_to":"fa32b979_4f5bb2f6","updated":"2015-06-17 02:45:29.000000000","message":"what if a event comes in without project_id?","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"7230f61284d218390cb3fb7e31dfe01d39ed65b0","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  The topic name is \u0027alarm.all\u0027."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm evaluator would cache"},{"line_number":58,"context_line":"  alarm definitions in a certain period."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_4f5bb2f6","line":56,"in_reply_to":"fa32b979_59b94478","updated":"2015-06-17 02:32:17.000000000","message":"I imply that it\u0027s a cache of found all alarms in project. So, in that scenario, there should be just one API/DB query in each period.","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"0fa93252f09bb444381c016ab9992eeee487be56","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  The topic name is \u0027alarm.all\u0027."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm evaluator would cache"},{"line_number":58,"context_line":"  alarm definitions in a certain period."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_1bda6217","line":56,"in_reply_to":"fa32b979_efcc066c","updated":"2015-06-19 12:03:17.000000000","message":"Please check the next patch set in which I added description regarding non-project events. I think we can handle those events with out project_id as an event of special project like PROJECT_NONE(\u003d\u0027\u0027).","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"8747aabb5505b76c8fb783ae39b9517893090ff3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm evaluator would cache"},{"line_number":58,"context_line":"  alarm definitions in a certain period."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_b9a89021","line":58,"updated":"2015-06-17 01:43:31.000000000","message":"Is it possible to have this step happened on the notification agent side? So we can reduce the traffic if no event alarms are related to the coming event.\n\nWe may make this an optional feature of the special notifier as mentioned above.","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"7230f61284d218390cb3fb7e31dfe01d39ed65b0","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm evaluator would cache"},{"line_number":58,"context_line":"  alarm definitions in a certain period."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_0f728a7b","line":58,"in_reply_to":"fa32b979_b9a89021","updated":"2015-06-17 02:32:17.000000000","message":"Yeah, I can say yes. It will be a future work which I hope collaborate with you, see line 260 in \"future lifecycle\".","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"9f3f1c935e934c8fcb04adca8446c0e7c07669db","unresolved":false,"context_lines":[{"line_number":140,"context_line":"          ]"},{"line_number":141,"context_line":"      },"},{"line_number":142,"context_line":"      \"ok_actions\": [],"},{"line_number":143,"context_line":"      \"project_id\": \"c96c887c216949acbdfbd8b494863567\","},{"line_number":144,"context_line":"      \"repeat_actions\": false,"},{"line_number":145,"context_line":"      \"severity\": \"moderate\","},{"line_number":146,"context_line":"      \"state\": \"ok\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_6fdf960d","line":143,"updated":"2015-06-17 02:45:29.000000000","message":"I don\u0027t think having project_id here is good idea. We don\u0027t require event has this field, so we should not require here too.","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"a271f27254d791215ebf8889c689c4122799d818","unresolved":false,"context_lines":[{"line_number":140,"context_line":"          ]"},{"line_number":141,"context_line":"      },"},{"line_number":142,"context_line":"      \"ok_actions\": [],"},{"line_number":143,"context_line":"      \"project_id\": \"c96c887c216949acbdfbd8b494863567\","},{"line_number":144,"context_line":"      \"repeat_actions\": false,"},{"line_number":145,"context_line":"      \"severity\": \"moderate\","},{"line_number":146,"context_line":"      \"state\": \"ok\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_44f581ea","line":143,"in_reply_to":"fa32b979_06734c16","updated":"2015-06-18 15:06:47.000000000","message":"My bottom line here is that we should keep the event alarm definition consistent with the event definition itself. Currently, we don\u0027t have proejct_id/user_id as the first class fields of the event definition, so I don\u0027t think we should put it here. Otherwise, the user may be confused.","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"0fa93252f09bb444381c016ab9992eeee487be56","unresolved":false,"context_lines":[{"line_number":140,"context_line":"          ]"},{"line_number":141,"context_line":"      },"},{"line_number":142,"context_line":"      \"ok_actions\": [],"},{"line_number":143,"context_line":"      \"project_id\": \"c96c887c216949acbdfbd8b494863567\","},{"line_number":144,"context_line":"      \"repeat_actions\": false,"},{"line_number":145,"context_line":"      \"severity\": \"moderate\","},{"line_number":146,"context_line":"      \"state\": \"ok\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_fc80c94b","line":143,"in_reply_to":"fa32b979_44f581ea","updated":"2015-06-19 12:03:17.000000000","message":"This is alarm object NOT event object.\n\nWe should have project_id as an alarm object which is not directly linked to event, but it will be used for checking ownership. The project_id holds ID of project in which the client user belongs to, or any project\u0027s ID be-half-of the user only by admin.\nIn the user view, event will be filtered by this project_id as the same as other type of alarms (e.g. Threshold alarm).\n\nThe user_id can be used to find out who set the alarm, so that other user in the same project can trace actual owner.","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"0925468ed1f6d3b6d02f762398a0896436133f4a","unresolved":false,"context_lines":[{"line_number":140,"context_line":"          ]"},{"line_number":141,"context_line":"      },"},{"line_number":142,"context_line":"      \"ok_actions\": [],"},{"line_number":143,"context_line":"      \"project_id\": \"c96c887c216949acbdfbd8b494863567\","},{"line_number":144,"context_line":"      \"repeat_actions\": false,"},{"line_number":145,"context_line":"      \"severity\": \"moderate\","},{"line_number":146,"context_line":"      \"state\": \"ok\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_06734c16","line":143,"in_reply_to":"fa32b979_6db31eea","updated":"2015-06-17 08:35:46.000000000","message":"I think we should keep them as in most cases there will be either project_id or user_id or both. I mean I would assume to set alarms for instance state change as opposed to audit records and in the former case it\u0027s good to have these IDs.\n\nOn the other hand I guess we don\u0027t want to allow to retrieve alarm information for events like audit to a regular user, who\u0027s not admin. Do we?\n\nSo having project ID specified in the alarm definition is one thing, how to handle it is another thing.\n\nWhat do you think?","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"8a50c1e1180f2e827ec8a66089dae6370033dd73","unresolved":false,"context_lines":[{"line_number":140,"context_line":"          ]"},{"line_number":141,"context_line":"      },"},{"line_number":142,"context_line":"      \"ok_actions\": [],"},{"line_number":143,"context_line":"      \"project_id\": \"c96c887c216949acbdfbd8b494863567\","},{"line_number":144,"context_line":"      \"repeat_actions\": false,"},{"line_number":145,"context_line":"      \"severity\": \"moderate\","},{"line_number":146,"context_line":"      \"state\": \"ok\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_6db31eea","line":143,"in_reply_to":"fa32b979_6fdf960d","updated":"2015-06-17 04:30:32.000000000","message":"fair enough. i guess this applies to user_id below as well?","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"8c61a0392c0723ddf98857f9038f1ca7c8c68eaa","unresolved":false,"context_lines":[{"line_number":140,"context_line":"          ]"},{"line_number":141,"context_line":"      },"},{"line_number":142,"context_line":"      \"ok_actions\": [],"},{"line_number":143,"context_line":"      \"project_id\": \"c96c887c216949acbdfbd8b494863567\","},{"line_number":144,"context_line":"      \"repeat_actions\": false,"},{"line_number":145,"context_line":"      \"severity\": \"moderate\","},{"line_number":146,"context_line":"      \"state\": \"ok\","}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa32b979_efd45f48","line":143,"in_reply_to":"fa32b979_fc80c94b","updated":"2015-06-21 08:12:45.000000000","message":"I agree that we should focus on usage here, like checking ownership. We do not have a unique event format/definition, therefore we don\u0027t really have a chance to keep the alarm definition consistent, even if that would be a goal. At least the half of the event definitions contain project_id and/or user_id, the rest should only be available for admins IMHO. But the point here is to keep the project_id in the alarm definition to be able to provide proper access control.","commit_id":"3529658cbcaf6facaea1f00280a6807b334a7bf1"}],"specs/liberty/notification-alarm-evaluator.rst":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"556041fe2ea90944889d097091310ed6447ce01c","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This blueprint proposes to add a new alarm evaluator for handling alarms on"},{"line_number":14,"context_line":"events passed from other OpenStack services, that provides event-driven alarm"},{"line_number":15,"context_line":"evaluation which makes new sequence in Ceilometer instead of the polling-based"},{"line_number":16,"context_line":"approach of the existing Alarm Evaluator, and realizes immediate alarm"},{"line_number":17,"context_line":"notification to end users."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_feee0b8a","line":15,"updated":"2015-04-14 13:22:40.000000000","message":"\"Instead\" ? Does this will be a replacement of the current implementation ? Or this is just a new kind of alarm ?","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b396ceca8128a747e2b0201dcf2362d152f62f4b","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This blueprint proposes to add a new alarm evaluator for handling alarms on"},{"line_number":14,"context_line":"events passed from other OpenStack services, that provides event-driven alarm"},{"line_number":15,"context_line":"evaluation which makes new sequence in Ceilometer instead of the polling-based"},{"line_number":16,"context_line":"approach of the existing Alarm Evaluator, and realizes immediate alarm"},{"line_number":17,"context_line":"notification to end users."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"dac4157f_6781918f","line":15,"in_reply_to":"7aaa499b_026ff892","updated":"2015-04-20 07:25:10.000000000","message":"Yeap, I think this version works much better. Thanks!","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"10c7cd0021bb333943ec5be8cf33036b61586cbc","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This blueprint proposes to add a new alarm evaluator for handling alarms on"},{"line_number":14,"context_line":"events passed from other OpenStack services, that provides event-driven alarm"},{"line_number":15,"context_line":"evaluation which makes new sequence in Ceilometer instead of the polling-based"},{"line_number":16,"context_line":"approach of the existing Alarm Evaluator, and realizes immediate alarm"},{"line_number":17,"context_line":"notification to end users."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_b5d8d31e","line":15,"in_reply_to":"7aaa499b_026ff892","updated":"2015-04-28 19:22:07.000000000","message":"when you say \"which makes new sequence in Ceilometer\" do you mean workflow? im not sure what meaning sequence has in this sentence.\n\nis the intent of this sentence to express that this proposal will introduce a new event driven workflow which will be implement by the new alarm evaluator proposed by this spec which can be used as an alternative of the current polling based model?","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"fc448f81bc9f194f14301b1346b1aa9a4cec046a","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This blueprint proposes to add a new alarm evaluator for handling alarms on"},{"line_number":14,"context_line":"events passed from other OpenStack services, that provides event-driven alarm"},{"line_number":15,"context_line":"evaluation which makes new sequence in Ceilometer instead of the polling-based"},{"line_number":16,"context_line":"approach of the existing Alarm Evaluator, and realizes immediate alarm"},{"line_number":17,"context_line":"notification to end users."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_026ff892","line":15,"in_reply_to":"7aaa499b_0ee182d0","updated":"2015-04-15 09:39:44.000000000","message":"Ildiko, thanks - that\u0027s the intention.\n\n\"Instead\" might not good word here, I will change the sentence like: \"..., that provides event-driven alarm evaluation which makes new sequence in Ceilometer for handling alarms on events separated from other types of alarms handled in the existing polling-based Alarm Evaluator, ...\"","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"34d9289e8ae212025d1bbea379ddddc294f19ea4","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This blueprint proposes to add a new alarm evaluator for handling alarms on"},{"line_number":14,"context_line":"events passed from other OpenStack services, that provides event-driven alarm"},{"line_number":15,"context_line":"evaluation which makes new sequence in Ceilometer instead of the polling-based"},{"line_number":16,"context_line":"approach of the existing Alarm Evaluator, and realizes immediate alarm"},{"line_number":17,"context_line":"notification to end users."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_0ee182d0","line":15,"in_reply_to":"7aaa499b_feee0b8a","updated":"2015-04-14 14:36:15.000000000","message":"How I understand this is an extension of the current functionality in the way of having a new component, which will handle the alarms for events on the fly as opposed to extending the current polling-based alarm handling. This way the alarms on events will be handled separately, which makes sense considering that events have different characteristics and handled already independently from samples.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"60406f5e3b922696d2ddd85f34e7745fd1e9a324","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This blueprint proposes to add a new alarm evaluator for handling alarms on"},{"line_number":14,"context_line":"events passed from other OpenStack services, that provides event-driven alarm"},{"line_number":15,"context_line":"evaluation which makes new sequence in Ceilometer instead of the polling-based"},{"line_number":16,"context_line":"approach of the existing Alarm Evaluator, and realizes immediate alarm"},{"line_number":17,"context_line":"notification to end users."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_5780a98a","line":15,"in_reply_to":"7ad32947_b5d8d31e","updated":"2015-05-25 09:46:43.000000000","message":"I guess you may say it \"workflow\", but note that it is not intended to say some high level flows like business logic.\n\nYes - in new \"sequence\" by this alarm evaluator, there is no polling point between notification agent to end user (or Heat).","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7a399bc56171e6e7cdb82919663bafae6f404667","unresolved":false,"context_lines":[{"line_number":25,"context_line":"The typical use case is that an end user set alarm on \"compute.instance.update\""},{"line_number":26,"context_line":"in order to trigger recovery actions once the instance status has changed to"},{"line_number":27,"context_line":"\u0027shutdown\u0027 or \u0027error\u0027. It should be nice that an end user can receive"},{"line_number":28,"context_line":"notification within 1 second after fault observed as the same as other helth-"},{"line_number":29,"context_line":"check mechanisms can do in some cases."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The existing Alarm Evaluator is periodically querying/polling the databases"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_10907b42","line":28,"updated":"2015-04-14 17:55:06.000000000","message":"s/helth/health/","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"60406f5e3b922696d2ddd85f34e7745fd1e9a324","unresolved":false,"context_lines":[{"line_number":25,"context_line":"The typical use case is that an end user set alarm on \"compute.instance.update\""},{"line_number":26,"context_line":"in order to trigger recovery actions once the instance status has changed to"},{"line_number":27,"context_line":"\u0027shutdown\u0027 or \u0027error\u0027. It should be nice that an end user can receive"},{"line_number":28,"context_line":"notification within 1 second after fault observed as the same as other helth-"},{"line_number":29,"context_line":"check mechanisms can do in some cases."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The existing Alarm Evaluator is periodically querying/polling the databases"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_f7367501","line":28,"in_reply_to":"5ad0253b_9b02d36e","updated":"2015-05-25 09:46:43.000000000","message":"Done","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"fc448f81bc9f194f14301b1346b1aa9a4cec046a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"The typical use case is that an end user set alarm on \"compute.instance.update\""},{"line_number":26,"context_line":"in order to trigger recovery actions once the instance status has changed to"},{"line_number":27,"context_line":"\u0027shutdown\u0027 or \u0027error\u0027. It should be nice that an end user can receive"},{"line_number":28,"context_line":"notification within 1 second after fault observed as the same as other helth-"},{"line_number":29,"context_line":"check mechanisms can do in some cases."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The existing Alarm Evaluator is periodically querying/polling the databases"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_62debc40","line":28,"in_reply_to":"7aaa499b_10907b42","updated":"2015-04-15 09:39:44.000000000","message":"Done","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"10c7cd0021bb333943ec5be8cf33036b61586cbc","unresolved":false,"context_lines":[{"line_number":25,"context_line":"The typical use case is that an end user set alarm on \"compute.instance.update\""},{"line_number":26,"context_line":"in order to trigger recovery actions once the instance status has changed to"},{"line_number":27,"context_line":"\u0027shutdown\u0027 or \u0027error\u0027. It should be nice that an end user can receive"},{"line_number":28,"context_line":"notification within 1 second after fault observed as the same as other helth-"},{"line_number":29,"context_line":"check mechanisms can do in some cases."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"The existing Alarm Evaluator is periodically querying/polling the databases"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ad0253b_9b02d36e","line":28,"in_reply_to":"7aaa499b_62debc40","updated":"2015-04-28 19:22:07.000000000","message":"perhaps change:\nIt should be nice that an end user can receive notification within 1 second after fault observed as the same as ... -\u003e\nIt should be possible for an end user to receive a notification within 1 second of a fault being observed, as with ...","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":11189,"name":"yuntongjin","email":"yuntong.jin@intel.com","username":"yuntong"},"change_message_id":"741d35f578040b50773f5224f797e615a3184455","unresolved":false,"context_lines":[{"line_number":48,"context_line":"messages from Notification Agent and finds related Alarms, then evaluates each"},{"line_number":49,"context_line":"alarms;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ad0253b_82000dac","line":51,"updated":"2015-04-29 06:29:22.000000000","message":"Where to put this new alarm evaluator ?\n1. in a separate service\n2. in existing meter alarm evaluator","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"60406f5e3b922696d2ddd85f34e7745fd1e9a324","unresolved":false,"context_lines":[{"line_number":48,"context_line":"messages from Notification Agent and finds related Alarms, then evaluates each"},{"line_number":49,"context_line":"alarms;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_1a29388a","line":51,"in_reply_to":"5ad0253b_82000dac","updated":"2015-05-25 09:46:43.000000000","message":"1. in a separate service, but as one of Ceilometer service.\nSee 2nd paragraph in Alternatives.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":11189,"name":"yuntongjin","email":"yuntong.jin@intel.com","username":"yuntong"},"change_message_id":"741d35f578040b50773f5224f797e615a3184455","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID and Resource ID written in the event notification."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ad0253b_c2da8578","line":53,"updated":"2015-04-29 06:29:22.000000000","message":"To define which event should be published via this notifier, a event cache should be use to identify whether a event is related with any alarm.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"60406f5e3b922696d2ddd85f34e7745fd1e9a324","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID and Resource ID written in the event notification."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_5ac7b063","line":53,"in_reply_to":"3acd31a7_3e494d8c","updated":"2015-05-25 09:46:43.000000000","message":"Yes, we may need some filter in notification agent to reduce traffic. Lianhao proposed filter function (filter by event_type).\nIn the liberty summit, we agreed to implement smallest function of event alarms, so I\u0027d like to drop this topic from this bp.\n\nhttps://etherpad.openstack.org/p/event_alarm","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"a2ce08cd54119928fe5a21dcce54a8cd2598a692","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID and Resource ID written in the event notification."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3acd31a7_3e494d8c","line":53,"in_reply_to":"5ad0253b_c2da8578","updated":"2015-04-30 09:08:56.000000000","message":"We can\u0027t expect the admin to know which events are related to an alarm and set the event pipeline here. This should be an internal notifier or rpc cast which is opaque to admin. Everytime an event related to an alarm is generated, that event should be send to the alarm evaluate service using that internal notifier or rpc cast.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7a399bc56171e6e7cdb82919663bafae6f404667","unresolved":false,"context_lines":[{"line_number":68,"context_line":"evaluate average of values in certain period calculated from multiple samples."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The new alarm evaluator handles Notification type alarms, so we have to change"},{"line_number":71,"context_line":"existing alarm evaluator to exclude \"notification\" type alarms from evaluation"},{"line_number":72,"context_line":"targets."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_8e5c67ee","line":71,"updated":"2015-04-14 17:55:06.000000000","message":"just curious, how does this fit into event pipeline? or is it completely unrelated? if the latter, maybe it should be related?\n\nalso, querying the alarm db for each and every notification will definitely cause issues so maybe there\u0027s a solution to load alarms into memory somehow?","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"55bf5dd38b89469b55d6d7dd0557e4d1ed288e9a","unresolved":false,"context_lines":[{"line_number":68,"context_line":"evaluate average of values in certain period calculated from multiple samples."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The new alarm evaluator handles Notification type alarms, so we have to change"},{"line_number":71,"context_line":"existing alarm evaluator to exclude \"notification\" type alarms from evaluation"},{"line_number":72,"context_line":"targets."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5aa745d1_69f2909c","line":71,"in_reply_to":"7aaa499b_431e1460","updated":"2015-04-16 00:20:52.000000000","message":"Ah, I misunderstood the point. I agree with you.\n\nI thought  alarm coordination was not suitable for this on-the-fly evaluation since it assign alarms to evaluators whereas sender cannot figure out related alarms from event before evaluation, and we need some work around it. However, event_pipeline could be used to send out events to multiple evaluators. Also we might have to think about assignment method used in event_pipeline for efficiency in evaluator e.g. increasing cache hit rate of alarm definition.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"fc448f81bc9f194f14301b1346b1aa9a4cec046a","unresolved":false,"context_lines":[{"line_number":68,"context_line":"evaluate average of values in certain period calculated from multiple samples."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The new alarm evaluator handles Notification type alarms, so we have to change"},{"line_number":71,"context_line":"existing alarm evaluator to exclude \"notification\" type alarms from evaluation"},{"line_number":72,"context_line":"targets."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_9d380da2","line":71,"in_reply_to":"7aaa499b_8e5c67ee","updated":"2015-04-15 09:39:44.000000000","message":"This is not related to event pipeline, but related to how to assign alarms to each evaluator without any duplication.\n\nYes, if evaluator can have cache of alarm definitions, that would be nice. The topic seems optimization. Let me describe my tentative thought here: Considering one evaluator deployment, there are not so many discussion point, I guess. If we consider multiple evaluator deployment, then we should figure out how to  coordinate alarm/event assignment between them. Project ID might be good key to classify since there are no explicit way to find related alarms from an event except evaluating all alarms in the project.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"6a97cc19a4b4097d0d1ff908d017fb9ebaf9411f","unresolved":false,"context_lines":[{"line_number":68,"context_line":"evaluate average of values in certain period calculated from multiple samples."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The new alarm evaluator handles Notification type alarms, so we have to change"},{"line_number":71,"context_line":"existing alarm evaluator to exclude \"notification\" type alarms from evaluation"},{"line_number":72,"context_line":"targets."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_431e1460","line":71,"in_reply_to":"7aaa499b_9d380da2","updated":"2015-04-15 14:45:51.000000000","message":"i guess that was my point. there is already the ability to coordinated between multiple agents/pipelines.\n\nso if you create the evaluation inside the event_pipeline, you can ensure all notifications are processed by same pipeline, no matter what agent received it. of course some more code needs to be done to support full use case but i think if we\u0027re looking at \u0027real-time\u0027 work, there should be some connection to the event_pipeline.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"34d9289e8ae212025d1bbea379ddddc294f19ea4","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Alarm API will be extended as follows;"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* Add \"notification\" type into alarm type list"},{"line_number":102,"context_line":"* Add \"resource_id\" to \"alarm\""},{"line_number":103,"context_line":"* Add \"notification_rule\" to \"alarm\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Sample data of Notification-type alarm::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_ee9f7601","line":102,"updated":"2015-04-14 14:36:15.000000000","message":"In my opinion we should keep resource_id as an optional attribute. Adding it as mandatory would mean that a new alarm definition is needed per resource, which can mean a large number of items in case of larger public cloud deployments. Especially if we take into account that not just VM instances are handled as resources, but network items, storgae volumes, etc. On the other hand the project_id can already be used for an initial filtering. What do you think?","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"b396ceca8128a747e2b0201dcf2362d152f62f4b","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Alarm API will be extended as follows;"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* Add \"notification\" type into alarm type list"},{"line_number":102,"context_line":"* Add \"resource_id\" to \"alarm\""},{"line_number":103,"context_line":"* Add \"notification_rule\" to \"alarm\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Sample data of Notification-type alarm::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dac4157f_871dc468","line":102,"in_reply_to":"7aaa499b_cf4c9872","updated":"2015-04-20 07:25:10.000000000","message":"I would vote for removing the \u0027resource_id\u0027 from this proposal or just mention it as optional parameter maybe. The Notification-type alarm can be extended later especially as we talk about non-mandatory fields here. If we have this implementation in place then we can figure out how to map resources or where and how it should be done. What do you think?","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"fc448f81bc9f194f14301b1346b1aa9a4cec046a","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Alarm API will be extended as follows;"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* Add \"notification\" type into alarm type list"},{"line_number":102,"context_line":"* Add \"resource_id\" to \"alarm\""},{"line_number":103,"context_line":"* Add \"notification_rule\" to \"alarm\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Sample data of Notification-type alarm::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_cf4c9872","line":102,"in_reply_to":"7aaa499b_ee9f7601","updated":"2015-04-15 09:39:44.000000000","message":"First, adding \"resource_id\" parameter is just idea to reduce the number of alarm evaluations occured when this new evaluator received an event. If we take feasible and minimum implementation as first step of this new \"alerting on event\" feature, we may remove \"resource_id\" itself from this BP spec.\n\nIMHO, it depends on operator policy. If operator allow defining alarms without resource_id, he or she might struggle against heavy processing of the evaluator.\n\nHow we can reduce the number of alarms is more generic issue in Ceilometer and Heat. It would be nice that we treat \"Stack\" as a resource and generate event from Nova message by extracting metadata of server, then user can set alarms on Stack not every servers in the Stack.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"f6cc21bb0d76daac5d8d389ea3c8dddcb697550d","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Alarm API will be extended as follows;"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"* Add \"notification\" type into alarm type list"},{"line_number":102,"context_line":"* Add \"resource_id\" to \"alarm\""},{"line_number":103,"context_line":"* Add \"notification_rule\" to \"alarm\""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Sample data of Notification-type alarm::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dac4157f_e21d65be","line":102,"in_reply_to":"dac4157f_871dc468","updated":"2015-04-21 02:36:36.000000000","message":"OK, it should be nice for us to focus on basic framework at the begging of this discussion. So, I will add note in work item section that we\u0027ll split into two steps; one for basic framework and one for performance enhancement with resource_id as only option. I will try to show performance impact in further work, then try to create admin option to set resource_id mandatory in another BP/commit.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"9987f0283c040d177ba4ef5efae2b82a93328cc2","unresolved":false,"context_lines":[{"line_number":138,"context_line":"      \"user_id\": \"c96c887c216949acbdfbd8b494863567\""},{"line_number":139,"context_line":"  }"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"\"resource_id\" will be refered to query alarm and will not be check permission"},{"line_number":142,"context_line":"and belonging of project."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_940a80d1","line":141,"updated":"2015-04-28 11:26:28.000000000","message":"s/refered/referred/","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"9e08ba568e47f26ecd72b65529ac236379d7b69e","unresolved":false,"context_lines":[{"line_number":138,"context_line":"      \"user_id\": \"c96c887c216949acbdfbd8b494863567\""},{"line_number":139,"context_line":"  }"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"\"resource_id\" will be refered to query alarm and will not be check permission"},{"line_number":142,"context_line":"and belonging of project."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_ad0d4c90","line":141,"in_reply_to":"7a016987_9aa648ac","updated":"2015-05-25 10:03:04.000000000","message":"OK!","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"60406f5e3b922696d2ddd85f34e7745fd1e9a324","unresolved":false,"context_lines":[{"line_number":138,"context_line":"      \"user_id\": \"c96c887c216949acbdfbd8b494863567\""},{"line_number":139,"context_line":"  }"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"\"resource_id\" will be refered to query alarm and will not be check permission"},{"line_number":142,"context_line":"and belonging of project."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_9aa648ac","line":141,"in_reply_to":"7ad32947_940a80d1","updated":"2015-05-25 09:46:43.000000000","message":"Thanks - but I\u0027ll remove this sentence due to deletion of \"resource_id\"","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"9987f0283c040d177ba4ef5efae2b82a93328cc2","unresolved":false,"context_lines":[{"line_number":159,"context_line":"Performance/Scalability Impacts"},{"line_number":160,"context_line":"-------------------------------"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"When Ceilomter received a number of events from other OpenStack services in"},{"line_number":163,"context_line":"short period, this alarm evaluator can keep working since events are queued in"},{"line_number":164,"context_line":"a messaging queue system, but it can cause delay of alarm notification to users"},{"line_number":165,"context_line":"and increase the number of read and write access to alarm database."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7ad32947_141e700c","line":162,"updated":"2015-04-28 11:26:28.000000000","message":"s/Ceilomter/Ceilometer/","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"9e08ba568e47f26ecd72b65529ac236379d7b69e","unresolved":false,"context_lines":[{"line_number":159,"context_line":"Performance/Scalability Impacts"},{"line_number":160,"context_line":"-------------------------------"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"When Ceilomter received a number of events from other OpenStack services in"},{"line_number":163,"context_line":"short period, this alarm evaluator can keep working since events are queued in"},{"line_number":164,"context_line":"a messaging queue system, but it can cause delay of alarm notification to users"},{"line_number":165,"context_line":"and increase the number of read and write access to alarm database."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_6d24f40b","line":162,"in_reply_to":"7a016987_7aa14c93","updated":"2015-05-25 10:03:04.000000000","message":"OK!","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"60406f5e3b922696d2ddd85f34e7745fd1e9a324","unresolved":false,"context_lines":[{"line_number":159,"context_line":"Performance/Scalability Impacts"},{"line_number":160,"context_line":"-------------------------------"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"When Ceilomter received a number of events from other OpenStack services in"},{"line_number":163,"context_line":"short period, this alarm evaluator can keep working since events are queued in"},{"line_number":164,"context_line":"a messaging queue system, but it can cause delay of alarm notification to users"},{"line_number":165,"context_line":"and increase the number of read and write access to alarm database."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_7aa14c93","line":162,"in_reply_to":"7ad32947_141e700c","updated":"2015-05-25 09:46:43.000000000","message":"Done","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"34d9289e8ae212025d1bbea379ddddc294f19ea4","unresolved":false,"context_lines":[{"line_number":230,"context_line":"New unit/scenario tests are required for this change."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Documentation Impact"},{"line_number":233,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* Proposed evaluator will be described in the developer document."},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_819fa34f","line":233,"updated":"2015-04-14 14:36:15.000000000","message":"We moved to OpenStack Manuals regarding to the documentation which targets usage or architecture. Developer documentation should only be updated with information that is important from implementation point of view. Also as the spec describes a new component, the installation guide should be updated also.\n\nPlease update this section with a reference to the Administrator Guide and Installation Guide as documents that should be updated in OpenStack Manuals.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"fc448f81bc9f194f14301b1346b1aa9a4cec046a","unresolved":false,"context_lines":[{"line_number":230,"context_line":"New unit/scenario tests are required for this change."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Documentation Impact"},{"line_number":233,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* Proposed evaluator will be described in the developer document."},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aaa499b_8fde900f","line":233,"in_reply_to":"7aaa499b_819fa34f","updated":"2015-04-15 09:39:44.000000000","message":"Got it - thanks.","commit_id":"8ddc378950cdba6e7b5d5c177ea6194228280622"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e8eca7549c6413e62d56ce83ce6cb7080e944113","unresolved":false,"context_lines":[{"line_number":169,"context_line":"\"resource_id\" can be optional, but restricting it to mandatory could be reduce"},{"line_number":170,"context_line":"performance impact. If user create \"notification\" alarm without \"resource_id\","},{"line_number":171,"context_line":"those alarms will be evaluated every time event occurred in the project."},{"line_number":172,"context_line":"That may lead new evaluator heavy."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Other deployer impact"},{"line_number":175,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a016987_ea3e66d9","line":172,"updated":"2015-05-26 14:37:12.000000000","message":"this sentence fragment does not make sense i would delete or clarify","commit_id":"3d58fd5397a1a9ed3a3f627972b4cbaf63ac3290"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"23d3d515db59e8768b6bf4ca22895e8cfa9b04b5","unresolved":false,"context_lines":[{"line_number":169,"context_line":"\"resource_id\" can be optional, but restricting it to mandatory could be reduce"},{"line_number":170,"context_line":"performance impact. If user create \"notification\" alarm without \"resource_id\","},{"line_number":171,"context_line":"those alarms will be evaluated every time event occurred in the project."},{"line_number":172,"context_line":"That may lead new evaluator heavy."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Other deployer impact"},{"line_number":175,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a016987_2a59108f","line":172,"in_reply_to":"7a016987_ea3e66d9","updated":"2015-05-26 20:47:20.000000000","message":"yes, and I should delete this paragraph to reflect discussion in the summit. what we agreed in the summit is focus on creating basic framework which means no \"resource_id\".","commit_id":"3d58fd5397a1a9ed3a3f627972b4cbaf63ac3290"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"23d3d515db59e8768b6bf4ca22895e8cfa9b04b5","unresolved":false,"context_lines":[{"line_number":209,"context_line":"* Modify existing alarm evaluator to filter out \"notification\" alarms"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"* Add new config parameter for alarm request check whether accepting alarms"},{"line_number":212,"context_line":"  without specifying \"resource_id\" or not"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Future lifecycle"},{"line_number":215,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a016987_ca3b9c37","line":212,"updated":"2015-05-26 20:47:20.000000000","message":"Also, this should be deleted to simplify this feature.","commit_id":"3d58fd5397a1a9ed3a3f627972b4cbaf63ac3290"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f52095ed5722242dd96435dc17a3d0c675352ccc","unresolved":false,"context_lines":[{"line_number":49,"context_line":"alarms;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_c77bb57a","line":52,"updated":"2015-06-01 20:26:26.000000000","message":"This should be \u0027event_pipeline.yaml\u0027 here.","commit_id":"dd90761b0f315380d2d04d5372944cc265a73fd5"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"937d503ffebca162df5113e60dc3cb785cc41b6b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"alarms;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* New alarm evaluator could receive event notification from Notification Agent"},{"line_number":52,"context_line":"  by which adding a dedicated notifier as a publisher in pipeline.yaml"},{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_8132db0e","line":52,"in_reply_to":"5afe65bd_c77bb57a","updated":"2015-06-04 16:47:28.000000000","message":"Done","commit_id":"dd90761b0f315380d2d04d5372944cc265a73fd5"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f3412c8c868d5fbe6ad188a0c44c382470c75a1a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_8baa2a18","line":56,"updated":"2015-05-27 14:16:57.000000000","message":"is there a way we can cache the alarms? or maybe only grab new alarms? my concern is that this is a massive load on api.","commit_id":"dd90761b0f315380d2d04d5372944cc265a73fd5"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"937d503ffebca162df5113e60dc3cb785cc41b6b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_2c6b0087","line":56,"in_reply_to":"5afe65bd_87e7fd11","updated":"2015-06-04 16:47:28.000000000","message":"Here are my thought and proposal regarding cache.\n\n[cache all alarms vs cache alarms in project]\nAs the first step, I propose to make new event alarm evaluator cache all alarm definitions.\nWe have to consider which alarm definitions to be cached once we start work to support multiple event alarm evaluators which only needs to have assigned alarms definitions. \nKey parameter to make assignment of alarms for event alarm evaluators could be project, but we need further discussion.\n\n[get all alarms vs get only diff]\nLet\u0027s get all alarms in every sync/update of alarm definitions.\nIn current ceilometer API, we cannot get deleted alarm definitions from specific time, right?\nThat means we cannot update cache correctly.","commit_id":"dd90761b0f315380d2d04d5372944cc265a73fd5"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f52095ed5722242dd96435dc17a3d0c675352ccc","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_87e7fd11","line":56,"in_reply_to":"7a016987_1e250f08","updated":"2015-06-01 20:26:26.000000000","message":"Having a cache seems to be a good idea to me to avoid the constant load on the API and the DB queries.\n\n@Gordon: Do we have any best practices for caching?","commit_id":"dd90761b0f315380d2d04d5372944cc265a73fd5"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"06395b9cf70231a060859d963dbb5ade0c30c954","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  (e.g. notifier://?topic\u003devent_eval)."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_1e250f08","line":56,"in_reply_to":"7a016987_8baa2a18","updated":"2015-05-29 03:47:40.000000000","message":"My thought is get alarms in projects per event, in the first step of event alarm. Yes, this may lead massive load on ceilometer api.\n\nShould we create cache mechanism in the first step?\n\nTo reduce api request in short period, I think the following is sufficient:\n\n    1. evaluator checks alarm cache when it recieved event\n    2. evaluator create or update alarm cache by GET to ceilometer api when there is no valid alarm info\n    3. evaluator refer cached alarm entries until they expire (60sec?)\n\nWhat do you think?","commit_id":"dd90761b0f315380d2d04d5372944cc265a73fd5"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"f52095ed5722242dd96435dc17a3d0c675352ccc","unresolved":false,"context_lines":[{"line_number":156,"context_line":"Pipeline impact"},{"line_number":157,"context_line":"---------------"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"None"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Other end user impact"},{"line_number":162,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_278de97b","line":159,"updated":"2015-06-01 20:26:26.000000000","message":"I think the notifier (line 51) in the event pipeline should be mentioned here.","commit_id":"dd90761b0f315380d2d04d5372944cc265a73fd5"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"937d503ffebca162df5113e60dc3cb785cc41b6b","unresolved":false,"context_lines":[{"line_number":156,"context_line":"Pipeline impact"},{"line_number":157,"context_line":"---------------"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"None"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Other end user impact"},{"line_number":162,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_c130d303","line":159,"in_reply_to":"5afe65bd_278de97b","updated":"2015-06-04 16:47:28.000000000","message":"Ah, OK. Done in the next patch set.","commit_id":"dd90761b0f315380d2d04d5372944cc265a73fd5"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"1a5b0865bc2bfb676119bcbb2bea032521484c44","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm database would be cached"},{"line_number":58,"context_line":"  in the new alarm evaluator in a certain period which should be configurable."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_ba497962","line":58,"updated":"2015-06-09 08:00:10.000000000","message":"what happens to cache when an alarm is added/modified/deleted? i guess we need to add a \u0027last-edit-timestamp\u0027 to the alarm schema to know what has changed?","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"1ab891fd80369ece1323d83c4c5434412aa2861d","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm database would be cached"},{"line_number":58,"context_line":"  in the new alarm evaluator in a certain period which should be configurable."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_f94f8a8f","line":58,"in_reply_to":"3afb71cf_21984e1b","updated":"2015-06-11 10:44:43.000000000","message":"Agree with your comment on cache update. We need solution like cache coherence mechanism to fulfill the following requirements:\n\n * Prompt update to take effect new alarms soon\n * Small traffic on updating cache\n * Small/limited footprint of cache\n\n\nI understand your concern now.\n\nI don\u0027t have clear idea for now.\nIMHO, project is better choice for the key used on coordination.\n\nProject is uniq and can be found in almost all messages and data. If we use project as key, cache size can be limited by setting quota of alarm and number of projects assigned to it.\n\nThere are various event_type will be used, so it is nice to allow regex/wildcard in event alarm definitions in API. In that situation, it is hard to use event_type as coordination key.\n\nResource_id might be used, but we need more efforts to make sure it labeled on  each message in unified manner.\n\n\nWhat do you think?","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"3038e1ee76d06bb43d136fe6912d64e50b36f279","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm database would be cached"},{"line_number":58,"context_line":"  in the new alarm evaluator in a certain period which should be configurable."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_77886871","line":58,"in_reply_to":"3afb71cf_59c94125","updated":"2015-06-10 15:59:31.000000000","message":"\u003e we have event pipelines, and each pipeline will publish to a topic to be consumed by alarm evaluator.\n\nYou mean this new event alarm evaluator, right?\n\n\n\u003e how do we ensure only one evaluator can listen to a topic (if we have multiple evaluators, we face coordination of messages issue)\n\n[single evaluator]\nIf we have only one evaluator, creating new topic by operator configuration is enough.\nSo, I propose new topic for event alarm evaluation which would be added into the event_pipeline. This new topic is different from current messaging to store events.\nSeparation of queue seems to lead double traffic, but it can be reduced by each filtering rule depends on event config or alarm definitions.\n\n[multiple evaluators without coordination]\nWe don\u0027t need to concern alarm coordination (we don\u0027t need tooz, I guess). Because input/trigger is different from that of existing evaluator. All event alarm evaluation will be triggered by messaging only once, whereas existing evaluator will periodically start with list of alarm definitions.\nWe can use oslo.messaging\u0027s notification_listener that enable us to have multiple evaluators for scale out in a round robin fashion. Each message will be consumed by only one evaluator. Note that each evaluator have to handle any events and may have all alarm definition in its cache.\n\n[multiple evaluators with coordination]\nFirst, we have to discuss which key should be used for coordination. The candidates are project, event_type and resource_id.\nOnce it\u0027s selected, make ceilometer agents send message to relavant topic including key string. Event alarm evaluators will be coordinated by tooz and listen topics which are assigned to it.\n\nI think \"multiple evaluators\" cases could be discussed as further enhancement.\n\n\u003ealso, how do we control the cache? is our evaluator again periodically polling for new alarms?\n\nThe cache will be controlled in the process of event alarm evaluation. The evaluator will create/update when it starts evaluation, not periodically.","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7f7f6dabb5496ae3c2fb7d5afc08b4817f577c0b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm database would be cached"},{"line_number":58,"context_line":"  in the new alarm evaluator in a certain period which should be configurable."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_21984e1b","line":58,"in_reply_to":"3afb71cf_5be1f928","updated":"2015-06-11 09:36:13.000000000","message":"thanks Ryota.\n\nso working from that, i think we need to define how we tell if cache is \u0027old\u0027, an option to define refresh periods is not very elegant but i dont think i have another option (i think we need to add a feature in tooz to broadcast task changes).\n\nfor the multiple evaluators with coordination case, if we coordinate on a key, how will the agents know what the possible key-values are? ie. if we coordinate on event_type, we can publish to event_type queues easily, but the evaluator agents can\u0027t tell what the event_type queues are.\n\nmy main concern is that we need to coordinate again... which makes the coordination at notification agent level useless.","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f9c888a9986945eccb2a6397d441e8558e208389","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm database would be cached"},{"line_number":58,"context_line":"  in the new alarm evaluator in a certain period which should be configurable."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_59c94125","line":58,"in_reply_to":"3afb71cf_707aebbe","updated":"2015-06-10 04:06:39.000000000","message":"hmm.. so i don\u0027t think i quite understand how it works. sorry if the below questions are obvious.\n\nwe have event pipelines, and each pipeline will publish to a topic to be consumed by alarm evaluator.\n\n- how do we ensure only one evaluator can listen to a topic (if we have multiple evaluators, we face coordination of messages issue)\n- also, how do we control the cache? is our evaluator again periodically polling for new alarms?","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"d848355cb3e167818f3015e9c4c80edd17c4fd13","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm database would be cached"},{"line_number":58,"context_line":"  in the new alarm evaluator in a certain period which should be configurable."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_a0f6838c","line":58,"in_reply_to":"3afb71cf_77886871","updated":"2015-06-11 02:57:35.000000000","message":"so the new event alarm evaluator will (on startup) grab all the event alarms... it will have a listener and fan out the messages to all alarm endpoints.\n\nis that the basic functionality?","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"bce297c3e060b5e8db972fed07f2855949a19028","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm database would be cached"},{"line_number":58,"context_line":"  in the new alarm evaluator in a certain period which should be configurable."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_5be1f928","line":58,"in_reply_to":"3afb71cf_a0f6838c","updated":"2015-06-11 08:29:30.000000000","message":"Almost yes. Let me try the clarification again:\n\nThe new event alarm evaluator will grab all the event alarms when it received event from agent (that trigger evaluation process) only if the cache was old.\n\nYes, it will have a listener and fan out the messages to all alarm endpoints (via notifier).\n\n[agent/event_pipeline] --\u003e [alarm evaluator] --\u003e [notifier]","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"0dfe05cc6c507396589bcb312283772fc11e7323","unresolved":false,"context_lines":[{"line_number":55,"context_line":"* When new alarm evaluator received event notification, it queries alarm"},{"line_number":56,"context_line":"  database by Project ID written in the event notification."},{"line_number":57,"context_line":"  To reduce heavy load of Ceilometer API, this alarm database would be cached"},{"line_number":58,"context_line":"  in the new alarm evaluator in a certain period which should be configurable."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Found alarms are evaluated by referring event notification."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_707aebbe","line":58,"in_reply_to":"3afb71cf_ba497962","updated":"2015-06-09 15:46:53.000000000","message":"Evaluator simply get current alarm definitions rather than query changes in the certain period. We can get new or updated alarms, but cannot get deleted alarms, so the new evaluator have to get all alarms in each time when it creates cache.","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"1a5b0865bc2bfb676119bcbb2bea032521484c44","unresolved":false,"context_lines":[{"line_number":62,"context_line":"* Depending on the result of evaluation, those alarms would be fired through"},{"line_number":63,"context_line":"  Alarm Notifier as the same as existing Alarm Evaluator does."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"This proposal also adds new alarm type \"notification\" and \"notification_rule\"."},{"line_number":66,"context_line":"This enables users to create alarms on events. The separation from other alarm"},{"line_number":67,"context_line":"types (such as \"threshold\" type) is intended to show different timing of"},{"line_number":68,"context_line":"evaluation and different format of condition, since the new evaluator will"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_ba6059d0","line":65,"updated":"2015-06-09 08:00:10.000000000","message":"notification-\u003eevent seems like a logical change to me","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"0dfe05cc6c507396589bcb312283772fc11e7323","unresolved":false,"context_lines":[{"line_number":62,"context_line":"* Depending on the result of evaluation, those alarms would be fired through"},{"line_number":63,"context_line":"  Alarm Notifier as the same as existing Alarm Evaluator does."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"This proposal also adds new alarm type \"notification\" and \"notification_rule\"."},{"line_number":66,"context_line":"This enables users to create alarms on events. The separation from other alarm"},{"line_number":67,"context_line":"types (such as \"threshold\" type) is intended to show different timing of"},{"line_number":68,"context_line":"evaluation and different format of condition, since the new evaluator will"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_839c035e","line":65,"in_reply_to":"3afb71cf_ba6059d0","updated":"2015-06-09 15:46:53.000000000","message":"Yes, it may impact on discussion how we can capture/process event or notification from other OpenStack services: e.g. in which point event will be generated from notification.\n\nI thought that we can start \"event alarm feature\" from raw level, but it should be nice to hide admin message (notification) and provide information more relevant to end user. It also bring consistency in user view.","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"694746409a2c18f8fb2edb497a08e234a089d5f1","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                  \"op\" : \"eq\","},{"line_number":138,"context_line":"              },"},{"line_number":139,"context_line":"          ]"},{"line_number":140,"context_line":"      },"},{"line_number":141,"context_line":"      \"ok_actions\": [],"},{"line_number":142,"context_line":"      \"project_id\": \"c96c887c216949acbdfbd8b494863567\","},{"line_number":143,"context_line":"      \"repeat_actions\": false,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_317403fc","line":140,"range":{"start_line":140,"start_character":6,"end_line":140,"end_character":8},"updated":"2015-06-12 08:29:57.000000000","message":"so i can see two options... \n\neither this notification evaluator needs to do a similar coordination process as the notification agent.\n\nOR\n\nwe make this function similar to how we handle transformers in pipeline.yaml. ie we don\u0027t store any of the alarm info/history in the db but rather define the criteria in the pipeline. normally, this would not work, but if paired with Rohit\u0027s work to have graceful pipeline updates, this actually might work.\n\nthat said, you don\u0027t get alarm history and you don\u0027t get ability to set alarms via api.\n\nOR\n\nwe don\u0027t support active active HA.\n\nany other options?","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"e6a5d88742d569c24b04bd0442d4382178f10091","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                  \"op\" : \"eq\","},{"line_number":138,"context_line":"              },"},{"line_number":139,"context_line":"          ]"},{"line_number":140,"context_line":"      },"},{"line_number":141,"context_line":"      \"ok_actions\": [],"},{"line_number":142,"context_line":"      \"project_id\": \"c96c887c216949acbdfbd8b494863567\","},{"line_number":143,"context_line":"      \"repeat_actions\": false,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_1e3d492b","line":140,"in_reply_to":"1af86dd1_317403fc","updated":"2015-06-15 09:10:51.000000000","message":"# I guess this is comment in thread of line 59.\n\nThe second option cannot be taken as one option to complete this feature.\n\nThose two options seem to be different enhancements (in event evaluator and in notification agent/event_pipeline), so we can do those works step by step not exclusively.\n\nOne for evaluator mechanism to make them efficient by assigning events/alarms in the same context which may reduce their holding data.\n\nThe another option might be reduce number of handling events by telling \"interested event_types\" to notification agents.\nI guess pipeline configuration and \"graceful pipeline updates\" are for admins, those should not be directly opened to end users. Having event alarm API for end users should be acceptable in operator perspective.","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7f7f6dabb5496ae3c2fb7d5afc08b4817f577c0b","unresolved":false,"context_lines":[{"line_number":182,"context_line":"Other deployer impact"},{"line_number":183,"context_line":"---------------------"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"New service process have to be run."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Developer impact"},{"line_number":188,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_61ac068c","line":185,"range":{"start_line":185,"start_character":34,"end_line":185,"end_character":35},"updated":"2015-06-11 09:36:13.000000000","message":"let\u0027s add proposed option to refresh cache here","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"},{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"e6a5d88742d569c24b04bd0442d4382178f10091","unresolved":false,"context_lines":[{"line_number":182,"context_line":"Other deployer impact"},{"line_number":183,"context_line":"---------------------"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"New service process have to be run."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Developer impact"},{"line_number":188,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_de4601bf","line":185,"in_reply_to":"3afb71cf_61ac068c","updated":"2015-06-15 09:10:51.000000000","message":"Done. I also added further enhancements in Future lifecycle.","commit_id":"2b29c167683f57a3fadb755d572c1d40ed011800"}]}
