)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"81cffc10a0ec69d0223068b967edae9c26c4dd4d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Remove v2 identity from tempest cleanup command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch remove the calls for v2 identity in the tempest"},{"line_number":10,"context_line":"cleanup command."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I74d171b65d036ed3f665b1a8dec17dc5ed73eb07"},{"line_number":13,"context_line":"Closes-Bug: 1659065"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1f485f77_a843ef12","line":10,"updated":"2017-11-15 16:39:55.000000000","message":"A Little more why never harms in a commit message.","commit_id":"05fe4bcb35c4c7b3933b016a710fb3a0627e9b43"}],"tempest/cmd/cleanup.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"718a5ff6144491e907bda8632b6c01e5ed85c9da","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        return \u0027Cleanup after tempest run\u0027"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def _add_admin(self, project_id):"},{"line_number":253,"context_line":"        rl_cl \u003d self.admin_mgr.roles_client"},{"line_number":254,"context_line":"        needs_role \u003d True"},{"line_number":255,"context_line":"        roles \u003d rl_cl.list_user_roles_on_project(project_id,"},{"line_number":256,"context_line":"                                                 self.admin_id)[\u0027roles\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_f7ddffdf","line":253,"range":{"start_line":253,"start_character":31,"end_line":253,"end_character":43},"updated":"2017-10-26 00:56:03.000000000","message":"error is due to this as it is using v2 client.it should be roles_v3_client.","commit_id":"2e8a730b49de97d54f84fb3f7102218ff624d8ed"}],"tempest/cmd/cleanup_service.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e72bf82629524f4ab9dfa24bcb1a0eb27f2d481e","unresolved":false,"context_lines":[{"line_number":786,"context_line":"class IdentityService(BaseService):"},{"line_number":787,"context_line":"    def __init__(self, manager, **kwargs):"},{"line_number":788,"context_line":"        super(IdentityService, self).__init__(kwargs)"},{"line_number":789,"context_line":"        self.client \u003d manager.identity_client"},{"line_number":790,"context_line":""},{"line_number":791,"context_line":""},{"line_number":792,"context_line":"class UserService(BaseService):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_10cfb7b0","line":789,"range":{"start_line":789,"start_character":22,"end_line":789,"end_character":45},"updated":"2017-10-24 14:07:07.000000000","message":"you need to switch this to v3 client  manager.identity_v3_client","commit_id":"efbeefb2b8ad6aa1470b825769b9ea4531a52e7c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e72bf82629524f4ab9dfa24bcb1a0eb27f2d481e","unresolved":false,"context_lines":[{"line_number":793,"context_line":""},{"line_number":794,"context_line":"    def __init__(self, manager, **kwargs):"},{"line_number":795,"context_line":"        super(UserService, self).__init__(kwargs)"},{"line_number":796,"context_line":"        self.client \u003d manager.users_client"},{"line_number":797,"context_line":""},{"line_number":798,"context_line":"    def list(self):"},{"line_number":799,"context_line":"        users \u003d self.client.list_users()[\u0027users\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_d0c47f93","line":796,"range":{"start_line":796,"start_character":22,"end_line":796,"end_character":42},"updated":"2017-10-24 14:07:07.000000000","message":"you need to move these also to v3 clients. manager.users_v3_client","commit_id":"efbeefb2b8ad6aa1470b825769b9ea4531a52e7c"}],"tempest/common/identity.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"46e4fef37aa57f7c7e66b803fd68e98b19ad8d5b","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"def get_project_by_name(client, project_name):"},{"line_number":24,"context_line":"    projects \u003d client.list_projects()[\u0027projects\u0027]"},{"line_number":25,"context_line":"    for project in projects:"},{"line_number":26,"context_line":"        if project[\u0027name\u0027] \u003d\u003d project_name:"},{"line_number":27,"context_line":"            return project"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_d55b11f3","line":24,"updated":"2017-10-26 09:51:36.000000000","message":"Please filter the projects by name in the request, instead of of fetching all projects. GET has a \u0027name\u0027 parameter.","commit_id":"2ea523b19f72ed153b14d3c8dd18353e4d434587"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"46e4fef37aa57f7c7e66b803fd68e98b19ad8d5b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    users \u003d users_client.list_users()[\u0027users\u0027]"},{"line_number":50,"context_line":"    users_in_project \u003d roles_client.list_role_assignments("},{"line_number":51,"context_line":"        **{\u0027scope.project.id\u0027: project_id})[\u0027role_assignments\u0027]"},{"line_number":52,"context_line":"    for user in users:"},{"line_number":53,"context_line":"        if user[\u0027name\u0027] \u003d\u003d username:"},{"line_number":54,"context_line":"            for u in users_in_project:"},{"line_number":55,"context_line":"                if u[\u0027user\u0027][\u0027id\u0027] \u003d\u003d user[\u0027id\u0027]:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_15340992","line":52,"updated":"2017-10-26 09:51:36.000000000","message":"Users also can be filtered by name (and domain_id) . \n\nBTW the users belongs to domains not to projects.","commit_id":"2ea523b19f72ed153b14d3c8dd18353e4d434587"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"81cffc10a0ec69d0223068b967edae9c26c4dd4d","unresolved":false,"context_lines":[{"line_number":23,"context_line":"def get_project_by_name(client, project_name):"},{"line_number":24,"context_line":"    projects \u003d client.list_projects({\u0027name\u0027: project_name})[\u0027projects\u0027]"},{"line_number":25,"context_line":"    for project in projects:"},{"line_number":26,"context_line":"        if project[\u0027name\u0027] \u003d\u003d project_name:"},{"line_number":27,"context_line":"            return project"},{"line_number":28,"context_line":"    raise lib_exc.NotFound(\u0027No such project(%s) in %s\u0027 % (project_name,"},{"line_number":29,"context_line":"                           projects))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f485f77_28ba5f09","line":26,"updated":"2017-11-15 16:39:55.000000000","message":"it should be always true, unless keystone is buggy.","commit_id":"05fe4bcb35c4c7b3933b016a710fb3a0627e9b43"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"4305c43cd6d33c6d7038520068378a5713f4dbfa","unresolved":false,"context_lines":[{"line_number":23,"context_line":"def get_project_by_name(client, project_name):"},{"line_number":24,"context_line":"    projects \u003d client.list_projects({\u0027name\u0027: project_name})[\u0027projects\u0027]"},{"line_number":25,"context_line":"    for project in projects:"},{"line_number":26,"context_line":"        if project[\u0027name\u0027] \u003d\u003d project_name:"},{"line_number":27,"context_line":"            return project"},{"line_number":28,"context_line":"    raise lib_exc.NotFound(\u0027No such project(%s) in %s\u0027 % (project_name,"},{"line_number":29,"context_line":"                           projects))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f485f77_41ba110a","line":26,"in_reply_to":"1f485f77_28ba5f09","updated":"2017-11-15 21:22:08.000000000","message":"Why do you have to manually filter by project name if you already did server-side on L24?\n\nv3 docs are clear that server should filter by name: https://developer.openstack.org/api-ref/identity/v3/#list-projects","commit_id":"05fe4bcb35c4c7b3933b016a710fb3a0627e9b43"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a5417cb4e35b80af28b0862e5d3c399bd890a853","unresolved":false,"context_lines":[{"line_number":23,"context_line":"def get_project_by_name(client, project_name):"},{"line_number":24,"context_line":"    projects \u003d client.list_projects({\u0027name\u0027: project_name})[\u0027projects\u0027]"},{"line_number":25,"context_line":"    for project in projects:"},{"line_number":26,"context_line":"        if project[\u0027name\u0027] \u003d\u003d project_name:"},{"line_number":27,"context_line":"            return project"},{"line_number":28,"context_line":"    raise lib_exc.NotFound(\u0027No such project(%s) in %s\u0027 % (project_name,"},{"line_number":29,"context_line":"                           projects))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f485f77_f9e76dab","line":26,"in_reply_to":"1f485f77_41ba110a","updated":"2017-11-16 01:50:36.000000000","message":"yes, keystone has unique name for projects and \u0027name\u0027 filter is not regex it is complete name search.","commit_id":"05fe4bcb35c4c7b3933b016a710fb3a0627e9b43"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"81cffc10a0ec69d0223068b967edae9c26c4dd4d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    users_in_project \u003d roles_client.list_role_assignments("},{"line_number":51,"context_line":"        **{\u0027scope.project.id\u0027: project_id})[\u0027role_assignments\u0027]"},{"line_number":52,"context_line":"    for user in users:"},{"line_number":53,"context_line":"        if user[\u0027name\u0027] \u003d\u003d username:"},{"line_number":54,"context_line":"            for u in users_in_project:"},{"line_number":55,"context_line":"                if u[\u0027user\u0027][\u0027id\u0027] \u003d\u003d user[\u0027id\u0027]:"},{"line_number":56,"context_line":"                    return user"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f485f77_88c71397","line":53,"updated":"2017-11-15 16:39:55.000000000","message":"it should be always true, unless keystone is buggy.","commit_id":"05fe4bcb35c4c7b3933b016a710fb3a0627e9b43"}]}
