)]}'
{"guidelines/microversion_specification.rst":[{"author":{"_account_id":1112,"name":"Everett Toews","email":"everett.toews@rackspace.com","username":"everett-toews"},"change_message_id":"f8e02c5578cdcae0084f7e10b44154e9689e6b4e","unresolved":false,"context_lines":[{"line_number":79,"context_line":"  including the supported minimum and maximum versions."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* If the version string isn\u0027t parsable, return 400 Bad Request. The parsable"},{"line_number":82,"context_line":"  version string must matches `\"^([1-9]\\d*)\\.([1-9]\\d*|0)$\"`."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* If OpenStack-API-Version header is sent, the service type matches, and"},{"line_number":85,"context_line":"  the version is set to the special keyword ``latest`` behave as if"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dada55a8_d0dd9643","line":82,"range":{"start_line":82,"start_character":56,"end_line":82,"end_character":61},"updated":"2016-07-25 14:31:00.000000000","message":"Please add something to the effect of\n\n    ...return a 400 Bad Request with an error response body that \n    conforms to the errors guideline :ref:`errors`","commit_id":"a27abed17e1f433f4545e277d7faa22038ac7998"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"c70f0257521a6541971386fcd44041497c6ea006","unresolved":false,"context_lines":[{"line_number":79,"context_line":"  including the supported minimum and maximum versions."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* If the version string isn\u0027t parsable, return 400 Bad Request. The parsable"},{"line_number":82,"context_line":"  version string must matches `\"^([1-9]\\d*)\\.([1-9]\\d*|0)$\"`."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* If OpenStack-API-Version header is sent, the service type matches, and"},{"line_number":85,"context_line":"  the version is set to the special keyword ``latest`` behave as if"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dada55a8_f9eea7eb","line":82,"range":{"start_line":82,"start_character":56,"end_line":82,"end_character":61},"in_reply_to":"dada55a8_d0dd9643","updated":"2016-07-26 02:01:31.000000000","message":"Done","commit_id":"a27abed17e1f433f4545e277d7faa22038ac7998"},{"author":{"_account_id":9717,"name":"Michael Krotscheck","email":"krotscheck@gmail.com","username":"krotscheck"},"change_message_id":"ede8490997d038bd8811f9210c93b6d6892d2696","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* If the version string isn\u0027t parsable, return a 400 Bad Request with an error"},{"line_number":82,"context_line":"  response body that  conforms to the errors guideline :ref:`errors`. The"},{"line_number":83,"context_line":"  parsable version string must matches `\"^([1-9]\\d*)\\.([1-9]\\d*|0)$\"`."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"* If OpenStack-API-Version header is sent, the service type matches, and"},{"line_number":86,"context_line":"  the version is set to the special keyword ``latest`` behave as if"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_852055f9","line":83,"updated":"2016-07-27 16:48:46.000000000","message":"Typo: `must match`","commit_id":"5279ca51761e4796ebf3a13242cf00838028c8ab"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"7e58e6939eb18b074c3cd88467896d005a8e1198","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* If the version string isn\u0027t parsable, return a 400 Bad Request with an error"},{"line_number":82,"context_line":"  response body that  conforms to the errors guideline :ref:`errors`. The"},{"line_number":83,"context_line":"  parsable version string must matches `\"^([1-9]\\d*)\\.([1-9]\\d*|0)$\"`."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"* If OpenStack-API-Version header is sent, the service type matches, and"},{"line_number":86,"context_line":"  the version is set to the special keyword ``latest`` behave as if"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bacf61ea_a423c604","line":83,"in_reply_to":"bacf61ea_852055f9","updated":"2016-07-28 02:35:16.000000000","message":"thanks","commit_id":"5279ca51761e4796ebf3a13242cf00838028c8ab"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"e32a1173e983fbc7a757bfc4883a7f15e7ec32ab","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  described below), return 406 Not Acceptable, and a response body"},{"line_number":79,"context_line":"  including the supported minimum and maximum versions."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* If the version string isn\u0027t parsable, return a 400 Bad Request with an error"},{"line_number":82,"context_line":"  response body that  conforms to the errors guideline :ref:`errors`. The"},{"line_number":83,"context_line":"  parsable version string must match `\"^([1-9]\\d*)\\.([1-9]\\d*|0)$\"`."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_3e43a114","line":81,"updated":"2016-08-11 18:47:24.000000000","message":"Why wouldn\u0027t this also be a 406 as described below?","commit_id":"8fec9756b3583a8e9c1aef2559a4852e72659726"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b4289a60d849ab819343789f4b64c4cff4b92884","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  described below), return 406 Not Acceptable, and a response body"},{"line_number":79,"context_line":"  including the supported minimum and maximum versions."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* If the version string isn\u0027t parsable, return a 400 Bad Request with an error"},{"line_number":82,"context_line":"  response body that  conforms to the errors guideline :ref:`errors`. The"},{"line_number":83,"context_line":"  parsable version string must match `\"^([1-9]\\d*)\\.([1-9]\\d*|0)$\"`."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_6f3a85e8","line":81,"in_reply_to":"9ad45d7e_3e43a114","updated":"2016-08-11 20:11:15.000000000","message":"Basically if the microversion header is made in a form that can\u0027t be interpreted (for example no number can be extracted) that\u0027s a \"Bad Request\" (thus a 400). But if the request can be parsed to extract a microversion, but that microversion is not available, and thus \"Not Acceptable\", that\u0027s a 406.","commit_id":"8fec9756b3583a8e9c1aef2559a4852e72659726"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5e51b1ee6b4645a556980f468a1111cf5463a368","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  described below), return 406 Not Acceptable, and a response body"},{"line_number":79,"context_line":"  including the supported minimum and maximum versions."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* If the version string isn\u0027t parsable, return a 400 Bad Request with an error"},{"line_number":82,"context_line":"  response body that  conforms to the errors guideline :ref:`errors`. The"},{"line_number":83,"context_line":"  parsable version string must match `\"^([1-9]\\d*)\\.([1-9]\\d*|0)$\"`."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_eae80cb5","line":81,"in_reply_to":"9ad45d7e_6f3a85e8","updated":"2016-08-12 07:11:49.000000000","message":"yea, just as Chris said.","commit_id":"8fec9756b3583a8e9c1aef2559a4852e72659726"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a41f09f03e621b983cd5920b759a199508bb33ad","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* If the version string isn\u0027t parsable, return a 400 Bad Request with an error"},{"line_number":82,"context_line":"  response body that  conforms to the errors guideline :ref:`errors`. The"},{"line_number":83,"context_line":"  parsable version string must match `\"^([1-9]\\d*)\\.([1-9]\\d*|0)$\"`."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"* If OpenStack-API-Version header is sent, the service type matches, and"},{"line_number":86,"context_line":"  the version is set to the special keyword ``latest`` behave as if"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bacf61ea_302a452d","line":83,"updated":"2016-07-28 17:10:19.000000000","message":"This regex is a bit misleading. The value of the header is \u0027{service type} {version string}\u0027 but it\u0027s not clear here that we\u0027re talking about just the version string. I think it would make more sense if we describe the entire value of the header and then note what the deprecated value\u0027s structure is.","commit_id":"8fec9756b3583a8e9c1aef2559a4852e72659726"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"9e372751d077ad28176c650635fe6d67802a7d79","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* If the version string isn\u0027t parsable, return a 400 Bad Request with an error"},{"line_number":82,"context_line":"  response body that  conforms to the errors guideline :ref:`errors`. The"},{"line_number":83,"context_line":"  parsable version string must match `\"^([1-9]\\d*)\\.([1-9]\\d*|0)$\"`."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"* If OpenStack-API-Version header is sent, the service type matches, and"},{"line_number":86,"context_line":"  the version is set to the special keyword ``latest`` behave as if"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_a587675f","line":83,"in_reply_to":"9ad45d7e_4ad4b8ea","updated":"2016-08-12 07:26:14.000000000","message":"@Chris, not sure we should talk about the deprecated value\u0027s structure, this is a guideline for what we expect the API looks like. The deprecated value actually describe the project\u0027s api-ref which use that deprecated value.","commit_id":"8fec9756b3583a8e9c1aef2559a4852e72659726"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"5e51b1ee6b4645a556980f468a1111cf5463a368","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* If the version string isn\u0027t parsable, return a 400 Bad Request with an error"},{"line_number":82,"context_line":"  response body that  conforms to the errors guideline :ref:`errors`. The"},{"line_number":83,"context_line":"  parsable version string must match `\"^([1-9]\\d*)\\.([1-9]\\d*|0)$\"`."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"* If OpenStack-API-Version header is sent, the service type matches, and"},{"line_number":86,"context_line":"  the version is set to the special keyword ``latest`` behave as if"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9ad45d7e_4ad4b8ea","line":83,"in_reply_to":"bacf61ea_302a452d","updated":"2016-08-12 07:11:49.000000000","message":"Done","commit_id":"8fec9756b3583a8e9c1aef2559a4852e72659726"}]}
