)]}'
{"specs/mitaka/event-alarm-timeout.rst":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"2a0afb6fcc25270aaae065659c6db29ec16d87b7","unresolved":false,"context_lines":[{"line_number":36,"context_line":"length. Otherwise, alarm status becomes \u0027OK\u0027."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"For timeout implementation, a new timeout thread/process is spawned inside AODH"},{"line_number":39,"context_line":"api process for timeout action."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Synchronization handling is critical here, as both evaluator and timeout"},{"line_number":42,"context_line":"process need change status for same alarm. To avoid complicated lock, timeout"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_bb3934d9","line":39,"updated":"2015-11-03 06:16:25.000000000","message":"why this timeout thread is in api? Should this be in event-evaluator? Also, I think we need to modify the DB layer so we can get a list of timeout alarm definition and start timeout thread according to them.","commit_id":"8c8e1a1636c0cd12dce2dff6e707a53b4d3bb07a"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"12d055c132683d53da3ffdb13032a084a01659de","unresolved":false,"context_lines":[{"line_number":36,"context_line":"length. Otherwise, alarm status becomes \u0027OK\u0027."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"For timeout implementation, a new timeout thread/process is spawned inside AODH"},{"line_number":39,"context_line":"api process for timeout action."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Synchronization handling is critical here, as both evaluator and timeout"},{"line_number":42,"context_line":"process need change status for same alarm. To avoid complicated lock, timeout"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_369c5b0e","line":39,"in_reply_to":"1a26ad4f_bb3934d9","updated":"2015-11-03 07:36:55.000000000","message":"evaluator would not be called until event comes. We need create timeout thread any time create alarm with timeout, that is, in post API.\n\nDoes \"list of timeout alarm definition\" come from python-ceilometerclient?\nI think no need to start timeout thread here, as already spawn it when creating alarm.\n\nDB should record the alarm creation time, plus timeout and current time, we can list timeout status for all alarms.","commit_id":"8c8e1a1636c0cd12dce2dff6e707a53b4d3bb07a"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"2a0afb6fcc25270aaae065659c6db29ec16d87b7","unresolved":false,"context_lines":[{"line_number":46,"context_line":"The final alarm status depends on the order of events. If \u0027timeout\u0027 event comes"},{"line_number":47,"context_line":"first, alarm status becomes \u0027OK\u0027 and following desired event is ignored."},{"line_number":48,"context_line":"\u0027ALARM\u0027 for otherwise. In this way, synchronization is well handled with new"},{"line_number":49,"context_line":"\u0027timeout\u0027 event and simple logic in evaluator."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_9bdf9868","line":49,"updated":"2015-11-03 06:16:25.000000000","message":"In tokyo summit, Ryota proposed to add a new type of event alarms with no repeat_action and no status, is it possible that we leverage that to avoid such pain?","commit_id":"8c8e1a1636c0cd12dce2dff6e707a53b4d3bb07a"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"d596bbb52b0211af809ee533091cb62f5a8c1986","unresolved":false,"context_lines":[{"line_number":46,"context_line":"The final alarm status depends on the order of events. If \u0027timeout\u0027 event comes"},{"line_number":47,"context_line":"first, alarm status becomes \u0027OK\u0027 and following desired event is ignored."},{"line_number":48,"context_line":"\u0027ALARM\u0027 for otherwise. In this way, synchronization is well handled with new"},{"line_number":49,"context_line":"\u0027timeout\u0027 event and simple logic in evaluator."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_58a97c7a","line":49,"in_reply_to":"1a26ad4f_56047716","updated":"2015-11-05 07:52:21.000000000","message":"no doc yet, just a though and a AR for Ryota. I\u0027m not saying this bp is invalid, no matter which type of event alarm, timeout is always wanted.","commit_id":"8c8e1a1636c0cd12dce2dff6e707a53b4d3bb07a"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"12d055c132683d53da3ffdb13032a084a01659de","unresolved":false,"context_lines":[{"line_number":46,"context_line":"The final alarm status depends on the order of events. If \u0027timeout\u0027 event comes"},{"line_number":47,"context_line":"first, alarm status becomes \u0027OK\u0027 and following desired event is ignored."},{"line_number":48,"context_line":"\u0027ALARM\u0027 for otherwise. In this way, synchronization is well handled with new"},{"line_number":49,"context_line":"\u0027timeout\u0027 event and simple logic in evaluator."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_56047716","line":49,"in_reply_to":"1a26ad4f_9bdf9868","updated":"2015-11-03 07:36:55.000000000","message":"Any doc for this? I believe it also requires timeout. If new type doesn\u0027t take place of current event alarm, this BP is still valid.","commit_id":"8c8e1a1636c0cd12dce2dff6e707a53b4d3bb07a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"13b314a0b169bb682e6610a83a788b05c2657803","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Proposed change"},{"line_number":32,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"When creating event-alarm, adds a new parameter \u0027timeout\u0027 to define a time"},{"line_number":35,"context_line":"length, so that alarm only gets fired when receiving desired event in such"},{"line_number":36,"context_line":"length. Otherwise, alarm status becomes \u0027OK\u0027."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_401221b6","line":34,"updated":"2015-11-03 19:27:19.000000000","message":"it\u0027s not really clear how this works. can you give an example of alarm definition? also maybe describe how we define start and end events?","commit_id":"e120d1581f3522c5e021802befb55d4df645a3b8"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"13b314a0b169bb682e6610a83a788b05c2657803","unresolved":false,"context_lines":[{"line_number":46,"context_line":"The final alarm status depends on the order of events. If \u0027timeout\u0027 event comes"},{"line_number":47,"context_line":"first, alarm status becomes \u0027OK\u0027 and following desired event is ignored."},{"line_number":48,"context_line":"\u0027ALARM\u0027 for otherwise. In this way, synchronization is well handled with new"},{"line_number":49,"context_line":"\u0027timeout\u0027 event and simple logic in evaluator."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_60308557","line":49,"updated":"2015-11-03 19:27:19.000000000","message":"can you add a point how we handle scenario if we get an end event before start?","commit_id":"e120d1581f3522c5e021802befb55d4df645a3b8"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"3f88799ae9d92b5be7d1e35257f426a42a843777","unresolved":false,"context_lines":[{"line_number":46,"context_line":"The final alarm status depends on the order of events. If \u0027timeout\u0027 event comes"},{"line_number":47,"context_line":"first, alarm status becomes \u0027OK\u0027 and following desired event is ignored."},{"line_number":48,"context_line":"\u0027ALARM\u0027 for otherwise. In this way, synchronization is well handled with new"},{"line_number":49,"context_line":"\u0027timeout\u0027 event and simple logic in evaluator."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_8231e60d","line":49,"in_reply_to":"fa80f949_60308557","updated":"2015-11-04 00:45:31.000000000","message":"OK. will give more details","commit_id":"e120d1581f3522c5e021802befb55d4df645a3b8"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"13b314a0b169bb682e6610a83a788b05c2657803","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"There is another BP from Igor to illustrate a different high level design and"},{"line_number":56,"context_line":"usage model. It adds a new alarm type \u0027event_timeout\u0027 to track sequence of"},{"line_number":57,"context_line":"events, like: \"compute.instance.create.start\", \"compute.instance.create.end\"."},{"line_number":58,"context_line":"Only after receiving \"start\" event, timeout is created for \"end\" event. It is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_60a645c3","line":55,"updated":"2015-11-03 19:27:19.000000000","message":"can you add a link/reference to this below","commit_id":"e120d1581f3522c5e021802befb55d4df645a3b8"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"3f88799ae9d92b5be7d1e35257f426a42a843777","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"There is another BP from Igor to illustrate a different high level design and"},{"line_number":56,"context_line":"usage model. It adds a new alarm type \u0027event_timeout\u0027 to track sequence of"},{"line_number":57,"context_line":"events, like: \"compute.instance.create.start\", \"compute.instance.create.end\"."},{"line_number":58,"context_line":"Only after receiving \"start\" event, timeout is created for \"end\" event. It is"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_22235abf","line":55,"in_reply_to":"fa80f949_60a645c3","updated":"2015-11-04 00:45:31.000000000","message":"OK.","commit_id":"e120d1581f3522c5e021802befb55d4df645a3b8"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"276c7154451cd7c0d76c6c294592f75cbdc298d8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"against specific image with timeout of 10s(--timeout as new parameter):"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"``ceilometer -d alarm-event-create  --alarm-action \u0027log://\u0027 --ok-action \u0027log://\u0027"},{"line_number":42,"context_line":"--event-type image.update  -q"},{"line_number":43,"context_line":"\u0027traits.name\u003dstring::cirros-0.3.4-x86_64-uec-ramdisk\u0027 --repeat-actions False"},{"line_number":44,"context_line":"--name alarm01 --timeout 10``"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa80f949_d8ea4cac","line":42,"updated":"2015-11-05 08:00:33.000000000","message":"we should use the new aodh client I believe.","commit_id":"758ae0dc6d6ee293cd303d7258ee845e1cca8b9e"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"5dc75443db18a89fb8ff0dcdfaa8f3b6bf083e4f","unresolved":false,"context_lines":[{"line_number":39,"context_line":"against specific image with timeout of 10s(--timeout as new parameter):"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"``ceilometer -d alarm-event-create  --alarm-action \u0027log://\u0027 --ok-action \u0027log://\u0027"},{"line_number":42,"context_line":"--event-type image.update  -q"},{"line_number":43,"context_line":"\u0027traits.name\u003dstring::cirros-0.3.4-x86_64-uec-ramdisk\u0027 --repeat-actions False"},{"line_number":44,"context_line":"--name alarm01 --timeout 10``"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa80f949_51b7eef4","line":42,"in_reply_to":"fa80f949_d8ea4cac","updated":"2015-11-06 03:38:28.000000000","message":"It\u0027s just an example.  I can change it when aodhclient is online.","commit_id":"758ae0dc6d6ee293cd303d7258ee845e1cca8b9e"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"276c7154451cd7c0d76c6c294592f75cbdc298d8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"For timeout implementation, a new timeout thread/process is spawned inside AODH"},{"line_number":62,"context_line":"api process for timeout action. Timeout thread could not be spawned by"},{"line_number":63,"context_line":"evaluator, who is triggered by coming event so no guarantee to start timeout on"},{"line_number":64,"context_line":"time."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Synchronization handling is critical here, as both evaluator and timeout"},{"line_number":67,"context_line":"process need change status for same alarm. To avoid complicated lock, timeout"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa80f949_187d34e7","line":64,"updated":"2015-11-05 08:00:33.000000000","message":"I don\u0027t like the idea of having timeout thread running on aodh api.  My guess that you have it on api is you want to handle the creation of new timeout event alarm easily. But that doesn\u0027t scale out, considering the following scenario:\n\n1. sysadmin started a single aodh api, and then users created 100 timeout event alarms, all of them were evaluated in the timeout thread on that api node.\n\n2. later, sysadmin started another aodh api, on which there is no timeout thread at all. Now we still have a SPOF in terms of timeout evaluation.\n\n\nAlso the DB layer change to add an interface to get the timeout event alarm is needed in aodh, not in ceilometer/ceilometerclient, because we all decided to freeze the alarm part on that side.","commit_id":"758ae0dc6d6ee293cd303d7258ee845e1cca8b9e"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"5dc75443db18a89fb8ff0dcdfaa8f3b6bf083e4f","unresolved":false,"context_lines":[{"line_number":61,"context_line":"For timeout implementation, a new timeout thread/process is spawned inside AODH"},{"line_number":62,"context_line":"api process for timeout action. Timeout thread could not be spawned by"},{"line_number":63,"context_line":"evaluator, who is triggered by coming event so no guarantee to start timeout on"},{"line_number":64,"context_line":"time."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Synchronization handling is critical here, as both evaluator and timeout"},{"line_number":67,"context_line":"process need change status for same alarm. To avoid complicated lock, timeout"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa80f949_f72852e4","line":64,"in_reply_to":"fa80f949_187d34e7","updated":"2015-11-06 03:38:28.000000000","message":"Will remove timeout thread spawning from API to evaluator. Also will add more details.","commit_id":"758ae0dc6d6ee293cd303d7258ee845e1cca8b9e"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"ae51779dbb90de3a0ee77dc046574630fabccc38","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"For timeout implementation, \u0027alarm.timeout.start\u0027 notification is sent out by"},{"line_number":65,"context_line":"AODH api process when create alarm. After receive it, evaluator spawns a new"},{"line_number":66,"context_line":"timeout thread/process to handle timeout. In this way, avoid new process in"},{"line_number":67,"context_line":"AODH api and make all alarm handling jobs inside evaluator."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"da85f559_0f322aa7","line":65,"updated":"2015-11-12 17:41:55.000000000","message":"After receiving it","commit_id":"23b03b10a1d4e2a4d4dfe233cb59bb3568e0d29f"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"edd0cb14e3f2382d9652ee5c018694fb6d90c529","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"For timeout implementation, \u0027alarm.timeout.start\u0027 notification is sent out by"},{"line_number":65,"context_line":"AODH api process when create alarm. After receive it, evaluator spawns a new"},{"line_number":66,"context_line":"timeout thread/process to handle timeout. In this way, avoid new process in"},{"line_number":67,"context_line":"AODH api and make all alarm handling jobs inside evaluator."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"da85f559_69e28d31","line":65,"in_reply_to":"da85f559_0f322aa7","updated":"2015-11-13 22:12:51.000000000","message":"ok.","commit_id":"23b03b10a1d4e2a4d4dfe233cb59bb3568e0d29f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"957a1a96dc0f6cc5d5b8febe54ea620e3a6d8b8d","unresolved":false,"context_lines":[{"line_number":64,"context_line":"For timeout implementation, \u0027alarm.timeout.start\u0027 notification is sent out by"},{"line_number":65,"context_line":"AODH api process when create alarm. After receive it, evaluator spawns a new"},{"line_number":66,"context_line":"timeout thread/process to handle timeout. In this way, avoid new process in"},{"line_number":67,"context_line":"AODH api and make all alarm handling jobs inside evaluator."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Synchronization handling is critical in evaluator, as both evaluator original"},{"line_number":70,"context_line":"process and timeout process need change status for same alarm. To avoid"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_2ddd51e0","line":67,"updated":"2015-11-17 20:19:04.000000000","message":"this is really interesting way to broadcast alarm, how does it work with multiple workers?","commit_id":"23b03b10a1d4e2a4d4dfe233cb59bb3568e0d29f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"957a1a96dc0f6cc5d5b8febe54ea620e3a6d8b8d","unresolved":false,"context_lines":[{"line_number":75,"context_line":"Small footprint of timeout process is guaranteed, as it only does 2 things:"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"* sleeps for seconds of timeout"},{"line_number":78,"context_line":"* sends out \u0027alarm.timeout.end\u0027 event"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The final alarm status depends on the order of events. If \u0027timeout.end\u0027 event"},{"line_number":81,"context_line":"comes first, alarm status becomes \u0027OK\u0027 and following desired event is ignored."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_4d09b530","line":78,"updated":"2015-11-17 20:19:04.000000000","message":"why do we need this end event? can\u0027t we just update alarm and stop tracking it once either event arrives or timeout is hit?","commit_id":"23b03b10a1d4e2a4d4dfe233cb59bb3568e0d29f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"957a1a96dc0f6cc5d5b8febe54ea620e3a6d8b8d","unresolved":false,"context_lines":[{"line_number":83,"context_line":"ignored.  In this way, synchronization is well handled with new \u0027timeout.end\u0027"},{"line_number":84,"context_line":"event and simple logic in evaluator."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"With different \u0027repeat-actions\u0027, event-alarm timeout status changes as"},{"line_number":87,"context_line":"following:"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* EVNET - desired event arrive"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_5810914e","line":86,"range":{"start_line":86,"start_character":16,"end_line":86,"end_character":22},"updated":"2015-11-17 20:19:04.000000000","message":"how does repeat-actions work with a timeout? does it restart?","commit_id":"23b03b10a1d4e2a4d4dfe233cb59bb3568e0d29f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"957a1a96dc0f6cc5d5b8febe54ea620e3a6d8b8d","unresolved":false,"context_lines":[{"line_number":86,"context_line":"With different \u0027repeat-actions\u0027, event-alarm timeout status changes as"},{"line_number":87,"context_line":"following:"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* EVNET - desired event arrive"},{"line_number":90,"context_line":"* TIMEOUT - timeout happen"},{"line_number":91,"context_line":"* No action - Do not trigger registered action for target state"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_ed82e993","line":89,"updated":"2015-11-17 20:19:04.000000000","message":"/EVENT","commit_id":"23b03b10a1d4e2a4d4dfe233cb59bb3568e0d29f"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"0813763e43a1d9033f99d0bff19bf0662fd7e4b7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"``ceilometer -d alarm-event-create  --alarm-action \u0027log://\u0027 --ok-action \u0027log://\u0027"},{"line_number":42,"context_line":"--event-type image.update  -q"},{"line_number":43,"context_line":"\u0027traits.name\u003dstring::cirros-0.3.4-x86_64-uec-ramdisk\u0027 --repeat-actions False"},{"line_number":44,"context_line":"--name alarm01 --timeout 10``"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In future, alarm command line will be moved from python-ceilometerclient to"},{"line_number":47,"context_line":"aodh client, which should be used here."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_44a50702","line":44,"updated":"2015-11-23 19:46:05.000000000","message":"should be described in RESTful API format","commit_id":"55f6c3fb84067e56c6a7272f43600d47d9cdfaa7"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"8f16de6e9cfe76a4addd0e3f5147368573354697","unresolved":false,"context_lines":[{"line_number":41,"context_line":"``ceilometer -d alarm-event-create  --alarm-action \u0027log://\u0027 --ok-action \u0027log://\u0027"},{"line_number":42,"context_line":"--event-type image.update  -q"},{"line_number":43,"context_line":"\u0027traits.name\u003dstring::cirros-0.3.4-x86_64-uec-ramdisk\u0027 --repeat-actions False"},{"line_number":44,"context_line":"--name alarm01 --timeout 10``"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In future, alarm command line will be moved from python-ceilometerclient to"},{"line_number":47,"context_line":"aodh client, which should be used here."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_df9300f9","line":44,"in_reply_to":"ba8a016a_44a50702","updated":"2015-11-23 22:20:39.000000000","message":"Remove this command line, and move following RESTfull API description into REST API impact section","commit_id":"55f6c3fb84067e56c6a7272f43600d47d9cdfaa7"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"0813763e43a1d9033f99d0bff19bf0662fd7e4b7","unresolved":false,"context_lines":[{"line_number":61,"context_line":"   \"type\": \"event\"}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"For timeout implementation, \u0027alarm.timeout.start\u0027 notification is sent out by"},{"line_number":65,"context_line":"AODH api process when create alarm. After receiving it, evaluator spawns a new"},{"line_number":66,"context_line":"timeout thread/process to handle timeout. In this way, avoid new process in"},{"line_number":67,"context_line":"AODH api and make all alarm handling jobs inside evaluator."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_e150add6","line":64,"updated":"2015-11-23 19:46:05.000000000","message":"An \u0027alarm.timeout.start\u0027 notification","commit_id":"55f6c3fb84067e56c6a7272f43600d47d9cdfaa7"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"0813763e43a1d9033f99d0bff19bf0662fd7e4b7","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"For timeout implementation, \u0027alarm.timeout.start\u0027 notification is sent out by"},{"line_number":65,"context_line":"AODH api process when create alarm. After receiving it, evaluator spawns a new"},{"line_number":66,"context_line":"timeout thread/process to handle timeout. In this way, avoid new process in"},{"line_number":67,"context_line":"AODH api and make all alarm handling jobs inside evaluator."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_813761af","line":65,"updated":"2015-11-23 19:46:05.000000000","message":"the AODH api process after the event alarm is created.","commit_id":"55f6c3fb84067e56c6a7272f43600d47d9cdfaa7"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"0813763e43a1d9033f99d0bff19bf0662fd7e4b7","unresolved":false,"context_lines":[{"line_number":95,"context_line":" +-----------+            +---------+  EVENT(No action)"},{"line_number":96,"context_line":" |           |            |         +---------+"},{"line_number":97,"context_line":" |  UNKNOWN  +------------\u003e   OK    |         |"},{"line_number":98,"context_line":" |           |  TIMEOUT   |         \u003c---------+"},{"line_number":99,"context_line":" +-----+-----+            +---------+"},{"line_number":100,"context_line":"       |"},{"line_number":101,"context_line":"       |"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_a450730b","line":98,"updated":"2015-11-23 19:46:05.000000000","message":"I think we should add a new timeout state, instead using the current OK statue. At least, the user should see timeout status, instead of \u0027ok\u0027 state, ok seems confusing.","commit_id":"55f6c3fb84067e56c6a7272f43600d47d9cdfaa7"},{"author":{"_account_id":11235,"name":"Edwin Zhai","email":"edwin.zhai@intel.com","username":"gzhai"},"change_message_id":"8f16de6e9cfe76a4addd0e3f5147368573354697","unresolved":false,"context_lines":[{"line_number":95,"context_line":" +-----------+            +---------+  EVENT(No action)"},{"line_number":96,"context_line":" |           |            |         +---------+"},{"line_number":97,"context_line":" |  UNKNOWN  +------------\u003e   OK    |         |"},{"line_number":98,"context_line":" |           |  TIMEOUT   |         \u003c---------+"},{"line_number":99,"context_line":" +-----+-----+            +---------+"},{"line_number":100,"context_line":"       |"},{"line_number":101,"context_line":"       |"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_ba340afb","line":98,"in_reply_to":"ba8a016a_a450730b","updated":"2015-11-23 22:20:39.000000000","message":"I\u0027ll add a new state, \u0027TIMEOUT\u0027, for event-alarm. But it requires some extra  changes in common code,","commit_id":"55f6c3fb84067e56c6a7272f43600d47d9cdfaa7"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"0813763e43a1d9033f99d0bff19bf0662fd7e4b7","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Also need changes in DB layer to get all the event-alarm with timeout. And when"},{"line_number":115,"context_line":"reset the alarm state to \u0027UNKNOWN\u0027, we need restart timeout thread if the alarm"},{"line_number":116,"context_line":"has timeout, and previous timeout thread already exit."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_c12fa99f","line":115,"updated":"2015-11-23 19:46:05.000000000","message":"also we should reset the alarm when users change the enabled attribute.","commit_id":"55f6c3fb84067e56c6a7272f43600d47d9cdfaa7"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"0813763e43a1d9033f99d0bff19bf0662fd7e4b7","unresolved":false,"context_lines":[{"line_number":142,"context_line":"REST API impact"},{"line_number":143,"context_line":"---------------"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"None"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Security impact"},{"line_number":148,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_c106c91f","line":145,"updated":"2015-11-23 19:46:05.000000000","message":"I believe we have REST api impact by adding new attribute to alarm.","commit_id":"55f6c3fb84067e56c6a7272f43600d47d9cdfaa7"}]}
