)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30810,"name":"James Kirsch","email":"generalfuzz@gmail.com","username":"generalfuzz"},"change_message_id":"bf243b7b6c058f2b6ce38efe1d6951bf499b22a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b0bdbc86_c8a202c1","updated":"2022-01-27 20:31:58.000000000","message":"recheck","commit_id":"da507e1e1f0d55966bfbe862eb6ba99b7774f1b7"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"6ed2d5259dd7a80399d64d8ae4e2ad0447775c47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2ae94657_6a3bd03e","updated":"2022-02-01 15:40:21.000000000","message":"this differs way too much from domain/project to user/group assignments (https://opendev.org/openstack/openstacksdk/src/branch/master/openstack/identity/v3/role_domain_group_assignment.py, https://opendev.org/openstack/openstacksdk/src/branch/master/openstack/identity/v3/role_domain_user_assignment.py, ...). We should be consistent in how we implement particular things.","commit_id":"da507e1e1f0d55966bfbe862eb6ba99b7774f1b7"},{"author":{"_account_id":30810,"name":"James Kirsch","email":"generalfuzz@gmail.com","username":"generalfuzz"},"change_message_id":"dbd9544d1f4649c4da6bd7648cfe619082254eeb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"07f2d3a9_1d0b903d","in_reply_to":"2ae94657_6a3bd03e","updated":"2022-02-07 17:52:03.000000000","message":"I added the missing classes - please let me know if I\u0027m missing anything else. Thanks!","commit_id":"da507e1e1f0d55966bfbe862eb6ba99b7774f1b7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4ab56ec617fa3b3bed1867ef061526917b86453b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cbca84e7_24a05236","updated":"2022-02-11 09:22:04.000000000","message":"Thanks! Would love to see this in Yoga","commit_id":"c8b449693fb669667276ab81a8d5732f5e33b872"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"9040d38a491a9cf5c41aba4a6c79cca7c1ad181d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"346bd60d_dfbe6dac","updated":"2022-02-18 17:08:22.000000000","message":"small nits, otherwise good to go","commit_id":"c8b449693fb669667276ab81a8d5732f5e33b872"}],"openstack/cloud/_identity.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":994,"context_line":""},{"line_number":995,"context_line":"        if \u0027system\u0027 in filters:"},{"line_number":996,"context_line":"            system_scope \u003d filters.pop(\u0027system\u0027)"},{"line_number":997,"context_line":"            if not system_scope \u003d\u003d \u0027all\u0027:"},{"line_number":998,"context_line":"                raise exc.OpenStackCloudException("},{"line_number":999,"context_line":"                    \"Only a system scope of \u0027all\u0027 is currently supported\""},{"line_number":1000,"context_line":"                )"},{"line_number":1001,"context_line":"            filters[\u0027scope.system\u0027] \u003d system_scope"},{"line_number":1002,"context_line":""},{"line_number":1003,"context_line":"        return list(self.identity.role_assignments(**filters))"}],"source_content_type":"text/x-python","patch_set":4,"id":"b1aef254_092dd745","line":1000,"range":{"start_line":997,"start_character":0,"end_line":1000,"end_character":17},"updated":"2022-02-09 10:27:09.000000000","message":"I would remove this check, and allow keystone to perform it. Other systems may be added.","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":1111,"context_line":"        :param string group: The name or id of the group. (v3)"},{"line_number":1112,"context_line":"        :param string project: The name or id of the project."},{"line_number":1113,"context_line":"        :param string domain: The id of the domain. (v3)"},{"line_number":1114,"context_line":"        :param bool system: The name of the system role. (v3)"},{"line_number":1115,"context_line":"        :param bool wait: Wait for role to be granted"},{"line_number":1116,"context_line":"        :param int timeout: Timeout to wait for role to be granted"},{"line_number":1117,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"f7439460_fdab5728","line":1114,"range":{"start_line":1114,"start_character":44,"end_line":1114,"end_character":55},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":1177,"context_line":"                    domain, group, role)"},{"line_number":1178,"context_line":"        else:"},{"line_number":1179,"context_line":"            # Proceed with system"},{"line_number":1180,"context_line":"            # System role ID must be \u0027all\u0027 due to checks performed in"},{"line_number":1181,"context_line":"            # _get_grant_revoke_params"},{"line_number":1182,"context_line":"            if user:"},{"line_number":1183,"context_line":"                has_role \u003d self.identity.validate_user_has_system_role("}],"source_content_type":"text/x-python","patch_set":4,"id":"86ed4f69_7c6505d3","line":1180,"range":{"start_line":1180,"start_character":13,"end_line":1180,"end_character":28},"updated":"2022-02-09 10:27:09.000000000","message":"System name","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":1207,"context_line":"        :param string group: The name or id of the group. (v3)"},{"line_number":1208,"context_line":"        :param string project: The name or id of the project."},{"line_number":1209,"context_line":"        :param string domain: The id of the domain. (v3)"},{"line_number":1210,"context_line":"        :param bool system: The name of the system role. (v3)"},{"line_number":1211,"context_line":"        :param bool wait: Wait for role to be revoked"},{"line_number":1212,"context_line":"        :param int timeout: Timeout to wait for role to be revoked"},{"line_number":1213,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"788c3e83_b04f3869","line":1210,"range":{"start_line":1210,"start_character":44,"end_line":1210,"end_character":55},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":1270,"context_line":"                    domain, group, role)"},{"line_number":1271,"context_line":"        else:"},{"line_number":1272,"context_line":"            # Proceed with system"},{"line_number":1273,"context_line":"            # System role ID must be \u0027all\u0027 due to checks performed in"},{"line_number":1274,"context_line":"            # _get_grant_revoke_params"},{"line_number":1275,"context_line":"            if user:"},{"line_number":1276,"context_line":"                has_role \u003d self.identity.validate_user_has_system_role("}],"source_content_type":"text/x-python","patch_set":4,"id":"c84b370b_35b0da54","line":1273,"range":{"start_line":1273,"start_character":15,"end_line":1273,"end_character":28},"updated":"2022-02-09 10:27:09.000000000","message":"System name","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"}],"openstack/identity/v3/_proxy.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":963,"context_line":"        :param project: Either the ID of a project or a"},{"line_number":964,"context_line":"            :class:`~openstack.identity.v3.project.Project`"},{"line_number":965,"context_line":"            instance."},{"line_number":966,"context_line":"        :param system: Either the system role name or a"},{"line_number":967,"context_line":"            :class:`~openstack.identity.v3.system.System`"},{"line_number":968,"context_line":"            instance."},{"line_number":969,"context_line":"        :param group: Either the ID of a group or a"}],"source_content_type":"text/x-python","patch_set":4,"id":"8c36e933_399125d4","line":966,"range":{"start_line":966,"start_character":34,"end_line":966,"end_character":45},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":1382,"context_line":"            :class:`~openstack.identity.v3.user.User` instance."},{"line_number":1383,"context_line":"        :param role: Either the ID of a role or a"},{"line_number":1384,"context_line":"            :class:`~openstack.identity.v3.role.Role` instance."},{"line_number":1385,"context_line":"        :param system: The system role name"},{"line_number":1386,"context_line":"        :return: ``None``"},{"line_number":1387,"context_line":"        \"\"\""},{"line_number":1388,"context_line":"        user \u003d self._get_resource(_user.User, user)"}],"source_content_type":"text/x-python","patch_set":4,"id":"17b86d51_4066f53f","line":1385,"range":{"start_line":1385,"start_character":27,"end_line":1385,"end_character":38},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":1397,"context_line":"            :class:`~openstack.identity.v3.user.User` instance."},{"line_number":1398,"context_line":"        :param role: Either the ID of a role or a"},{"line_number":1399,"context_line":"            :class:`~openstack.identity.v3.role.Role` instance."},{"line_number":1400,"context_line":"        :param system: The system role name"},{"line_number":1401,"context_line":"        :return: ``None``"},{"line_number":1402,"context_line":"        \"\"\""},{"line_number":1403,"context_line":"        user \u003d self._get_resource(_user.User, user)"}],"source_content_type":"text/x-python","patch_set":4,"id":"a42f34cf_c009d5ea","line":1400,"range":{"start_line":1400,"start_character":27,"end_line":1400,"end_character":38},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":1412,"context_line":"            :class:`~openstack.identity.v3.user.User` instance."},{"line_number":1413,"context_line":"        :param role: Either the ID of a role or a"},{"line_number":1414,"context_line":"            :class:`~openstack.identity.v3.role.Role` instance."},{"line_number":1415,"context_line":"        :param system: The system role name"},{"line_number":1416,"context_line":"        :returns: True if user has role in system"},{"line_number":1417,"context_line":"        \"\"\""},{"line_number":1418,"context_line":"        user \u003d self._get_resource(_user.User, user)"}],"source_content_type":"text/x-python","patch_set":4,"id":"0514c57f_2fad04ee","line":1415,"range":{"start_line":1415,"start_character":27,"end_line":1415,"end_character":38},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":1427,"context_line":"            :class:`~openstack.identity.v3.group.Group` instance."},{"line_number":1428,"context_line":"        :param role: Either the ID of a role or a"},{"line_number":1429,"context_line":"            :class:`~openstack.identity.v3.role.Role` instance."},{"line_number":1430,"context_line":"        :param system: The system role name"},{"line_number":1431,"context_line":"        :return: ``None``"},{"line_number":1432,"context_line":"        \"\"\""},{"line_number":1433,"context_line":"        group \u003d self._get_resource(_group.Group, group)"}],"source_content_type":"text/x-python","patch_set":4,"id":"558de419_a9d500a7","line":1430,"range":{"start_line":1430,"start_character":27,"end_line":1430,"end_character":38},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":1442,"context_line":"            :class:`~openstack.identity.v3.group.Group` instance."},{"line_number":1443,"context_line":"        :param role: Either the ID of a role or a"},{"line_number":1444,"context_line":"            :class:`~openstack.identity.v3.role.Role` instance."},{"line_number":1445,"context_line":"        :param system: The system role name"},{"line_number":1446,"context_line":"        :return: ``None``"},{"line_number":1447,"context_line":"        \"\"\""},{"line_number":1448,"context_line":"        group \u003d self._get_resource(_group.Group, group)"}],"source_content_type":"text/x-python","patch_set":4,"id":"d3108ddb_ca6c1158","line":1445,"range":{"start_line":1445,"start_character":27,"end_line":1445,"end_character":38},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":1457,"context_line":"            :class:`~openstack.identity.v3.group.Group` instance."},{"line_number":1458,"context_line":"        :param role: Either the ID of a role or a"},{"line_number":1459,"context_line":"            :class:`~openstack.identity.v3.role.Role` instance."},{"line_number":1460,"context_line":"        :param system: The system role name"},{"line_number":1461,"context_line":"        :returns: True if group has role on system"},{"line_number":1462,"context_line":"        \"\"\""},{"line_number":1463,"context_line":"        group \u003d self._get_resource(_group.Group, group)"}],"source_content_type":"text/x-python","patch_set":4,"id":"f7e4b61c_397f6d40","line":1460,"range":{"start_line":1460,"start_character":26,"end_line":1460,"end_character":38},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"}],"openstack/identity/v3/role_system_group_assignment.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":24,"context_line":"    # Properties"},{"line_number":25,"context_line":"    #: The links for the service resource."},{"line_number":26,"context_line":"    links \u003d resource.Body(\u0027links\u0027)"},{"line_number":27,"context_line":"    #: The name of the system role to list assignment from. *Type: string*"},{"line_number":28,"context_line":"    system_id \u003d resource.URI(\u0027system_id\u0027)"},{"line_number":29,"context_line":"    #: The ID of the group to list assignment from. *Type: string*"},{"line_number":30,"context_line":"    group_id \u003d resource.URI(\u0027group_id\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"e7c17926_0504c657","line":27,"range":{"start_line":27,"start_character":22,"end_line":27,"end_character":34},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"9040d38a491a9cf5c41aba4a6c79cca7c1ad181d","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    # Properties"},{"line_number":25,"context_line":"    #: The links for the service resource."},{"line_number":26,"context_line":"    links \u003d resource.Body(\u0027links\u0027)"},{"line_number":27,"context_line":"    #: The name of the system to list assignment from. *Type: string*"},{"line_number":28,"context_line":"    system_id \u003d resource.URI(\u0027system_id\u0027)"},{"line_number":29,"context_line":"    #: The ID of the group to list assignment from. *Type: string*"}],"source_content_type":"text/x-python","patch_set":5,"id":"90e15aaa_3f05c5a9","line":26,"updated":"2022-02-18 17:08:22.000000000","message":"nit: please drop here links (this is inherited from base class) and sort attributes alphabetically","commit_id":"c8b449693fb669667276ab81a8d5732f5e33b872"},{"author":{"_account_id":30810,"name":"James Kirsch","email":"generalfuzz@gmail.com","username":"generalfuzz"},"change_message_id":"7db772b16632af7fff7c448004c92b183ff20fb4","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    # Properties"},{"line_number":25,"context_line":"    #: The links for the service resource."},{"line_number":26,"context_line":"    links \u003d resource.Body(\u0027links\u0027)"},{"line_number":27,"context_line":"    #: The name of the system to list assignment from. *Type: string*"},{"line_number":28,"context_line":"    system_id \u003d resource.URI(\u0027system_id\u0027)"},{"line_number":29,"context_line":"    #: The ID of the group to list assignment from. *Type: string*"}],"source_content_type":"text/x-python","patch_set":5,"id":"fb46517a_c8f8138a","line":26,"in_reply_to":"90e15aaa_3f05c5a9","updated":"2022-02-18 18:48:30.000000000","message":"The other classes have the links property in them (role_domain_group_assignment.py, role_domain_user_assignment.py, role_project_group_assignment.py, role_project_user_assignment.py). I don\u0027t see this defined in Resource class - so wanted to verify that this should actually be removed. If so, should it be removed from the other classes?","commit_id":"c8b449693fb669667276ab81a8d5732f5e33b872"},{"author":{"_account_id":30810,"name":"James Kirsch","email":"generalfuzz@gmail.com","username":"generalfuzz"},"change_message_id":"07947f8caa666a877b1cd7ff13dad8a8e2fa92ad","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    # Properties"},{"line_number":25,"context_line":"    #: The links for the service resource."},{"line_number":26,"context_line":"    links \u003d resource.Body(\u0027links\u0027)"},{"line_number":27,"context_line":"    #: The name of the system to list assignment from. *Type: string*"},{"line_number":28,"context_line":"    system_id \u003d resource.URI(\u0027system_id\u0027)"},{"line_number":29,"context_line":"    #: The ID of the group to list assignment from. *Type: string*"}],"source_content_type":"text/x-python","patch_set":5,"id":"f8264a7f_3963e40e","line":26,"in_reply_to":"a7bd4ace_4fdf3f73","updated":"2022-02-18 19:02:30.000000000","message":"Done","commit_id":"c8b449693fb669667276ab81a8d5732f5e33b872"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"2968852d46c9f3b271074d2aebf3646b16fd45b0","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    # Properties"},{"line_number":25,"context_line":"    #: The links for the service resource."},{"line_number":26,"context_line":"    links \u003d resource.Body(\u0027links\u0027)"},{"line_number":27,"context_line":"    #: The name of the system to list assignment from. *Type: string*"},{"line_number":28,"context_line":"    system_id \u003d resource.URI(\u0027system_id\u0027)"},{"line_number":29,"context_line":"    #: The ID of the group to list assignment from. *Type: string*"}],"source_content_type":"text/x-python","patch_set":5,"id":"a7bd4ace_4fdf3f73","line":26,"in_reply_to":"fb46517a_c8f8138a","updated":"2022-02-18 18:54:47.000000000","message":"Right, I have expressed myself wrong. \"links\" is a meta attribute that is used inside the listing call. Nobody should ever _want_ to see it, since it only relevant in the context of single page (and as such useless outside it) and only serves SDK to be able to fetch next page. Generally we should drop it as attribute from all resources, but it must not be done in this change. Just drop it from your implementation.","commit_id":"c8b449693fb669667276ab81a8d5732f5e33b872"}],"openstack/identity/v3/role_system_user_assignment.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f18fa886e228f4aa99464f075a6d112adbd095c","unresolved":true,"context_lines":[{"line_number":24,"context_line":"    # Properties"},{"line_number":25,"context_line":"    #: The links for the service resource."},{"line_number":26,"context_line":"    links \u003d resource.Body(\u0027links\u0027)"},{"line_number":27,"context_line":"    #: The name of the system role to list assignment from. *Type: string*"},{"line_number":28,"context_line":"    system_id \u003d resource.URI(\u0027system_id\u0027)"},{"line_number":29,"context_line":"    #: The ID of the user to list assignment from. *Type: string*"},{"line_number":30,"context_line":"    user_id \u003d resource.URI(\u0027user_id\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"c8957250_f9ea440d","line":27,"range":{"start_line":27,"start_character":23,"end_line":27,"end_character":34},"updated":"2022-02-09 10:27:09.000000000","message":"system","commit_id":"fd0400ea4ac7d27e3303a05c5b46fda46defdf8a"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"9040d38a491a9cf5c41aba4a6c79cca7c1ad181d","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    # Properties"},{"line_number":25,"context_line":"    #: The links for the service resource."},{"line_number":26,"context_line":"    links \u003d resource.Body(\u0027links\u0027)"},{"line_number":27,"context_line":"    #: The name of the system to list assignment from. *Type: string*"},{"line_number":28,"context_line":"    system_id \u003d resource.URI(\u0027system_id\u0027)"},{"line_number":29,"context_line":"    #: The ID of the user to list assignment from. *Type: string*"}],"source_content_type":"text/x-python","patch_set":5,"id":"047d0e22_054be8f4","line":26,"updated":"2022-02-18 17:08:22.000000000","message":"nit: please drop here links (this is inherited from base class) and sort attributes alphabetically","commit_id":"c8b449693fb669667276ab81a8d5732f5e33b872"},{"author":{"_account_id":30810,"name":"James Kirsch","email":"generalfuzz@gmail.com","username":"generalfuzz"},"change_message_id":"07947f8caa666a877b1cd7ff13dad8a8e2fa92ad","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    # Properties"},{"line_number":25,"context_line":"    #: The links for the service resource."},{"line_number":26,"context_line":"    links \u003d resource.Body(\u0027links\u0027)"},{"line_number":27,"context_line":"    #: The name of the system to list assignment from. *Type: string*"},{"line_number":28,"context_line":"    system_id \u003d resource.URI(\u0027system_id\u0027)"},{"line_number":29,"context_line":"    #: The ID of the user to list assignment from. *Type: string*"}],"source_content_type":"text/x-python","patch_set":5,"id":"93b9a2f3_8d034d5a","line":26,"in_reply_to":"047d0e22_054be8f4","updated":"2022-02-18 19:02:30.000000000","message":"Done","commit_id":"c8b449693fb669667276ab81a8d5732f5e33b872"}],"openstack/tests/functional/cloud/test_identity.py":[{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"9040d38a491a9cf5c41aba4a6c79cca7c1ad181d","unresolved":true,"context_lines":[{"line_number":250,"context_line":"        self.assertEqual(0, len(assignments))"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def test_grant_revoke_role_user_system(self):"},{"line_number":253,"context_line":"        if self.identity_version in (\u00272\u0027, \u00272.0\u0027):"},{"line_number":254,"context_line":"            self.skipTest(\"Identity service does not support system\")"},{"line_number":255,"context_line":"        role_name \u003d self.role_prefix + \u0027_grant_user_system\u0027"},{"line_number":256,"context_line":"        role \u003d self.operator_cloud.create_role(role_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"24938f06_addb2d3e","line":253,"updated":"2022-02-18 17:08:22.000000000","message":"I guess this is not really necessary. We do not have keystone 2 anywhere. It doesn\u0027t harm, but I fear if we would have executed tests on some real 2.0 we would have tons of failures","commit_id":"c8b449693fb669667276ab81a8d5732f5e33b872"},{"author":{"_account_id":30810,"name":"James Kirsch","email":"generalfuzz@gmail.com","username":"generalfuzz"},"change_message_id":"07947f8caa666a877b1cd7ff13dad8a8e2fa92ad","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        self.assertEqual(0, len(assignments))"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def test_grant_revoke_role_user_system(self):"},{"line_number":253,"context_line":"        if self.identity_version in (\u00272\u0027, \u00272.0\u0027):"},{"line_number":254,"context_line":"            self.skipTest(\"Identity service does not support system\")"},{"line_number":255,"context_line":"        role_name \u003d self.role_prefix + \u0027_grant_user_system\u0027"},{"line_number":256,"context_line":"        role \u003d self.operator_cloud.create_role(role_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"15d3d638_f5107b64","line":253,"in_reply_to":"24938f06_addb2d3e","updated":"2022-02-18 19:02:30.000000000","message":"Done","commit_id":"c8b449693fb669667276ab81a8d5732f5e33b872"}]}
