)]}'
{"specs/stein/approved/api-consistency-cleanup.rst":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"5611c40e00993a681a9be4e7875a3082e86d1e89","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"},{"line_number":39,"context_line":"---------"},{"line_number":40,"context_line":"As a API consumer, I would like to use Nova API in more consistent way and with"},{"line_number":41,"context_line":"strong validation for better usage."},{"line_number":42,"context_line":"As a Developer, I would like to provide and maintain better/clean/conssitant"},{"line_number":43,"context_line":"APIs."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_61b1fd00","line":40,"range":{"start_line":40,"start_character":3,"end_line":40,"end_character":4},"updated":"2018-09-21 07:31:07.000000000","message":"an?","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"888145ca88191f1c47740cd93ff71cb1c44f5a10","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"},{"line_number":39,"context_line":"---------"},{"line_number":40,"context_line":"As a API consumer, I would like to use Nova API in more consistent way and with"},{"line_number":41,"context_line":"strong validation for better usage."},{"line_number":42,"context_line":"As a Developer, I would like to provide and maintain better/clean/conssitant"},{"line_number":43,"context_line":"APIs."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_623d2a8d","line":40,"range":{"start_line":40,"start_character":3,"end_line":40,"end_character":4},"in_reply_to":"3f79a3b5_61b1fd00","updated":"2018-09-26 05:23:43.000000000","message":"Done","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d28107f1ee399699098ca765f11eef1297c1ae80","unresolved":false,"context_lines":[{"line_number":39,"context_line":"---------"},{"line_number":40,"context_line":"As a API consumer, I would like to use Nova API in more consistent way and with"},{"line_number":41,"context_line":"strong validation for better usage."},{"line_number":42,"context_line":"As a Developer, I would like to provide and maintain better/clean/conssitant"},{"line_number":43,"context_line":"APIs."},{"line_number":44,"context_line":"Maintaince can be easy only if we are able to bump the minimum microversion at"},{"line_number":45,"context_line":"some point otherwise there is no maintenance benefit from this change."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a69068f5","line":42,"updated":"2018-09-24 08:34:08.000000000","message":"nit: Should be new lines between these if you want to make them separate bullet points","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"888145ca88191f1c47740cd93ff71cb1c44f5a10","unresolved":false,"context_lines":[{"line_number":39,"context_line":"---------"},{"line_number":40,"context_line":"As a API consumer, I would like to use Nova API in more consistent way and with"},{"line_number":41,"context_line":"strong validation for better usage."},{"line_number":42,"context_line":"As a Developer, I would like to provide and maintain better/clean/conssitant"},{"line_number":43,"context_line":"APIs."},{"line_number":44,"context_line":"Maintaince can be easy only if we are able to bump the minimum microversion at"},{"line_number":45,"context_line":"some point otherwise there is no maintenance benefit from this change."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_c2367eb4","line":42,"in_reply_to":"3f79a3b5_a69068f5","updated":"2018-09-26 05:23:43.000000000","message":"Done","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d28107f1ee399699098ca765f11eef1297c1ae80","unresolved":false,"context_lines":[{"line_number":41,"context_line":"strong validation for better usage."},{"line_number":42,"context_line":"As a Developer, I would like to provide and maintain better/clean/conssitant"},{"line_number":43,"context_line":"APIs."},{"line_number":44,"context_line":"Maintaince can be easy only if we are able to bump the minimum microversion at"},{"line_number":45,"context_line":"some point otherwise there is no maintenance benefit from this change."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_c69564e5","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":10},"updated":"2018-09-24 08:34:08.000000000","message":"Maintenance","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"888145ca88191f1c47740cd93ff71cb1c44f5a10","unresolved":false,"context_lines":[{"line_number":41,"context_line":"strong validation for better usage."},{"line_number":42,"context_line":"As a Developer, I would like to provide and maintain better/clean/conssitant"},{"line_number":43,"context_line":"APIs."},{"line_number":44,"context_line":"Maintaince can be easy only if we are able to bump the minimum microversion at"},{"line_number":45,"context_line":"some point otherwise there is no maintenance benefit from this change."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_82408608","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":10},"in_reply_to":"3f79a3b5_c69564e5","updated":"2018-09-26 05:23:43.000000000","message":"Done","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"42bb07f7c8c9d8edbbcaa93b69c108c9ec490ee6","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Proposal is to do all the mentioned cleanup in single microverison."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Cleanup List:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. 400 for unknown param for query param and for request body."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_6ca53f9f","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":12},"updated":"2018-09-25 00:48:44.000000000","message":"There are many TODOs about response code.\nThey should be fixed by this spec, shsouldn\u0027t they?\n\nhttps://github.com/openstack/nova/blob/eb26f1b719395f5e14f75550872e589879b79f92/nova/api/openstack/compute/admin_password.py#L33-L35\nhttps://github.com/openstack/nova/blob/eb26f1b719395f5e14f75550872e589879b79f92/nova/api/openstack/compute/agents.py#L112-L114\nhttps://github.com/openstack/nova/blob/eb26f1b719395f5e14f75550872e589879b79f92/nova/api/openstack/compute/agents.py#L133-L135\nhttps://github.com/openstack/nova/blob/eb26f1b719395f5e14f75550872e589879b79f92/nova/api/openstack/compute/evacuate.py#L69-L71\nhttps://github.com/openstack/nova/blob/eb26f1b719395f5e14f75550872e589879b79f92/nova/api/openstack/compute/quota_sets.py#L266-L268\nhttps://github.com/openstack/nova/blob/eb26f1b719395f5e14f75550872e589879b79f92/nova/api/openstack/compute/rescue.py#L37-L39\nhttps://github.com/openstack/nova/blob/eb26f1b719395f5e14f75550872e589879b79f92/nova/api/openstack/compute/volumes.py#L312","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"888145ca88191f1c47740cd93ff71cb1c44f5a10","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Proposal is to do all the mentioned cleanup in single microverison."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Cleanup List:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. 400 for unknown param for query param and for request body."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a25ca2f0","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":12},"in_reply_to":"3f79a3b5_6ca53f9f","updated":"2018-09-26 05:23:43.000000000","message":"Yeah, return code are not ideal as of now. I can include those in this but we need to see is it worth to change? Need more opinion on this","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"5611c40e00993a681a9be4e7875a3082e86d1e89","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Cleanup List:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. 400 for unknown param for query param and for request body."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Currently unknown param in server query param or in many other APIs request"},{"line_number":59,"context_line":"   body are ignored silently. This leads to lot of inconsistency,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_c1a331b0","line":56,"range":{"start_line":56,"start_character":3,"end_line":56,"end_character":62},"updated":"2018-09-21 07:31:07.000000000","message":"+1, I have been asked many times about this from our product team","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d28107f1ee399699098ca765f11eef1297c1ae80","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Currently unknown param in server query param or in many other APIs request"},{"line_number":59,"context_line":"   body are ignored silently. This leads to lot of inconsistency,"},{"line_number":60,"context_line":"   one good example of this is --deleted and DELETED query for nova --list."},{"line_number":61,"context_line":"   Details discussion [1]_"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   We can fix that by making \u0027additionalProperties\u0027: False for query param and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_669a5014","line":60,"range":{"start_line":60,"start_character":31,"end_line":60,"end_character":40},"updated":"2018-09-24 08:34:08.000000000","message":"``--deleted`` (otherwise -- becomes a double em, iirc)","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"306f997990edee92af5f8cbb955b1c03acab8d16","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Currently unknown param in server query param or in many other APIs request"},{"line_number":59,"context_line":"   body are ignored silently. This leads to lot of inconsistency,"},{"line_number":60,"context_line":"   one good example of this is --deleted and DELETED query for nova --list."},{"line_number":61,"context_line":"   Details discussion [1]_"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   We can fix that by making \u0027additionalProperties\u0027: False for query param and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_c61107b0","line":60,"range":{"start_line":60,"start_character":31,"end_line":60,"end_character":40},"in_reply_to":"3f79a3b5_4278d18d","updated":"2018-11-28 08:48:42.000000000","message":"oh i missed the \"--status\" which make it unclear. it is \"--deleted\" vs \"--status DELETED\" behaving differently. \n\nI will update that with details.\n\nIssue: \nIf you are non-admin then, filter --deleted and --status deleted behave as 200 and 403 respectively. Both are same filter from end user point of view but due to our implementation we return different behavior.\nnova list --deleted - is silenlty ignored due to additionalProperty\u003dTrue and for backward compatibility API accept and ignore the invalie filters. --deleted is invalid filter for non-admin\nnova list --status DELETED - 403. --status is valid filter for non-admin so API does not ignore this. We have explicit check for status\u003dDELETED request and if requester is non-admin then, 403\nhttps://github.com/openstack/nova/blob/62245235bc15da6abcdfd3df1c24bd856d69fbb4/nova/api/openstack/compute/servers.py#L198","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1e0dffcf5603f390c19f9fc60fd90f8e5a89952b","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Currently unknown param in server query param or in many other APIs request"},{"line_number":59,"context_line":"   body are ignored silently. This leads to lot of inconsistency,"},{"line_number":60,"context_line":"   one good example of this is --deleted and DELETED query for nova --list."},{"line_number":61,"context_line":"   Details discussion [1]_"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   We can fix that by making \u0027additionalProperties\u0027: False for query param and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_4278d18d","line":60,"range":{"start_line":60,"start_character":31,"end_line":60,"end_character":40},"in_reply_to":"3f79a3b5_62568ad1","updated":"2018-10-12 00:15:08.000000000","message":"I\u0027m not sure I understand this example of the \u0027deleted\u0027 query parameter as being an unknown parameter that is ignored. It\u0027s documented in the api-ref for server list:\n\nhttps://developer.openstack.org/api-ref/compute/#list-servers-detailed\n\nand I have used it in the past and it does indeed return a list of deleted servers. How is the \u0027deleted\u0027 query parameter an example of an unknown and ignored param?","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"888145ca88191f1c47740cd93ff71cb1c44f5a10","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Currently unknown param in server query param or in many other APIs request"},{"line_number":59,"context_line":"   body are ignored silently. This leads to lot of inconsistency,"},{"line_number":60,"context_line":"   one good example of this is --deleted and DELETED query for nova --list."},{"line_number":61,"context_line":"   Details discussion [1]_"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   We can fix that by making \u0027additionalProperties\u0027: False for query param and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_62568ad1","line":60,"range":{"start_line":60,"start_character":31,"end_line":60,"end_character":40},"in_reply_to":"3f79a3b5_669a5014","updated":"2018-09-26 05:23:43.000000000","message":"Done","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d28107f1ee399699098ca765f11eef1297c1ae80","unresolved":false,"context_lines":[{"line_number":60,"context_line":"   one good example of this is --deleted and DELETED query for nova --list."},{"line_number":61,"context_line":"   Details discussion [1]_"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   We can fix that by making \u0027additionalProperties\u0027: False for query param and"},{"line_number":64,"context_line":"   request body of all the APIs where \u0027additionalProperties\u0027 is True"},{"line_number":65,"context_line":"   For Example [2]_ and [3]_"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a6b9487d","line":63,"range":{"start_line":63,"start_character":29,"end_line":63,"end_character":58},"updated":"2018-09-24 08:34:08.000000000","message":"``literal``","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"888145ca88191f1c47740cd93ff71cb1c44f5a10","unresolved":false,"context_lines":[{"line_number":60,"context_line":"   one good example of this is --deleted and DELETED query for nova --list."},{"line_number":61,"context_line":"   Details discussion [1]_"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   We can fix that by making \u0027additionalProperties\u0027: False for query param and"},{"line_number":64,"context_line":"   request body of all the APIs where \u0027additionalProperties\u0027 is True"},{"line_number":65,"context_line":"   For Example [2]_ and [3]_"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_22709273","line":63,"range":{"start_line":63,"start_character":29,"end_line":63,"end_character":58},"in_reply_to":"3f79a3b5_a6b9487d","updated":"2018-09-26 05:23:43.000000000","message":"Done","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"5611c40e00993a681a9be4e7875a3082e86d1e89","unresolved":false,"context_lines":[{"line_number":65,"context_line":"   For Example [2]_ and [3]_"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"   * APIs need modification:"},{"line_number":68,"context_line":"   "},{"line_number":69,"context_line":"     TODO- list down the exact list of APIs which needs modification in this"},{"line_number":70,"context_line":"           cleanup."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_21cf857f","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":3},"updated":"2018-09-21 07:31:07.000000000","message":"Oops","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"888145ca88191f1c47740cd93ff71cb1c44f5a10","unresolved":false,"context_lines":[{"line_number":65,"context_line":"   For Example [2]_ and [3]_"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"   * APIs need modification:"},{"line_number":68,"context_line":"   "},{"line_number":69,"context_line":"     TODO- list down the exact list of APIs which needs modification in this"},{"line_number":70,"context_line":"           cleanup."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_426b4e85","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":3},"in_reply_to":"3f79a3b5_21cf857f","updated":"2018-09-26 05:23:43.000000000","message":"Done","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d28107f1ee399699098ca765f11eef1297c1ae80","unresolved":false,"context_lines":[{"line_number":81,"context_line":"     TODO- list down the exact list of APIs which needs modification in this"},{"line_number":82,"context_line":"           cleanup."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"#. Making server representation always consistence among all APIs"},{"line_number":85,"context_line":"   returning the complete server representation."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"   GET, PUT, REBUILD /servers APIs return the complete server representation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_c6bec463","line":84,"range":{"start_line":84,"start_character":39,"end_line":84,"end_character":50},"updated":"2018-09-24 08:34:08.000000000","message":"consistent","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"888145ca88191f1c47740cd93ff71cb1c44f5a10","unresolved":false,"context_lines":[{"line_number":81,"context_line":"     TODO- list down the exact list of APIs which needs modification in this"},{"line_number":82,"context_line":"           cleanup."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"#. Making server representation always consistence among all APIs"},{"line_number":85,"context_line":"   returning the complete server representation."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"   GET, PUT, REBUILD /servers APIs return the complete server representation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_026556af","line":84,"range":{"start_line":84,"start_character":39,"end_line":84,"end_character":50},"in_reply_to":"3f79a3b5_c6bec463","updated":"2018-09-26 05:23:43.000000000","message":"Done","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d28107f1ee399699098ca765f11eef1297c1ae80","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Other end user impact"},{"line_number":139,"context_line":"---------------------"},{"line_number":140,"context_line":"The python novaclient will be updated."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Performance Impact"},{"line_number":143,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_66b3309c","line":140,"range":{"start_line":140,"start_character":0,"end_line":140,"end_character":38},"updated":"2018-09-24 08:34:08.000000000","message":"Any impact on OSC?","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"888145ca88191f1c47740cd93ff71cb1c44f5a10","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Other end user impact"},{"line_number":139,"context_line":"---------------------"},{"line_number":140,"context_line":"The python novaclient will be updated."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Performance Impact"},{"line_number":143,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a20102b8","line":140,"range":{"start_line":140,"start_character":0,"end_line":140,"end_character":38},"in_reply_to":"3f79a3b5_66b3309c","updated":"2018-09-26 05:23:43.000000000","message":"yeah, we should do microversion update in osc too.","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"436ef1e370d3bbb57e0ec3131db2adcc8be6ddf2","unresolved":false,"context_lines":[{"line_number":187,"context_line":"  Stein PTG etherpad, L1048 with title:"},{"line_number":188,"context_line":"  \"Nova API cleanup in single microversion (gmann/mriedem/alex_xu)\"."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"* https://etherpad.openstack.org/p/nova-api-cleanup"},{"line_number":191,"context_line":"  Nova API cleanup list Etherpad"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":".. [1] http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2018-07-10.log.html#t2018-07-10T14:14:18"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_93335a61","line":190,"updated":"2018-09-20 16:13:17.000000000","message":"I added a couple of other things to this, namely we also have some request parameters with the weird extension prefix, like \"OS-DCF:diskConfig\" with the resize action API, and that the os-hypervisors API excludes some fields in the response if the value is empty:\n\nhttps://github.com/openstack/nova/blob/183c3d5f07f6bc73ba6d983158f0f77bbfa673c2/nova/api/openstack/compute/hypervisors.py#L91\n\nI think we might have a few APIs that do that, where it would be nicer to return the field pointing at an empty list or dict.","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"888145ca88191f1c47740cd93ff71cb1c44f5a10","unresolved":false,"context_lines":[{"line_number":187,"context_line":"  Stein PTG etherpad, L1048 with title:"},{"line_number":188,"context_line":"  \"Nova API cleanup in single microversion (gmann/mriedem/alex_xu)\"."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"* https://etherpad.openstack.org/p/nova-api-cleanup"},{"line_number":191,"context_line":"  Nova API cleanup list Etherpad"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":".. [1] http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2018-07-10.log.html#t2018-07-10T14:14:18"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_02deb669","line":190,"in_reply_to":"3f79a3b5_93335a61","updated":"2018-09-26 05:23:43.000000000","message":"agree on those. i will add.","commit_id":"0330af5504f1131c16baf5cd8a708e48ae1cec2e"}],"specs/train/approved/api-consistency-cleanup.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb4a2bc4654bf72406eece24fc1d0818cad4216","unresolved":false,"context_lines":[{"line_number":43,"context_line":"As a Developer, I would like to provide and maintain better/clean/conssitant"},{"line_number":44,"context_line":"APIs."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Maintenance can be easy only if we are able to bump the minimum microversion at"},{"line_number":47,"context_line":"some point otherwise there is no maintenance benefit from this change."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Proposed change"},{"line_number":50,"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":7,"id":"5fc1f717_b95e9610","line":47,"range":{"start_line":46,"start_character":0,"end_line":47,"end_character":70},"updated":"2019-04-08 21:59:03.000000000","message":"I\u0027m unclear on this point. I think there is a big benefit in dropping the terrible OS-EXT* prefixes because, for example, I have to always look up the API reference when I want to get the \u0027host\u0027 for an instance (OS-EXT-SRV-ATTR:host).","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"afce2669b01b15760b519eb74f3fe2e0da796d88","unresolved":false,"context_lines":[{"line_number":43,"context_line":"As a Developer, I would like to provide and maintain better/clean/conssitant"},{"line_number":44,"context_line":"APIs."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Maintenance can be easy only if we are able to bump the minimum microversion at"},{"line_number":47,"context_line":"some point otherwise there is no maintenance benefit from this change."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Proposed change"},{"line_number":50,"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":7,"id":"5fc1f717_8f1d8763","line":47,"range":{"start_line":46,"start_character":0,"end_line":47,"end_character":70},"in_reply_to":"5fc1f717_b95e9610","updated":"2019-04-09 01:23:57.000000000","message":"I wrote this from the developer perspective but you have a good point on client side code maintenance.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb4a2bc4654bf72406eece24fc1d0818cad4216","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Maintenance can be easy only if we are able to bump the minimum microversion at"},{"line_number":47,"context_line":"some point otherwise there is no maintenance benefit from this change."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Proposed change"},{"line_number":50,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":51,"context_line":"Add a new microversion to the APIs to cleanup multiple issues and"},{"line_number":52,"context_line":"inconsistency."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_f9209e4b","line":49,"updated":"2019-04-08 21:59:03.000000000","message":"This is a pretty big list and might be hard to (1) review and (2) document. I\u0027m wondering if we should limit this to 1 or 2 of the top offenders that are the most obvious things we should fix in a single release.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9043ad5866100958841d0eff85b92947ad558977","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Maintenance can be easy only if we are able to bump the minimum microversion at"},{"line_number":47,"context_line":"some point otherwise there is no maintenance benefit from this change."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Proposed change"},{"line_number":50,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":51,"context_line":"Add a new microversion to the APIs to cleanup multiple issues and"},{"line_number":52,"context_line":"inconsistency."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_5d098c81","line":49,"in_reply_to":"5fc1f717_0f699823","updated":"2019-04-09 15:43:38.000000000","message":"Sorry for the confusion but by \"(1) review and (2) document.\" I don\u0027t mean literally the 1 and 2 cases below, I mean doing a lot of this in a single microversion may be:\n\na) hard to review\nb) hard to clearly document","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ffbf17bd06c9f364369c51d82ca6f72da378d0b3","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Maintenance can be easy only if we are able to bump the minimum microversion at"},{"line_number":47,"context_line":"some point otherwise there is no maintenance benefit from this change."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Proposed change"},{"line_number":50,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":51,"context_line":"Add a new microversion to the APIs to cleanup multiple issues and"},{"line_number":52,"context_line":"inconsistency."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_0f699823","line":49,"in_reply_to":"5fc1f717_f9209e4b","updated":"2019-04-09 01:01:35.000000000","message":"ok. I also like to do 3 as that can save multiple API calls to get the complete server representation.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb4a2bc4654bf72406eece24fc1d0818cad4216","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Cleanup List:"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. 400 for unknown param for query param and for request body."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"   Currently unknown param in server query param or in many other APIs request"},{"line_number":61,"context_line":"   body are ignored silently. This leads to lot of inconsistency,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_f9497e31","line":58,"updated":"2019-04-08 21:59:03.000000000","message":"I know neutron recently added an extension to fail on unknown query parameters but I think it is configurable since the extension can be blacklisted - generally we don\u0027t like config-driven API behavior in nova, but would we want to do anything like that in nova for this one?","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ffbf17bd06c9f364369c51d82ca6f72da378d0b3","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Cleanup List:"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. 400 for unknown param for query param and for request body."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"   Currently unknown param in server query param or in many other APIs request"},{"line_number":61,"context_line":"   body are ignored silently. This leads to lot of inconsistency,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_4f8320cc","line":58,"in_reply_to":"5fc1f717_f9497e31","updated":"2019-04-09 01:01:35.000000000","message":"I think neutron case is configurable due to no way to discover the strict validation extensions is enable or not and to maintain the backward compatibility for plugins.\n\nAs we have microversion way in nova to handle the discoverability and backward compatibility, IMO we should not make it configurable.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb4a2bc4654bf72406eece24fc1d0818cad4216","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"   * APIs need modification:"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"   TODO- list down the exact list of APIs which needs modification in this"},{"line_number":86,"context_line":"   cleanup."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"#. Remove OS-EXT* prefix from response field."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_99887a71","line":85,"updated":"2019-04-08 21:59:03.000000000","message":"Is the spec a WIP until you do this? Or something you\u0027d follow up on later if people agree with doing this change in general?","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ffbf17bd06c9f364369c51d82ca6f72da378d0b3","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"   * APIs need modification:"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"   TODO- list down the exact list of APIs which needs modification in this"},{"line_number":86,"context_line":"   cleanup."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"#. Remove OS-EXT* prefix from response field."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_afee44b2","line":85,"in_reply_to":"5fc1f717_99887a71","updated":"2019-04-09 01:01:35.000000000","message":"I think this is something we can iterate during implementation. I can remove the TODO form here.\n\nBut if reviewer needs to check the list of APIs before approving the idea then I can compile the list here.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb4a2bc4654bf72406eece24fc1d0818cad4216","unresolved":false,"context_lines":[{"line_number":85,"context_line":"   TODO- list down the exact list of APIs which needs modification in this"},{"line_number":86,"context_line":"   cleanup."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"#. Remove OS-EXT* prefix from response field."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"   There are many fields which are being added with extensions mechanism and so"},{"line_number":91,"context_line":"   does prefix-ed with OS-EXT-* for example \"OS-EXT-AZ:availability_zone\" in"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_b98c5680","line":88,"updated":"2019-04-08 21:59:03.000000000","message":"Definitely yes from me.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9043ad5866100958841d0eff85b92947ad558977","unresolved":false,"context_lines":[{"line_number":97,"context_line":"     TODO- list down the exact list of APIs which needs modification in this"},{"line_number":98,"context_line":"     cleanup."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"#. Making server representation always consistent among all APIs"},{"line_number":101,"context_line":"   returning the complete server representation."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"   GET, PUT, REBUILD /servers APIs return the complete server representation"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_dd4a5cab","line":100,"updated":"2019-04-09 15:43:38.000000000","message":"I\u0027ve wondered why GET responses are different from PUT and rebuild responses historically and I assume it started with PUT and rebuild only returning the parameters in the response that could be taken on the request which modify the server, but over time we\u0027ve done a pretty bad job of being consistent about that and added things to the response for PUT and rebuild that are not reflected in the request, so I guess we could say the original intent for those responses is gone and it\u0027s just easier if we always return the same response as GET. That might be useful wording in here to justify doing this one.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":97,"context_line":"     TODO- list down the exact list of APIs which needs modification in this"},{"line_number":98,"context_line":"     cleanup."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"#. Making server representation always consistent among all APIs"},{"line_number":101,"context_line":"   returning the complete server representation."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"   GET, PUT, REBUILD /servers APIs return the complete server representation"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_3535b8f7","line":100,"in_reply_to":"5fc1f717_dd4a5cab","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb4a2bc4654bf72406eece24fc1d0818cad4216","unresolved":false,"context_lines":[{"line_number":130,"context_line":"     * PUT /servers"},{"line_number":131,"context_line":"     * POST /servers/{server_id}/action {rebuild}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"   GET /os-hypervisors?with_servers\u003dTrue omits the \u0027servers\u0027 field in the"},{"line_number":136,"context_line":"   response per hypervisor if there are no servers on that hypervisor."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_99095ade","line":133,"updated":"2019-04-08 21:59:03.000000000","message":"I think this one is probably debatable, maybe I want to list hypervisors but don\u0027t care about trying to see which servers on each hypervisor, which would make the response take longer.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9043ad5866100958841d0eff85b92947ad558977","unresolved":false,"context_lines":[{"line_number":130,"context_line":"     * PUT /servers"},{"line_number":131,"context_line":"     * POST /servers/{server_id}/action {rebuild}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"   GET /os-hypervisors?with_servers\u003dTrue omits the \u0027servers\u0027 field in the"},{"line_number":136,"context_line":"   response per hypervisor if there are no servers on that hypervisor."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_bd3510f9","line":133,"in_reply_to":"5fc1f717_32e95ce2","updated":"2019-04-09 15:43:38.000000000","message":"\u003e \u0027servers\u0027 is query param since 2.53 microversion.\n\nCorrect and that was in order to deprecate the \"GET /os-hypervisors/{hypervisor_hostname_pattern}/servers\" API.\n\nSimilarly \"GEt /os-hypervisors/{hypervisor_hostname_pattern}/search\" was deprecated in 2.53 and replaced with the hypervisor_hostname_pattern parameter in the GET /os-hypervisors and GET /os-hypervisors/detail APIs.\n\nBut I get your meaning now, the \u0027servers\u0027 key is literally not included in the response if there are no servers on the given hypervisor. To be fair, the old \"GET /os-hypervisors/{hypervisor_hostname_pattern}/servers\" API behaves the same way.\n\nThis type of problem could also be considered a different class of issue because we have the same problem in other APIs like this: https://bugs.launchpad.net/nova/+bug/1818345\n\nGiven that, I\u0027d think this should probably be handled separately so we could audit all of the other APIs that suffer from this same issue.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"56f9171dc1e4eb36876d25d2fbf24a8c2ce86b88","unresolved":false,"context_lines":[{"line_number":130,"context_line":"     * PUT /servers"},{"line_number":131,"context_line":"     * POST /servers/{server_id}/action {rebuild}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"   GET /os-hypervisors?with_servers\u003dTrue omits the \u0027servers\u0027 field in the"},{"line_number":136,"context_line":"   response per hypervisor if there are no servers on that hypervisor."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_32e95ce2","line":133,"in_reply_to":"5fc1f717_99095ade","updated":"2019-04-09 04:21:50.000000000","message":"I did not get you completely. \u0027servers\u0027 is query param since 2.53 microversion. So it is not present unless explicitly query. But when it is queried then, \u0027servers\u0027 field itself missing when no servers on that hypervisor instead of the empty list.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":130,"context_line":"     * PUT /servers"},{"line_number":131,"context_line":"     * POST /servers/{server_id}/action {rebuild}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"   GET /os-hypervisors?with_servers\u003dTrue omits the \u0027servers\u0027 field in the"},{"line_number":136,"context_line":"   response per hypervisor if there are no servers on that hypervisor."}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_757820c0","line":133,"in_reply_to":"5fc1f717_bd3510f9","updated":"2019-04-09 16:14:30.000000000","message":"+1 on auditing all APIs and fix together. I will remove this issue from this proposal.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb4a2bc4654bf72406eece24fc1d0818cad4216","unresolved":false,"context_lines":[{"line_number":142,"context_line":"#. Consistent error codes on quota exceeded"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"   https://bugs.launchpad.net/openstack-publiccloud-wg/+bug/1790879"},{"line_number":145,"context_line":"   This need consensus at wider level to decide the correct error code."},{"line_number":146,"context_line":"   TODO- Get consensus and have it documented in api-wg guidlines before"},{"line_number":147,"context_line":"   any change in nova API."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_590f72df","line":147,"range":{"start_line":145,"start_character":3,"end_line":147,"end_character":26},"updated":"2019-04-08 21:59:03.000000000","message":"Hmm, if it\u0027s questionable then why even list it in the spec right now?","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ffbf17bd06c9f364369c51d82ca6f72da378d0b3","unresolved":false,"context_lines":[{"line_number":142,"context_line":"#. Consistent error codes on quota exceeded"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"   https://bugs.launchpad.net/openstack-publiccloud-wg/+bug/1790879"},{"line_number":145,"context_line":"   This need consensus at wider level to decide the correct error code."},{"line_number":146,"context_line":"   TODO- Get consensus and have it documented in api-wg guidlines before"},{"line_number":147,"context_line":"   any change in nova API."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_6f613c39","line":147,"range":{"start_line":145,"start_character":3,"end_line":147,"end_character":26},"in_reply_to":"5fc1f717_590f72df","updated":"2019-04-09 01:01:35.000000000","message":"yeah this needs more time. I will remove this as of now.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb4a2bc4654bf72406eece24fc1d0818cad4216","unresolved":false,"context_lines":[{"line_number":145,"context_line":"   This need consensus at wider level to decide the correct error code."},{"line_number":146,"context_line":"   TODO- Get consensus and have it documented in api-wg guidlines before"},{"line_number":147,"context_line":"   any change in nova API."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Alternatives"},{"line_number":151,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_f9f73ed3","line":148,"updated":"2019-04-08 21:59:03.000000000","message":"Another one I could think of is inconsistent/incorrect response codes, i.e. in some cases we return a 200 even when there is no response body, so it should be a 204, or a 204 is returned rather than a 202 (e.g. confirmResize action API).","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"56f9171dc1e4eb36876d25d2fbf24a8c2ce86b88","unresolved":false,"context_lines":[{"line_number":145,"context_line":"   This need consensus at wider level to decide the correct error code."},{"line_number":146,"context_line":"   TODO- Get consensus and have it documented in api-wg guidlines before"},{"line_number":147,"context_line":"   any change in nova API."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Alternatives"},{"line_number":151,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_b29f8c00","line":148,"in_reply_to":"5fc1f717_4f356044","updated":"2019-04-09 04:21:50.000000000","message":"While checking the few APIs, this can be a big list but need each APIs parsing. \n\nIf we agree to correct the status code as part of this proposal, then I can do each API audit and compile the list.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9043ad5866100958841d0eff85b92947ad558977","unresolved":false,"context_lines":[{"line_number":145,"context_line":"   This need consensus at wider level to decide the correct error code."},{"line_number":146,"context_line":"   TODO- Get consensus and have it documented in api-wg guidlines before"},{"line_number":147,"context_line":"   any change in nova API."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Alternatives"},{"line_number":151,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_ddd57ce7","line":148,"in_reply_to":"5fc1f717_b29f8c00","updated":"2019-04-09 15:43:38.000000000","message":"Are we able to control response codes in a microversion? I thought that was handled with a decorator and hard-coded on each API route handler.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":145,"context_line":"   This need consensus at wider level to decide the correct error code."},{"line_number":146,"context_line":"   TODO- Get consensus and have it documented in api-wg guidlines before"},{"line_number":147,"context_line":"   any change in nova API."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Alternatives"},{"line_number":151,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_95602c03","line":148,"in_reply_to":"5fc1f717_ddd57ce7","updated":"2019-04-09 16:14:30.000000000","message":"we can with new API method decorated with allowed microversion range which will only differ with the new response code.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ffbf17bd06c9f364369c51d82ca6f72da378d0b3","unresolved":false,"context_lines":[{"line_number":145,"context_line":"   This need consensus at wider level to decide the correct error code."},{"line_number":146,"context_line":"   TODO- Get consensus and have it documented in api-wg guidlines before"},{"line_number":147,"context_line":"   any change in nova API."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Alternatives"},{"line_number":151,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_4f356044","line":148,"in_reply_to":"5fc1f717_f9f73ed3","updated":"2019-04-09 01:01:35.000000000","message":"yeah, this inconsistency we have due to v2 compatibility. This is good thing to fix.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb4a2bc4654bf72406eece24fc1d0818cad4216","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Alternatives"},{"line_number":151,"context_line":"------------"},{"line_number":152,"context_line":"We leave APIs as it is and use it in same way they are currently."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Data model impact"},{"line_number":155,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_59dd323f","line":152,"updated":"2019-04-08 21:59:03.000000000","message":"Or as suggested above, we limit the amount of change in a single release rather than trying to do this all at once which could be tough.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ffbf17bd06c9f364369c51d82ca6f72da378d0b3","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Alternatives"},{"line_number":151,"context_line":"------------"},{"line_number":152,"context_line":"We leave APIs as it is and use it in same way they are currently."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"Data model impact"},{"line_number":155,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_0f52f867","line":152,"in_reply_to":"5fc1f717_59dd323f","updated":"2019-04-09 01:01:35.000000000","message":"ok.","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"eeb4a2bc4654bf72406eece24fc1d0818cad4216","unresolved":false,"context_lines":[{"line_number":197,"context_line":""},{"line_number":198,"context_line":"Work Items"},{"line_number":199,"context_line":"----------"},{"line_number":200,"context_line":"* Songle microversion change on Nova API"},{"line_number":201,"context_line":"* Add tests for changes"},{"line_number":202,"context_line":"* python client change"},{"line_number":203,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"5fc1f717_59b692fb","line":200,"range":{"start_line":200,"start_character":2,"end_line":200,"end_character":8},"updated":"2019-04-08 21:59:03.000000000","message":"Single","commit_id":"ae6a7f091c357f5f9eb3ece00e0202edb72ccd01"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"dc4cfd86bbf984ee886bfef663ea055153c566c4","unresolved":false,"context_lines":[{"line_number":40,"context_line":"As an API consumer, I would like to use Nova API in more consistent way and"},{"line_number":41,"context_line":"with strong validation for better usage."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"As a Developer, I would like to provide and maintain better/clean/conssitant"},{"line_number":44,"context_line":"APIs."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"There are maintenance benefits for client side code for parsing the API"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_1d946443","line":43,"range":{"start_line":43,"start_character":66,"end_line":43,"end_character":76},"updated":"2019-04-09 15:44:19.000000000","message":"consistent","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":40,"context_line":"As an API consumer, I would like to use Nova API in more consistent way and"},{"line_number":41,"context_line":"with strong validation for better usage."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"As a Developer, I would like to provide and maintain better/clean/conssitant"},{"line_number":44,"context_line":"APIs."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"There are maintenance benefits for client side code for parsing the API"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_151bdc80","line":43,"range":{"start_line":43,"start_character":66,"end_line":43,"end_character":76},"in_reply_to":"5fc1f717_1d946443","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"dc4cfd86bbf984ee886bfef663ea055153c566c4","unresolved":false,"context_lines":[{"line_number":77,"context_line":"   is non-admin then, 403"},{"line_number":78,"context_line":"   Details discussion [1]_"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"   We can fix that by making ``additionalProperties: False`` for query param and"},{"line_number":81,"context_line":"   request body of all the APIs where ``additionalProperties`` is True"},{"line_number":82,"context_line":"   For Example [2]_ and [3]_"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_9d629415","line":80,"updated":"2019-04-09 15:44:19.000000000","message":"this line (at least I think it is this one) is too long","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":77,"context_line":"   is non-admin then, 403"},{"line_number":78,"context_line":"   Details discussion [1]_"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"   We can fix that by making ``additionalProperties: False`` for query param and"},{"line_number":81,"context_line":"   request body of all the APIs where ``additionalProperties`` is True"},{"line_number":82,"context_line":"   For Example [2]_ and [3]_"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_d510f45b","line":80,"in_reply_to":"5fc1f717_9d629415","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"dc4cfd86bbf984ee886bfef663ea055153c566c4","unresolved":false,"context_lines":[{"line_number":84,"context_line":"   APIs need modification:"},{"line_number":85,"context_line":"   https://github.com/openstack/nova/search?p\u003d1\u0026q\u003dadditionalProperties%3A+True\u0026unscoped_q\u003dadditionalProperties%3A+True"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"#. Remove OS-EXT* prefix from response field."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"   There are many fields which are being added with extensions mechanism and so"},{"line_number":90,"context_line":"   does prefix-ed with OS-EXT-* for example \"OS-EXT-AZ:availability_zone\" in"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_7d84880b","line":87,"updated":"2019-04-09 15:44:19.000000000","message":"+many","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":84,"context_line":"   APIs need modification:"},{"line_number":85,"context_line":"   https://github.com/openstack/nova/search?p\u003d1\u0026q\u003dadditionalProperties%3A+True\u0026unscoped_q\u003dadditionalProperties%3A+True"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"#. Remove OS-EXT* prefix from response field."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"   There are many fields which are being added with extensions mechanism and so"},{"line_number":90,"context_line":"   does prefix-ed with OS-EXT-* for example \"OS-EXT-AZ:availability_zone\" in"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_55040418","line":87,"in_reply_to":"5fc1f717_7d84880b","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3534f8427a7eb16b02df4ad86b57c2509e920d5","unresolved":false,"context_lines":[{"line_number":92,"context_line":"   Now extensions mechanism is gone and having few response field as OS-EXT* is"},{"line_number":93,"context_line":"   not easy to understand and they are very much inconsistent from other fields"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"#. Making server representation always consistent among all APIs"},{"line_number":96,"context_line":"   returning the complete server representation."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"   GET, PUT, REBUILD /servers APIs return the complete server representation"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_bd1e706d","line":95,"updated":"2019-04-09 15:48:29.000000000","message":"See my comment in PS7.","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":92,"context_line":"   Now extensions mechanism is gone and having few response field as OS-EXT* is"},{"line_number":93,"context_line":"   not easy to understand and they are very much inconsistent from other fields"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"#. Making server representation always consistent among all APIs"},{"line_number":96,"context_line":"   returning the complete server representation."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"   GET, PUT, REBUILD /servers APIs return the complete server representation"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_1800f100","line":95,"in_reply_to":"5fc1f717_bd1e706d","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3534f8427a7eb16b02df4ad86b57c2509e920d5","unresolved":false,"context_lines":[{"line_number":125,"context_line":"     * PUT /servers"},{"line_number":126,"context_line":"     * POST /servers/{server_id}/action {rebuild}"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"   GET /os-hypervisors?with_servers\u003dTrue omits the \u0027servers\u0027 field in the"},{"line_number":131,"context_line":"   response per hypervisor if there are no servers on that hypervisor."}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_f5089027","line":128,"updated":"2019-04-09 15:48:29.000000000","message":"See my comment in PS7 about this but there are other APIs with the same issue which could probably be lumped in with this in their own spec.","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":125,"context_line":"     * PUT /servers"},{"line_number":126,"context_line":"     * POST /servers/{server_id}/action {rebuild}"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"   GET /os-hypervisors?with_servers\u003dTrue omits the \u0027servers\u0027 field in the"},{"line_number":131,"context_line":"   response per hypervisor if there are no servers on that hypervisor."}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_d8058911","line":128,"in_reply_to":"5fc1f717_f5089027","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3534f8427a7eb16b02df4ad86b57c2509e920d5","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"   GET /os-hypervisors?with_servers\u003dTrue omits the \u0027servers\u0027 field in the"},{"line_number":131,"context_line":"   response per hypervisor if there are no servers on that hypervisor."},{"line_number":132,"context_line":"   http://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/compute/hypervisors.py#n90 "},{"line_number":133,"context_line":"   This means the client needs to do something like: .get(\u0027servers\u0027, [])."},{"line_number":134,"context_line":"   It is always good to return all the fields in response in all scenario"},{"line_number":135,"context_line":"   with value of None etc"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_7d14884d","line":132,"range":{"start_line":132,"start_character":98,"end_line":132,"end_character":99},"updated":"2019-04-09 15:48:29.000000000","message":"whitespace\n\nAlso, make this a reference at the bottom and use a tag or commit hash otherwise this line number is going to change.","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"   GET /os-hypervisors?with_servers\u003dTrue omits the \u0027servers\u0027 field in the"},{"line_number":131,"context_line":"   response per hypervisor if there are no servers on that hypervisor."},{"line_number":132,"context_line":"   http://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/compute/hypervisors.py#n90 "},{"line_number":133,"context_line":"   This means the client needs to do something like: .get(\u0027servers\u0027, [])."},{"line_number":134,"context_line":"   It is always good to return all the fields in response in all scenario"},{"line_number":135,"context_line":"   with value of None etc"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_58199977","line":132,"range":{"start_line":132,"start_character":98,"end_line":132,"end_character":99},"in_reply_to":"5fc1f717_7d14884d","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3534f8427a7eb16b02df4ad86b57c2509e920d5","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"   Many APIs response success code is not correct and we kept the"},{"line_number":140,"context_line":"   v2 API compatible success code. We can fix all of them in single"},{"line_number":141,"context_line":"   go. Example: https://github.com/openstack/nova/blob/14c4c8040ce7b3180c2ff2ef1513a30c94805e41/nova/api/openstack/compute/servers.py#L835"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Alternatives"},{"line_number":144,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_3551380f","line":141,"updated":"2019-04-09 15:48:29.000000000","message":"So how do we do this per microversion since it\u0027s hard-coded in a decorator:\n\nhttps://github.com/openstack/nova/blob/14c4c8040ce7b3180c2ff2ef1513a30c94805e41/nova/api/openstack/compute/servers.py#L838\n\nDo we have to do something like this?\n\nhttps://github.com/openstack/nova/blob/14c4c8040ce7b3180c2ff2ef1513a30c94805e41/nova/api/openstack/compute/servers.py#L1202","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"   Many APIs response success code is not correct and we kept the"},{"line_number":140,"context_line":"   v2 API compatible success code. We can fix all of them in single"},{"line_number":141,"context_line":"   go. Example: https://github.com/openstack/nova/blob/14c4c8040ce7b3180c2ff2ef1513a30c94805e41/nova/api/openstack/compute/servers.py#L835"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Alternatives"},{"line_number":144,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_58b51931","line":141,"in_reply_to":"5fc1f717_3551380f","updated":"2019-04-09 16:14:30.000000000","message":"or we can do with two different API method for exmaple: https://github.com/openstack/nova/blob/14c4c8040ce7b3180c2ff2ef1513a30c94805e41/nova/api/openstack/compute/keypairs.py#L150-L159","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3534f8427a7eb16b02df4ad86b57c2509e920d5","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Alternatives"},{"line_number":144,"context_line":"------------"},{"line_number":145,"context_line":"We leave APIs as it is and use it in same way they are currently. or"},{"line_number":146,"context_line":"we can choose the set of issues from above list to fix as single go."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_5547244d","line":145,"range":{"start_line":145,"start_character":64,"end_line":145,"end_character":65},"updated":"2019-04-09 15:48:29.000000000","message":"nix","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Alternatives"},{"line_number":144,"context_line":"------------"},{"line_number":145,"context_line":"We leave APIs as it is and use it in same way they are currently. or"},{"line_number":146,"context_line":"we can choose the set of issues from above list to fix as single go."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_78b01541","line":145,"range":{"start_line":145,"start_character":64,"end_line":145,"end_character":65},"in_reply_to":"5fc1f717_5547244d","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3534f8427a7eb16b02df4ad86b57c2509e920d5","unresolved":false,"context_lines":[{"line_number":167,"context_line":"   In below APIs, few of their response field is prefix with ``OS-EXT-``"},{"line_number":168,"context_line":"   which will be changed to remove this prefix."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   GET /servers/{server_id}"},{"line_number":171,"context_line":"   GET /servers/detail"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"   NOTE: GET /images/detail and GET /images/{image_id} return"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_f56f30c1","line":170,"updated":"2019-04-09 15:48:29.000000000","message":"Obviously PUT /servers/{server_id} and rebuild responses would have these as well right?","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":167,"context_line":"   In below APIs, few of their response field is prefix with ``OS-EXT-``"},{"line_number":168,"context_line":"   which will be changed to remove this prefix."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   GET /servers/{server_id}"},{"line_number":171,"context_line":"   GET /servers/detail"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"   NOTE: GET /images/detail and GET /images/{image_id} return"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_d87a6975","line":170,"in_reply_to":"5fc1f717_f56f30c1","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"99f4cc0830e342c2005944dbc4c24abef197ac0c","unresolved":false,"context_lines":[{"line_number":167,"context_line":"   In below APIs, few of their response field is prefix with ``OS-EXT-``"},{"line_number":168,"context_line":"   which will be changed to remove this prefix."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   GET /servers/{server_id}"},{"line_number":171,"context_line":"   GET /servers/detail"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"   NOTE: GET /images/detail and GET /images/{image_id} return"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_db7a6375","line":170,"in_reply_to":"5fc1f717_f56f30c1","updated":"2019-04-09 16:49:01.000000000","message":"so that goes into next fix. If we approve the fix#3 then all these fields will be in PUT and REBUILD also.\n\nI will mention the point of adding these field without OS-EXT* in fix#3","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3534f8427a7eb16b02df4ad86b57c2509e920d5","unresolved":false,"context_lines":[{"line_number":180,"context_line":"   ``POST /servers/{server_id}/action {rebuild}`` API response"},{"line_number":181,"context_line":"   will be modified to add all the missing fields which are return by"},{"line_number":182,"context_line":"   ``GET /servers/{server_id}``."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_359ff8b4","line":183,"updated":"2019-04-09 15:48:29.000000000","message":"too many blank lines here","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":180,"context_line":"   ``POST /servers/{server_id}/action {rebuild}`` API response"},{"line_number":181,"context_line":"   will be modified to add all the missing fields which are return by"},{"line_number":182,"context_line":"   ``GET /servers/{server_id}``."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_b893dda2","line":183,"in_reply_to":"5fc1f717_359ff8b4","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3534f8427a7eb16b02df4ad86b57c2509e920d5","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    APIs GET /os-hypervisors?with_servers\u003dTrue and"},{"line_number":188,"context_line":"    GET /os-hypervisors/detail?with_servers\u003dTrue will always return the \u0027servers\u0027"},{"line_number":189,"context_line":"    field. If there is no servers on hypervisor then, \u0027servers\u0027 field will be"},{"line_number":190,"context_line":"    empty list."}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_159c3cbe","line":187,"range":{"start_line":187,"start_character":3,"end_line":187,"end_character":4},"updated":"2019-04-09 15:48:29.000000000","message":"indent is wrong here","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    APIs GET /os-hypervisors?with_servers\u003dTrue and"},{"line_number":188,"context_line":"    GET /os-hypervisors/detail?with_servers\u003dTrue will always return the \u0027servers\u0027"},{"line_number":189,"context_line":"    field. If there is no servers on hypervisor then, \u0027servers\u0027 field will be"},{"line_number":190,"context_line":"    empty list."}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_588e7979","line":187,"range":{"start_line":187,"start_character":3,"end_line":187,"end_character":4},"in_reply_to":"5fc1f717_159c3cbe","updated":"2019-04-09 16:14:30.000000000","message":"Done","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"dc4cfd86bbf984ee886bfef663ea055153c566c4","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    empty list."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    Current behaviour is not returning the \u0027servers\u0027 field if no servers on"},{"line_number":193,"context_line":"    hypervisor."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"Security impact"},{"line_number":196,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_5d7e6ce3","line":193,"updated":"2019-04-09 15:44:19.000000000","message":"Does the response code item above need to be listed here. I would guess that for the most part it will not have much actual impact, so perhaps not.","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e47ea8aca4bb6d87ce4d61ff7b891e627a40e2d0","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    empty list."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    Current behaviour is not returning the \u0027servers\u0027 field if no servers on"},{"line_number":193,"context_line":"    hypervisor."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"Security impact"},{"line_number":196,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5fc1f717_d8efc91a","line":193,"in_reply_to":"5fc1f717_5d7e6ce3","updated":"2019-04-09 16:14:30.000000000","message":"yeah, let me prepare the new list with small set of changes.","commit_id":"9dd8ad5a805a1f6a26f7ef608fe89f56ab755bc4"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"c50243c2f4f4284fa5d2b31e6190f8d682f507fe","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":"Currently, there are lot of inconsistency and loose validation in APIs."},{"line_number":19,"context_line":"Those inconsistency are because of v2 API compatibility."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Because of loose validation for request body and query param, APIs ignore"},{"line_number":22,"context_line":"the unknown and invalid inputs silently. This gives the impressions to user"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5fc1f717_6ffa8543","line":19,"range":{"start_line":19,"start_character":6,"end_line":19,"end_character":19},"updated":"2019-04-09 20:04:23.000000000","message":"inconsistencies","commit_id":"77808d683c10561fb3d81d4c70cfa15114492db8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f3eaa88f11b71dbc3927e230e7cd1aab26b2aed0","unresolved":false,"context_lines":[{"line_number":84,"context_line":"   APIs need modification:"},{"line_number":85,"context_line":"   https://github.com/openstack/nova/search?p\u003d1\u0026q\u003dadditionalProperties%3A+True\u0026unscoped_q\u003dadditionalProperties%3A+True"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"#. Remove OS-EXT* prefix from many response fields."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"   There are many fields which are being added with extensions mechanism and so"},{"line_number":90,"context_line":"   does prefix-ed with OS-EXT-* for example \"OS-EXT-AZ:availability_zone\" in"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5fc1f717_5b2bd393","line":87,"updated":"2019-04-09 17:20:05.000000000","message":"What about things like OS-DCF:diskConfig in server create and resize *requests*?","commit_id":"77808d683c10561fb3d81d4c70cfa15114492db8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c6d0d33ba18127058d6061f976bdb25ccffab53d","unresolved":false,"context_lines":[{"line_number":84,"context_line":"   APIs need modification:"},{"line_number":85,"context_line":"   https://github.com/openstack/nova/search?p\u003d1\u0026q\u003dadditionalProperties%3A+True\u0026unscoped_q\u003dadditionalProperties%3A+True"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"#. Remove OS-EXT* prefix from many response fields."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"   There are many fields which are being added with extensions mechanism and so"},{"line_number":90,"context_line":"   does prefix-ed with OS-EXT-* for example \"OS-EXT-AZ:availability_zone\" in"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5fc1f717_2fbf9d61","line":87,"in_reply_to":"5fc1f717_5b2bd393","updated":"2019-04-09 20:05:15.000000000","message":"yeah, I missed that. we can change it in request as well as in response.","commit_id":"77808d683c10561fb3d81d4c70cfa15114492db8"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"c50243c2f4f4284fa5d2b31e6190f8d682f507fe","unresolved":false,"context_lines":[{"line_number":223,"context_line":"----------"},{"line_number":224,"context_line":"* Single microversion change on Nova API"},{"line_number":225,"context_line":"* Add tests for changes"},{"line_number":226,"context_line":"* python client change"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"Dependencies"},{"line_number":229,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5fc1f717_af04ed4a","line":226,"updated":"2019-04-09 20:04:23.000000000","message":"This should be done in both novaclient and OSC.","commit_id":"77808d683c10561fb3d81d4c70cfa15114492db8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9059407301591d37f9ac6714c0c5a0780bffbc1f","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"   There are many field which are only returned in GET API but not in PUT or"},{"line_number":112,"context_line":"   REBUILD."},{"line_number":113,"context_line":"   Response difference which is attributes added as extensions::"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"   * \"OS-EXT-AZ:availability_zone\""},{"line_number":116,"context_line":"   * \"OS-EXT-SRV-ATTR:host\""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_d2ea9d73","line":113,"range":{"start_line":113,"start_character":62,"end_line":113,"end_character":64},"updated":"2019-04-17 00:02:21.000000000","message":":","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4e9ed21560849e8373baaa1f07b04c218ff16d03","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"   There are many field which are only returned in GET API but not in PUT or"},{"line_number":112,"context_line":"   REBUILD."},{"line_number":113,"context_line":"   Response difference which is attributes added as extensions::"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"   * \"OS-EXT-AZ:availability_zone\""},{"line_number":116,"context_line":"   * \"OS-EXT-SRV-ATTR:host\""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_03745998","line":113,"range":{"start_line":113,"start_character":62,"end_line":113,"end_character":64},"in_reply_to":"3fce034c_d2ea9d73","updated":"2019-04-17 02:53:45.000000000","message":"Done","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9059407301591d37f9ac6714c0c5a0780bffbc1f","unresolved":false,"context_lines":[{"line_number":130,"context_line":"   * \"OS-SRV-USG:terminated_at\""},{"line_number":131,"context_line":"   * \"os-extended-volumes:volumes_attached\""},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"   * APIs need modification:"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"     * PUT /servers"},{"line_number":136,"context_line":"     * POST /servers/{server_id}/action {rebuild}"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_b2ffd132","line":133,"range":{"start_line":133,"start_character":3,"end_line":133,"end_character":5},"updated":"2019-04-17 00:02:21.000000000","message":"Drop this - it\u0027s not a list.","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4e9ed21560849e8373baaa1f07b04c218ff16d03","unresolved":false,"context_lines":[{"line_number":130,"context_line":"   * \"OS-SRV-USG:terminated_at\""},{"line_number":131,"context_line":"   * \"os-extended-volumes:volumes_attached\""},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"   * APIs need modification:"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"     * PUT /servers"},{"line_number":136,"context_line":"     * POST /servers/{server_id}/action {rebuild}"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_e3702da8","line":133,"range":{"start_line":133,"start_character":3,"end_line":133,"end_character":5},"in_reply_to":"3fce034c_b2ffd132","updated":"2019-04-17 02:53:45.000000000","message":"Done","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9059407301591d37f9ac6714c0c5a0780bffbc1f","unresolved":false,"context_lines":[{"line_number":171,"context_line":"   GET /servers/detail"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"   Used without prefix in request or query param, means no change"},{"line_number":174,"context_line":"   in request fields::"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"   * OS-EXT-STS:vm_state"},{"line_number":177,"context_line":"   * OS-EXT-STS:task_state"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_72e08997","line":174,"range":{"start_line":174,"start_character":20,"end_line":174,"end_character":22},"updated":"2019-04-17 00:02:21.000000000","message":"This can just be : since you\u0027ve got a bullet list.","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4e9ed21560849e8373baaa1f07b04c218ff16d03","unresolved":false,"context_lines":[{"line_number":171,"context_line":"   GET /servers/detail"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"   Used without prefix in request or query param, means no change"},{"line_number":174,"context_line":"   in request fields::"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"   * OS-EXT-STS:vm_state"},{"line_number":177,"context_line":"   * OS-EXT-STS:task_state"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_437a6188","line":174,"range":{"start_line":174,"start_character":20,"end_line":174,"end_character":22},"in_reply_to":"3fce034c_72e08997","updated":"2019-04-17 02:53:45.000000000","message":"Done","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9059407301591d37f9ac6714c0c5a0780bffbc1f","unresolved":false,"context_lines":[{"line_number":192,"context_line":"   * os-extended-volumes:volumes_attached"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"   Used with prefix in request also. So proposal is to"},{"line_number":195,"context_line":"   remove the prefix from request as well as from response::"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"   * OS-DCF:diskConfig"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_1296e5f1","line":195,"range":{"start_line":195,"start_character":58,"end_line":195,"end_character":60},"updated":"2019-04-17 00:02:21.000000000","message":":","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4e9ed21560849e8373baaa1f07b04c218ff16d03","unresolved":false,"context_lines":[{"line_number":192,"context_line":"   * os-extended-volumes:volumes_attached"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"   Used with prefix in request also. So proposal is to"},{"line_number":195,"context_line":"   remove the prefix from request as well as from response::"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"   * OS-DCF:diskConfig"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_237715a3","line":195,"range":{"start_line":195,"start_character":58,"end_line":195,"end_character":60},"in_reply_to":"3fce034c_1296e5f1","updated":"2019-04-17 02:53:45.000000000","message":"Done","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9059407301591d37f9ac6714c0c5a0780bffbc1f","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"   * OS-DCF:diskConfig"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"       Along with GET servers resposne, below APIs request body will change"},{"line_number":200,"context_line":"       field ``OS-DCF:diskConfig`` to ``diskConfig``"},{"line_number":201,"context_line":"       POST /servers"},{"line_number":202,"context_line":"       POST /servers/{server_id}/action rebuild"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_3299a11e","line":199,"range":{"start_line":199,"start_character":4,"end_line":199,"end_character":7},"updated":"2019-04-17 00:02:21.000000000","message":"Drop the indent.","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9059407301591d37f9ac6714c0c5a0780bffbc1f","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"   * OS-DCF:diskConfig"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"       Along with GET servers resposne, below APIs request body will change"},{"line_number":200,"context_line":"       field ``OS-DCF:diskConfig`` to ``diskConfig``"},{"line_number":201,"context_line":"       POST /servers"},{"line_number":202,"context_line":"       POST /servers/{server_id}/action rebuild"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_d29ffd00","line":199,"range":{"start_line":199,"start_character":30,"end_line":199,"end_character":38},"updated":"2019-04-17 00:02:21.000000000","message":"response","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4e9ed21560849e8373baaa1f07b04c218ff16d03","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"   * OS-DCF:diskConfig"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"       Along with GET servers resposne, below APIs request body will change"},{"line_number":200,"context_line":"       field ``OS-DCF:diskConfig`` to ``diskConfig``"},{"line_number":201,"context_line":"       POST /servers"},{"line_number":202,"context_line":"       POST /servers/{server_id}/action rebuild"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_8346094f","line":199,"range":{"start_line":199,"start_character":30,"end_line":199,"end_character":38},"in_reply_to":"3fce034c_d29ffd00","updated":"2019-04-17 02:53:45.000000000","message":"Done","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9059407301591d37f9ac6714c0c5a0780bffbc1f","unresolved":false,"context_lines":[{"line_number":197,"context_line":"   * OS-DCF:diskConfig"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"       Along with GET servers resposne, below APIs request body will change"},{"line_number":200,"context_line":"       field ``OS-DCF:diskConfig`` to ``diskConfig``"},{"line_number":201,"context_line":"       POST /servers"},{"line_number":202,"context_line":"       POST /servers/{server_id}/action rebuild"},{"line_number":203,"context_line":"       PUT /servers/{server_id}"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_928975cb","line":200,"range":{"start_line":200,"start_character":40,"end_line":200,"end_character":50},"updated":"2019-04-17 00:02:21.000000000","message":"Do we really want camel case here? How about disk_config?","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4e9ed21560849e8373baaa1f07b04c218ff16d03","unresolved":false,"context_lines":[{"line_number":197,"context_line":"   * OS-DCF:diskConfig"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"       Along with GET servers resposne, below APIs request body will change"},{"line_number":200,"context_line":"       field ``OS-DCF:diskConfig`` to ``diskConfig``"},{"line_number":201,"context_line":"       POST /servers"},{"line_number":202,"context_line":"       POST /servers/{server_id}/action rebuild"},{"line_number":203,"context_line":"       PUT /servers/{server_id}"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_634bdd58","line":200,"range":{"start_line":200,"start_character":40,"end_line":200,"end_character":50},"in_reply_to":"3fce034c_928975cb","updated":"2019-04-17 02:53:45.000000000","message":"Done","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9059407301591d37f9ac6714c0c5a0780bffbc1f","unresolved":false,"context_lines":[{"line_number":203,"context_line":"       PUT /servers/{server_id}"},{"line_number":204,"context_line":"       POST /servers/{server_id}/action resize"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"   Deprecated APIs fields which are not proposed for change::"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"   * OS-EXT-IMG-SIZE:size"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_b284b1b2","line":206,"range":{"start_line":206,"start_character":59,"end_line":206,"end_character":61},"updated":"2019-04-17 00:02:21.000000000","message":":","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4e9ed21560849e8373baaa1f07b04c218ff16d03","unresolved":false,"context_lines":[{"line_number":203,"context_line":"       PUT /servers/{server_id}"},{"line_number":204,"context_line":"       POST /servers/{server_id}/action resize"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"   Deprecated APIs fields which are not proposed for change::"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"   * OS-EXT-IMG-SIZE:size"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_c33c11c1","line":206,"range":{"start_line":206,"start_character":59,"end_line":206,"end_character":61},"in_reply_to":"3fce034c_b284b1b2","updated":"2019-04-17 02:53:45.000000000","message":"Done","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9059407301591d37f9ac6714c0c5a0780bffbc1f","unresolved":false,"context_lines":[{"line_number":256,"context_line":"----------"},{"line_number":257,"context_line":"* Single microversion change on Nova API"},{"line_number":258,"context_line":"* Add tests for changes"},{"line_number":259,"context_line":"* python client change"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"Dependencies"},{"line_number":262,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_32c201eb","line":259,"updated":"2019-04-17 00:02:21.000000000","message":"As edleafe noted before, this should be done in both python-novaclient and python-openstackclient (maybe that\u0027s what you mean generically here?). I\u0027d suggest calling those out specifically to avoid confusion.","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4e9ed21560849e8373baaa1f07b04c218ff16d03","unresolved":false,"context_lines":[{"line_number":256,"context_line":"----------"},{"line_number":257,"context_line":"* Single microversion change on Nova API"},{"line_number":258,"context_line":"* Add tests for changes"},{"line_number":259,"context_line":"* python client change"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"Dependencies"},{"line_number":262,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3fce034c_a341c53b","line":259,"in_reply_to":"3fce034c_32c201eb","updated":"2019-04-17 02:53:45.000000000","message":"Done","commit_id":"5f9b0353c05e9a306daa6442ad34fc076b30f945"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"   * ``nova list --deleted``:"},{"line_number":71,"context_line":"     200 and it is silenlty ignored due to additionalProperty\u003dTrue and for"},{"line_number":72,"context_line":"     backward compatibility API accept and ignore the invalie filters."},{"line_number":73,"context_line":"     ``--deleted`` is invalid filter for non-admin"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"   * ``nova list --status DELETED`` :"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_26a71152","line":72,"range":{"start_line":72,"start_character":54,"end_line":72,"end_character":61},"updated":"2019-04-17 18:56:22.000000000","message":"invalid","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"   * ``nova list --deleted``:"},{"line_number":71,"context_line":"     200 and it is silenlty ignored due to additionalProperty\u003dTrue and for"},{"line_number":72,"context_line":"     backward compatibility API accept and ignore the invalie filters."},{"line_number":73,"context_line":"     ``--deleted`` is invalid filter for non-admin"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"   * ``nova list --status DELETED`` :"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_9c8175fe","line":72,"range":{"start_line":72,"start_character":54,"end_line":72,"end_character":61},"in_reply_to":"3fce034c_26a71152","updated":"2019-04-17 19:20:44.000000000","message":"Done","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":77,"context_line":"     this."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"   We have explicit check for status\u003dDELETED request and if requester"},{"line_number":80,"context_line":"   is non-admin then, 403"},{"line_number":81,"context_line":"   Details discussion [1]_"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"   We can fix that by making ``additionalProperties: False`` for query param"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_c663ad19","line":80,"range":{"start_line":80,"start_character":22,"end_line":80,"end_character":25},"updated":"2019-04-17 18:56:22.000000000","message":"403.","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"     this."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"   We have explicit check for status\u003dDELETED request and if requester"},{"line_number":80,"context_line":"   is non-admin then, 403"},{"line_number":81,"context_line":"   Details discussion [1]_"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"   We can fix that by making ``additionalProperties: False`` for query param"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_fc90b94c","line":80,"range":{"start_line":80,"start_character":22,"end_line":80,"end_character":25},"in_reply_to":"3fce034c_c663ad19","updated":"2019-04-17 19:20:44.000000000","message":"Done","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":81,"context_line":"   Details discussion [1]_"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"   We can fix that by making ``additionalProperties: False`` for query param"},{"line_number":84,"context_line":"   and request body of all the APIs where ``additionalProperties`` is True"},{"line_number":85,"context_line":"   For Example [2]_ and [3]_"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"   APIs need modification:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_0681b58f","line":84,"range":{"start_line":84,"start_character":70,"end_line":84,"end_character":74},"updated":"2019-04-17 18:56:22.000000000","message":"True.","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":81,"context_line":"   Details discussion [1]_"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"   We can fix that by making ``additionalProperties: False`` for query param"},{"line_number":84,"context_line":"   and request body of all the APIs where ``additionalProperties`` is True"},{"line_number":85,"context_line":"   For Example [2]_ and [3]_"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"   APIs need modification:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_dc8b7d1c","line":84,"range":{"start_line":84,"start_character":70,"end_line":84,"end_character":74},"in_reply_to":"3fce034c_0681b58f","updated":"2019-04-17 19:20:44.000000000","message":"Done","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":99,"context_line":"   returning the complete server representation."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"   GET, PUT, REBUILD /servers APIs return the complete server representation"},{"line_number":102,"context_line":"   (with all server attributes) But PUT and REBUILD /servers response does not"},{"line_number":103,"context_line":"   match with GET /servers API."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"   Difference between server representation in PUT, REBUILD from GET might"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_9c7bb579","line":102,"range":{"start_line":102,"start_character":31,"end_line":102,"end_character":32},"updated":"2019-04-17 18:56:22.000000000","message":".","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":99,"context_line":"   returning the complete server representation."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"   GET, PUT, REBUILD /servers APIs return the complete server representation"},{"line_number":102,"context_line":"   (with all server attributes) But PUT and REBUILD /servers response does not"},{"line_number":103,"context_line":"   match with GET /servers API."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"   Difference between server representation in PUT, REBUILD from GET might"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_3c996178","line":102,"range":{"start_line":102,"start_character":31,"end_line":102,"end_character":32},"in_reply_to":"3fce034c_9c7bb579","updated":"2019-04-17 19:20:44.000000000","message":"Done","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":107,"context_line":"   in the response that could be taken on the request which modify the server,"},{"line_number":108,"context_line":"   but over time we have started returning more fields to the response to make"},{"line_number":109,"context_line":"   it consistent with GET response. That way only newly added fields in GET"},{"line_number":110,"context_line":"   response started return in PUT, REBUILD also bit old fields were missed."},{"line_number":111,"context_line":"   It end up, not keeping the original intent of PUT, REBUILD response and not"},{"line_number":112,"context_line":"   completely consistent with  GET response."},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_5c99cdc1","line":110,"range":{"start_line":110,"start_character":48,"end_line":110,"end_character":51},"updated":"2019-04-17 18:56:22.000000000","message":"but","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":107,"context_line":"   in the response that could be taken on the request which modify the server,"},{"line_number":108,"context_line":"   but over time we have started returning more fields to the response to make"},{"line_number":109,"context_line":"   it consistent with GET response. That way only newly added fields in GET"},{"line_number":110,"context_line":"   response started return in PUT, REBUILD also bit old fields were missed."},{"line_number":111,"context_line":"   It end up, not keeping the original intent of PUT, REBUILD response and not"},{"line_number":112,"context_line":"   completely consistent with  GET response."},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_bc86b112","line":110,"range":{"start_line":110,"start_character":48,"end_line":110,"end_character":51},"in_reply_to":"3fce034c_5c99cdc1","updated":"2019-04-17 19:20:44.000000000","message":"Done","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":115,"context_line":"   REBUILD."},{"line_number":116,"context_line":"   Response difference which is attributes added as extensions:"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"   * \"OS-EXT-AZ:availability_zone\""},{"line_number":119,"context_line":"   * \"OS-EXT-SRV-ATTR:host\""},{"line_number":120,"context_line":"   * \"OS-EXT-SRV-ATTR:hostname\""},{"line_number":121,"context_line":"   * \"OS-EXT-SRV-ATTR:hypervisor_hostname\""}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_dcea9d0d","line":118,"range":{"start_line":118,"start_character":5,"end_line":118,"end_character":6},"updated":"2019-04-17 18:56:22.000000000","message":"nit: you could drop the quotes on these items","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":115,"context_line":"   REBUILD."},{"line_number":116,"context_line":"   Response difference which is attributes added as extensions:"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"   * \"OS-EXT-AZ:availability_zone\""},{"line_number":119,"context_line":"   * \"OS-EXT-SRV-ATTR:host\""},{"line_number":120,"context_line":"   * \"OS-EXT-SRV-ATTR:hostname\""},{"line_number":121,"context_line":"   * \"OS-EXT-SRV-ATTR:hypervisor_hostname\""}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_1c758532","line":118,"range":{"start_line":118,"start_character":5,"end_line":118,"end_character":6},"in_reply_to":"3fce034c_dcea9d0d","updated":"2019-04-17 19:20:44.000000000","message":"Done","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"   APIs which allow unknown request and query param and ignore silently"},{"line_number":163,"context_line":"   wil be changed to return 400."},{"line_number":164,"context_line":"   Below are the APIs which has ``additionalProperties: False`` and will"},{"line_number":165,"context_line":"   be modified to ``additionalProperties: True``:"},{"line_number":166,"context_line":"   https://github.com/openstack/nova/search?p\u003d1\u0026q\u003dadditionalProperties%3A+True\u0026unscoped_q\u003dadditionalProperties%3A+True"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"#. Remove extensions (OS-EXT*) prefix from response field."}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_1ce4a53b","line":165,"range":{"start_line":164,"start_character":3,"end_line":165,"end_character":49},"updated":"2019-04-17 18:56:22.000000000","message":"Don\u0027t you mean to change APIs with \"additionalProperties: True\" to \"additionalProperties: False\"?","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"   APIs which allow unknown request and query param and ignore silently"},{"line_number":163,"context_line":"   wil be changed to return 400."},{"line_number":164,"context_line":"   Below are the APIs which has ``additionalProperties: False`` and will"},{"line_number":165,"context_line":"   be modified to ``additionalProperties: True``:"},{"line_number":166,"context_line":"   https://github.com/openstack/nova/search?p\u003d1\u0026q\u003dadditionalProperties%3A+True\u0026unscoped_q\u003dadditionalProperties%3A+True"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"#. Remove extensions (OS-EXT*) prefix from response field."}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_5ccd4d64","line":165,"range":{"start_line":164,"start_character":3,"end_line":165,"end_character":49},"in_reply_to":"3fce034c_1ce4a53b","updated":"2019-04-17 19:20:44.000000000","message":"oops, done. thanks for catching this.","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":165,"context_line":"   be modified to ``additionalProperties: True``:"},{"line_number":166,"context_line":"   https://github.com/openstack/nova/search?p\u003d1\u0026q\u003dadditionalProperties%3A+True\u0026unscoped_q\u003dadditionalProperties%3A+True"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"#. Remove extensions (OS-EXT*) prefix from response field."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   In below APIs, few of their response field is prefix with ``OS-EXT-``"},{"line_number":171,"context_line":"   which will be changed to remove this prefix."}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_bc431113","line":168,"range":{"start_line":168,"start_character":43,"end_line":168,"end_character":51},"updated":"2019-04-17 18:56:22.000000000","message":"request and response","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"#. Remove extensions (OS-EXT*) prefix from response field."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   In below APIs, few of their response field is prefix with ``OS-EXT-``"},{"line_number":171,"context_line":"   which will be changed to remove this prefix."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"   GET /servers/{server_id}"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_fc3d198f","line":170,"range":{"start_line":170,"start_character":63,"end_line":170,"end_character":69},"updated":"2019-04-17 18:56:22.000000000","message":"note it\u0027s not all OS-EXT, e.g. OS-SRV","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"#. Remove extensions (OS-EXT*) prefix from response field."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   In below APIs, few of their response field is prefix with ``OS-EXT-``"},{"line_number":171,"context_line":"   which will be changed to remove this prefix."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"   GET /servers/{server_id}"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_9cfdf56f","line":170,"range":{"start_line":170,"start_character":63,"end_line":170,"end_character":69},"in_reply_to":"3fce034c_fc3d198f","updated":"2019-04-17 19:20:44.000000000","message":"Done","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":170,"context_line":"   In below APIs, few of their response field is prefix with ``OS-EXT-``"},{"line_number":171,"context_line":"   which will be changed to remove this prefix."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"   GET /servers/{server_id}"},{"line_number":174,"context_line":"   GET /servers/detail"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"   Used without prefix in request or query param, means no change"},{"line_number":177,"context_line":"   in request fields:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_bcceb1b1","line":174,"range":{"start_line":173,"start_character":3,"end_line":174,"end_character":22},"updated":"2019-04-17 18:56:22.000000000","message":"nit: make this an item list otherwise it formats on a single line","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":170,"context_line":"   In below APIs, few of their response field is prefix with ``OS-EXT-``"},{"line_number":171,"context_line":"   which will be changed to remove this prefix."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"   GET /servers/{server_id}"},{"line_number":174,"context_line":"   GET /servers/detail"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"   Used without prefix in request or query param, means no change"},{"line_number":177,"context_line":"   in request fields:"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_bc02316e","line":174,"range":{"start_line":173,"start_character":3,"end_line":174,"end_character":22},"in_reply_to":"3fce034c_bcceb1b1","updated":"2019-04-17 19:20:44.000000000","message":"Done","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":173,"context_line":"   GET /servers/{server_id}"},{"line_number":174,"context_line":"   GET /servers/detail"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"   Used without prefix in request or query param, means no change"},{"line_number":177,"context_line":"   in request fields:"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"   * OS-EXT-STS:vm_state"},{"line_number":180,"context_line":"   * OS-EXT-STS:task_state"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_3cbac109","line":177,"range":{"start_line":176,"start_character":3,"end_line":177,"end_character":21},"updated":"2019-04-17 18:56:22.000000000","message":"This is a bit confusing - you\u0027re saying anything without a prefix won\u0027t be changed, but then listing everything with a prefix. Maybe you should have said:\n\nIn below APIs:\n\n* GET /servers/{server_id}\n* GET /servers/detail\n\nFew of their response fields are prefixed with ``OS-`` which will be changed to remove the prefix:\n\n* OS-EXT-STS:vm_state\n...","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":173,"context_line":"   GET /servers/{server_id}"},{"line_number":174,"context_line":"   GET /servers/detail"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"   Used without prefix in request or query param, means no change"},{"line_number":177,"context_line":"   in request fields:"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"   * OS-EXT-STS:vm_state"},{"line_number":180,"context_line":"   * OS-EXT-STS:task_state"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_3c43a1b1","line":177,"range":{"start_line":176,"start_character":3,"end_line":177,"end_character":21},"in_reply_to":"3fce034c_3cbac109","updated":"2019-04-17 19:20:44.000000000","message":"I mean to say below fields are used in some API request like create server etc but without prefix. \n\nlet me re-word these.","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":197,"context_line":"   Used with prefix in request also. So proposal is to"},{"line_number":198,"context_line":"   remove the prefix from request as well as from response:"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"   * OS-DCF:diskConfig"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"     Along with GET servers response, below APIs request body will change"},{"line_number":203,"context_line":"     field ``OS-DCF:diskConfig`` to ``disk_config``"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_3cfde1b0","line":200,"updated":"2019-04-17 18:56:22.000000000","message":"What about OS-SCH-HNT:scheduler_hints? Note that we also have os:scheduler_hints. What if we just, in this microversion, collapsed both of those into a single \"scheduler_hints\" parameter with no prefix?","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":197,"context_line":"   Used with prefix in request also. So proposal is to"},{"line_number":198,"context_line":"   remove the prefix from request as well as from response:"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"   * OS-DCF:diskConfig"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"     Along with GET servers response, below APIs request body will change"},{"line_number":203,"context_line":"     field ``OS-DCF:diskConfig`` to ``disk_config``"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_9c8095c1","line":200,"in_reply_to":"3fce034c_3cfde1b0","updated":"2019-04-17 19:20:44.000000000","message":"yeah, i thought on that but left as it was modified once but \u0027os:\u0027 was not removed. I can add this also to make it \u0027scheduler_hints\u0027","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a99989515ae811fb28fc939e1208eee3541e91f1","unresolved":false,"context_lines":[{"line_number":218,"context_line":"   will be modified to add all the missing fields which are return by"},{"line_number":219,"context_line":"   ``GET /servers/{server_id}``."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"   NOTE: new fields will be added without no OS-EXT prefix means by"},{"line_number":222,"context_line":"   considering the fix#2."},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_7c204949","line":221,"range":{"start_line":221,"start_character":42,"end_line":221,"end_character":44},"updated":"2019-04-17 18:56:22.000000000","message":"nix","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d2d85b343638f3fad6e2d4e91a47753f19ecbf0a","unresolved":false,"context_lines":[{"line_number":218,"context_line":"   will be modified to add all the missing fields which are return by"},{"line_number":219,"context_line":"   ``GET /servers/{server_id}``."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"   NOTE: new fields will be added without no OS-EXT prefix means by"},{"line_number":222,"context_line":"   considering the fix#2."},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":12,"id":"3fce034c_dc329d10","line":221,"range":{"start_line":221,"start_character":42,"end_line":221,"end_character":44},"in_reply_to":"3fce034c_7c204949","updated":"2019-04-17 19:20:44.000000000","message":"Done","commit_id":"c7732cc6a3dc77cd924cf8f4c17a1b0dae36d66d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8d054e19103746c0e59057db495d9ee035fd704f","unresolved":false,"context_lines":[{"line_number":197,"context_line":"   * OS-EXT-SRV-ATTR:user_data"},{"line_number":198,"context_line":"   * os-extended-volumes:volumes_attached"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"   Below fields are used with ``OS-`` prefix in request and response both."},{"line_number":201,"context_line":"   so changes will be done in both request and response body:"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"   * OS-DCF:diskConfig"},{"line_number":204,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"3fce034c_5d61b5d2","line":201,"range":{"start_line":200,"start_character":3,"end_line":201,"end_character":61},"updated":"2019-04-18 16:28:06.000000000","message":"nit: this was originally just talking about OS-DCF:diskConfig but now OS-SCH-HNT:scheduler_hints is logically under this \"heading\" as well, which is slightly confusing because OS-SCH-HNT:scheduler_hints is never in the response.\n\nMaybe you need a separate sentence between this part about disk config and the next part about scheduler hints.","commit_id":"f7f300463c959233f9d0ad0334529a17be4d61f8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8d054e19103746c0e59057db495d9ee035fd704f","unresolved":false,"context_lines":[{"line_number":210,"context_line":"     * PUT /servers/{server_id}"},{"line_number":211,"context_line":"     * POST /servers/{server_id}/action resize"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"   * OS-SCH-HNT:scheduler_hints and os:scheduler_hints"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"     These fields are present in request body only which will"},{"line_number":216,"context_line":"     be chaged to ``scheduler_hints``"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3fce034c_bdad39ea","line":213,"range":{"start_line":213,"start_character":3,"end_line":213,"end_character":5},"updated":"2019-04-18 16:28:06.000000000","message":"Per above, maybe just drop this so it\u0027s not aligned as a list item with OS-DCF:diskConfig so this would say:\n\n\"OS-SCH-HNT:scheduler_hints and os:scheduler_hints fields are present in request body only which will be changed to ``scheduler_hints``:\"","commit_id":"f7f300463c959233f9d0ad0334529a17be4d61f8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8d054e19103746c0e59057db495d9ee035fd704f","unresolved":false,"context_lines":[{"line_number":213,"context_line":"   * OS-SCH-HNT:scheduler_hints and os:scheduler_hints"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"     These fields are present in request body only which will"},{"line_number":216,"context_line":"     be chaged to ``scheduler_hints``"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"     * POST /servers"},{"line_number":219,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"3fce034c_7d5ef112","line":216,"range":{"start_line":216,"start_character":8,"end_line":216,"end_character":14},"updated":"2019-04-18 16:28:06.000000000","message":"changed","commit_id":"f7f300463c959233f9d0ad0334529a17be4d61f8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"16d0d12980129c4792fbcb6b5dab2ae882747be8","unresolved":false,"context_lines":[{"line_number":87,"context_line":"   APIs need modification:"},{"line_number":88,"context_line":"   https://github.com/openstack/nova/search?p\u003d1\u0026q\u003dadditionalProperties%3A+True\u0026unscoped_q\u003dadditionalProperties%3A+True"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"#. Remove extensions (OS-) prefix from many response fields."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"   There are many fields which are being added with extensions mechanism and so"},{"line_number":93,"context_line":"   does prefix-ed with OS- for example \"OS-EXT-AZ:availability_zone\" in"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dfbec78f_228f5224","line":90,"updated":"2019-05-06 19:13:58.000000000","message":"From the Train PTG discussion we agreed to remove this one.","commit_id":"f1a0d7e65b493589b9c102d17cfe7ed23bc13d30"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"90c4186fbb38cd1ac98f2ce088bc9b40831871e8","unresolved":false,"context_lines":[{"line_number":87,"context_line":"   APIs need modification:"},{"line_number":88,"context_line":"   https://github.com/openstack/nova/search?p\u003d1\u0026q\u003dadditionalProperties%3A+True\u0026unscoped_q\u003dadditionalProperties%3A+True"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"#. Remove extensions (OS-) prefix from many response fields."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"   There are many fields which are being added with extensions mechanism and so"},{"line_number":93,"context_line":"   does prefix-ed with OS- for example \"OS-EXT-AZ:availability_zone\" in"}],"source_content_type":"text/x-rst","patch_set":15,"id":"bfb3d3c7_a599a779","line":90,"in_reply_to":"dfbec78f_228f5224","updated":"2019-05-27 09:13:54.000000000","message":"done","commit_id":"f1a0d7e65b493589b9c102d17cfe7ed23bc13d30"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"16d0d12980129c4792fbcb6b5dab2ae882747be8","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   * PUT /servers"},{"line_number":139,"context_line":"   * POST /servers/{server_id}/action {rebuild}"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Alternatives"},{"line_number":142,"context_line":"------------"},{"line_number":143,"context_line":"We leave APIs as it is and use it in same way they are currently or"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dfbec78f_e2985a6b","line":140,"updated":"2019-05-06 19:13:58.000000000","message":"From the Train PTG discussion we also agreed to fold in the proposed fix for the flavor.swap default \"\" to int spec.","commit_id":"f1a0d7e65b493589b9c102d17cfe7ed23bc13d30"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"984eb6240828df8715bb7b7d1f99eb8154911c87","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   * PUT /servers"},{"line_number":139,"context_line":"   * POST /servers/{server_id}/action {rebuild}"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Alternatives"},{"line_number":142,"context_line":"------------"},{"line_number":143,"context_line":"We leave APIs as it is and use it in same way they are currently or"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dfbec78f_50e0d096","line":140,"in_reply_to":"dfbec78f_34b530ce","updated":"2019-05-10 06:54:00.000000000","message":"Thanks Matt.\nYup, two specs and two blueprints for the same microversion and API change is not suitable, then bother @gmann to merge them, and after that, I will close that spec with blueprint int-replace-default-value-of-the-flavor-swap.","commit_id":"f1a0d7e65b493589b9c102d17cfe7ed23bc13d30"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"90c4186fbb38cd1ac98f2ce088bc9b40831871e8","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   * PUT /servers"},{"line_number":139,"context_line":"   * POST /servers/{server_id}/action {rebuild}"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Alternatives"},{"line_number":142,"context_line":"------------"},{"line_number":143,"context_line":"We leave APIs as it is and use it in same way they are currently or"}],"source_content_type":"text/x-rst","patch_set":15,"id":"bfb3d3c7_e5931f5a","line":140,"in_reply_to":"dfbec78f_50e0d096","updated":"2019-05-27 09:13:54.000000000","message":"done","commit_id":"f1a0d7e65b493589b9c102d17cfe7ed23bc13d30"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b66a33571bb545632168115a4d03d64edc90ba40","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   * PUT /servers"},{"line_number":139,"context_line":"   * POST /servers/{server_id}/action {rebuild}"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Alternatives"},{"line_number":142,"context_line":"------------"},{"line_number":143,"context_line":"We leave APIs as it is and use it in same way they are currently or"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dfbec78f_34b530ce","line":140,"in_reply_to":"dfbec78f_5c802a8c","updated":"2019-05-08 16:23:08.000000000","message":"We don\u0027t want two specs and two blueprints for the same microversion and API change, that\u0027s not really how it works. So we just need to merge that blueprint into this one since that one is much smaller.","commit_id":"f1a0d7e65b493589b9c102d17cfe7ed23bc13d30"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e82898b75e7b01061932a21a8b34e86a8c6720cb","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"   * PUT /servers"},{"line_number":139,"context_line":"   * POST /servers/{server_id}/action {rebuild}"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Alternatives"},{"line_number":142,"context_line":"------------"},{"line_number":143,"context_line":"We leave APIs as it is and use it in same way they are currently or"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dfbec78f_5c802a8c","line":140,"in_reply_to":"dfbec78f_e2985a6b","updated":"2019-05-07 00:53:07.000000000","message":"I think we can links to the flavor.swap default \"\" to in spec, there are will have the single microversion: https://review.opendev.org/#/c/648919/","commit_id":"f1a0d7e65b493589b9c102d17cfe7ed23bc13d30"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"16d0d12980129c4792fbcb6b5dab2ae882747be8","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Below cleanup already filtered out from this proposal:"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":149,"context_line":"#. Fix  inconsistent/incorrect response codes"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dfbec78f_029ece55","line":148,"updated":"2019-05-06 19:13:58.000000000","message":"From the PTG we said we\u0027d work this one into this spec.","commit_id":"f1a0d7e65b493589b9c102d17cfe7ed23bc13d30"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"90c4186fbb38cd1ac98f2ce088bc9b40831871e8","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Below cleanup already filtered out from this proposal:"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":149,"context_line":"#. Fix  inconsistent/incorrect response codes"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":15,"id":"bfb3d3c7_859ca36a","line":148,"in_reply_to":"dfbec78f_029ece55","updated":"2019-05-27 09:13:54.000000000","message":"done","commit_id":"f1a0d7e65b493589b9c102d17cfe7ed23bc13d30"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"48e54fa2d20d4ed12106e8bf3b97cf4d5a51f49b","unresolved":false,"context_lines":[{"line_number":134,"context_line":"   Currently while creating a flavor, if you don\u0027t set the optional ``swap``"},{"line_number":135,"context_line":"   property, the value of the ``swap`` property in the flavor API\u0027s response"},{"line_number":136,"context_line":"   will return as an empty string."},{"line_number":137,"context_line":"   Bug: https://bugs.launchpad.net/nova/+bug/1815476"},{"line_number":138,"context_line":"   While processing this empty string on CLI side, it is shown as blank"},{"line_number":139,"context_line":"   which is confusing and not consistent with other fields for example,"},{"line_number":140,"context_line":"   \"OS-FLV-EXT-DATA:ephemeral\"."}],"source_content_type":"text/x-rst","patch_set":16,"id":"bfb3d3c7_7e533218","line":137,"range":{"start_line":137,"start_character":3,"end_line":137,"end_character":52},"updated":"2019-05-28 08:45:56.000000000","message":"There is related to the exist patch [1], fix the ``swap`` default return value.\n[1] https://review.opendev.org/#/c/639012/","commit_id":"529ec9c298d0f7738f272cdfad08e9b7153ed187"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ec79f542f16993e4a5c2d0e08bd262ba0b99449","unresolved":false,"context_lines":[{"line_number":159,"context_line":"   of below APIs. ``servers`` field will be an empty list if there are"},{"line_number":160,"context_line":"   no servers."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"   * GET /os-hypervisors"},{"line_number":163,"context_line":"   * GET /os-hypervisors/detail"},{"line_number":164,"context_line":"   * GET /os-hypervisors/{hypervisor_id}"},{"line_number":165,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"bfb3d3c7_dc047117","line":162,"updated":"2019-05-30 16:26:21.000000000","message":"Technically this would only be if with_servers\u003dtrue is on the request.","commit_id":"529ec9c298d0f7738f272cdfad08e9b7153ed187"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ec79f542f16993e4a5c2d0e08bd262ba0b99449","unresolved":false,"context_lines":[{"line_number":160,"context_line":"   no servers."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"   * GET /os-hypervisors"},{"line_number":163,"context_line":"   * GET /os-hypervisors/detail"},{"line_number":164,"context_line":"   * GET /os-hypervisors/{hypervisor_id}"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bfb3d3c7_7c078519","line":163,"updated":"2019-05-30 16:26:21.000000000","message":"same","commit_id":"529ec9c298d0f7738f272cdfad08e9b7153ed187"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ec79f542f16993e4a5c2d0e08bd262ba0b99449","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"   * GET /os-hypervisors"},{"line_number":163,"context_line":"   * GET /os-hypervisors/detail"},{"line_number":164,"context_line":"   * GET /os-hypervisors/{hypervisor_id}"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Alternatives"},{"line_number":167,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bfb3d3c7_3c158d40","line":164,"updated":"2019-05-30 16:26:21.000000000","message":"same","commit_id":"529ec9c298d0f7738f272cdfad08e9b7153ed187"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ec79f542f16993e4a5c2d0e08bd262ba0b99449","unresolved":false,"context_lines":[{"line_number":162,"context_line":"   * GET /os-hypervisors"},{"line_number":163,"context_line":"   * GET /os-hypervisors/detail"},{"line_number":164,"context_line":"   * GET /os-hypervisors/{hypervisor_id}"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Alternatives"},{"line_number":167,"context_line":"------------"},{"line_number":168,"context_line":"We leave APIs as it is and use it in same way they are currently or"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bfb3d3c7_dc2d5195","line":165,"updated":"2019-05-30 16:26:21.000000000","message":"And GET /os-hypervisors/{hypervisor_hostname_pattern}/servers isn\u0027t in the list because that was capped at 2.52.","commit_id":"529ec9c298d0f7738f272cdfad08e9b7153ed187"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ec79f542f16993e4a5c2d0e08bd262ba0b99449","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Below cleanup already filtered out from this proposal:"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"#. Return ``servers`` field always in response of GET /os-hypervisors"},{"line_number":174,"context_line":"#. Fix  inconsistent/incorrect response codes"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bfb3d3c7_3c3eedc0","line":173,"range":{"start_line":173,"start_character":0,"end_line":173,"end_character":69},"updated":"2019-05-30 16:26:21.000000000","message":"You can remove this now since it\u0027s in the list of proposed changes.\n\nYou could replace it with this one:\n\n\"#. Remove extensions (OS-) prefix from request and response field.\"","commit_id":"529ec9c298d0f7738f272cdfad08e9b7153ed187"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ec79f542f16993e4a5c2d0e08bd262ba0b99449","unresolved":false,"context_lines":[{"line_number":198,"context_line":"   ``GET /servers/{server_id}``."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"   NOTE: new fields will be added with same name they are present in GET"},{"line_number":201,"context_line":"   /servers API resposne (means with ``OS-`` prefix)."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"#. Change the default return value of ``swap`` field from the empty string"},{"line_number":204,"context_line":"   to 0 (integer) in flavor APIs."}],"source_content_type":"text/x-rst","patch_set":16,"id":"bfb3d3c7_9c583931","line":201,"range":{"start_line":201,"start_character":16,"end_line":201,"end_character":24},"updated":"2019-05-30 16:26:21.000000000","message":"response","commit_id":"529ec9c298d0f7738f272cdfad08e9b7153ed187"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ec79f542f16993e4a5c2d0e08bd262ba0b99449","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"References"},{"line_number":281,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":282,"context_line":"* https://etherpad.openstack.org/p/nova-ptg-train"},{"line_number":283,"context_line":"  Train PTG etherpad."},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"* Train PTG agreement: http://lists.openstack.org/pipermail/openstack-discuss/2019-May/005824.html"}],"source_content_type":"text/x-rst","patch_set":16,"id":"bfb3d3c7_bc789d8f","line":282,"updated":"2019-05-30 16:26:21.000000000","message":"This no longer works so I\u0027d just remove it, the agreement from the ML is sufficient.","commit_id":"529ec9c298d0f7738f272cdfad08e9b7153ed187"}]}
