)]}'
{"nova/api/openstack/compute/evacuate.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"98a3293602ca681c1ad91e04d249bbadbcbe11db","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        try:"},{"line_number":131,"context_line":"            self.compute_api.evacuate(context, instance, host,"},{"line_number":132,"context_line":"                                      on_shared_storage, password, force)"},{"line_number":133,"context_line":"        except exception.InstanceInvalidState as state_error:"},{"line_number":134,"context_line":"            common.raise_http_conflict_for_instance_invalid_state(state_error,"},{"line_number":135,"context_line":"                    \u0027evacuate\u0027, id)"}],"source_content_type":"text/x-python","patch_set":12,"id":"49642d52_be8e6a06","line":132,"updated":"2021-07-20 17:24:37.000000000","message":"We normally do this at the compute API level (via a decorator). I assume we can\u0027t do that since we need to talk to neutron, rather than simply inspecting some attribute of the instances\u0027s port (from network_info)\n\nDitto for all the other uses of this","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6cab242c3e13cb95ac985ff6e77308279ca9dacc","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        try:"},{"line_number":131,"context_line":"            self.compute_api.evacuate(context, instance, host,"},{"line_number":132,"context_line":"                                      on_shared_storage, password, force)"},{"line_number":133,"context_line":"        except exception.InstanceInvalidState as state_error:"},{"line_number":134,"context_line":"            common.raise_http_conflict_for_instance_invalid_state(state_error,"},{"line_number":135,"context_line":"                    \u0027evacuate\u0027, id)"}],"source_content_type":"text/x-python","patch_set":12,"id":"00df31ab_5053d483","line":132,"in_reply_to":"49642d52_be8e6a06","updated":"2021-07-22 13:20:31.000000000","message":"Yes we need to talk to neutron. This could be a decorator in the compute api even though I don\u0027t like hiding an awful lot of business logic in decorators especially if they can raise exceptions. I went with this pattern the same as I used during the original resource request feature.","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"51af15791583c674361ebd329cab0759e2297d4d","unresolved":true,"context_lines":[{"line_number":124,"context_line":"            msg \u003d _("},{"line_number":125,"context_line":"                \"The evacuate server operation with port having extended \""},{"line_number":126,"context_line":"                \"resource request, like a port with both QoS minimum \""},{"line_number":127,"context_line":"                \"bandwidth and packet rate policies is not yet supported.\")"},{"line_number":128,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":13,"id":"58516a45_4768caf9","line":127,"range":{"start_line":127,"start_character":51,"end_line":127,"end_character":52},"updated":"2021-07-27 16:18:18.000000000","message":"missing comma","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"537a1c43c22e8900ba1e0e20bba32dc84301bee1","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            msg \u003d _("},{"line_number":125,"context_line":"                \"The evacuate server operation with port having extended \""},{"line_number":126,"context_line":"                \"resource request, like a port with both QoS minimum \""},{"line_number":127,"context_line":"                \"bandwidth and packet rate policies is not yet supported.\")"},{"line_number":128,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":13,"id":"807813e8_501d5c6d","line":127,"range":{"start_line":127,"start_character":51,"end_line":127,"end_character":52},"in_reply_to":"58516a45_4768caf9","updated":"2021-08-16 19:31:12.000000000","message":"Done","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"}],"nova/api/openstack/compute/migrate_server.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"51af15791583c674361ebd329cab0759e2297d4d","unresolved":true,"context_lines":[{"line_number":60,"context_line":"            msg \u003d _("},{"line_number":61,"context_line":"                \"The migrate server operation with port having extended \""},{"line_number":62,"context_line":"                \"resource request, like a port with both QoS minimum \""},{"line_number":63,"context_line":"                \"bandwidth and packet rate policies is not yet supported.\")"},{"line_number":64,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":13,"id":"394a89c0_950874fc","line":63,"range":{"start_line":63,"start_character":51,"end_line":63,"end_character":52},"updated":"2021-07-27 16:18:18.000000000","message":"missing comma","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"537a1c43c22e8900ba1e0e20bba32dc84301bee1","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            msg \u003d _("},{"line_number":61,"context_line":"                \"The migrate server operation with port having extended \""},{"line_number":62,"context_line":"                \"resource request, like a port with both QoS minimum \""},{"line_number":63,"context_line":"                \"bandwidth and packet rate policies is not yet supported.\")"},{"line_number":64,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":13,"id":"05ebffaf_7e28d08d","line":63,"range":{"start_line":63,"start_character":51,"end_line":63,"end_character":52},"in_reply_to":"394a89c0_950874fc","updated":"2021-08-16 19:31:12.000000000","message":"Done","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"51af15791583c674361ebd329cab0759e2297d4d","unresolved":true,"context_lines":[{"line_number":130,"context_line":"            msg \u003d _("},{"line_number":131,"context_line":"                \"The live migrate server operation with port having extended \""},{"line_number":132,"context_line":"                \"resource request, like a port with both QoS minimum \""},{"line_number":133,"context_line":"                \"bandwidth and packet rate policies is not yet supported.\")"},{"line_number":134,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":13,"id":"f01db01d_f823c888","line":133,"range":{"start_line":133,"start_character":51,"end_line":133,"end_character":52},"updated":"2021-07-27 16:18:18.000000000","message":"ditto","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"537a1c43c22e8900ba1e0e20bba32dc84301bee1","unresolved":false,"context_lines":[{"line_number":130,"context_line":"            msg \u003d _("},{"line_number":131,"context_line":"                \"The live migrate server operation with port having extended \""},{"line_number":132,"context_line":"                \"resource request, like a port with both QoS minimum \""},{"line_number":133,"context_line":"                \"bandwidth and packet rate policies is not yet supported.\")"},{"line_number":134,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":13,"id":"d1a9d503_fab28fcd","line":133,"range":{"start_line":133,"start_character":51,"end_line":133,"end_character":52},"in_reply_to":"f01db01d_f823c888","updated":"2021-08-16 19:31:12.000000000","message":"Done","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"51af15791583c674361ebd329cab0759e2297d4d","unresolved":true,"context_lines":[{"line_number":952,"context_line":"            msg \u003d _("},{"line_number":953,"context_line":"                \"The resize server operation with port having extended \""},{"line_number":954,"context_line":"                \"resource request, like a port with both QoS minimum \""},{"line_number":955,"context_line":"                \"bandwidth and packet rate policies is not yet supported.\")"},{"line_number":956,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":957,"context_line":""},{"line_number":958,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":13,"id":"36231a1c_57eed588","line":955,"range":{"start_line":955,"start_character":51,"end_line":955,"end_character":52},"updated":"2021-07-27 16:18:18.000000000","message":"missing comma","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"537a1c43c22e8900ba1e0e20bba32dc84301bee1","unresolved":false,"context_lines":[{"line_number":952,"context_line":"            msg \u003d _("},{"line_number":953,"context_line":"                \"The resize server operation with port having extended \""},{"line_number":954,"context_line":"                \"resource request, like a port with both QoS minimum \""},{"line_number":955,"context_line":"                \"bandwidth and packet rate policies is not yet supported.\")"},{"line_number":956,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":957,"context_line":""},{"line_number":958,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":13,"id":"42de7143_713f5f21","line":955,"range":{"start_line":955,"start_character":51,"end_line":955,"end_character":52},"in_reply_to":"36231a1c_57eed588","updated":"2021-08-16 19:31:12.000000000","message":"Done","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"}],"nova/api/openstack/compute/shelve.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"98a3293602ca681c1ad91e04d249bbadbcbe11db","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        support_az \u003d api_version_request.is_supported(req, \u00272.77\u0027)"},{"line_number":102,"context_line":"        if support_az and unshelve_dict:"},{"line_number":103,"context_line":"            new_az \u003d unshelve_dict[\u0027availability_zone\u0027]"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        if (instance.vm_state \u003d\u003d vm_states.SHELVED_OFFLOADED and"},{"line_number":106,"context_line":"                self.network_api.instance_has_extended_resource_request(id)):"},{"line_number":107,"context_line":"            msg \u003d _("},{"line_number":108,"context_line":"                \"The unshelve server operation on a shelve offloaded server \""},{"line_number":109,"context_line":"                \"with port having extended resource request, like a \""}],"source_content_type":"text/x-python","patch_set":12,"id":"78e6918d_e9d41a41","line":106,"range":{"start_line":104,"start_character":0,"end_line":106,"end_character":77},"updated":"2021-07-20 17:24:37.000000000","message":"style nit:\n\n  if (\n      instance.vm_state \u003d\u003d vm_states.SHELVED_OFFLOADED and\n      self.network_api.instance_has_extended_resource_request(id)\n  ):\n\n?","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6cab242c3e13cb95ac985ff6e77308279ca9dacc","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        support_az \u003d api_version_request.is_supported(req, \u00272.77\u0027)"},{"line_number":102,"context_line":"        if support_az and unshelve_dict:"},{"line_number":103,"context_line":"            new_az \u003d unshelve_dict[\u0027availability_zone\u0027]"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        if (instance.vm_state \u003d\u003d vm_states.SHELVED_OFFLOADED and"},{"line_number":106,"context_line":"                self.network_api.instance_has_extended_resource_request(id)):"},{"line_number":107,"context_line":"            msg \u003d _("},{"line_number":108,"context_line":"                \"The unshelve server operation on a shelve offloaded server \""},{"line_number":109,"context_line":"                \"with port having extended resource request, like a \""}],"source_content_type":"text/x-python","patch_set":12,"id":"579deced_671b49dd","line":106,"range":{"start_line":104,"start_character":0,"end_line":106,"end_character":77},"in_reply_to":"78e6918d_e9d41a41","updated":"2021-07-22 13:20:31.000000000","message":"Done","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"51af15791583c674361ebd329cab0759e2297d4d","unresolved":true,"context_lines":[{"line_number":109,"context_line":"            msg \u003d _("},{"line_number":110,"context_line":"                \"The unshelve server operation on a shelve offloaded server \""},{"line_number":111,"context_line":"                \"with port having extended resource request, like a \""},{"line_number":112,"context_line":"                \"port with both QoS minimum bandwidth and packet rate policies\""},{"line_number":113,"context_line":"                \" is not yet supported.\")"},{"line_number":114,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da7e1684_391605c2","line":112,"range":{"start_line":112,"start_character":78,"end_line":112,"end_character":79},"updated":"2021-07-27 16:18:18.000000000","message":"missing comma","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"537a1c43c22e8900ba1e0e20bba32dc84301bee1","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            msg \u003d _("},{"line_number":110,"context_line":"                \"The unshelve server operation on a shelve offloaded server \""},{"line_number":111,"context_line":"                \"with port having extended resource request, like a \""},{"line_number":112,"context_line":"                \"port with both QoS minimum bandwidth and packet rate policies\""},{"line_number":113,"context_line":"                \" is not yet supported.\")"},{"line_number":114,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"e0b367d8_be010ed3","line":112,"range":{"start_line":112,"start_character":78,"end_line":112,"end_character":79},"in_reply_to":"da7e1684_391605c2","updated":"2021-08-16 19:31:12.000000000","message":"Done","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"}],"nova/compute/api.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7b3a3bffb32affd623fd3432d0816857dd033619","unresolved":true,"context_lines":[{"line_number":5098,"context_line":""},{"line_number":5099,"context_line":"            if port.get(\u0027binding:vnic_type\u0027, \u0027normal\u0027) in ("},{"line_number":5100,"context_line":"                network_model.VNIC_TYPE_ACCELERATOR_DIRECT,"},{"line_number":5101,"context_line":"                network_model.VNIC_TYPE_ACCELERATOR_DIRECT_PHYSICAL):"},{"line_number":5102,"context_line":"                raise exception.ForbiddenPortsWithAccelerator()"},{"line_number":5103,"context_line":""},{"line_number":5104,"context_line":"            if not self.support_port_attach(context, port):"}],"source_content_type":"text/x-python","patch_set":16,"id":"c327d504_9bfcd8a2","line":5101,"range":{"start_line":5101,"start_character":67,"end_line":5101,"end_character":69},"updated":"2021-08-27 12:40:46.000000000","message":"nit: I\u0027d have dragged this down a line\n\n  if port.get(...) in (\n      ...\n  ):\n\nI\u0027d also use a set since the performance is _slightly_ better, not that we\u0027d ever notice 😄","commit_id":"8f5b7c67ca9fc528dfedf89c5f74cb067229e6e0"}],"nova/exception.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"98a3293602ca681c1ad91e04d249bbadbcbe11db","unresolved":true,"context_lines":[{"line_number":1937,"context_line":""},{"line_number":1938,"context_line":"class AttachWithExtendedQoSPolicyNotSupported("},{"line_number":1939,"context_line":"    AttachInterfaceNotSupported"},{"line_number":1940,"context_line":"):"},{"line_number":1941,"context_line":"    msg_fmt \u003d _("},{"line_number":1942,"context_line":"        \"The interface attach server operation with port having extended \""},{"line_number":1943,"context_line":"        \"resource request, like a port with both QoS minimum bandwidth and \""}],"source_content_type":"text/x-python","patch_set":12,"id":"e091f5df_f77c6ede","line":1940,"updated":"2021-07-20 17:24:37.000000000","message":"nit: would fit on one line?","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6cab242c3e13cb95ac985ff6e77308279ca9dacc","unresolved":false,"context_lines":[{"line_number":1937,"context_line":""},{"line_number":1938,"context_line":"class AttachWithExtendedQoSPolicyNotSupported("},{"line_number":1939,"context_line":"    AttachInterfaceNotSupported"},{"line_number":1940,"context_line":"):"},{"line_number":1941,"context_line":"    msg_fmt \u003d _("},{"line_number":1942,"context_line":"        \"The interface attach server operation with port having extended \""},{"line_number":1943,"context_line":"        \"resource request, like a port with both QoS minimum bandwidth and \""}],"source_content_type":"text/x-python","patch_set":12,"id":"921813ab_f0d7d0f3","line":1940,"in_reply_to":"e091f5df_f77c6ede","updated":"2021-07-22 13:20:31.000000000","message":"probably it had a longer name in a previous iteration. Fixed now.","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"51af15791583c674361ebd329cab0759e2297d4d","unresolved":true,"context_lines":[{"line_number":1939,"context_line":"    msg_fmt \u003d _("},{"line_number":1940,"context_line":"        \"The interface attach server operation with port having extended \""},{"line_number":1941,"context_line":"        \"resource request, like a port with both QoS minimum bandwidth and \""},{"line_number":1942,"context_line":"        \"packet rate policies is not yet supported.\")"},{"line_number":1943,"context_line":""},{"line_number":1944,"context_line":""},{"line_number":1945,"context_line":"class NetworksWithQoSPolicyNotSupported(Invalid):"}],"source_content_type":"text/x-python","patch_set":13,"id":"e9326595_dfb1e374","line":1942,"range":{"start_line":1942,"start_character":29,"end_line":1942,"end_character":30},"updated":"2021-07-27 16:18:18.000000000","message":"missing comma","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"537a1c43c22e8900ba1e0e20bba32dc84301bee1","unresolved":false,"context_lines":[{"line_number":1939,"context_line":"    msg_fmt \u003d _("},{"line_number":1940,"context_line":"        \"The interface attach server operation with port having extended \""},{"line_number":1941,"context_line":"        \"resource request, like a port with both QoS minimum bandwidth and \""},{"line_number":1942,"context_line":"        \"packet rate policies is not yet supported.\")"},{"line_number":1943,"context_line":""},{"line_number":1944,"context_line":""},{"line_number":1945,"context_line":"class NetworksWithQoSPolicyNotSupported(Invalid):"}],"source_content_type":"text/x-python","patch_set":13,"id":"5513551b_88925545","line":1942,"range":{"start_line":1942,"start_character":29,"end_line":1942,"end_character":30},"in_reply_to":"e9326595_dfb1e374","updated":"2021-08-16 19:31:12.000000000","message":"Done","commit_id":"2c00041faaf1d7beccedcf3fb19bbbe38a17fd91"}],"nova/tests/fixtures/neutron.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"98a3293602ca681c1ad91e04d249bbadbcbe11db","unresolved":true,"context_lines":[{"line_number":951,"context_line":"class ExtendedResourceRequestNeutronFixture(ResourceRequestNeutronFixture):"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    @classmethod"},{"line_number":954,"context_line":"    def create_with_exiting_neutron_state(cls, existing_fixture):"},{"line_number":955,"context_line":"        \"\"\"Creates a new fixture but initialize it from an existing neutron"},{"line_number":956,"context_line":"        fixture to carry over the state from it."},{"line_number":957,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"ec5baebe_1a9325d3","line":954,"range":{"start_line":954,"start_character":20,"end_line":954,"end_character":27},"updated":"2021-07-20 17:24:37.000000000","message":"existing","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6cab242c3e13cb95ac985ff6e77308279ca9dacc","unresolved":false,"context_lines":[{"line_number":951,"context_line":"class ExtendedResourceRequestNeutronFixture(ResourceRequestNeutronFixture):"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    @classmethod"},{"line_number":954,"context_line":"    def create_with_exiting_neutron_state(cls, existing_fixture):"},{"line_number":955,"context_line":"        \"\"\"Creates a new fixture but initialize it from an existing neutron"},{"line_number":956,"context_line":"        fixture to carry over the state from it."},{"line_number":957,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f37a466_51491829","line":954,"range":{"start_line":954,"start_character":20,"end_line":954,"end_character":27},"in_reply_to":"ec5baebe_1a9325d3","updated":"2021-07-22 13:20:31.000000000","message":"Done","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"}],"nova/tests/functional/test_servers.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"98a3293602ca681c1ad91e04d249bbadbcbe11db","unresolved":true,"context_lines":[{"line_number":8469,"context_line":"        this as a deployment configuration error."},{"line_number":8470,"context_line":"        \"\"\""},{"line_number":8471,"context_line":"        self.neutron \u003d self.useFixture("},{"line_number":8472,"context_line":"            nova_fixtures.ExtendedResourceRequestNeutronFixture(self))"},{"line_number":8473,"context_line":"        ex \u003d self.assertRaises("},{"line_number":8474,"context_line":"            client.OpenStackApiException,"},{"line_number":8475,"context_line":"            self._create_server,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9009209c_ed8b3ef0","line":8472,"updated":"2021-07-20 17:24:37.000000000","message":"Yeah, this fixture should definitely be local to here","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6cab242c3e13cb95ac985ff6e77308279ca9dacc","unresolved":false,"context_lines":[{"line_number":8469,"context_line":"        this as a deployment configuration error."},{"line_number":8470,"context_line":"        \"\"\""},{"line_number":8471,"context_line":"        self.neutron \u003d self.useFixture("},{"line_number":8472,"context_line":"            nova_fixtures.ExtendedResourceRequestNeutronFixture(self))"},{"line_number":8473,"context_line":"        ex \u003d self.assertRaises("},{"line_number":8474,"context_line":"            client.OpenStackApiException,"},{"line_number":8475,"context_line":"            self._create_server,"}],"source_content_type":"text/x-python","patch_set":12,"id":"14b8f122_2060d1cf","line":8472,"in_reply_to":"9009209c_ed8b3ef0","updated":"2021-07-22 13:20:31.000000000","message":"Done","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"}],"nova/utils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"98a3293602ca681c1ad91e04d249bbadbcbe11db","unresolved":true,"context_lines":[{"line_number":1162,"context_line":"    functional test environment."},{"line_number":1163,"context_line":"    \"\"\""},{"line_number":1164,"context_line":"    resource_request \u003d port.get(\u0027resource_request\u0027, {})"},{"line_number":1165,"context_line":"    return not resource_request.get(\u0027request_groups\u0027, [])"}],"source_content_type":"text/x-python","patch_set":12,"id":"3cb1d159_3d332d7b","line":1165,"updated":"2021-07-20 17:24:37.000000000","message":"I really don\u0027t think this belongs in here. \u0027neutron.network.utils\u0027, if anything, but even then unless this has a lot of callers I\u0027d just fold it into the site of the caller","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6cab242c3e13cb95ac985ff6e77308279ca9dacc","unresolved":false,"context_lines":[{"line_number":1162,"context_line":"    functional test environment."},{"line_number":1163,"context_line":"    \"\"\""},{"line_number":1164,"context_line":"    resource_request \u003d port.get(\u0027resource_request\u0027, {})"},{"line_number":1165,"context_line":"    return not resource_request.get(\u0027request_groups\u0027, [])"}],"source_content_type":"text/x-python","patch_set":12,"id":"683da87c_4175db2e","line":1165,"in_reply_to":"3cb1d159_3d332d7b","updated":"2021-07-22 13:20:31.000000000","message":"I need to keep it in a separate function for mockability. As it is only called from the interface attach api I can move this function there.","commit_id":"915d71336eb2d2acf68eb2054d910ed0f96a52a5"}]}
