)]}'
{"specs/pike/approved/services-versioned-notifications-api.rst":[{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"73f860008466207ed8400da5df2985b25aa636f9","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Versioned notifications for service"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/watcher/+spec/service-versioned-notifications-api"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a1ff146_c2416a3b","line":8,"range":{"start_line":8,"start_character":28,"end_line":8,"end_character":35},"updated":"2017-03-15 09:17:44.000000000","message":"s/service/Service object","commit_id":"28b18688518bfb003ce0f795b332573b487be0a6"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"73f860008466207ed8400da5df2985b25aa636f9","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Following the implementation of the `watcher-notifications-ovo blueprint`_,"},{"line_number":14,"context_line":"Watcher now has all the necessary prerequisites in order to provide versioned"},{"line_number":15,"context_line":"notifications throughout its codebase. This blueprint will focus on describing"},{"line_number":16,"context_line":"the notifications to implement in Watcher concerning the Service_ object."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a1ff146_22495e60","line":16,"range":{"start_line":16,"start_character":57,"end_line":16,"end_character":65},"updated":"2017-03-15 09:17:44.000000000","message":"Link is missed","commit_id":"28b18688518bfb003ce0f795b332573b487be0a6"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"73f860008466207ed8400da5df2985b25aa636f9","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"As an OpenStack developer, I want to be notified whenever:"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- an service has been failed"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a1ff146_82a5b205","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":4},"updated":"2017-03-15 09:17:44.000000000","message":"s/an/a","commit_id":"28b18688518bfb003ce0f795b332573b487be0a6"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"73f860008466207ed8400da5df2985b25aa636f9","unresolved":false,"context_lines":[{"line_number":41,"context_line":"In order to implement the above use cases, one notification will"},{"line_number":42,"context_line":"be needed:"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- ``service.failed`` whenever an service has been failed."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Moreover, we will rely on `oslo.versionedobjects`_ to version the payloads of"},{"line_number":47,"context_line":"service-related notifications."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a1ff146_22ab1e76","line":44,"range":{"start_line":44,"start_character":30,"end_line":44,"end_character":32},"updated":"2017-03-15 09:17:44.000000000","message":"s/an/a","commit_id":"28b18688518bfb003ce0f795b332573b487be0a6"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"73f860008466207ed8400da5df2985b25aa636f9","unresolved":false,"context_lines":[{"line_number":165,"context_line":"Developer impact"},{"line_number":166,"context_line":"----------------"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Developers should adhere to proper versioning guidelines and use the"},{"line_number":169,"context_line":"notification base classes when creating/updating notifications."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a1ff146_c23faa23","line":168,"range":{"start_line":168,"start_character":18,"end_line":168,"end_character":34},"updated":"2017-03-15 09:17:44.000000000","message":"*add here proper","commit_id":"28b18688518bfb003ce0f795b332573b487be0a6"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"ad920cac203f3afb0701619e076b7c045adebd63","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Problem description"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As of now, there is no way for any service (Watcher included) to know when an"},{"line_number":22,"context_line":"service of Watcher has been failed. This prevents any form of"},{"line_number":23,"context_line":"event-based reaction which may be useful for 3rd party services or plugins."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a1ff146_2c45bb16","line":21,"range":{"start_line":21,"start_character":75,"end_line":21,"end_character":77},"updated":"2017-03-15 18:10:17.000000000","message":"s/an/a","commit_id":"52c4e41c3b0b12dc1ca1dc659c3d7493a7f4c24d"},{"author":{"_account_id":21865,"name":"Vladimir Ostroverkhov","email":"ostroverkhov@servionica.ru","username":"Ostroverkhov"},"change_message_id":"f562b71cfadd92a20f0eb86f55fcad001e52f4d7","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Problem description"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As of now, there is no way for any service (Watcher included) to know when an"},{"line_number":22,"context_line":"service of Watcher has been failed. This prevents any form of"},{"line_number":23,"context_line":"event-based reaction which may be useful for 3rd party services or plugins."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a1ff146_462ace2d","line":21,"range":{"start_line":21,"start_character":75,"end_line":21,"end_character":77},"in_reply_to":"3a1ff146_2c45bb16","updated":"2017-03-15 20:37:39.000000000","message":"Done","commit_id":"52c4e41c3b0b12dc1ca1dc659c3d7493a7f4c24d"},{"author":{"_account_id":21361,"name":"Chris Spencer","email":"christopher.m.spencer@intel.com","username":"chrisspencer"},"change_message_id":"ad920cac203f3afb0701619e076b7c045adebd63","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"As an OpenStack developer, I want to be notified whenever:"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- a service has been failed"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\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":"3a1ff146_0c10ff00","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":27},"updated":"2017-03-15 18:10:17.000000000","message":"do you anticipate more than one item in this list?  if not change to \"As an OpenStack developer, I want to be notified whenever a service has been failed.\"  (no indented list)","commit_id":"52c4e41c3b0b12dc1ca1dc659c3d7493a7f4c24d"},{"author":{"_account_id":21865,"name":"Vladimir Ostroverkhov","email":"ostroverkhov@servionica.ru","username":"Ostroverkhov"},"change_message_id":"f562b71cfadd92a20f0eb86f55fcad001e52f4d7","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"As an OpenStack developer, I want to be notified whenever:"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- a service has been failed"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\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":"3a1ff146_66218a4d","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":27},"in_reply_to":"3a1ff146_0c10ff00","updated":"2017-03-15 20:37:39.000000000","message":"Done","commit_id":"52c4e41c3b0b12dc1ca1dc659c3d7493a7f4c24d"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"80865fa4e321e437d5b6adf2465b1801a825375a","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"This blueprint will implement the following notifications:"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"- ``service.failed``"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Other end user impact"},{"line_number":145,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ffe62b97_b59ae15e","line":142,"range":{"start_line":142,"start_character":12,"end_line":142,"end_character":18},"updated":"2017-03-29 13:24:44.000000000","message":"why not NotificationPhase.ERROR ?","commit_id":"456409b4be119249c30736c9179ce371906b7f71"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"29d4ff71363d4bfec9420d0088d6ef24c2df89c7","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"This blueprint will implement the following notifications:"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"- ``service.failed``"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Other end user impact"},{"line_number":145,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_fbe08528","line":142,"range":{"start_line":142,"start_character":12,"end_line":142,"end_character":18},"in_reply_to":"dfeb2761_0bbe61d4","updated":"2017-04-05 12:25:32.000000000","message":"Here is my logic:\nthere is no ERROR state for audits and yet you have an ERROR phase.\na phase is used within the START...END...ERROR pattern\nthis case is a bit special because we detect a failure via a polling\nso I was also thinking that we could have only the service.update notification\nin which you have the state_update field change from ACTIVE to FAILED\nwhat do you think?","commit_id":"456409b4be119249c30736c9179ce371906b7f71"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"f94b5827433e47f87572c2a389eb5b6bf3fffdc8","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"This blueprint will implement the following notifications:"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"- ``service.failed``"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Other end user impact"},{"line_number":145,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_0bbe61d4","line":142,"range":{"start_line":142,"start_character":12,"end_line":142,"end_character":18},"in_reply_to":"ffe62b97_b59ae15e","updated":"2017-04-04 14:18:16.000000000","message":"Service object has two possible states now: ACTIVE and FAILED. By changing service.failed to service.error, shouldn\u0027t Vladimir change service_status to ERROR instead of FAILED (64 line of this doc)?","commit_id":"456409b4be119249c30736c9179ce371906b7f71"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"51743d1128f563c2d55814410543fba503e9b0b7","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        \"publisher_id\": \"infra-optim:node0\""},{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Alternatives"},{"line_number":86,"context_line":"------------"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5ff73747_561b1180","line":84,"updated":"2017-04-26 12:22:43.000000000","message":"Can you also explain which service will send the notification since (e.g. watcher-api monitors them all via a background job and will check every 5s if a service failed)","commit_id":"388a620ac6e6a22ff8df8281d69b6a6ae02a6ca9"},{"author":{"_account_id":21865,"name":"Vladimir Ostroverkhov","email":"ostroverkhov@servionica.ru","username":"Ostroverkhov"},"change_message_id":"720b0d959029f8580c9011fdcc5213cdfa797b7b","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        \"publisher_id\": \"infra-optim:node0\""},{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Alternatives"},{"line_number":86,"context_line":"------------"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5ff73747_14361352","line":84,"in_reply_to":"5ff73747_561b1180","updated":"2017-05-02 08:48:32.000000000","message":"Done","commit_id":"388a620ac6e6a22ff8df8281d69b6a6ae02a6ca9"}]}
