)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42d4c49049efb4ca6d5b97ef3e6201a59f4c23ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"90b3943f_541969a2","updated":"2021-12-01 18:27:01.000000000","message":"Good start. Obviously needs tests and a release note plus some fixes but we\u0027ll be able to finish this this week, for sure","commit_id":"ab3713d601ec0aa93e95dafda6744664b19f1eaf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"86cb0a22a0f6ccea40bffb9afee74c308c16bdcc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"45adde87_e4b234cb","updated":"2021-12-14 15:19:54.000000000","message":"This looks good to me and is working locally fwict","commit_id":"79c2fb23a341d2c74a7b033f9f680e89fa730b27"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7a13caf6e6618f24ae51bb866e0709ad585b18da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"3e130102_216cec7a","updated":"2021-12-09 17:21:48.000000000","message":"recheck","commit_id":"79c2fb23a341d2c74a7b033f9f680e89fa730b27"}],"openstackclient/compute/v2/server.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42d4c49049efb4ca6d5b97ef3e6201a59f4c23ca","unresolved":true,"context_lines":[{"line_number":243,"context_line":"            ignore_missing\u003dFalse"},{"line_number":244,"context_line":"        )"},{"line_number":245,"context_line":"        #server \u003d utils.find_resource("},{"line_number":246,"context_line":"        #    compute_client.servers, parsed_args.server)"},{"line_number":247,"context_line":"        compute_client.add_fixed_ip_to_server("},{"line_number":248,"context_line":"            server.id,"},{"line_number":249,"context_line":"            parsed_args.network"}],"source_content_type":"text/x-python","patch_set":1,"id":"198d542d_f116b803","line":246,"updated":"2021-12-01 18:27:01.000000000","message":"Don\u0027t forget to remove commented out code","commit_id":"ab3713d601ec0aa93e95dafda6744664b19f1eaf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42d4c49049efb4ca6d5b97ef3e6201a59f4c23ca","unresolved":true,"context_lines":[{"line_number":247,"context_line":"        compute_client.add_fixed_ip_to_server("},{"line_number":248,"context_line":"            server.id,"},{"line_number":249,"context_line":"            parsed_args.network"},{"line_number":250,"context_line":"        )"},{"line_number":251,"context_line":"        #network \u003d compute_client.api.network_find(parsed_args.network)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        kwargs \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"de880d9c_53901ae1","line":250,"updated":"2021-12-01 18:27:01.000000000","message":"As discussed on Slack, this is effectively the legacy way of doing what we\u0027re doing below. You can do this, but it should only be done when the server doesn\u0027t support API microversion 2.44 or later. From 2.44 onwards, the API behind this call has been removed [1].\n\nThe logic would probably look something like:\n\n    if not sdk_utils.supports_microversion(compute_client, \u00272.44\u0027):\n        # do legacy thing (add_fixed_ip_to_server)\n    else:\n        # do modern thing (create_server_interface)\n\nAlternatively, you can just say that these servers are hopelessly old and we don\u0027t support them and just \u0027create_server_interface\u0027. Your call.\n\n[1] https://docs.openstack.org/api-ref/compute/?expanded\u003dadd-associate-fixed-ip-addfixedip-action-deprecated-detail#add-associate-fixed-ip-addfixedip-action-deprecated","commit_id":"ab3713d601ec0aa93e95dafda6744664b19f1eaf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42d4c49049efb4ca6d5b97ef3e6201a59f4c23ca","unresolved":true,"context_lines":[{"line_number":248,"context_line":"            server.id,"},{"line_number":249,"context_line":"            parsed_args.network"},{"line_number":250,"context_line":"        )"},{"line_number":251,"context_line":"        #network \u003d compute_client.api.network_find(parsed_args.network)"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        kwargs \u003d {"},{"line_number":254,"context_line":"            \u0027net_id\u0027: parsed_args.network,"}],"source_content_type":"text/x-python","patch_set":1,"id":"cb685814_7d7de25c","line":251,"updated":"2021-12-01 18:27:01.000000000","message":"Note that you want to keep using this since we need someway to convert a network name to a network ID. However, you should use the one from the *network* client. If you search for \u0027find_network\u0027, you\u0027ll find plenty of examples for this.","commit_id":"ab3713d601ec0aa93e95dafda6744664b19f1eaf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42d4c49049efb4ca6d5b97ef3e6201a59f4c23ca","unresolved":true,"context_lines":[{"line_number":261,"context_line":"                    \u0027--os-compute-api-version 2.49 or greater is required to \u0027"},{"line_number":262,"context_line":"                    \u0027support the --tag option\u0027"},{"line_number":263,"context_line":"                )"},{"line_number":264,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"            kwargs[\u0027tag\u0027] \u003d parsed_args.tag"},{"line_number":267,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"a0fbf932_c8e76dbd","line":264,"updated":"2021-12-01 18:27:01.000000000","message":"If you decide to support both APIs like I said above, you should probably move this check earlier in the function. You can still keep the assignment to kwargs[\u0027tag\u0027] here, e.g.\n\n  if parsed_args.tag:\n      if not sdk_utils.supports_microversion(compute_client, \u00272.49\u0027):\n          ...\n\n  if not sdk_utils.supports_microversion(compute_client, \u00272.44\u0027):\n      # do legacy thing (add_fixed_ip_to_server)\n  else:\n      # do modern thing (create_server_interface)\n      ...\n      kwargs \u003d ...\n\n      if parsed_args.tag:\n          kwargs[\u0027tag\u0027] \u003d ...\n\n      compute_client.create_server_interface(server.id, **kwargs)","commit_id":"ab3713d601ec0aa93e95dafda6744664b19f1eaf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"86cb0a22a0f6ccea40bffb9afee74c308c16bdcc","unresolved":true,"context_lines":[{"line_number":231,"context_line":"            metavar\u003d\u0027\u003ctag\u003e\u0027,"},{"line_number":232,"context_line":"            help\u003d_("},{"line_number":233,"context_line":"                \u0027Tag for the attached interface. \u0027"},{"line_number":234,"context_line":"                \u0027(supported by --os-compute-api-version 2.52 or above)\u0027"},{"line_number":235,"context_line":"            )"},{"line_number":236,"context_line":"        )"},{"line_number":237,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":11,"id":"ef5714a6_a0b9e585","line":234,"updated":"2021-12-14 15:19:54.000000000","message":"Oh, weird: the help string for the option says 2.52 but the check below is for 2.49. I wonder which one is correct?","commit_id":"79c2fb23a341d2c74a7b033f9f680e89fa730b27"}],"openstackclient/tests/unit/compute/v2/test_server.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"86cb0a22a0f6ccea40bffb9afee74c308c16bdcc","unresolved":true,"context_lines":[{"line_number":208,"context_line":"        # Set add_fixed_ip method to be tested."},{"line_number":209,"context_line":"        self.methods \u003d {"},{"line_number":210,"context_line":"            \u0027interface_attach\u0027: None,"},{"line_number":211,"context_line":"        }"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    @mock.patch.object(sdk_utils, \u0027supports_microversion\u0027)"},{"line_number":214,"context_line":"    def test_server_add_fixed_ip_pre_2_44(self, sm_mock):"}],"source_content_type":"text/x-python","patch_set":11,"id":"21076e23_383f5f8d","line":211,"updated":"2021-12-14 15:19:54.000000000","message":"I don\u0027t think this is necessary anymore, since we\u0027re not calling methods on the server objects but rather proxy methods","commit_id":"79c2fb23a341d2c74a7b033f9f680e89fa730b27"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"86cb0a22a0f6ccea40bffb9afee74c308c16bdcc","unresolved":true,"context_lines":[{"line_number":289,"context_line":"                servers[0].id,"},{"line_number":290,"context_line":"                network[\u0027id\u0027],"},{"line_number":291,"context_line":"                \u0027--fixed-ip-address\u0027, \u00275.6.7.8\u0027,"},{"line_number":292,"context_line":"                \u0027--tag\u0027, \u0027tag1\u0027"},{"line_number":293,"context_line":"            ]"},{"line_number":294,"context_line":"            verifylist \u003d ["},{"line_number":295,"context_line":"                (\u0027server\u0027, servers[0].id),"}],"source_content_type":"text/x-python","patch_set":11,"id":"45daedbf_58397f90","line":292,"updated":"2021-12-14 15:19:54.000000000","message":"nit: unrelated. Ditto for below","commit_id":"79c2fb23a341d2c74a7b033f9f680e89fa730b27"}]}
