)]}'
{"nova/api/openstack/common.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ec5701ef33bf78fd16d7ab4194186d0e9a9c81df","unresolved":false,"context_lines":[{"line_number":576,"context_line":""},{"line_number":577,"context_line":"def instance_has_port_with_resource_request(instance_uuid, network_api):"},{"line_number":578,"context_line":""},{"line_number":579,"context_line":"    # TODO(gibi): Use instance.info_cache to see if there is VIFs with"},{"line_number":580,"context_line":"    # allocation key in the profile. If there is no such VIF for an instance"},{"line_number":581,"context_line":"    # and the instance is not shelve offloaded then we can be sure that the"},{"line_number":582,"context_line":"    # instance has no port with resource request. If the instance is shelve"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_6536d254","line":579,"updated":"2019-11-06 20:47:26.000000000","message":"If we relied on the info cache we would have had the allocation key and then we wouldn\u0027t need to query neutron. :)","commit_id":"0ebd379c7d16e2f86674a3c1e011c96db1a13a6f"}],"nova/api/openstack/compute/evacuate.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed7107c7d3d38b38eb80fcbc1a244df5eb533a75","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        # extra API call to neutron when we support move operations with ports"},{"line_number":122,"context_line":"        # having resource requests."},{"line_number":123,"context_line":"        if (common.instance_has_port_with_resource_request("},{"line_number":124,"context_line":"                    instance.uuid, self.network_api) and not"},{"line_number":125,"context_line":"                common.supports_port_resource_request_during_move(req)):"},{"line_number":126,"context_line":"            msg \u003d _(\"The evacuate action on a server with ports having \""},{"line_number":127,"context_line":"                    \"resource requests, like a port with a QoS minimum \""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_a507ea81","line":124,"updated":"2019-11-06 20:41:27.000000000","message":"This is gone with Id5f2f4f22b856c989e2eef8ed56b9829d1bcefb6 now on master. Will need to remember this when backporting the fix.","commit_id":"0ebd379c7d16e2f86674a3c1e011c96db1a13a6f"}],"nova/tests/fixtures.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ec5701ef33bf78fd16d7ab4194186d0e9a9c81df","unresolved":false,"context_lines":[{"line_number":1717,"context_line":"            # the ports are queried by a non-admin. So simulate this behavior"},{"line_number":1718,"context_line":"            # here"},{"line_number":1719,"context_line":"            for port in ports:"},{"line_number":1720,"context_line":"                if \u0027resource_request\u0027 in port:"},{"line_number":1721,"context_line":"                    port[\u0027resource_request\u0027] \u003d None"},{"line_number":1722,"context_line":"        return {\u0027ports\u0027: ports}"},{"line_number":1723,"context_line":""},{"line_number":1724,"context_line":"    def show_network(self, network_id, **_params):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_2538da39","line":1721,"range":{"start_line":1720,"start_character":16,"end_line":1721,"end_character":51},"updated":"2019-11-06 20:47:26.000000000","message":"nit: this could just be:\n\nport.pop(\u0027resource_request\u0027, None)","commit_id":"0ebd379c7d16e2f86674a3c1e011c96db1a13a6f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e5e982e013649096235904f8ea134063889f9d81","unresolved":false,"context_lines":[{"line_number":1717,"context_line":"            # the ports are queried by a non-admin. So simulate this behavior"},{"line_number":1718,"context_line":"            # here"},{"line_number":1719,"context_line":"            for port in ports:"},{"line_number":1720,"context_line":"                if \u0027resource_request\u0027 in port:"},{"line_number":1721,"context_line":"                    port[\u0027resource_request\u0027] \u003d None"},{"line_number":1722,"context_line":"        return {\u0027ports\u0027: ports}"},{"line_number":1723,"context_line":""},{"line_number":1724,"context_line":"    def show_network(self, network_id, **_params):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_e51ac2c4","line":1721,"range":{"start_line":1720,"start_character":16,"end_line":1721,"end_character":51},"in_reply_to":"3fa7e38b_2538da39","updated":"2019-11-06 20:53:44.000000000","message":"Oh well I guess you don\u0027t want to remove it, just null it out if it\u0027s there.","commit_id":"0ebd379c7d16e2f86674a3c1e011c96db1a13a6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d68f9688c137ed3b360ca436e2e0b6650a7b1dc2","unresolved":false,"context_lines":[{"line_number":1707,"context_line":"        # is wrapping the fixture and this client can remember how it was"},{"line_number":1708,"context_line":"        # initialized."},{"line_number":1709,"context_line":""},{"line_number":1710,"context_line":"        # This logic is copied from nova.network.neutronv2.api._get_auth_plugin"},{"line_number":1711,"context_line":"        self.is_admin_client \u003d (admin or"},{"line_number":1712,"context_line":"                                (context.is_admin and not context.auth_token))"},{"line_number":1713,"context_line":"        return self"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_27477721","line":1710,"range":{"start_line":1710,"start_character":8,"end_line":1710,"end_character":79},"updated":"2019-11-07 13:31:42.000000000","message":"this is a be strange but ok.\n\nits not imediately clear why  and not context.auth_token is there.","commit_id":"899976960503524b8e5c6588e339742ca4bf8158"}],"nova/tests/unit/api/openstack/test_common.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d68f9688c137ed3b360ca436e2e0b6650a7b1dc2","unresolved":false,"context_lines":[{"line_number":464,"context_line":"            test.MatchType(context.RequestContext),"},{"line_number":465,"context_line":"            device_id\u003dmock.sentinel.uuid, fields\u003d[\u0027resource_request\u0027])"},{"line_number":466,"context_line":"        # assert that the neutron call uses an admin context"},{"line_number":467,"context_line":"        ctxt \u003d network_api.mock_calls[0][1][0]"},{"line_number":468,"context_line":"        self.assertTrue(ctxt.is_admin)"},{"line_number":469,"context_line":"        self.assertIsNone(ctxt.auth_token)"},{"line_number":470,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_67248f61","line":467,"range":{"start_line":467,"start_character":37,"end_line":467,"end_character":46},"updated":"2019-11-07 13:31:42.000000000","message":"that is a littel cryptic but i guess it fine given the surounding context.\n\nthe frist subscirpt acesses the first call\nthen the second subsript acesses the *args and the final subscript is acessing the first paramater which should be the context.\n\nits a little fragile but it will work.","commit_id":"899976960503524b8e5c6588e339742ca4bf8158"}]}
