)]}'
{"specs/ocata/aodh-alarm-event-timeout.rst":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1a002e946f0f062bda0f2cda25d4485c8baae837","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"In the context of NFV, users want to create particular action when an event is"},{"line_number":19,"context_line":"NOT seen by the Aodh event listener. For example, if an instance is created and"},{"line_number":20,"context_line":"the instance creation even it never seen by Aodh, a user might want to trigger"},{"line_number":21,"context_line":"an alarm to take action after a certain timeout."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"There is also some cases where a chain of events is expected in a certain time"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_8b025d0a","line":20,"range":{"start_line":20,"start_character":22,"end_line":20,"end_character":26},"updated":"2016-11-13 17:06:37.000000000","message":"event","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7f385261fc40ec3b5740ca94598e9c62cf8b7592","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"In the context of NFV, users want to create particular action when an event is"},{"line_number":19,"context_line":"NOT seen by the Aodh event listener. For example, if an instance is created and"},{"line_number":20,"context_line":"the instance creation even it never seen by Aodh, a user might want to trigger"},{"line_number":21,"context_line":"an alarm to take action after a certain timeout."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"There is also some cases where a chain of events is expected in a certain time"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_176644ed","line":20,"updated":"2016-11-15 17:37:46.000000000","message":"event is never","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7f385261fc40ec3b5740ca94598e9c62cf8b7592","unresolved":false,"context_lines":[{"line_number":20,"context_line":"the instance creation even it never seen by Aodh, a user might want to trigger"},{"line_number":21,"context_line":"an alarm to take action after a certain timeout."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"There is also some cases where a chain of events is expected in a certain time"},{"line_number":24,"context_line":"lapse, for example `instance.create.start` and then `instance.create.end`. If"},{"line_number":25,"context_line":"`instance.create.end` is not seen N seconds after `instance.create.start`, it"},{"line_number":26,"context_line":"is possible that something went wrong."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_779bf8c9","line":23,"updated":"2016-11-15 17:37:46.000000000","message":"There are","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7f385261fc40ec3b5740ca94598e9c62cf8b7592","unresolved":false,"context_lines":[{"line_number":45,"context_line":"the `last_seen` to `None` by updating the the `must_be_seen_before` timestamp."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"For chained events, several alarms will be used. For example, in a chain of 2"},{"line_number":48,"context_line":"events as described above a event alarm will be created matching"},{"line_number":49,"context_line":"`instance.create.start` with the action of reseting a second alarm. This second"},{"line_number":50,"context_line":"alarm will be an event-timeout alarm matching the exact event for"},{"line_number":51,"context_line":"`instance.create.end`."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_d7812c4c","line":48,"updated":"2016-11-15 17:37:46.000000000","message":"an event","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7f385261fc40ec3b5740ca94598e9c62cf8b7592","unresolved":false,"context_lines":[{"line_number":57,"context_line":"manner which event you are expecting not to receive."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"This design is also based on time relative to now() which is a large source of"},{"line_number":60,"context_line":"problem as computers needs to be in sync."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"The chain alarm use case is very, very specific. It feels very fragile and not"},{"line_number":63,"context_line":"general at all."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_77d05854","line":60,"updated":"2016-11-15 17:37:46.000000000","message":"this seems a pretty huge issue\n\nIn the use cases described above the missing event is usually relative to some other event, can it not be based on that?","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"1a002e946f0f062bda0f2cda25d4485c8baae837","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"1. Do nothing."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The basic use case is questionable, as it\u0027s not up to the user to"},{"line_number":71,"context_line":"create and raise an alarm when something is broken in the platform. If"},{"line_number":72,"context_line":"something goes wrong in Nova, Cinder or Neutron, it\u0027s up to the operator to fix"},{"line_number":73,"context_line":"it, not to the user to do something about that – it should not break!"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"The feature is also very \"racy\" as there is no guarantee that any event will"},{"line_number":76,"context_line":"happen in a certain time – e.g. triggering an alarm 60 seconds after requesting"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_c650cc0d","line":73,"range":{"start_line":70,"start_character":0,"end_line":73,"end_character":69},"updated":"2016-11-13 17:06:37.000000000","message":"Moreover, nova/cinder/neutron are the ones that know exactly when the operation started and when to start counting the N seconds. A user creating a timeout alarm won\u0027t know the exact time for calculating \u0027must_be_seen_before\u0027","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"2bac9cb07e7851ebc5a033623a1c885b120eb8c9","unresolved":false,"context_lines":[{"line_number":72,"context_line":"something goes wrong in Nova, Cinder or Neutron, it\u0027s up to the operator to fix"},{"line_number":73,"context_line":"it, not to the user to do something about that – it should not break!"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"The feature is also very \"racy\" as there is no guarantee that any event will"},{"line_number":76,"context_line":"happen in a certain time – e.g. triggering an alarm 60 seconds after requesting"},{"line_number":77,"context_line":"an instance start because it has not been started yet does not indicate"},{"line_number":78,"context_line":"something is wrong. There is no way to implement things is reliable way with"},{"line_number":79,"context_line":"that feature."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"2. Make projects send notifications on failure"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_1ce11ad1","line":79,"range":{"start_line":75,"start_character":0,"end_line":79,"end_character":13},"updated":"2016-11-14 14:11:33.000000000","message":"this is my biggest issue. a queue cannot guarantee timing. just as in real life, when you line up in queue, you do not know exactly when you will get to front of queue and be processed.\n\nmaybe we can create an alarm which defines a timeout/expirary timestamp (absolute) and we have something that polls these group of alarms and raises if alarm is \u0027expired\u0027. then we can create an event alarm or something which looks for specific event and it\u0027s action is to disable the appropriate alarm? i don\u0027t know exactly how that second part works. it\u0027s still very racy but *shrugs*","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"2bac9cb07e7851ebc5a033623a1c885b120eb8c9","unresolved":false,"context_lines":[{"line_number":78,"context_line":"something is wrong. There is no way to implement things is reliable way with"},{"line_number":79,"context_line":"that feature."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"2. Make projects send notifications on failure"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"As soon as something goes wrong, projects could send a notification stating"},{"line_number":84,"context_line":"that there were unable to perform a request for a user. This would allow to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_7c95b686","line":81,"range":{"start_line":81,"start_character":0,"end_line":81,"end_character":46},"updated":"2016-11-14 14:11:33.000000000","message":"this exists to some extent in Nova already. Ceilometer capture and store all messages on *.error topic and you can create an event alarm to raise when error event is given.","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"},{"author":{"_account_id":15834,"name":"Tomi Juvonen","email":"tomi.juvonen@nokia.com","username":"tojuvone"},"change_message_id":"0c90b9a6e63e3f685d8a6bb9d0da8d4d9e14f6ea","unresolved":false,"context_lines":[{"line_number":81,"context_line":"2. Make projects send notifications on failure"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"As soon as something goes wrong, projects could send a notification stating"},{"line_number":84,"context_line":"that there were unable to perform a request for a user. This would allow to"},{"line_number":85,"context_line":"trigger any action on any event error, fixing the race condition issue and"},{"line_number":86,"context_line":"keeping Aodh architecture fully event-driven."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a629dbe_dbf3c89c","line":84,"range":{"start_line":84,"start_character":5,"end_line":84,"end_character":10},"updated":"2016-11-09 15:19:50.000000000","message":"nit: they","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7f385261fc40ec3b5740ca94598e9c62cf8b7592","unresolved":false,"context_lines":[{"line_number":83,"context_line":"As soon as something goes wrong, projects could send a notification stating"},{"line_number":84,"context_line":"that there were unable to perform a request for a user. This would allow to"},{"line_number":85,"context_line":"trigger any action on any event error, fixing the race condition issue and"},{"line_number":86,"context_line":"keeping Aodh architecture fully event-driven."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"There\u0027s still the case where projects would fail to send any error"},{"line_number":89,"context_line":"notification, but I imagine it fells in the rare case of false-negative,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_973c1495","line":86,"updated":"2016-11-15 17:37:46.000000000","message":"this is probably a lot better as it puts the responsibility on the services to be aware of their own state, instead of telemetry","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7f385261fc40ec3b5740ca94598e9c62cf8b7592","unresolved":false,"context_lines":[{"line_number":86,"context_line":"keeping Aodh architecture fully event-driven."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"There\u0027s still the case where projects would fail to send any error"},{"line_number":89,"context_line":"notification, but I imagine it fells in the rare case of false-negative,"},{"line_number":90,"context_line":"probably less likely than the false-positive you can have with a timeout based"},{"line_number":91,"context_line":"system."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a77a97e_b741100e","line":89,"updated":"2016-11-15 17:37:46.000000000","message":"falls?","commit_id":"7db5695911e4851c3fe68226659a5bb0fba90a3e"}]}
