)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"c057aed2730142555c4f3064a9d0014a066891c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"46390e71_dda16f78","updated":"2022-12-06 22:51:19.000000000","message":"This obviously needs better testing that would have prevented this regression.","commit_id":"543055999238be3d35a48d5bbd4e8ab4b1fa02e0"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cf64300c8e8451d5e593f0d65aa6a14deda135be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"acbc55bd_20ea3235","updated":"2022-12-12 15:16:39.000000000","message":"Maybe we can add someone from nova team as well once I push an update.","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"5626a71399ed284d60098d8e428e3ca719b638fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"37602d08_ee6863e7","updated":"2022-12-11 09:41:03.000000000","message":"See also https://review.opendev.org/c/openstack/python-openstackclient/+/581418\n\nSo the idea could also be to deprecate the \"add/remove fixed ip\" commands complete and implement \"server interface add/list/remove\" matching the actual nova api actions. ","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ba27e258a0528392cdd196578cea2993cb367be8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"357d3bc4_d1e14bc3","updated":"2022-12-11 09:33:25.000000000","message":"Thanks for your work on this. The remove_fixed_ip situation seems to require more work, how about splitting that into another patch and just fixing the \"add\" path here first?","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f0a70dd25d501a607dc9fdd5285cb5083ff21b0d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1badb64a_bee0da58","updated":"2022-12-11 09:37:27.000000000","message":"There is https://review.opendev.org/c/openstack/python-openstackclient/+/820420 for the remove part already, maybe refresh that one","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5d38914eced8b4aba2556f34871ca7dc49146b42","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"13a0135c_67fd2bbf","updated":"2022-12-10 02:20:26.000000000","message":"This got more involved than I thought since remove_fixed_ip() isn\u0027 t actually a valid call on the server class.","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cf64300c8e8451d5e593f0d65aa6a14deda135be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8da15ce6_a039ca44","in_reply_to":"357d3bc4_d1e14bc3","updated":"2022-12-12 15:16:39.000000000","message":"Yes, I should just move the remove_fixed_ip to another patch, or update the one you found. Trying to run it today just throws an exception in the client and prints \"removed_fixed_ip\" :-/\n\nAnd I couldn\u0027t tell if these APIs were deprecated?","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c6546eea870dbfd86c6fdbd3b3fab4d1819b51fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cb7818a0_0b133390","updated":"2022-12-15 16:12:59.000000000","message":"A follow-up release note would be nice too, btw","commit_id":"f23322c5ef59704462330e882dc97694c1d9a7c1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"709a8dc389ab6ca0ca2383431264cfda125f85e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f1be8d38_54536ada","updated":"2022-12-15 16:12:40.000000000","message":"Nice work. gtema is on PTO now but I\u0027m comfortable acking this with a single +2 since you\u0027ve added some sweet functional tests. Kudos.","commit_id":"f23322c5ef59704462330e882dc97694c1d9a7c1"}],"openstackclient/compute/v2/server.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ba27e258a0528392cdd196578cea2993cb367be8","unresolved":true,"context_lines":[{"line_number":3556,"context_line":"            \u0027--tag\u0027,"},{"line_number":3557,"context_line":"            metavar\u003d\u0027\u003ctag\u003e\u0027,"},{"line_number":3558,"context_line":"            help\u003d_("},{"line_number":3559,"context_line":"                \u0027Tag for the attached interface. \u0027"},{"line_number":3560,"context_line":"                \u0027(supported by --os-compute-api-version 2.49 or above)\u0027"},{"line_number":3561,"context_line":"            )"},{"line_number":3562,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfd5709c_9e8368ba","line":3559,"updated":"2022-12-11 09:33:25.000000000","message":"I\u0027m not sure that this is needed. Or is there a situation where the same fixed IP can be attached to a server, but with different tags?","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3f5abaf64547b4745cc0803fff93235ea116766d","unresolved":false,"context_lines":[{"line_number":3556,"context_line":"            \u0027--tag\u0027,"},{"line_number":3557,"context_line":"            metavar\u003d\u0027\u003ctag\u003e\u0027,"},{"line_number":3558,"context_line":"            help\u003d_("},{"line_number":3559,"context_line":"                \u0027Tag for the attached interface. \u0027"},{"line_number":3560,"context_line":"                \u0027(supported by --os-compute-api-version 2.49 or above)\u0027"},{"line_number":3561,"context_line":"            )"},{"line_number":3562,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"8c0cee09_d3a7b314","line":3559,"in_reply_to":"c5fa253a_5361c17f","updated":"2022-12-12 23:07:15.000000000","message":"Done","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cf64300c8e8451d5e593f0d65aa6a14deda135be","unresolved":true,"context_lines":[{"line_number":3556,"context_line":"            \u0027--tag\u0027,"},{"line_number":3557,"context_line":"            metavar\u003d\u0027\u003ctag\u003e\u0027,"},{"line_number":3558,"context_line":"            help\u003d_("},{"line_number":3559,"context_line":"                \u0027Tag for the attached interface. \u0027"},{"line_number":3560,"context_line":"                \u0027(supported by --os-compute-api-version 2.49 or above)\u0027"},{"line_number":3561,"context_line":"            )"},{"line_number":3562,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"c5fa253a_5361c17f","line":3559,"in_reply_to":"dfd5709c_9e8368ba","updated":"2022-12-12 15:16:39.000000000","message":"I was just trying to mirros the add code.","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ba27e258a0528392cdd196578cea2993cb367be8","unresolved":true,"context_lines":[{"line_number":3591,"context_line":"        if parsed_args.tag:"},{"line_number":3592,"context_line":"            kwargs[\u0027tag\u0027] \u003d parsed_args.tag"},{"line_number":3593,"context_line":""},{"line_number":3594,"context_line":"        interface \u003d compute_client.delete_server_interface(server.id, **kwargs)"},{"line_number":3595,"context_line":""},{"line_number":3596,"context_line":"        columns \u003d ("},{"line_number":3597,"context_line":"            \u0027port_id\u0027, \u0027server_id\u0027, \u0027net_id\u0027, \u0027mac_addr\u0027, \u0027port_state\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"165cb5dc_9bb62b72","line":3594,"updated":"2022-12-11 09:33:25.000000000","message":"This is the wrong call signature. You need to identify a server_interface and hand that to this call.\n\nBonus question: What should happen if the interface has more addresses than just the specified fixed IP? Should we reject to delete, delete the whole interface anyway or make a neutron call to just remove the IP from the port? Not sure if the latter is even possible.","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cf64300c8e8451d5e593f0d65aa6a14deda135be","unresolved":true,"context_lines":[{"line_number":3591,"context_line":"        if parsed_args.tag:"},{"line_number":3592,"context_line":"            kwargs[\u0027tag\u0027] \u003d parsed_args.tag"},{"line_number":3593,"context_line":""},{"line_number":3594,"context_line":"        interface \u003d compute_client.delete_server_interface(server.id, **kwargs)"},{"line_number":3595,"context_line":""},{"line_number":3596,"context_line":"        columns \u003d ("},{"line_number":3597,"context_line":"            \u0027port_id\u0027, \u0027server_id\u0027, \u0027net_id\u0027, \u0027mac_addr\u0027, \u0027port_state\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9295b3b0_87da733b","line":3594,"in_reply_to":"165cb5dc_9bb62b72","updated":"2022-12-12 15:16:39.000000000","message":"Yeah, I guess I got this wrong looking at remove port code below.","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3f5abaf64547b4745cc0803fff93235ea116766d","unresolved":false,"context_lines":[{"line_number":3591,"context_line":"        if parsed_args.tag:"},{"line_number":3592,"context_line":"            kwargs[\u0027tag\u0027] \u003d parsed_args.tag"},{"line_number":3593,"context_line":""},{"line_number":3594,"context_line":"        interface \u003d compute_client.delete_server_interface(server.id, **kwargs)"},{"line_number":3595,"context_line":""},{"line_number":3596,"context_line":"        columns \u003d ("},{"line_number":3597,"context_line":"            \u0027port_id\u0027, \u0027server_id\u0027, \u0027net_id\u0027, \u0027mac_addr\u0027, \u0027port_state\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f34d1ca_824c2d8b","line":3594,"in_reply_to":"9295b3b0_87da733b","updated":"2022-12-12 23:07:15.000000000","message":"Done","commit_id":"55afc710dc39e78c3f033c44450eb5cec068a1c8"}],"openstackclient/tests/unit/compute/v2/test_server.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"00ab6538931b8b2bd120140e4418daf6b84d965f","unresolved":true,"context_lines":[{"line_number":424,"context_line":"            self.sdk_client.create_server_interface.assert_called_once_with("},{"line_number":425,"context_line":"                servers[0].id,"},{"line_number":426,"context_line":"                net_id\u003dnetwork[\u0027id\u0027],"},{"line_number":427,"context_line":"                fixed_ips\u003d[{\u0027ip_address\u0027: None}]"},{"line_number":428,"context_line":"            )"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"    @mock.patch.object(sdk_utils, \u0027supports_microversion\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"2e17d82c_a6494fc9","line":427,"updated":"2022-12-09 15:46:14.000000000","message":"This might not be correct","commit_id":"5061617f2fefc135859ff613521a203333d2788e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"745ac13a2c9f21d64928969aa17a276aa1efbc7b","unresolved":false,"context_lines":[{"line_number":424,"context_line":"            self.sdk_client.create_server_interface.assert_called_once_with("},{"line_number":425,"context_line":"                servers[0].id,"},{"line_number":426,"context_line":"                net_id\u003dnetwork[\u0027id\u0027],"},{"line_number":427,"context_line":"                fixed_ips\u003d[{\u0027ip_address\u0027: None}]"},{"line_number":428,"context_line":"            )"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"    @mock.patch.object(sdk_utils, \u0027supports_microversion\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"279202be_0002e133","line":427,"in_reply_to":"2e17d82c_a6494fc9","updated":"2022-12-09 16:42:23.000000000","message":"Done","commit_id":"5061617f2fefc135859ff613521a203333d2788e"}]}
