)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"1932f9d2f774b6eb27cc1b2582ad475de4035fbf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"e0b5c8b8_dcf4c387","updated":"2024-10-15 19:34:14.000000000","message":"Do we want to merge WIP changes, since it\u0027s just a feature branch? I\u0027m assuming we\u0027ll aim for a separate `review/mpu` branch when the time comes, yeah?","commit_id":"53f828250b5a9e4b1caecffbd7bb4371ca4a7354"}],"test/functional/test_mpu.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"1932f9d2f774b6eb27cc1b2582ad475de4035fbf","unresolved":true,"context_lines":[{"line_number":166,"context_line":"class TestMPU(BaseTestMPU):"},{"line_number":167,"context_line":"    # tests in this class create MPUs"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    @tf.requires_policies"},{"line_number":170,"context_line":"    def setUp(self):"},{"line_number":171,"context_line":"        super(TestMPU, self).setUp()"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"fd4d82c8_888781d6","line":169,"updated":"2024-10-15 19:34:14.000000000","message":"Does this really require multiple policies? The only reference I see just checks that we get the default policy -- I feel like we could use `get_storage_policy_from_cluster_info` to determine that, or use `mock.ANY` for the assertion.\n\nOr maybe there\u0027s a plan for multi-policy tests later?","commit_id":"53f828250b5a9e4b1caecffbd7bb4371ca4a7354"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"1932f9d2f774b6eb27cc1b2582ad475de4035fbf","unresolved":true,"context_lines":[{"line_number":404,"context_line":""},{"line_number":405,"context_line":"    def setUp(self):"},{"line_number":406,"context_line":"        super(TestExistingMPU, self).setUp()"},{"line_number":407,"context_line":"        # ...but only create an mpu once"},{"line_number":408,"context_line":"        self.num_parts \u003d 2"},{"line_number":409,"context_line":"        if not TestExistingMPU.user_obj:"},{"line_number":410,"context_line":"            user_obj \u003d uuid4().hex"}],"source_content_type":"text/x-python","patch_set":9,"id":"498aafa1_30fd4d4a","line":407,"updated":"2024-10-15 19:34:14.000000000","message":"Should this be in `setUpClass` then?\n\nWhen does this get cleaned up? Over in `tearDownModule` I\u0027m guessing?","commit_id":"53f828250b5a9e4b1caecffbd7bb4371ca4a7354"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"1932f9d2f774b6eb27cc1b2582ad475de4035fbf","unresolved":true,"context_lines":[{"line_number":535,"context_line":"        # TODO: this should be 201 !!!"},{"line_number":536,"context_line":"        # fails because symlink does a HEAD on the MPU manifest and compares"},{"line_number":537,"context_line":"        # that etag with the mpu-etag given as \u0027X-Symlink-Target-Etag\u0027 - and"},{"line_number":538,"context_line":"        # they\u0027re not the same :("},{"line_number":539,"context_line":"        self.assertEqual(409, resp.status, resp.content)"}],"source_content_type":"text/x-python","patch_set":9,"id":"f84e8b4a_0e4275e5","line":538,"updated":"2024-10-15 19:34:14.000000000","message":"Hmm... relatedly, I wonder how SLO handles an MPU as a part...","commit_id":"53f828250b5a9e4b1caecffbd7bb4371ca4a7354"}]}
