)]}'
{"nova/tests/fixtures.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2a4a56195fce5bf13930df874af7fa23e7d0be9a","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"    def put(self, url, data):"},{"line_number":1408,"context_line":"        raw_resp \u003d self.fixture._fake_put("},{"line_number":1409,"context_line":"            None, url, data, version\u003dself.version)"},{"line_number":1410,"context_line":"        # TODO(mriedem): Make the error handling generic for all methods."},{"line_number":1411,"context_line":"        if raw_resp.status_code \u003e\u003d 400:"},{"line_number":1412,"context_line":"            if raw_resp.status_code \u003d\u003d 404:"},{"line_number":1413,"context_line":"                raise client.OpenStackApiNotFoundException("}],"source_content_type":"text/x-python","patch_set":1,"id":"df3967d1_3a54b352","line":1410,"updated":"2017-08-04 03:36:32.000000000","message":"Needed this because I was getting a 404 when trying to put traits on the shared storage provider but I wasn\u0027t using a new enough microversion.","commit_id":"6f60bcfcf3099512e8d67723e6ab0ce7e6e48741"}],"nova/tests/functional/test_servers.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2a4a56195fce5bf13930df874af7fa23e7d0be9a","unresolved":false,"context_lines":[{"line_number":1093,"context_line":""},{"line_number":1094,"context_line":"        placement \u003d self.useFixture(nova_fixtures.PlacementFixture())"},{"line_number":1095,"context_line":"        self.placement_api \u003d placement.api"},{"line_number":1096,"context_line":"        self.placement_api.version \u003d \u0027latest\u0027"},{"line_number":1097,"context_line":"        api_fixture \u003d self.useFixture(nova_fixtures.OSAPIFixture("},{"line_number":1098,"context_line":"            api_version\u003d\u0027v2.1\u0027))"},{"line_number":1099,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df3967d1_9aceff2a","line":1096,"updated":"2017-08-04 03:36:32.000000000","message":"Need this for the traits API in placement.","commit_id":"6f60bcfcf3099512e8d67723e6ab0ce7e6e48741"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b37321f3626212b143247a88b67ab930c64de41e","unresolved":false,"context_lines":[{"line_number":1297,"context_line":"        # we should have exactly the same allocation/usage information as"},{"line_number":1298,"context_line":"        # before running the periodics"},{"line_number":1299,"context_line":""},{"line_number":1300,"context_line":"        # Check usages on the selected host after boot"},{"line_number":1301,"context_line":"        source_usages \u003d self._get_provider_usages(source_rp_uuid)"},{"line_number":1302,"context_line":"        self.assertFlavorMatchesAllocation(flavor, source_usages, shared_disk)"},{"line_number":1303,"context_line":"        if shared_disk:"},{"line_number":1304,"context_line":"            # Check DISK_GB allocations on the shared storage provider."},{"line_number":1305,"context_line":"            ssp_usages \u003d self._get_provider_usages("}],"source_content_type":"text/x-python","patch_set":1,"id":"df3967d1_c548152e","line":1302,"range":{"start_line":1300,"start_character":8,"end_line":1302,"end_character":78},"updated":"2017-08-04 16:00:10.000000000","message":"Actually I\u0027m surprised this doesn\u0027t fail since I\u0027d expect the update_available_resource task on the source compute to think that it needs to allocate disk for the instance it\u0027s hosting:\n\nhttps://github.com/openstack/nova/blob/85cd4574b8347d032be2285a277a0abe4d4a6869/nova/scheduler/client/report.py#L1113\n\nhttps://github.com/openstack/nova/blob/85cd4574b8347d032be2285a277a0abe4d4a6869/nova/scheduler/client/report.py#L159\n\nSo we\u0027re probably hitting this:\n\nhttps://github.com/openstack/nova/blob/85cd4574b8347d032be2285a277a0abe4d4a6869/nova/scheduler/client/report.py#L1086","commit_id":"6f60bcfcf3099512e8d67723e6ab0ce7e6e48741"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"459ec131e111d2a952c871fac5110c5182680ee1","unresolved":false,"context_lines":[{"line_number":1297,"context_line":"        # we should have exactly the same allocation/usage information as"},{"line_number":1298,"context_line":"        # before running the periodics"},{"line_number":1299,"context_line":""},{"line_number":1300,"context_line":"        # Check usages on the selected host after boot"},{"line_number":1301,"context_line":"        source_usages \u003d self._get_provider_usages(source_rp_uuid)"},{"line_number":1302,"context_line":"        self.assertFlavorMatchesAllocation(flavor, source_usages, shared_disk)"},{"line_number":1303,"context_line":"        if shared_disk:"},{"line_number":1304,"context_line":"            # Check DISK_GB allocations on the shared storage provider."},{"line_number":1305,"context_line":"            ssp_usages \u003d self._get_provider_usages("}],"source_content_type":"text/x-python","patch_set":1,"id":"df3967d1_c5cdb585","line":1302,"range":{"start_line":1300,"start_character":8,"end_line":1302,"end_character":78},"in_reply_to":"df3967d1_c548152e","updated":"2017-08-04 16:04:54.000000000","message":"We\u0027d probably need to do something like this:\n\nhttps://review.openstack.org/#/c/488187/3/nova/scheduler/client/report.py\n\nWhere we get all of the allocations for the instance and then sort out if the current compute node allocations are missing some resource class (DISK_GB in this case) compared to the new allocations for the compute node, and if that missing resource class allocation is covered by some other resource provider in the current allocations, then we would probably not want to change those.","commit_id":"6f60bcfcf3099512e8d67723e6ab0ce7e6e48741"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"679e0ec41c3d5643c9a477d297379bcbd62b49be","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"                shared_storage_provider_uuid)"},{"line_number":1381,"context_line":"            # The scheduler sums the disk from the old and new flavor"},{"line_number":1382,"context_line":"            # on the shared storage provider allocation."},{"line_number":1383,"context_line":"            # FIXME(mriedem): There must be a bug here because the shared"},{"line_number":1384,"context_line":"            # storage provider allocation is only 1 which is the old_flavor"},{"line_number":1385,"context_line":"            # disk size, but it should be old + new flavor disk."},{"line_number":1386,"context_line":"            self.assertEqual(old_flavor[\u0027disk\u0027], ssp_usages[\u0027DISK_GB\u0027])"},{"line_number":1387,"context_line":"            # self.assertEqual(old_flavor[\u0027disk\u0027] + new_flavor[\u0027disk\u0027],"},{"line_number":1388,"context_line":"            #                  ssp_usages[\u0027DISK_GB\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf3e73b7_d372e6e3","line":1385,"range":{"start_line":1383,"start_character":12,"end_line":1385,"end_character":64},"updated":"2017-08-04 21:40:29.000000000","message":"OK yeah this is shown in the unit tests for the scheduler move claim:\n\nhttps://review.openstack.org/#/c/490085/7/nova/tests/unit/scheduler/client/test_report.py@361\n\nIf it\u0027s the same host, we sum the disk allocations for a shared storage provider, that\u0027s unit test test_claim_resources_success_resize_to_same_host_with_shared - but if it\u0027s different hosts for the move operation, with shared storage, we don\u0027t sum the disk, which is unit test test_claim_resources_success_move_operation_with_shared.\n\nWe need to be consistent in that behavior I think.","commit_id":"d28143d3b83db11dbf25eab6c18fa96cdee23ecf"}]}
