)]}'
{"specs/2027.1/approved/cross-cell-live-migration.rst":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"def356ebff2b52a31949f170e55e0cf866a27bd8","unresolved":true,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    if using_unsupported_flag:"},{"line_number":104,"context_line":"        # e.g. disk_overcommit: true, block_migration: false"},{"line_number":105,"context_line":"        ignore_or_raise_http_400()"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    new_impl()"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"2dea38bc_b06cbbb2","line":105,"updated":"2026-11-02 10:23:54.000000000","message":"Is this a hidden, partial, minimal microversion bump? \n\nI.e. if the client asks for live migration with microversion 2.67 and forced\u003dtrue, and got 400. That basically means nova stopped supporting 2.67 or older (min version bump) on the live migration API (partial), with a sudden error (hidden). \n\nI don\u0027t think this is really helps our API consumers to discover or navigate our API.","commit_id":"cd6a79365d342b4fb14e0e033da1183710b0f2ec"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f8b08d8cf37feb8a74ea63814b4a17a1035ba4c2","unresolved":true,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    if using_unsupported_flag:"},{"line_number":104,"context_line":"        # e.g. disk_overcommit: true, block_migration: false"},{"line_number":105,"context_line":"        ignore_or_raise_http_400()"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    new_impl()"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"97905ef9_d2e7cc38","line":105,"in_reply_to":"2dea38bc_b06cbbb2","updated":"2026-11-02 12:46:03.000000000","message":"We have prior art here. Try this:\n\n```\n\u003e\u003e\u003e import openstack\n\u003e\u003e\u003e conn \u003d openstack.connect(\u0027devstack-admin\u0027)\n\u003e\u003e\u003e server_id \u003d list(conn.compute.servers())[0].id\n\u003e\u003e\u003e conn.compute.put(f\u0027/servers/{server_id}/remote-consoles\u0027, json\u003d{\u0027remote_console\u0027: {\u0027protocol\u0027: \u0027rdp\u0027, \u0027type\u0027: \u0027rdp-html5\u0027}}, microversion\u003d\u00272.6\u0027)\n```\n\nOr this:\n\n```\n\u003e\u003e\u003e project_id \u003d list(conn.identity.projects())[0].id\n\u003e\u003e\u003e conn.compute.put(f\u0027/os-quota-sets/{project_id}\u0027, json\u003d{\u0027quota_set\u0027: {\u0027networks\u0027: 5}}).json()\n```\n\nAlso, this feels basically the same removing the action with `HTTP 410 (Gone)`? To (badly) paraphrase:\n\n\u003e The client asks for `os-migrateLive` with microversion 2.1 and gets 410. That basically means nova stopped supporting 2.1 or newer (min version supported) on the live migration API (entire), with a sudden error (hidden).\n\nBoth cases demonstrate one of the biggest weaknesses of the \"pure\" API microversion approach: you can never truly remove anything absent a major API version bumps.\n\nRegarding this impact on API consumers, (a) this can be self-documenting from the API side (via the error response body) and (b) the changes necessary for the client amount to updating the docs for a parameter (if we even bother to do so).","commit_id":"cd6a79365d342b4fb14e0e033da1183710b0f2ec"}]}
