)]}'
{"specs/approved/implement-zapping-states.rst":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"97b577989a4564f2ff3548bed0040fd0769b835a","unresolved":false,"context_lines":[{"line_number":119,"context_line":"  then the driver MUST cache the list of clean steps from the most recent"},{"line_number":120,"context_line":"  execution of said agent and return that. In the absence of such data, the"},{"line_number":121,"context_line":"  driver MAY raise an error, which should be translated by the API service into"},{"line_number":122,"context_line":"  an HTTP 202 with a HTTP header \u0027Retry-Request-After\u0027 indicating to the client"},{"line_number":123,"context_line":"  how long in seconds the client should wait to retry, and a body with a"},{"line_number":124,"context_line":"  message indicating the data is not available yet. If the driver interface can"},{"line_number":125,"context_line":"  synchronously return the cleaning steps, without relying on the hardware or a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa1b9901_91670725","line":122,"updated":"2015-08-24 00:39:55.000000000","message":"Is Retry-Request-After a thing? google doesn\u0027t give me much. Also, this doesn\u0027t seem like a 2xx if it\u0027s an error.\n\nIf we agreed on this in IRC or something, feel free to ignore me, I know there\u0027s been discussions around it :)","commit_id":"26a47f11215f001cc3fe07b7cbb46301b7490846"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"6c5cf4b7354b4dbee37e26c226962aa678a39533","unresolved":false,"context_lines":[{"line_number":119,"context_line":"  then the driver MUST cache the list of clean steps from the most recent"},{"line_number":120,"context_line":"  execution of said agent and return that. In the absence of such data, the"},{"line_number":121,"context_line":"  driver MAY raise an error, which should be translated by the API service into"},{"line_number":122,"context_line":"  an HTTP 202 with a HTTP header \u0027Retry-Request-After\u0027 indicating to the client"},{"line_number":123,"context_line":"  how long in seconds the client should wait to retry, and a body with a"},{"line_number":124,"context_line":"  message indicating the data is not available yet. If the driver interface can"},{"line_number":125,"context_line":"  synchronously return the cleaning steps, without relying on the hardware or a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_4f4a03ae","line":122,"in_reply_to":"da20952f_3b903f43","updated":"2015-08-28 02:16:01.000000000","message":"503 code, not 502, for service unavailable. IF I could convince myself it could mean \u0027this request is temporarily unavailable\u0027 vs the service, then I think we\u0027d be good with 503.\n\nI\u0027d prefer \u0027Retry-After\u0027 since this \u0027Retry-Request-After\u0027 seems to mean the same thing. I just don\u0027t know if we\u0027re allowed to use \u0027Retry-After\u0027 for a 202 response so I guess this is fine.\n\nAre you sure we don\u0027t want to create our own \u0027OpenStack-Retry-After\u0027?","commit_id":"26a47f11215f001cc3fe07b7cbb46301b7490846"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"0753c553c99c2ac24d3933ee490656bd2c1eba83","unresolved":false,"context_lines":[{"line_number":119,"context_line":"  then the driver MUST cache the list of clean steps from the most recent"},{"line_number":120,"context_line":"  execution of said agent and return that. In the absence of such data, the"},{"line_number":121,"context_line":"  driver MAY raise an error, which should be translated by the API service into"},{"line_number":122,"context_line":"  an HTTP 202 with a HTTP header \u0027Retry-Request-After\u0027 indicating to the client"},{"line_number":123,"context_line":"  how long in seconds the client should wait to retry, and a body with a"},{"line_number":124,"context_line":"  message indicating the data is not available yet. If the driver interface can"},{"line_number":125,"context_line":"  synchronously return the cleaning steps, without relying on the hardware or a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_3b903f43","line":122,"in_reply_to":"fa1b9901_91670725","updated":"2015-08-27 17:48:43.000000000","message":"Nope, brand new header! The only real header like this I could find is Retry-After, and the RFC says we need a 502 error code, which was shot down in IRC. We never came to a conclusion on IRC. Personally, I don\u0027t think there\u0027s a good HTTP code, so I opted for a 2xx + header, indicating \"the request worked, but we don\u0027t have all the data yet\".","commit_id":"26a47f11215f001cc3fe07b7cbb46301b7490846"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"6c5cf4b7354b4dbee37e26c226962aa678a39533","unresolved":false,"context_lines":[{"line_number":121,"context_line":"  driver MAY raise an error, which should be translated by the API service into"},{"line_number":122,"context_line":"  an HTTP 202 with a HTTP header \u0027Retry-Request-After\u0027 indicating to the client"},{"line_number":123,"context_line":"  how long in seconds the client should wait to retry, and a body with a"},{"line_number":124,"context_line":"  message indicating the data is not available yet. If the driver interface can"},{"line_number":125,"context_line":"  synchronously return the cleaning steps, without relying on the hardware or a"},{"line_number":126,"context_line":"  remote agent, it SHOULD do so, though it MAY also rely on the aforementioned"},{"line_number":127,"context_line":"  caching mechanism."}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_8ffedb36","line":124,"updated":"2015-08-28 02:16:01.000000000","message":"There\u0027s another case where we can\u0027t return 202. Discussed briefly with Josh. If the agent isn\u0027t live on the node, we can\u0027t query it for the clean steps. Eg, if the request is made and the node is in \u0027enroll\u0027. I think we should mention this.","commit_id":"26a47f11215f001cc3fe07b7cbb46301b7490846"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"97b577989a4564f2ff3548bed0040fd0769b835a","unresolved":false,"context_lines":[{"line_number":264,"context_line":"* Update client to understand Retry-Request-After and respond with an"},{"line_number":265,"context_line":"  appropriate error message to the user about when to retry, with an optional"},{"line_number":266,"context_line":"  flag to have the client wait and keep retrying after the specified seconds,"},{"line_number":267,"context_line":"  until the data is available a timeout is reached."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"Dependencies"},{"line_number":270,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa1b9901_d17d7fb2","line":267,"updated":"2015-08-24 00:39:55.000000000","message":"What\u0027s the flag called? I almost feel like that should be out of scope and discussed elsewhere so we can move this forward, but I don\u0027t have a strong opinion on that.","commit_id":"26a47f11215f001cc3fe07b7cbb46301b7490846"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"6c5cf4b7354b4dbee37e26c226962aa678a39533","unresolved":false,"context_lines":[{"line_number":264,"context_line":"* Update client to understand Retry-Request-After and respond with an"},{"line_number":265,"context_line":"  appropriate error message to the user about when to retry, with an optional"},{"line_number":266,"context_line":"  flag to have the client wait and keep retrying after the specified seconds,"},{"line_number":267,"context_line":"  until the data is available a timeout is reached."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"Dependencies"},{"line_number":270,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_6399291f","line":267,"in_reply_to":"da20952f_dbca636e","updated":"2015-08-28 02:16:01.000000000","message":"there are two things needed: 1. the flag; 2. the timeout (this is some x seconds after the specified seconds?)","commit_id":"26a47f11215f001cc3fe07b7cbb46301b7490846"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"0753c553c99c2ac24d3933ee490656bd2c1eba83","unresolved":false,"context_lines":[{"line_number":264,"context_line":"* Update client to understand Retry-Request-After and respond with an"},{"line_number":265,"context_line":"  appropriate error message to the user about when to retry, with an optional"},{"line_number":266,"context_line":"  flag to have the client wait and keep retrying after the specified seconds,"},{"line_number":267,"context_line":"  until the data is available a timeout is reached."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"Dependencies"},{"line_number":270,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_dbca636e","line":267,"in_reply_to":"fa1b9901_d17d7fb2","updated":"2015-08-27 17:48:43.000000000","message":"How about \u0027--wait-for-steps\u0027? I\u0027ll add to the spec.","commit_id":"26a47f11215f001cc3fe07b7cbb46301b7490846"}],"specs/liberty/implement-zapping-states.rst":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"eba22f4624c09fde05c2f390ff0bc225773c0572","unresolved":false,"context_lines":[{"line_number":119,"context_line":"  then the driver MUST cache the list of clean steps from the most recent"},{"line_number":120,"context_line":"  execution of said agent and return that. In the absence of such data, the"},{"line_number":121,"context_line":"  driver MAY raise an error, which should be translated by the API service into"},{"line_number":122,"context_line":"  a 503 HTTP code with an indication to the client as to when to retry using a"},{"line_number":123,"context_line":"  Retry-After HTTP header, per RFC 2616. If the driver interface can"},{"line_number":124,"context_line":"  synchronously return the cleaning steps, without relying on the hardware or a"},{"line_number":125,"context_line":"  remote agent, it SHOULD do so, though it MAY also rely on the aforementioned"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a4dcd0f_e9165bf0","line":122,"updated":"2015-08-05 08:49:21.000000000","message":"This topic should be brought to the meeting. I remember devananda was against 503 code, as it usually means that the whole service is down. I\u0027ve put it on the next agenda.","commit_id":"1e794fcf6867fbb04bfbc2d764ae8b9229b1a53b"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"aa0c3eba1f527e8a6a9d7f395020a31ffc7f9256","unresolved":false,"context_lines":[{"line_number":119,"context_line":"  then the driver MUST cache the list of clean steps from the most recent"},{"line_number":120,"context_line":"  execution of said agent and return that. In the absence of such data, the"},{"line_number":121,"context_line":"  driver MAY raise an error, which should be translated by the API service into"},{"line_number":122,"context_line":"  a 503 HTTP code with an indication to the client as to when to retry using a"},{"line_number":123,"context_line":"  Retry-After HTTP header, per RFC 2616. If the driver interface can"},{"line_number":124,"context_line":"  synchronously return the cleaning steps, without relying on the hardware or a"},{"line_number":125,"context_line":"  remote agent, it SHOULD do so, though it MAY also rely on the aforementioned"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a4dcd0f_0a3a7ecc","line":122,"in_reply_to":"1a4dcd0f_e9165bf0","updated":"2015-08-05 15:49:49.000000000","message":"Right, I remember. I was hoping by slinging around RFC numbers, I could make a good case for 503.","commit_id":"1e794fcf6867fbb04bfbc2d764ae8b9229b1a53b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"eba22f4624c09fde05c2f390ff0bc225773c0572","unresolved":false,"context_lines":[{"line_number":261,"context_line":"  response to a certain exception from drivers"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"* Update client to understand Retry-After and respond with an appropriate"},{"line_number":264,"context_line":"  message to the user about when to retry."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"Dependencies"},{"line_number":267,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a4dcd0f_89d47720","line":264,"updated":"2015-08-05 08:49:21.000000000","message":"Shouldn\u0027t we automatically retry? or give an option to automatically retry?","commit_id":"1e794fcf6867fbb04bfbc2d764ae8b9229b1a53b"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"aa0c3eba1f527e8a6a9d7f395020a31ffc7f9256","unresolved":false,"context_lines":[{"line_number":261,"context_line":"  response to a certain exception from drivers"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"* Update client to understand Retry-After and respond with an appropriate"},{"line_number":264,"context_line":"  message to the user about when to retry."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"Dependencies"},{"line_number":267,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a4dcd0f_b72df3a9","line":264,"in_reply_to":"1a4dcd0f_89d47720","updated":"2015-08-05 15:49:49.000000000","message":"Yeah, an option is ok, but I think it\u0027s a bad default. Commands taking possibly minutes is...not good.","commit_id":"1e794fcf6867fbb04bfbc2d764ae8b9229b1a53b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b66b93ba40e0cbb730fd5f587c4a91af24f19c68","unresolved":false,"context_lines":[{"line_number":261,"context_line":"  response to a certain exception from drivers"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"* Update client to understand Retry-After and respond with an appropriate"},{"line_number":264,"context_line":"  message to the user about when to retry."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"Dependencies"},{"line_number":267,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a4dcd0f_685a2a2c","line":264,"in_reply_to":"1a4dcd0f_b72df3a9","updated":"2015-08-05 16:18:42.000000000","message":"I agree, but on the other hand, many users (me and my colleagues including) don\u0027t appreciate a client throwing a transient error from time to time. Essentially you\u0027re shifting the problem to users of ironicclient.\n\nBut if it\u0027s an option, it might be fine.","commit_id":"1e794fcf6867fbb04bfbc2d764ae8b9229b1a53b"}]}
