)]}'
{"nova/compute/api.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d1671af1ed776ab960c3a88268537401b69c5d80","unresolved":true,"context_lines":[{"line_number":3861,"context_line":"        :param instance: Instance object being resized"},{"line_number":3862,"context_line":"        :returns: True if cross-cell resize is allowed, False otherwise"},{"line_number":3863,"context_line":"        \"\"\""},{"line_number":3864,"context_line":"        # TODO(gibi): not allow cross cell migration if the instane has"},{"line_number":3865,"context_line":"        # neutron ports with resource request. See bug 1907522."},{"line_number":3866,"context_line":"        # First check to see if the requesting project/user is allowed by"},{"line_number":3867,"context_line":"        # policy to perform cross-cell resize."}],"source_content_type":"text/x-python","patch_set":3,"id":"14e096e1_d417b153","line":3864,"range":{"start_line":3864,"start_character":22,"end_line":3864,"end_character":25},"updated":"2020-12-15 12:13:27.000000000","message":"do not","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4ea0c1308e93233ebc02beff2971ff2b1b4f7c4c","unresolved":false,"context_lines":[{"line_number":3861,"context_line":"        :param instance: Instance object being resized"},{"line_number":3862,"context_line":"        :returns: True if cross-cell resize is allowed, False otherwise"},{"line_number":3863,"context_line":"        \"\"\""},{"line_number":3864,"context_line":"        # TODO(gibi): not allow cross cell migration if the instane has"},{"line_number":3865,"context_line":"        # neutron ports with resource request. See bug 1907522."},{"line_number":3866,"context_line":"        # First check to see if the requesting project/user is allowed by"},{"line_number":3867,"context_line":"        # policy to perform cross-cell resize."}],"source_content_type":"text/x-python","patch_set":3,"id":"19b1008d_e4858812","line":3864,"range":{"start_line":3864,"start_character":22,"end_line":3864,"end_character":25},"in_reply_to":"14e096e1_d417b153","updated":"2020-12-16 16:12:24.000000000","message":"Done","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"841948f22bab5bddb880f815169de083b7cb6732","unresolved":false,"context_lines":[{"line_number":3861,"context_line":"        :param instance: Instance object being resized"},{"line_number":3862,"context_line":"        :returns: True if cross-cell resize is allowed, False otherwise"},{"line_number":3863,"context_line":"        \"\"\""},{"line_number":3864,"context_line":"        # TODO(gibi): do not allow cross cell migration if the instance has"},{"line_number":3865,"context_line":"        # neutron ports with resource request. See bug 1907522."},{"line_number":3866,"context_line":"        # First check to see if the requesting project/user is allowed by"},{"line_number":3867,"context_line":"        # policy to perform cross-cell resize."},{"line_number":3868,"context_line":"        allowed \u003d context.can("}],"source_content_type":"text/x-python","patch_set":4,"id":"09e77869_997c9b90","line":3865,"range":{"start_line":3864,"start_character":0,"end_line":3865,"end_character":63},"updated":"2020-12-21 12:29:31.000000000","message":"Nice, I should really do this more when adding a functional test.","commit_id":"f96ade2726c4ff91690064e9ae228fa12e618540"}],"nova/tests/functional/test_servers.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3b86702e87866e64b51f3a62ca3c812dd5a0529f","unresolved":true,"context_lines":[{"line_number":7966,"context_line":"        self.compute2_service_id \u003d self.admin_api.get_services("},{"line_number":7967,"context_line":"            host\u003d\u0027host2\u0027, binary\u003d\u0027nova-compute\u0027)[0][\u0027id\u0027]"},{"line_number":7968,"context_line":""},{"line_number":7969,"context_line":"        # create a bigger flavor to use in resize test"},{"line_number":7970,"context_line":"        self.flavor_with_group_policy_bigger \u003d self.admin_api.post_flavor("},{"line_number":7971,"context_line":"            {\u0027flavor\u0027: {"},{"line_number":7972,"context_line":"                \u0027ram\u0027: self.flavor_with_group_policy[\u0027ram\u0027],"},{"line_number":7973,"context_line":"                \u0027vcpus\u0027: self.flavor_with_group_policy[\u0027vcpus\u0027],"},{"line_number":7974,"context_line":"                \u0027name\u0027: self.flavor_with_group_policy[\u0027name\u0027] + \u0027+\u0027,"},{"line_number":7975,"context_line":"                \u0027disk\u0027: self.flavor_with_group_policy[\u0027disk\u0027] + 1,"},{"line_number":7976,"context_line":"            }})"},{"line_number":7977,"context_line":"        self.admin_api.post_extra_spec("},{"line_number":7978,"context_line":"            self.flavor_with_group_policy_bigger[\u0027id\u0027],"},{"line_number":7979,"context_line":"            {\u0027extra_specs\u0027: {\u0027group_policy\u0027: \u0027isolate\u0027}})"},{"line_number":7980,"context_line":""},{"line_number":7981,"context_line":"        from nova.policies import base as base_policies"},{"line_number":7982,"context_line":"        from nova.policies import servers as servers_policies"}],"source_content_type":"text/x-python","patch_set":1,"id":"20530f1e_517ce773","line":7979,"range":{"start_line":7969,"start_character":1,"end_line":7979,"end_character":57},"updated":"2020-12-11 20:47:41.000000000","message":"unused","commit_id":"6135b5c510b1df212951c85d5f6022cf6ab5a941"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0b9978256500afeaca17991c39a8b4890a3423dc","unresolved":false,"context_lines":[{"line_number":7966,"context_line":"        self.compute2_service_id \u003d self.admin_api.get_services("},{"line_number":7967,"context_line":"            host\u003d\u0027host2\u0027, binary\u003d\u0027nova-compute\u0027)[0][\u0027id\u0027]"},{"line_number":7968,"context_line":""},{"line_number":7969,"context_line":"        # create a bigger flavor to use in resize test"},{"line_number":7970,"context_line":"        self.flavor_with_group_policy_bigger \u003d self.admin_api.post_flavor("},{"line_number":7971,"context_line":"            {\u0027flavor\u0027: {"},{"line_number":7972,"context_line":"                \u0027ram\u0027: self.flavor_with_group_policy[\u0027ram\u0027],"},{"line_number":7973,"context_line":"                \u0027vcpus\u0027: self.flavor_with_group_policy[\u0027vcpus\u0027],"},{"line_number":7974,"context_line":"                \u0027name\u0027: self.flavor_with_group_policy[\u0027name\u0027] + \u0027+\u0027,"},{"line_number":7975,"context_line":"                \u0027disk\u0027: self.flavor_with_group_policy[\u0027disk\u0027] + 1,"},{"line_number":7976,"context_line":"            }})"},{"line_number":7977,"context_line":"        self.admin_api.post_extra_spec("},{"line_number":7978,"context_line":"            self.flavor_with_group_policy_bigger[\u0027id\u0027],"},{"line_number":7979,"context_line":"            {\u0027extra_specs\u0027: {\u0027group_policy\u0027: \u0027isolate\u0027}})"},{"line_number":7980,"context_line":""},{"line_number":7981,"context_line":"        from nova.policies import base as base_policies"},{"line_number":7982,"context_line":"        from nova.policies import servers as servers_policies"}],"source_content_type":"text/x-python","patch_set":1,"id":"22f69071_f13dfeea","line":7979,"range":{"start_line":7969,"start_character":1,"end_line":7979,"end_character":57},"in_reply_to":"20530f1e_517ce773","updated":"2020-12-14 08:41:57.000000000","message":"Done","commit_id":"6135b5c510b1df212951c85d5f6022cf6ab5a941"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3b86702e87866e64b51f3a62ca3c812dd5a0529f","unresolved":true,"context_lines":[{"line_number":7978,"context_line":"            self.flavor_with_group_policy_bigger[\u0027id\u0027],"},{"line_number":7979,"context_line":"            {\u0027extra_specs\u0027: {\u0027group_policy\u0027: \u0027isolate\u0027}})"},{"line_number":7980,"context_line":""},{"line_number":7981,"context_line":"        from nova.policies import base as base_policies"},{"line_number":7982,"context_line":"        from nova.policies import servers as servers_policies"},{"line_number":7983,"context_line":""},{"line_number":7984,"context_line":"        # Enable cross-cell resize policy since it defaults to not allow"},{"line_number":7985,"context_line":"        # anyone to perform that type of operation. For these tests we\u0027ll"}],"source_content_type":"text/x-python","patch_set":1,"id":"7d562f26_ddace55c","line":7982,"range":{"start_line":7981,"start_character":8,"end_line":7982,"end_character":61},"updated":"2020-12-11 20:47:41.000000000","message":"move to the top","commit_id":"6135b5c510b1df212951c85d5f6022cf6ab5a941"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0b9978256500afeaca17991c39a8b4890a3423dc","unresolved":false,"context_lines":[{"line_number":7978,"context_line":"            self.flavor_with_group_policy_bigger[\u0027id\u0027],"},{"line_number":7979,"context_line":"            {\u0027extra_specs\u0027: {\u0027group_policy\u0027: \u0027isolate\u0027}})"},{"line_number":7980,"context_line":""},{"line_number":7981,"context_line":"        from nova.policies import base as base_policies"},{"line_number":7982,"context_line":"        from nova.policies import servers as servers_policies"},{"line_number":7983,"context_line":""},{"line_number":7984,"context_line":"        # Enable cross-cell resize policy since it defaults to not allow"},{"line_number":7985,"context_line":"        # anyone to perform that type of operation. For these tests we\u0027ll"}],"source_content_type":"text/x-python","patch_set":1,"id":"d19db1c6_b865382a","line":7982,"range":{"start_line":7981,"start_character":8,"end_line":7982,"end_character":61},"in_reply_to":"7d562f26_ddace55c","updated":"2020-12-14 08:41:57.000000000","message":"Done","commit_id":"6135b5c510b1df212951c85d5f6022cf6ab5a941"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3b86702e87866e64b51f3a62ca3c812dd5a0529f","unresolved":true,"context_lines":[{"line_number":8034,"context_line":"            self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":8035,"context_line":"            event \u003d self._wait_for_action_fail_completion("},{"line_number":8036,"context_line":"                server, \u0027migrate\u0027, \u0027conductor_migrate_server\u0027)"},{"line_number":8037,"context_line":"            # This is the last just the last exception in the chain of"},{"line_number":8038,"context_line":"            # exceptions happening after the port binding fails."},{"line_number":8039,"context_line":"            self.assertIn("},{"line_number":8040,"context_line":"                \u0027exception.InstanceInfoCacheNotFound\u0027, event[\u0027traceback\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9cccfc20_969eb408","line":8037,"range":{"start_line":8037,"start_character":22,"end_line":8037,"end_character":31},"updated":"2020-12-11 20:47:41.000000000","message":"drop","commit_id":"6135b5c510b1df212951c85d5f6022cf6ab5a941"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0b9978256500afeaca17991c39a8b4890a3423dc","unresolved":false,"context_lines":[{"line_number":8034,"context_line":"            self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":8035,"context_line":"            event \u003d self._wait_for_action_fail_completion("},{"line_number":8036,"context_line":"                server, \u0027migrate\u0027, \u0027conductor_migrate_server\u0027)"},{"line_number":8037,"context_line":"            # This is the last just the last exception in the chain of"},{"line_number":8038,"context_line":"            # exceptions happening after the port binding fails."},{"line_number":8039,"context_line":"            self.assertIn("},{"line_number":8040,"context_line":"                \u0027exception.InstanceInfoCacheNotFound\u0027, event[\u0027traceback\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"602b49f5_dde9c399","line":8037,"range":{"start_line":8037,"start_character":22,"end_line":8037,"end_character":31},"in_reply_to":"9cccfc20_969eb408","updated":"2020-12-14 08:41:57.000000000","message":"Done","commit_id":"6135b5c510b1df212951c85d5f6022cf6ab5a941"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d1671af1ed776ab960c3a88268537401b69c5d80","unresolved":true,"context_lines":[{"line_number":7982,"context_line":"        To test this properly we first make sure that there is no valid host"},{"line_number":7983,"context_line":"        in the same cell but there is valid host in another cell and observe"},{"line_number":7984,"context_line":"        that the migration fails with NoValidHost. Then we start a new compute"},{"line_number":7985,"context_line":"        in the same cell the instance is and retry the migration that is now"},{"line_number":7986,"context_line":"        expected to pass."},{"line_number":7987,"context_line":"        \"\"\""},{"line_number":7988,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"96987d7b_74fd77ae","line":7985,"range":{"start_line":7985,"start_character":38,"end_line":7985,"end_character":40},"updated":"2020-12-15 12:13:27.000000000","message":"is in","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4ea0c1308e93233ebc02beff2971ff2b1b4f7c4c","unresolved":false,"context_lines":[{"line_number":7982,"context_line":"        To test this properly we first make sure that there is no valid host"},{"line_number":7983,"context_line":"        in the same cell but there is valid host in another cell and observe"},{"line_number":7984,"context_line":"        that the migration fails with NoValidHost. Then we start a new compute"},{"line_number":7985,"context_line":"        in the same cell the instance is and retry the migration that is now"},{"line_number":7986,"context_line":"        expected to pass."},{"line_number":7987,"context_line":"        \"\"\""},{"line_number":7988,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"e56bf771_da3d9c07","line":7985,"range":{"start_line":7985,"start_character":38,"end_line":7985,"end_character":40},"in_reply_to":"96987d7b_74fd77ae","updated":"2020-12-16 16:12:24.000000000","message":"Done","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d1671af1ed776ab960c3a88268537401b69c5d80","unresolved":true,"context_lines":[{"line_number":8005,"context_line":"        # ports in a real deployment. So to reproduce that bug we need to have"},{"line_number":8006,"context_line":"        # the same check in our test env too."},{"line_number":8007,"context_line":"        def spy_on_create_binding(context, client, port_id, data):"},{"line_number":8008,"context_line":"            host \u003d data[\u0027binding\u0027][\u0027host\u0027]"},{"line_number":8009,"context_line":"            host_rp_uuid \u003d hosts[host]"},{"line_number":8010,"context_line":"            device_rp_uuid \u003d data[\u0027binding\u0027][\u0027profile\u0027].get(\u0027allocation\u0027)"},{"line_number":8011,"context_line":"            if port_id \u003d\u003d qos_normal_port[\u0027id\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"89ad40f8_4459d153","line":8008,"range":{"start_line":8008,"start_character":19,"end_line":8008,"end_character":42},"updated":"2020-12-15 12:13:27.000000000","message":"nit: could fold this in below","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4ea0c1308e93233ebc02beff2971ff2b1b4f7c4c","unresolved":false,"context_lines":[{"line_number":8005,"context_line":"        # ports in a real deployment. So to reproduce that bug we need to have"},{"line_number":8006,"context_line":"        # the same check in our test env too."},{"line_number":8007,"context_line":"        def spy_on_create_binding(context, client, port_id, data):"},{"line_number":8008,"context_line":"            host \u003d data[\u0027binding\u0027][\u0027host\u0027]"},{"line_number":8009,"context_line":"            host_rp_uuid \u003d hosts[host]"},{"line_number":8010,"context_line":"            device_rp_uuid \u003d data[\u0027binding\u0027][\u0027profile\u0027].get(\u0027allocation\u0027)"},{"line_number":8011,"context_line":"            if port_id \u003d\u003d qos_normal_port[\u0027id\u0027]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"107557e5_2dd524c1","line":8008,"range":{"start_line":8008,"start_character":19,"end_line":8008,"end_character":42},"in_reply_to":"89ad40f8_4459d153","updated":"2020-12-16 16:12:24.000000000","message":"Done","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d1671af1ed776ab960c3a88268537401b69c5d80","unresolved":true,"context_lines":[{"line_number":8009,"context_line":"            host_rp_uuid \u003d hosts[host]"},{"line_number":8010,"context_line":"            device_rp_uuid \u003d data[\u0027binding\u0027][\u0027profile\u0027].get(\u0027allocation\u0027)"},{"line_number":8011,"context_line":"            if port_id \u003d\u003d qos_normal_port[\u0027id\u0027]:"},{"line_number":8012,"context_line":"                if self.ovs_bridge_rp_per_host[host_rp_uuid] !\u003d device_rp_uuid:"},{"line_number":8013,"context_line":"                    raise exception.PortBindingFailed(port_id\u003dport_id)"},{"line_number":8014,"context_line":"            if port_id \u003d\u003d qos_sriov_port[\u0027id\u0027]:"},{"line_number":8015,"context_line":"                if (device_rp_uuid not in"}],"source_content_type":"text/x-python","patch_set":3,"id":"e40e6dd4_512382a8","line":8012,"range":{"start_line":8012,"start_character":19,"end_line":8012,"end_character":79},"updated":"2020-12-15 12:13:27.000000000","message":"nit: I\u0027d switch this around. The way this is written makes it read like it\u0027s the value of \u0027ovs_bridge_rp_per_host[host_rp_uuid]\u0027 that\u0027s incorrect, personally.","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4ea0c1308e93233ebc02beff2971ff2b1b4f7c4c","unresolved":false,"context_lines":[{"line_number":8009,"context_line":"            host_rp_uuid \u003d hosts[host]"},{"line_number":8010,"context_line":"            device_rp_uuid \u003d data[\u0027binding\u0027][\u0027profile\u0027].get(\u0027allocation\u0027)"},{"line_number":8011,"context_line":"            if port_id \u003d\u003d qos_normal_port[\u0027id\u0027]:"},{"line_number":8012,"context_line":"                if self.ovs_bridge_rp_per_host[host_rp_uuid] !\u003d device_rp_uuid:"},{"line_number":8013,"context_line":"                    raise exception.PortBindingFailed(port_id\u003dport_id)"},{"line_number":8014,"context_line":"            if port_id \u003d\u003d qos_sriov_port[\u0027id\u0027]:"},{"line_number":8015,"context_line":"                if (device_rp_uuid not in"}],"source_content_type":"text/x-python","patch_set":3,"id":"6c0a0d8c_52f2678a","line":8012,"range":{"start_line":8012,"start_character":19,"end_line":8012,"end_character":79},"in_reply_to":"e40e6dd4_512382a8","updated":"2020-12-16 16:12:24.000000000","message":"Done","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d1671af1ed776ab960c3a88268537401b69c5d80","unresolved":true,"context_lines":[{"line_number":8011,"context_line":"            if port_id \u003d\u003d qos_normal_port[\u0027id\u0027]:"},{"line_number":8012,"context_line":"                if self.ovs_bridge_rp_per_host[host_rp_uuid] !\u003d device_rp_uuid:"},{"line_number":8013,"context_line":"                    raise exception.PortBindingFailed(port_id\u003dport_id)"},{"line_number":8014,"context_line":"            if port_id \u003d\u003d qos_sriov_port[\u0027id\u0027]:"},{"line_number":8015,"context_line":"                if (device_rp_uuid not in"},{"line_number":8016,"context_line":"                        self.sriov_dev_rp_per_host[host_rp_uuid].values()):"},{"line_number":8017,"context_line":"                    raise exception.PortBindingFailed(port_id\u003dport_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"8424e2e0_e55a6dab","line":8014,"range":{"start_line":8014,"start_character":12,"end_line":8014,"end_character":14},"updated":"2020-12-15 12:13:27.000000000","message":"elif","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4ea0c1308e93233ebc02beff2971ff2b1b4f7c4c","unresolved":false,"context_lines":[{"line_number":8011,"context_line":"            if port_id \u003d\u003d qos_normal_port[\u0027id\u0027]:"},{"line_number":8012,"context_line":"                if self.ovs_bridge_rp_per_host[host_rp_uuid] !\u003d device_rp_uuid:"},{"line_number":8013,"context_line":"                    raise exception.PortBindingFailed(port_id\u003dport_id)"},{"line_number":8014,"context_line":"            if port_id \u003d\u003d qos_sriov_port[\u0027id\u0027]:"},{"line_number":8015,"context_line":"                if (device_rp_uuid not in"},{"line_number":8016,"context_line":"                        self.sriov_dev_rp_per_host[host_rp_uuid].values()):"},{"line_number":8017,"context_line":"                    raise exception.PortBindingFailed(port_id\u003dport_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"55605f56_c267e949","line":8014,"range":{"start_line":8014,"start_character":12,"end_line":8014,"end_character":14},"in_reply_to":"8424e2e0_e55a6dab","updated":"2020-12-16 16:12:24.000000000","message":"Done","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d1671af1ed776ab960c3a88268537401b69c5d80","unresolved":true,"context_lines":[{"line_number":8019,"context_line":"            return orig_create_binding(context, client, port_id, data)"},{"line_number":8020,"context_line":""},{"line_number":8021,"context_line":"        with mock.patch("},{"line_number":8022,"context_line":"                \u0027nova.network.neutron.API._create_port_binding\u0027,"},{"line_number":8023,"context_line":"                side_effect\u003dspy_on_create_binding, autospec\u003dTrue"},{"line_number":8024,"context_line":"        ):"},{"line_number":8025,"context_line":"            # We expect the migration to fail as the only available target"}],"source_content_type":"text/x-python","patch_set":3,"id":"2644bbc3_b642c5d3","line":8022,"range":{"start_line":8022,"start_character":12,"end_line":8022,"end_character":16},"updated":"2020-12-15 12:13:27.000000000","message":"nit","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4ea0c1308e93233ebc02beff2971ff2b1b4f7c4c","unresolved":false,"context_lines":[{"line_number":8019,"context_line":"            return orig_create_binding(context, client, port_id, data)"},{"line_number":8020,"context_line":""},{"line_number":8021,"context_line":"        with mock.patch("},{"line_number":8022,"context_line":"                \u0027nova.network.neutron.API._create_port_binding\u0027,"},{"line_number":8023,"context_line":"                side_effect\u003dspy_on_create_binding, autospec\u003dTrue"},{"line_number":8024,"context_line":"        ):"},{"line_number":8025,"context_line":"            # We expect the migration to fail as the only available target"}],"source_content_type":"text/x-python","patch_set":3,"id":"17e15f3b_fd86db4c","line":8022,"range":{"start_line":8022,"start_character":12,"end_line":8022,"end_character":16},"in_reply_to":"2644bbc3_b642c5d3","updated":"2020-12-16 16:12:24.000000000","message":"Done","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d1671af1ed776ab960c3a88268537401b69c5d80","unresolved":true,"context_lines":[{"line_number":8029,"context_line":"            # We expect this to fail with NoValidHost. Unfortunately it fails"},{"line_number":8030,"context_line":"            # due to sending an invalid port binding to Neutron today. This is"},{"line_number":8031,"context_line":"            # bug 1907522."},{"line_number":8032,"context_line":"            self.api.post_server_action(server[\u0027id\u0027], {\u0027migrate\u0027: None})"},{"line_number":8033,"context_line":"            self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":8034,"context_line":"            # This is also the result of the bug1907522 as the cleanup after"},{"line_number":8035,"context_line":"            # the failure is incomplete."},{"line_number":8036,"context_line":"            self._wait_for_server_parameter("}],"source_content_type":"text/x-python","patch_set":3,"id":"9308aa01_37519ea3","line":8033,"range":{"start_line":8032,"start_character":0,"end_line":8033,"end_character":62},"updated":"2020-12-15 12:13:27.000000000","message":"I assume you can\u0027t use \u0027self._migrate_server\u0027 here?\n\nLater: Oh, that doesn\u0027t support a non-success status yet. Odd.","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5fb2607d750f967658bdc746faec548b1d77aeb9","unresolved":false,"context_lines":[{"line_number":8029,"context_line":"            # We expect this to fail with NoValidHost. Unfortunately it fails"},{"line_number":8030,"context_line":"            # due to sending an invalid port binding to Neutron today. This is"},{"line_number":8031,"context_line":"            # bug 1907522."},{"line_number":8032,"context_line":"            self.api.post_server_action(server[\u0027id\u0027], {\u0027migrate\u0027: None})"},{"line_number":8033,"context_line":"            self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":8034,"context_line":"            # This is also the result of the bug1907522 as the cleanup after"},{"line_number":8035,"context_line":"            # the failure is incomplete."},{"line_number":8036,"context_line":"            self._wait_for_server_parameter("}],"source_content_type":"text/x-python","patch_set":3,"id":"111d7b7e_1a22a47e","line":8033,"range":{"start_line":8032,"start_character":0,"end_line":8033,"end_character":62},"in_reply_to":"7e38ac2f_ccb1f96e","updated":"2020-12-17 10:37:26.000000000","message":"Ack","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4ea0c1308e93233ebc02beff2971ff2b1b4f7c4c","unresolved":true,"context_lines":[{"line_number":8029,"context_line":"            # We expect this to fail with NoValidHost. Unfortunately it fails"},{"line_number":8030,"context_line":"            # due to sending an invalid port binding to Neutron today. This is"},{"line_number":8031,"context_line":"            # bug 1907522."},{"line_number":8032,"context_line":"            self.api.post_server_action(server[\u0027id\u0027], {\u0027migrate\u0027: None})"},{"line_number":8033,"context_line":"            self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":8034,"context_line":"            # This is also the result of the bug1907522 as the cleanup after"},{"line_number":8035,"context_line":"            # the failure is incomplete."},{"line_number":8036,"context_line":"            self._wait_for_server_parameter("}],"source_content_type":"text/x-python","patch_set":3,"id":"7e38ac2f_ccb1f96e","line":8033,"range":{"start_line":8032,"start_character":0,"end_line":8033,"end_character":62},"in_reply_to":"9308aa01_37519ea3","updated":"2020-12-16 16:12:24.000000000","message":"yeah, we need to assert failure here.","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d1671af1ed776ab960c3a88268537401b69c5d80","unresolved":true,"context_lines":[{"line_number":8032,"context_line":"            self.api.post_server_action(server[\u0027id\u0027], {\u0027migrate\u0027: None})"},{"line_number":8033,"context_line":"            self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":8034,"context_line":"            # This is also the result of the bug1907522 as the cleanup after"},{"line_number":8035,"context_line":"            # the failure is incomplete."},{"line_number":8036,"context_line":"            self._wait_for_server_parameter("},{"line_number":8037,"context_line":"                server,"},{"line_number":8038,"context_line":"                {\u0027status\u0027: \u0027RESIZE\u0027, \u0027OS-EXT-STS:task_state\u0027: \u0027resize_prep\u0027})"}],"source_content_type":"text/x-python","patch_set":3,"id":"f8cc3456_ab6ba23b","line":8035,"updated":"2020-12-15 12:13:27.000000000","message":"I assume you\u0027re not keeping this as-is. If so, could we get a FIXME?","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4ea0c1308e93233ebc02beff2971ff2b1b4f7c4c","unresolved":false,"context_lines":[{"line_number":8032,"context_line":"            self.api.post_server_action(server[\u0027id\u0027], {\u0027migrate\u0027: None})"},{"line_number":8033,"context_line":"            self._wait_for_migration_status(server, [\u0027error\u0027])"},{"line_number":8034,"context_line":"            # This is also the result of the bug1907522 as the cleanup after"},{"line_number":8035,"context_line":"            # the failure is incomplete."},{"line_number":8036,"context_line":"            self._wait_for_server_parameter("},{"line_number":8037,"context_line":"                server,"},{"line_number":8038,"context_line":"                {\u0027status\u0027: \u0027RESIZE\u0027, \u0027OS-EXT-STS:task_state\u0027: \u0027resize_prep\u0027})"}],"source_content_type":"text/x-python","patch_set":3,"id":"a1df8050_db0b8a91","line":8035,"in_reply_to":"f8cc3456_ab6ba23b","updated":"2020-12-16 16:12:24.000000000","message":"Done","commit_id":"dbb41fbe1505cbfa1381c96883549396d19c15be"}]}
