)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"37808584ac6d8052fab973a4d858f4c2cea36549","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":10,"id":"f80a8aea_cdbd313c","updated":"2024-09-24 20:42:18.000000000","message":"I think I found where the issue might be coming from - line 13639 in this failed output[1] of functional-tips says, \"Request requires an ID but none was found\" when trying to run `functions-common:get_or_add_user_project_role:974`. I was able to get my old devstack setup working again, and I was able to reproduce the issue when I ran functional-tips from tox locally - the `openstackclient.tests.functional.identity.v3.test_role_assignment.RoleAssignmentTests.test_role_assignment_list_inherited` and `openstackclient.tests.functional.identity.v3.test_role_assignment.RoleAssignmentTests.test_role_assignment_list_project` tests fail with the same message in stderr.\n\n[1] https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_878/929712/10/check/osc-functional-devstack-tips/878a065/job-output.txt","commit_id":"7afceb948d833ef826472bfc87e3bda7882a4830"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9094d7be2808e1eb376ba799626dd9985120f95f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"bda93a67_8e5e43af","updated":"2024-09-24 17:23:17.000000000","message":"I took a look at this. I think this is your issue:\n\n```\n2024-09-23 20:58:54.932540 | controller | + functions-common:get_or_add_user_domain_role:994 :   openstack --os-cloud devstack-system-admin role add admin --user 0bede02a4351471eaa486deffa29662b --domain default\n2024-09-23 20:58:54.932597 | controller | Proxy.assign_domain_role_to_user() got an unexpected keyword argument \u0027inherited\u0027\n```\n\nSo it looks like the `Depends-on` field is not doing what we expected. I\u0027ll fix that.","commit_id":"7afceb948d833ef826472bfc87e3bda7882a4830"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"95db99dfdc425c7df104e81586c84cc5912b3422","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"594bfb6f_57cd11dc","updated":"2024-09-24 17:32:10.000000000","message":"recheck to see if the tips job fails twice","commit_id":"7afceb948d833ef826472bfc87e3bda7882a4830"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d4b6d2b467814a00d1e0a371eb3a6262ccacf6b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"54faf5fc_175fe831","in_reply_to":"bda93a67_8e5e43af","updated":"2024-09-24 17:31:50.000000000","message":"Actually, no, that was from [the non-tips job](https://zuul.opendev.org/t/openstack/build/a815959d63f741d88b5f795d00d799c8) which won\u0027t install the latest version of openstacksdk, so that\u0027s actually working as expected. I don\u0027t see anything obviously wrong here yet...\n\n(hint: I\u0027m comparing logs between a passing and failing run using Meld, a visual diff tool. To make `meld` \u0027s life easier, I\u0027m stripping the timestamp prefix on each line (i.e. the `2024-09-23 20:58:54.932540` bit)","commit_id":"7afceb948d833ef826472bfc87e3bda7882a4830"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"4b135c6ce9c535b3163b0a3fbd6933f77bd506f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"0d48ef44_485ddb65","in_reply_to":"f80a8aea_cdbd313c","updated":"2024-09-24 21:04:28.000000000","message":"Done\n\nShould be fixed now! Somehow I\u0027d forgotten to account for the case where the `project_domain` arg doesn\u0027t exist 😄","commit_id":"7afceb948d833ef826472bfc87e3bda7882a4830"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"66ccc68d37d9e350d9684746d6c4a89f3ed967ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"9f348a52_0a43ea8d","updated":"2024-10-11 19:40:06.000000000","message":"`functional-tips` was passing in Patchset 15, and the only file that has been changed since then is a unit test file, so these failures on Patchset 19 should be unrelated.","commit_id":"3e098e1b53d0c153921675928a24af6818557931"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"0fcd798d93afb7f01438f3590f5757807147ec78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"cf516196_fe23fa33","updated":"2024-10-11 17:14:16.000000000","message":"recheck - unrelated failure (as far as I can tell)","commit_id":"3e098e1b53d0c153921675928a24af6818557931"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"e5ba1be658ec695c4d7ba585999c85022a456949","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"075b2c33_9912dd24","updated":"2024-10-15 22:27:43.000000000","message":"Failure expected for `osc-functional-devstack` due to `Depends-On` :)","commit_id":"dc9b410fb270b151e5ad4edc4feb67e25bdc2cf0"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"26336ae562f88aaf1cba56b377461c1242ca5f63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"d738caad_ecbd1f5d","updated":"2024-12-10 17:22:39.000000000","message":"@stephenfin@redhat.com I think the non-tips job is failing due to the Depends-On; the errors I see in the log are `Proxy.assign_\u003cscope\u003e_role_to_\u003centity\u003e() got an unexpected keyword argument \u0027inherited\u0027`.","commit_id":"0e54759d4caf8f1fedacb30422eba70445625cd5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f6d09ffbdf5e6225cb02ad9f414e243457e426e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"9495aeb8_7434d7c4","updated":"2024-12-16 15:30:51.000000000","message":"Just waiting on https://review.opendev.org/c/openstack/requirements/+/937770 now","commit_id":"0e54759d4caf8f1fedacb30422eba70445625cd5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b2994034d1edfc924936fae6049265b2a462fe48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"b98d409f_b67acc4d","updated":"2024-12-10 15:39:36.000000000","message":"recheck unrelated post failure","commit_id":"0e54759d4caf8f1fedacb30422eba70445625cd5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6a6919bf8b6764ef3f21e8278136251c3c7013a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"97cce848_9355370f","in_reply_to":"2e0ae303_e4824f70","updated":"2024-12-11 15:00:42.000000000","message":"Oh, indeed. post failure is usually due to a timeout, but as you say the failure here is because a version of openstacksdk with the necessary change isn\u0027t out yet.\n\nNo need to rebase (or recheck further): as you note, zuul will automatically rebase the change before running tests and merging. We just need to wait for https://review.opendev.org/c/openstack/releases/+/937460 to merge and upper-constraints to be bumped to include it now.","commit_id":"0e54759d4caf8f1fedacb30422eba70445625cd5"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"c40fa5c56ac44bba64b54e08204f017bdcb61d68","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"2e0ae303_e4824f70","in_reply_to":"d738caad_ecbd1f5d","updated":"2024-12-10 17:23:37.000000000","message":"Should I try rebasing the change? Though I thought the job would rebase on top of master before running anyway...","commit_id":"0e54759d4caf8f1fedacb30422eba70445625cd5"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"32cb01b695a16b6ae7b5ebfacec583066b37bff9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"a9dae425_3d35d96e","updated":"2025-01-13 22:41:10.000000000","message":"Oops, I pressed rebase because I thought it would be the same as a free recheck, but looks like it outdated the workflow vote :(","commit_id":"8f1382eda3db2952f9d31b50c94388116b9a076f"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"84f77aed2088077728b2294d3fc6b3353d593d3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"d13a7b1a_104645fd","updated":"2025-01-14 16:44:18.000000000","message":"hold on merging it to get the SDK released first","commit_id":"8f1382eda3db2952f9d31b50c94388116b9a076f"}],"openstackclient/identity/v3/role.py":[{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"9b4277e5a322f5b336c32fca54e00aa0ecef37fc","unresolved":true,"context_lines":[{"line_number":73,"context_line":"                parsed_args.user,"},{"line_number":74,"context_line":"                parsed_args.user_domain,"},{"line_number":75,"context_line":"            ).id"},{"line_number":76,"context_line":"        except exceptions.CommandError:"},{"line_number":77,"context_line":"            if not validate_actor_existence:"},{"line_number":78,"context_line":"                return parsed_args.user"},{"line_number":79,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":8,"id":"18df63b4_b117594d","side":"PARENT","line":76,"updated":"2024-09-19 22:34:01.000000000","message":"It looks like originally a CommandError was raised if the resource was not found; now SDK returns a ResourceNotFound error - should the SDK error be kept, or should I try to mimic the old behavior as closely as possible by catching the ResourceNotFound and raising a CommandError?","commit_id":"58d1b06fdcda8e147ee0de77b9f1c835b97030fd"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"9ada05f16690ed3ec4a64584eb34d20370d9b9c7","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                parsed_args.user,"},{"line_number":74,"context_line":"                parsed_args.user_domain,"},{"line_number":75,"context_line":"            ).id"},{"line_number":76,"context_line":"        except exceptions.CommandError:"},{"line_number":77,"context_line":"            if not validate_actor_existence:"},{"line_number":78,"context_line":"                return parsed_args.user"},{"line_number":79,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f38610d_483b4f1a","side":"PARENT","line":76,"in_reply_to":"18df63b4_b117594d","updated":"2024-09-20 16:04:20.000000000","message":"Answered during meeting today (09/20/2024):\n\nUse the `raise X from Y` pattern in Python, e.g.:\n\n```py\nexcept ResourceNotFound as exc:\n    raise CommandError from exc\n```\n\n`osc-lib` will be able to print the error nicely from CommandError (but not raw SDK errors necessarily); with the `raise X from Y` pattern, the full context of the error and where it came from (including the SDK error) will show if using `--debug`.","commit_id":"58d1b06fdcda8e147ee0de77b9f1c835b97030fd"}],"openstackclient/tests/unit/identity/v3/test_role.py":[{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"9b4277e5a322f5b336c32fca54e00aa0ecef37fc","unresolved":true,"context_lines":[{"line_number":103,"context_line":"            (\u0027domain\u0027, None),"},{"line_number":104,"context_line":"            (\u0027project\u0027, None),"},{"line_number":105,"context_line":"            (\u0027role\u0027, self.role.name),"},{"line_number":106,"context_line":"            (\u0027inherited\u0027, self._is_inheritance_testcase()),"},{"line_number":107,"context_line":"        ]"},{"line_number":108,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"46e96eb7_23753e30","line":106,"updated":"2024-09-19 22:34:01.000000000","message":"See also: https://review.opendev.org/c/openstack/openstacksdk/+/929578/comments/fc433556_bd752f5d\n\nWho should deal with this arg? Should OSC never pass in the `inherited` arg to SDK, or should SDK accept it and then discard it?","commit_id":"e1a92de224b1b8214117b84891b298f5ec28d2ba"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"9ada05f16690ed3ec4a64584eb34d20370d9b9c7","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            (\u0027domain\u0027, None),"},{"line_number":104,"context_line":"            (\u0027project\u0027, None),"},{"line_number":105,"context_line":"            (\u0027role\u0027, self.role.name),"},{"line_number":106,"context_line":"            (\u0027inherited\u0027, self._is_inheritance_testcase()),"},{"line_number":107,"context_line":"        ]"},{"line_number":108,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"b5bc676c_837e8c0a","line":106,"in_reply_to":"46e96eb7_23753e30","updated":"2024-09-20 16:04:20.000000000","message":"Answered during meeting today (09/20/2024):\n\nOSC should just ignore the `--inherited` arg like we have now. Right now we\u0027re just silently ignoring; add a warning that this will be a failure in a future release.","commit_id":"e1a92de224b1b8214117b84891b298f5ec28d2ba"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"e604aca16084131ead4a03d2c7e407dc8fbb4869","unresolved":true,"context_lines":[{"line_number":771,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"class TestRoleRemove(identity_fakes.TestIdentityv3):"},{"line_number":775,"context_line":"    def _is_inheritance_testcase(self):"},{"line_number":776,"context_line":"        return False"},{"line_number":777,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7265849c_3bed97e2","line":774,"updated":"2024-09-24 23:58:31.000000000","message":"For `RemoveRole`, there are four cases I can think of involving the `ResourceNotFound` and `ForbiddenException` SDK exceptions:\n- `ResourceNotFound` but id was passed (bad - raise CommandError from failing to perform the action)\n- `ResourceNotFound` but name was passed (bad - raise CommandError from failing to perform the action)\n- `ForbiddenException` but id was passed (good if the resource actually does exist)\n- `ForbiddenException` but name was passed (bad - even if the resource does exist, we can only pass id, so raise CommandError from failing to perform the action)\n\nDo these sound right?","commit_id":"5b7ebe169fdab245331d9648913ea52f886b14f0"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"e12e9361dcc5e48bf95aaf80b64f032e7a5170a7","unresolved":true,"context_lines":[{"line_number":771,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"class TestRoleRemove(identity_fakes.TestIdentityv3):"},{"line_number":775,"context_line":"    def _is_inheritance_testcase(self):"},{"line_number":776,"context_line":"        return False"},{"line_number":777,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"ec96a390_0b969cb9","line":774,"in_reply_to":"7265849c_3bed97e2","updated":"2024-09-26 01:34:34.000000000","message":"s/but/where/\ns/we can only pass id/SDK only accepts id (not name)/","commit_id":"5b7ebe169fdab245331d9648913ea52f886b14f0"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"7ac27be017009d12ccedab27e62191a8e58c8549","unresolved":true,"context_lines":[{"line_number":771,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"class TestRoleRemove(identity_fakes.TestIdentityv3):"},{"line_number":775,"context_line":"    def _is_inheritance_testcase(self):"},{"line_number":776,"context_line":"        return False"},{"line_number":777,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"a964ff56_6e6db1ee","line":774,"in_reply_to":"844450bc_a70d6942","updated":"2024-10-01 18:14:38.000000000","message":"TODO: how many tests? which cases? for both Add and Remove?","commit_id":"5b7ebe169fdab245331d9648913ea52f886b14f0"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"e88949ed7d274146d5aeff913f9caa2c5c364f58","unresolved":false,"context_lines":[{"line_number":771,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"class TestRoleRemove(identity_fakes.TestIdentityv3):"},{"line_number":775,"context_line":"    def _is_inheritance_testcase(self):"},{"line_number":776,"context_line":"        return False"},{"line_number":777,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"6e94ca49_cd8c1fe0","line":774,"in_reply_to":"a964ff56_6e6db1ee","updated":"2024-10-01 18:16:52.000000000","message":"As discussed during the meeting today (10/01/2024), these cases don\u0027t need to be tested for every combo of add/remove, since it\u0027s handled by the helper method `_find_sdk_id()`. I\u0027ll see if I can test the method directly.","commit_id":"5b7ebe169fdab245331d9648913ea52f886b14f0"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"7d24228d2760b89488fe0bf60180670befc9f03b","unresolved":true,"context_lines":[{"line_number":771,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"class TestRoleRemove(identity_fakes.TestIdentityv3):"},{"line_number":775,"context_line":"    def _is_inheritance_testcase(self):"},{"line_number":776,"context_line":"        return False"},{"line_number":777,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"844450bc_a70d6942","line":774,"in_reply_to":"ec96a390_0b969cb9","updated":"2024-09-26 01:40:54.000000000","message":"`AddRole` has `validate_actor_existence\u003dTrue`, so these are the four cases I can think of for it:\n- `ResourceNotFound` where id was passed (bad)\n- `ResourceNotFound` where name was passed (still bad)\n- `ForbiddenException` where id was passed (good if the resource actually does exist)\n- `ForbiddenException` where name was passed (bad even if the resource does exist, because SDK only accepts id and not name for `assign_*_role_to_*()` functions)","commit_id":"5b7ebe169fdab245331d9648913ea52f886b14f0"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"7ac27be017009d12ccedab27e62191a8e58c8549","unresolved":true,"context_lines":[{"line_number":53,"context_line":"            \u0027name_or_id\u0027: self.user.id,"},{"line_number":54,"context_line":"            \u0027validate_actor_existence\u0027: False,"},{"line_number":55,"context_line":"        }"},{"line_number":56,"context_line":"        self.cmd.take_action(cmd_kwargs)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        # Set expected values"},{"line_number":59,"context_line":"        sdk_kwargs \u003d {"}],"source_content_type":"text/x-python","patch_set":16,"id":"f75b29e5_fca651b3","line":56,"updated":"2024-10-01 18:14:38.000000000","message":"This currently fails with\n```\nopenstackclient.tests.unit.identity.v3.test_role.TestFindSDKId.test_role_add_non_existent_user\n----------------------------------------------------------------------------------------------\n\nCaptured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n\n      File \"/home/human/python-openstackclient/openstackclient/tests/unit/identity/v3/test_role.py\", line 45, in setUp\n    self.cmd \u003d role._find_sdk_id(self.app, None)\n\n      File \"/home/human/python-openstackclient/openstackclient/identity/v3/role.py\", line 89, in _find_sdk_id\n    resource \u003d find_command(\n\n    TypeError: \u0027FakeApp\u0027 object is not callable\n```\n\nIt\u0027s because `_find_sdk_id()` takes in an SDK function as an argument and tries to call it.","commit_id":"26aa2124fd2d9b4ae8f166b4b0a1d916851edfc5"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"48bc19cc88bea65e4cb4164687f86132503c78cc","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            \u0027name_or_id\u0027: self.user.id,"},{"line_number":54,"context_line":"            \u0027validate_actor_existence\u0027: False,"},{"line_number":55,"context_line":"        }"},{"line_number":56,"context_line":"        self.cmd.take_action(cmd_kwargs)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        # Set expected values"},{"line_number":59,"context_line":"        sdk_kwargs \u003d {"}],"source_content_type":"text/x-python","patch_set":16,"id":"4eba30df_c42696fb","line":56,"in_reply_to":"f75b29e5_fca651b3","updated":"2024-10-10 19:10:32.000000000","message":"As discussed during the meeting earlier this week (10/08/2024), this should be tested like a util function, not like an OSC command (i.e., don\u0027t inherit from `identity_fakes.TestIdentityv3`). I\u0027ve now modeled the test after the tests in `tests.unit.volume.test_find_resource`.","commit_id":"26aa2124fd2d9b4ae8f166b4b0a1d916851edfc5"}]}
