)]}'
{"nova/conductor/tasks/live_migrate.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"510a6340a88a4995fbd5199de0427689e87488b2","unresolved":false,"context_lines":[{"line_number":354,"context_line":"                host \u003d None"},{"line_number":355,"context_line":"        return host"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def _remove_host_allocations(self, host, node):"},{"line_number":358,"context_line":"        \"\"\"Removes instance allocations against the given host from Placement"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        :param host: The name of the host."}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_78cea363","line":357,"updated":"2017-08-30 08:44:16.000000000","message":"I\u0027m wondering if we want to add unit test coverage for this function.","commit_id":"0d1e5663e56446ee618fdd0d7acb96e575404e67"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a7de620dcb749d5a19d462a409d315abfe311a7d","unresolved":false,"context_lines":[{"line_number":354,"context_line":"                host \u003d None"},{"line_number":355,"context_line":"        return host"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def _remove_host_allocations(self, host, node):"},{"line_number":358,"context_line":"        \"\"\"Removes instance allocations against the given host from Placement"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        :param host: The name of the host."}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_ae3f1385","line":357,"in_reply_to":"7f287b81_78cea363","updated":"2017-08-30 18:13:49.000000000","message":"The functional test changed in this patch covers the happy path, and I\u0027ve added a unit test for the ComputeHostNotFound case, so I think we\u0027re good.","commit_id":"0d1e5663e56446ee618fdd0d7acb96e575404e67"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"dd3c35721a64912594b7a8a332facc8cc9fbdde8","unresolved":false,"context_lines":[{"line_number":354,"context_line":"                host \u003d None"},{"line_number":355,"context_line":"        return host"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def _remove_host_allocations(self, host, node):"},{"line_number":358,"context_line":"        \"\"\"Removes instance allocations against the given host from Placement"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        :param host: The name of the host."}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_9c91234a","line":357,"in_reply_to":"7f287b81_ae3f1385","updated":"2017-08-31 08:13:29.000000000","message":"you are right, I missed that the functional test adds coverage as well.","commit_id":"0d1e5663e56446ee618fdd0d7acb96e575404e67"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"d0e9d0a8dcf32d7d8846c52034f005b94e05b613","unresolved":false,"context_lines":[{"line_number":379,"context_line":"        resources \u003d scheduler_utils.resources_from_flavor("},{"line_number":380,"context_line":"            self.instance, self.instance.flavor)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        # Now remove the allocations for our instance against that node."},{"line_number":383,"context_line":"        self.scheduler_client.reportclient.\\"},{"line_number":384,"context_line":"            remove_provider_from_instance_allocation("},{"line_number":385,"context_line":"                self.instance.uuid, compute_node.uuid, self.instance.user_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_1f509e0a","line":382,"updated":"2017-08-30 13:48:31.000000000","message":"I think it is worthwhile being more explicit in this comment about the important/clever part of what is going on here: we\u0027re leaving behind the allocations from any other compute node and any shared providers. Your current comment implies that but imagine how it would be if you didn\u0027t know the fancy stuff that\u0027s going on?\n\n(As an aside, I\u0027m curious see/hear how nested providers are going to play with all this)","commit_id":"0d1e5663e56446ee618fdd0d7acb96e575404e67"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a7de620dcb749d5a19d462a409d315abfe311a7d","unresolved":false,"context_lines":[{"line_number":379,"context_line":"        resources \u003d scheduler_utils.resources_from_flavor("},{"line_number":380,"context_line":"            self.instance, self.instance.flavor)"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        # Now remove the allocations for our instance against that node."},{"line_number":383,"context_line":"        self.scheduler_client.reportclient.\\"},{"line_number":384,"context_line":"            remove_provider_from_instance_allocation("},{"line_number":385,"context_line":"                self.instance.uuid, compute_node.uuid, self.instance.user_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_ee62bbad","line":382,"in_reply_to":"7f287b81_1f509e0a","updated":"2017-08-30 18:13:49.000000000","message":"I can fill out the comment a bit to mention allocations against this provider for this instance are only removed, any allocations on the source node or shared providers are left intact.","commit_id":"0d1e5663e56446ee618fdd0d7acb96e575404e67"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"510a6340a88a4995fbd5199de0427689e87488b2","unresolved":false,"context_lines":[{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        # Now remove the allocations for our instance against that node."},{"line_number":383,"context_line":"        self.scheduler_client.reportclient.\\"},{"line_number":384,"context_line":"            remove_provider_from_instance_allocation("},{"line_number":385,"context_line":"                self.instance.uuid, compute_node.uuid, self.instance.user_id,"},{"line_number":386,"context_line":"                self.instance.project_id, resources)"},{"line_number":387,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_98014f6d","line":384,"range":{"start_line":384,"start_character":12,"end_line":384,"end_character":52},"updated":"2017-08-30 08:44:16.000000000","message":"This function has a doc that mentions where this function is called from and now there is this new place so that doc should be updated.\n\nAlso this call has a return value but as I see the remove_provider_from_instance_allocation already logs the errors and here we could not do more. So for me it is OK not to check the return value.","commit_id":"0d1e5663e56446ee618fdd0d7acb96e575404e67"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"d0e9d0a8dcf32d7d8846c52034f005b94e05b613","unresolved":false,"context_lines":[{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        # Now remove the allocations for our instance against that node."},{"line_number":383,"context_line":"        self.scheduler_client.reportclient.\\"},{"line_number":384,"context_line":"            remove_provider_from_instance_allocation("},{"line_number":385,"context_line":"                self.instance.uuid, compute_node.uuid, self.instance.user_id,"},{"line_number":386,"context_line":"                self.instance.project_id, resources)"},{"line_number":387,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_e439c5f1","line":384,"in_reply_to":"7f287b81_98014f6d","updated":"2017-08-30 13:48:31.000000000","message":"Yeah, I think the doc should be updated, probably to say something more generic, rather than trying to enumerate all the places.","commit_id":"0d1e5663e56446ee618fdd0d7acb96e575404e67"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a7de620dcb749d5a19d462a409d315abfe311a7d","unresolved":false,"context_lines":[{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        # Now remove the allocations for our instance against that node."},{"line_number":383,"context_line":"        self.scheduler_client.reportclient.\\"},{"line_number":384,"context_line":"            remove_provider_from_instance_allocation("},{"line_number":385,"context_line":"                self.instance.uuid, compute_node.uuid, self.instance.user_id,"},{"line_number":386,"context_line":"                self.instance.project_id, resources)"},{"line_number":387,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_6e76cb72","line":384,"in_reply_to":"7f287b81_e439c5f1","updated":"2017-08-30 18:13:49.000000000","message":"Yeah good point, I had updated the doc before when handling this similar thing for prep_resize failing, and I\u0027m getting tired of enumerating where it\u0027s called from, so I\u0027ll just cleanup the doc.","commit_id":"0d1e5663e56446ee618fdd0d7acb96e575404e67"}],"nova/scheduler/client/report.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"21979f802510f2acdd7582edb3d23a6e81d67799","unresolved":false,"context_lines":[{"line_number":1029,"context_line":"        then PUTs the resulting allocation back to the placement API for the"},{"line_number":1030,"context_line":"        consumer."},{"line_number":1031,"context_line":""},{"line_number":1032,"context_line":"        This is used to reconcile the \"doubled-up\" allocation that the"},{"line_number":1033,"context_line":"        scheduler constructs when claiming resources against the destination"},{"line_number":1034,"context_line":"        host during a move operation."},{"line_number":1035,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_5ea46c08","line":1032,"updated":"2017-09-05 14:19:24.000000000","message":"well, we can surely use a IDE to know where the method is used, for sure :-)","commit_id":"94b904abbad1c9655b6dec1a2e58d73bc913ed47"}],"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":"510a6340a88a4995fbd5199de0427689e87488b2","unresolved":false,"context_lines":[{"line_number":1956,"context_line":""},{"line_number":1957,"context_line":"        allocations \u003d self._get_allocations_by_server_uuid(server[\u0027id\u0027])"},{"line_number":1958,"context_line":"        # There should only be 1 allocation for the instance on the source node"},{"line_number":1959,"context_line":"        self.assertEqual(1, len(allocations))"},{"line_number":1960,"context_line":"        self.assertIn(source_rp_uuid, allocations)"},{"line_number":1961,"context_line":""},{"line_number":1962,"context_line":"        self._delete_and_check_allocations("},{"line_number":1963,"context_line":"            server, source_rp_uuid, dest_rp_uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_b3caec9d","line":1960,"range":{"start_line":1959,"start_character":2,"end_line":1960,"end_character":50},"updated":"2017-08-30 08:44:16.000000000","message":"We could assert that the amount of allocation matches with the instance flavor","commit_id":"0d1e5663e56446ee618fdd0d7acb96e575404e67"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a7de620dcb749d5a19d462a409d315abfe311a7d","unresolved":false,"context_lines":[{"line_number":1956,"context_line":""},{"line_number":1957,"context_line":"        allocations \u003d self._get_allocations_by_server_uuid(server[\u0027id\u0027])"},{"line_number":1958,"context_line":"        # There should only be 1 allocation for the instance on the source node"},{"line_number":1959,"context_line":"        self.assertEqual(1, len(allocations))"},{"line_number":1960,"context_line":"        self.assertIn(source_rp_uuid, allocations)"},{"line_number":1961,"context_line":""},{"line_number":1962,"context_line":"        self._delete_and_check_allocations("},{"line_number":1963,"context_line":"            server, source_rp_uuid, dest_rp_uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_0e6747b9","line":1960,"range":{"start_line":1959,"start_character":2,"end_line":1960,"end_character":50},"in_reply_to":"7f287b81_b3caec9d","updated":"2017-08-30 18:13:49.000000000","message":"Sure.","commit_id":"0d1e5663e56446ee618fdd0d7acb96e575404e67"}]}
