)]}'
{"tempest/api/compute/admin/test_quotas.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"4315a19a63e662ecdb247472f02dbcad8ee15fea","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        tenant_name \u003d data_utils.rand_name(\u0027cpu_quota_tenant\u0027)"},{"line_number":102,"context_line":"        tenant_desc \u003d tenant_name + \u0027-desc\u0027"},{"line_number":103,"context_line":"        identity_client \u003d self.os_adm.identity_client"},{"line_number":104,"context_line":"        tenant \u003d (identity_client.create_tenant(name\u003dtenant_name,"},{"line_number":105,"context_line":"                                                description\u003dtenant_desc)"},{"line_number":106,"context_line":"                  [\u0027tenant\u0027])"},{"line_number":107,"context_line":"        tenant_id \u003d tenant[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_07b754f6","line":104,"updated":"2015-09-08 14:59:08.000000000","message":"This looks bad. Maybe\n\ntenant \u003d identity_client.create_tenant(\n   description\u003dtenant_desc,\n   name\u003dtenant_name)[\u0027tenant\u0027]\n\nis better ?","commit_id":"74202e256d7c4cf7a0091864d2be9bb6b8247dcd"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"d73898c463124ff73acb6aee125823048964684c","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        tenant_name \u003d data_utils.rand_name(\u0027cpu_quota_tenant\u0027)"},{"line_number":102,"context_line":"        tenant_desc \u003d tenant_name + \u0027-desc\u0027"},{"line_number":103,"context_line":"        identity_client \u003d self.os_adm.identity_client"},{"line_number":104,"context_line":"        tenant \u003d (identity_client.create_tenant(name\u003dtenant_name,"},{"line_number":105,"context_line":"                                                description\u003dtenant_desc)"},{"line_number":106,"context_line":"                  [\u0027tenant\u0027])"},{"line_number":107,"context_line":"        tenant_id \u003d tenant[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_377f0f68","line":104,"in_reply_to":"da20952f_07b754f6","updated":"2015-09-09 04:34:46.000000000","message":"ya, looks good. Will correct it in next patch.Thanks","commit_id":"74202e256d7c4cf7a0091864d2be9bb6b8247dcd"}],"tempest/api/identity/admin/v2/test_endpoints.py":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"fb9f7b55764546b0bd85cfea2d7b65c90655328e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        s_name \u003d data_utils.rand_name(\u0027service\u0027)"},{"line_number":28,"context_line":"        s_type \u003d data_utils.rand_name(\u0027type\u0027)"},{"line_number":29,"context_line":"        s_description \u003d data_utils.rand_name(\u0027description\u0027)"},{"line_number":30,"context_line":"        cls.service_data \u003d\\"},{"line_number":31,"context_line":"            (cls.client.create_service(s_name, s_type,"},{"line_number":32,"context_line":"                                       description\u003ds_description)"},{"line_number":33,"context_line":"             [\u0027OS-KSADM:service\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"da20952f_737ce020","line":30,"updated":"2015-08-26 17:29:31.000000000","message":"You should remove backslash as you use parentheses.","commit_id":"f88cd02aed13f8b23e88fbbe168f0f7e7b5f5233"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"4315a19a63e662ecdb247472f02dbcad8ee15fea","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        s_name \u003d data_utils.rand_name(\u0027service\u0027)"},{"line_number":28,"context_line":"        s_type \u003d data_utils.rand_name(\u0027type\u0027)"},{"line_number":29,"context_line":"        s_description \u003d data_utils.rand_name(\u0027description\u0027)"},{"line_number":30,"context_line":"        cls.service_data \u003d (cls.client.create_service(s_name, s_type,"},{"line_number":31,"context_line":"                            description\u003ds_description)[\u0027OS-KSADM:service\u0027])"},{"line_number":32,"context_line":"        cls.service_id \u003d cls.service_data[\u0027id\u0027]"},{"line_number":33,"context_line":"        cls.service_ids.append(cls.service_id)"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_c7463c21","line":30,"updated":"2015-09-08 14:59:08.000000000","message":"You don\u0027t need the extra parenthesis and the indentation looks weird.","commit_id":"74202e256d7c4cf7a0091864d2be9bb6b8247dcd"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"d73898c463124ff73acb6aee125823048964684c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        s_name \u003d data_utils.rand_name(\u0027service\u0027)"},{"line_number":28,"context_line":"        s_type \u003d data_utils.rand_name(\u0027type\u0027)"},{"line_number":29,"context_line":"        s_description \u003d data_utils.rand_name(\u0027description\u0027)"},{"line_number":30,"context_line":"        cls.service_data \u003d (cls.client.create_service(s_name, s_type,"},{"line_number":31,"context_line":"                            description\u003ds_description)[\u0027OS-KSADM:service\u0027])"},{"line_number":32,"context_line":"        cls.service_id \u003d cls.service_data[\u0027id\u0027]"},{"line_number":33,"context_line":"        cls.service_ids.append(cls.service_id)"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_97ab7b75","line":30,"in_reply_to":"da20952f_c7463c21","updated":"2015-09-09 04:34:46.000000000","message":"Done","commit_id":"74202e256d7c4cf7a0091864d2be9bb6b8247dcd"}],"tempest/api/identity/base.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"734efeb18ffbf60083e0bca93b92ea2c4c9cdec1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            tenants \u003d cls.client.list_tenants()"},{"line_number":51,"context_line":"            # TODO(jswarren): always retrieve \u0027tenants\u0027 value"},{"line_number":52,"context_line":"            # once both clients return full response objects"},{"line_number":53,"context_line":"            if \u0027tenants\u0027 in tenants:"},{"line_number":54,"context_line":"                tenants \u003d tenants[\u0027tenants\u0027]"},{"line_number":55,"context_line":"        except AttributeError:"},{"line_number":56,"context_line":"            tenants \u003d cls.client.list_projects()[\u0027projects\u0027]"}],"source_content_type":"text/x-python","patch_set":12,"id":"da20952f_111bc01c","line":53,"updated":"2015-09-03 08:12:38.000000000","message":"that is just v2 client thing, we can remove this TODO and do like below-\ntenants \u003d cls.client.list_tenants()[\u0027tenants\u0027]","commit_id":"3744b3d831a334747c04d527ca89d328735a85f8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7238659b8088a5c5a67ea5473b0db969f93a8794","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        roles \u003d cls.client.list_roles()[\u0027roles\u0027]"},{"line_number":122,"context_line":"        role \u003d [r for r in roles if r[\u0027name\u0027] \u003d\u003d name]"},{"line_number":123,"context_line":"        if len(role) \u003e 0:"},{"line_number":124,"context_line":"            return role[0]"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"class BaseIdentityV3Test(BaseIdentityTest):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da20952f_c6dd8c15","line":124,"updated":"2015-09-03 07:47:01.000000000","message":"Unrelated changes, may be due to rebase etc.","commit_id":"3744b3d831a334747c04d527ca89d328735a85f8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"dc4425cf63dcb21f918b93db7fcf6ed6d88dabc4","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        roles \u003d cls.client.list_roles()[\u0027roles\u0027]"},{"line_number":122,"context_line":"        role \u003d [r for r in roles if r[\u0027name\u0027] \u003d\u003d name]"},{"line_number":123,"context_line":"        if len(role) \u003e 0:"},{"line_number":124,"context_line":"            return role[0]"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"class BaseIdentityV3Test(BaseIdentityTest):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da20952f_268fa8cd","line":124,"in_reply_to":"da20952f_c6dd8c15","updated":"2015-09-03 07:54:09.000000000","message":"Need changes in those method but I do not why it shows whole method addition. please rebase and resolve this.","commit_id":"3744b3d831a334747c04d527ca89d328735a85f8"}],"tempest/common/isolated_creds.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7238659b8088a5c5a67ea5473b0db969f93a8794","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    def _list_roles(self):"},{"line_number":88,"context_line":"        roles \u003d self.identity_client.list_roles()"},{"line_number":89,"context_line":"        if \u0027roles\u0027 in roles:"},{"line_number":90,"context_line":"            roles \u003d roles[\u0027roles\u0027]"},{"line_number":91,"context_line":"        return roles"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da20952f_e6a450ba","line":90,"updated":"2015-09-03 07:47:01.000000000","message":"think \u0027roles\u0027 will always be present - https://github.com/openstack/keystone/blob/master/keystone/assignment/controllers.py#L122","commit_id":"3744b3d831a334747c04d527ca89d328735a85f8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7238659b8088a5c5a67ea5473b0db969f93a8794","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def create_project(self, name, description):"},{"line_number":97,"context_line":"        tenant \u003d self.identity_client.create_tenant("},{"line_number":98,"context_line":"            name\u003dname, description\u003ddescription)"},{"line_number":99,"context_line":"        return tenant"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def get_credentials(self, user, project, password):"},{"line_number":102,"context_line":"        return cred_provider.get_credentials("}],"source_content_type":"text/x-python","patch_set":12,"id":"da20952f_6647e01d","line":99,"updated":"2015-09-03 07:47:01.000000000","message":"We need to change here . [\u0027tenant\u0027]","commit_id":"3744b3d831a334747c04d527ca89d328735a85f8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7238659b8088a5c5a67ea5473b0db969f93a8794","unresolved":false,"context_lines":[{"line_number":209,"context_line":"        project \u003d self.creds_client.create_project("},{"line_number":210,"context_line":"            name\u003dproject_name, description\u003dproject_desc)"},{"line_number":211,"context_line":"        if \u0027tenant\u0027 in project:"},{"line_number":212,"context_line":"            project \u003d project[\u0027tenant\u0027]"},{"line_number":213,"context_line":"        username \u003d data_utils.rand_name(root) + suffix"},{"line_number":214,"context_line":"        user_password \u003d data_utils.rand_password()"},{"line_number":215,"context_line":"        email \u003d data_utils.rand_name(root) + suffix + \"@example.com\""}],"source_content_type":"text/x-python","patch_set":12,"id":"da20952f_c65eece8","line":212,"updated":"2015-09-03 07:47:01.000000000","message":"this is not needed wrt above comment.","commit_id":"3744b3d831a334747c04d527ca89d328735a85f8"}],"tempest/services/botoclients.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"662db9a51e9979dbd87512a001c7046768f2b303","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        else:"},{"line_number":103,"context_line":"            ec2_cred \u003d (identity_client.create_user_ec2_credentials("},{"line_number":104,"context_line":"                identity_client.user_id, identity_client.tenant_id)"},{"line_number":105,"context_line":"                [\u0027credential\u0027])"},{"line_number":106,"context_line":"        if not all((ec2_cred, ec2_cred[\u0027access\u0027], ec2_cred[\u0027secret\u0027])):"},{"line_number":107,"context_line":"            raise lib_exc.NotFound(\"Unable to get access and secret keys\")"},{"line_number":108,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_5eff3334","line":105,"updated":"2015-08-24 08:13:26.000000000","message":"i think this file changes not needed","commit_id":"1c4f903ac25213c2558be6709080a642b0672a67"}],"tempest/services/identity/v2/json/identity_client.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ea2e0ddefad791ed47ef6bf173fd936867ec5c4f","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        \"\"\"Returns a list of roles assigned to a user for a tenant.\"\"\""},{"line_number":89,"context_line":"        url \u003d \u0027/tenants/%s/users/%s/roles\u0027 % (tenant_id, user_id)"},{"line_number":90,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":91,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":92,"context_line":"        return service_client.ResponseBodyList(resp, self._parse_resp(body))"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def assign_user_role(self, tenant_id, user_id, role_id):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_f36927fa","line":91,"updated":"2015-08-31 03:14:48.000000000","message":"this is left","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"4537c7de122de3be37a87630e811608fbfcbd628","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        \"\"\"Returns a list of roles assigned to a user for a tenant.\"\"\""},{"line_number":89,"context_line":"        url \u003d \u0027/tenants/%s/users/%s/roles\u0027 % (tenant_id, user_id)"},{"line_number":90,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":91,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":92,"context_line":"        return service_client.ResponseBodyList(resp, self._parse_resp(body))"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def assign_user_role(self, tenant_id, user_id, role_id):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_7294b5e7","line":91,"in_reply_to":"da20952f_f36927fa","updated":"2015-09-02 08:31:03.000000000","message":"Done","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ea2e0ddefad791ed47ef6bf173fd936867ec5c4f","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        \"\"\"Add roles to a user on a tenant.\"\"\""},{"line_number":96,"context_line":"        resp, body \u003d self.put(\u0027/tenants/%s/users/%s/roles/OS-KSADM/%s\u0027 %"},{"line_number":97,"context_line":"                              (tenant_id, user_id, role_id), \"\")"},{"line_number":98,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":99,"context_line":"        return service_client.ResponseBody(resp, self._parse_resp(body))"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def remove_user_role(self, tenant_id, user_id, role_id):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_936a2bec","line":98,"updated":"2015-08-31 03:14:48.000000000","message":"ditto","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"4537c7de122de3be37a87630e811608fbfcbd628","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        \"\"\"Add roles to a user on a tenant.\"\"\""},{"line_number":96,"context_line":"        resp, body \u003d self.put(\u0027/tenants/%s/users/%s/roles/OS-KSADM/%s\u0027 %"},{"line_number":97,"context_line":"                              (tenant_id, user_id, role_id), \"\")"},{"line_number":98,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":99,"context_line":"        return service_client.ResponseBody(resp, self._parse_resp(body))"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def remove_user_role(self, tenant_id, user_id, role_id):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_99b3f297","line":98,"in_reply_to":"da20952f_936a2bec","updated":"2015-09-02 08:31:03.000000000","message":"it doesn\u0027t return any response body, so it should be fine right ? http://developer.openstack.org/api-ref-identity-v2-ext.html#grantRoleToUserOnTenant","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ea2e0ddefad791ed47ef6bf173fd936867ec5c4f","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        \"\"\"Returns roles.\"\"\""},{"line_number":123,"context_line":"        resp, body \u003d self.get(\u0027OS-KSADM/roles\u0027)"},{"line_number":124,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":125,"context_line":"        return service_client.ResponseBodyList(resp, self._parse_resp(body))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def list_tenants(self):"},{"line_number":128,"context_line":"        \"\"\"Returns tenants.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_737677d8","line":125,"updated":"2015-08-31 03:14:48.000000000","message":"ditto","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"4537c7de122de3be37a87630e811608fbfcbd628","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        \"\"\"Returns roles.\"\"\""},{"line_number":123,"context_line":"        resp, body \u003d self.get(\u0027OS-KSADM/roles\u0027)"},{"line_number":124,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":125,"context_line":"        return service_client.ResponseBodyList(resp, self._parse_resp(body))"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def list_tenants(self):"},{"line_number":128,"context_line":"        \"\"\"Returns tenants.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_e8c3f288","line":125,"in_reply_to":"da20952f_737677d8","updated":"2015-09-02 08:31:03.000000000","message":"Done","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ea2e0ddefad791ed47ef6bf173fd936867ec5c4f","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        \"\"\"Get the list of users.\"\"\""},{"line_number":199,"context_line":"        resp, body \u003d self.get(\"users\")"},{"line_number":200,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":201,"context_line":"        return service_client.ResponseBodyList(resp, self._parse_resp(body))"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def enable_disable_user(self, user_id, enabled):"},{"line_number":204,"context_line":"        \"\"\"Enables or disables a user.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_33531f3b","line":201,"updated":"2015-08-31 03:14:48.000000000","message":"ditto","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"4537c7de122de3be37a87630e811608fbfcbd628","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        \"\"\"Get the list of users.\"\"\""},{"line_number":199,"context_line":"        resp, body \u003d self.get(\"users\")"},{"line_number":200,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":201,"context_line":"        return service_client.ResponseBodyList(resp, self._parse_resp(body))"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def enable_disable_user(self, user_id, enabled):"},{"line_number":204,"context_line":"        \"\"\"Enables or disables a user.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_28400a07","line":201,"in_reply_to":"da20952f_33531f3b","updated":"2015-09-02 08:31:03.000000000","message":"Done","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ea2e0ddefad791ed47ef6bf173fd936867ec5c4f","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    def list_users_for_tenant(self, tenant_id):"},{"line_number":228,"context_line":"        \"\"\"List users for a Tenant.\"\"\""},{"line_number":229,"context_line":"        resp, body \u003d self.get(\u0027/tenants/%s/users\u0027 % tenant_id)"},{"line_number":230,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":231,"context_line":"        return service_client.ResponseBodyList(resp, self._parse_resp(body))"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    def get_user_by_username(self, tenant_id, username):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_f337e7fc","line":230,"updated":"2015-08-31 03:14:48.000000000","message":"ditto","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"4537c7de122de3be37a87630e811608fbfcbd628","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    def list_users_for_tenant(self, tenant_id):"},{"line_number":228,"context_line":"        \"\"\"List users for a Tenant.\"\"\""},{"line_number":229,"context_line":"        resp, body \u003d self.get(\u0027/tenants/%s/users\u0027 % tenant_id)"},{"line_number":230,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":231,"context_line":"        return service_client.ResponseBodyList(resp, self._parse_resp(body))"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    def get_user_by_username(self, tenant_id, username):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_2881eafb","line":230,"in_reply_to":"da20952f_f337e7fc","updated":"2015-09-02 08:31:03.000000000","message":"Done","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ea2e0ddefad791ed47ef6bf173fd936867ec5c4f","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        \"\"\"List Service - Returns Services.\"\"\""},{"line_number":263,"context_line":"        resp, body \u003d self.get(\u0027/OS-KSADM/services\u0027)"},{"line_number":264,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":265,"context_line":"        return service_client.ResponseBodyList(resp, self._parse_resp(body))"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    def delete_service(self, service_id):"},{"line_number":268,"context_line":"        \"\"\"Delete Service.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_5327b3c9","line":265,"updated":"2015-08-31 03:14:48.000000000","message":"ditto","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"4537c7de122de3be37a87630e811608fbfcbd628","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        \"\"\"List Service - Returns Services.\"\"\""},{"line_number":263,"context_line":"        resp, body \u003d self.get(\u0027/OS-KSADM/services\u0027)"},{"line_number":264,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":265,"context_line":"        return service_client.ResponseBodyList(resp, self._parse_resp(body))"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    def delete_service(self, service_id):"},{"line_number":268,"context_line":"        \"\"\"Delete Service.\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_48453e15","line":265,"in_reply_to":"da20952f_5327b3c9","updated":"2015-09-02 08:31:03.000000000","message":"Done","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ea2e0ddefad791ed47ef6bf173fd936867ec5c4f","unresolved":false,"context_lines":[{"line_number":318,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":319,"context_line":"        body \u003d json.loads(body)"},{"line_number":320,"context_line":"        return service_client.ResponseBodyList(resp,"},{"line_number":321,"context_line":"                                               body[\u0027extensions\u0027][\u0027values\u0027])"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def create_user_ec2_credentials(self, user_id, tenant_id):"},{"line_number":324,"context_line":"        post_body \u003d json.dumps({\u0027tenant_id\u0027: tenant_id})"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_332a3f91","line":321,"updated":"2015-08-31 03:14:48.000000000","message":"please change this too","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"4537c7de122de3be37a87630e811608fbfcbd628","unresolved":false,"context_lines":[{"line_number":318,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":319,"context_line":"        body \u003d json.loads(body)"},{"line_number":320,"context_line":"        return service_client.ResponseBodyList(resp,"},{"line_number":321,"context_line":"                                               body[\u0027extensions\u0027][\u0027values\u0027])"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def create_user_ec2_credentials(self, user_id, tenant_id):"},{"line_number":324,"context_line":"        post_body \u003d json.dumps({\u0027tenant_id\u0027: tenant_id})"}],"source_content_type":"text/x-python","patch_set":11,"id":"da20952f_6887e212","line":321,"in_reply_to":"da20952f_332a3f91","updated":"2015-09-02 08:31:03.000000000","message":"Done","commit_id":"c67acab68cc6bb2c986ddf6a75bc3b3648c71c7d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7238659b8088a5c5a67ea5473b0db969f93a8794","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        resp, body \u003d self.put(\u0027/tenants/%s/users/%s/roles/OS-KSADM/%s\u0027 %"},{"line_number":98,"context_line":"                              (tenant_id, user_id, role_id), \"\")"},{"line_number":99,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":100,"context_line":"        return service_client.ResponseBody(resp, self._parse_resp(body))"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def remove_user_role(self, tenant_id, user_id, role_id):"},{"line_number":103,"context_line":"        \"\"\"Removes a role assignment for a user on a tenant.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"da20952f_663da0ba","line":100,"updated":"2015-09-03 07:47:01.000000000","message":"It return response like below-\n{\"role\": {\"id\": \"2234531572014d7d8b60b39e8758f087\", \"name\": \"Member\"}}\n\nActually most of doc are wrong.","commit_id":"3744b3d831a334747c04d527ca89d328735a85f8"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"f8b2c88a06c70e5b287035b1e964280acd2b8859","unresolved":false,"context_lines":[{"line_number":327,"context_line":"        patch_body \u003d json.dumps({\u0027user\u0027: patch_body})"},{"line_number":328,"context_line":"        resp, body \u003d self.patch(\u0027OS-KSCRUD/users/%s\u0027 % user_id, patch_body)"},{"line_number":329,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":330,"context_line":"        return service_client.ResponseBody(resp, self._parse_resp(body))"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"    def list_extensions(self):"},{"line_number":333,"context_line":"        \"\"\"List all the extensions.\"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"ba15a1d1_31172d53","line":330,"updated":"2015-09-14 10:05:03.000000000","message":"It seems you should make corresponding changes here as well.","commit_id":"e21f41027218d85434c4b70aa51303cdaf7a1982"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"acffb5966ae5ddc84b571f70fc4e4efd7547f57c","unresolved":false,"context_lines":[{"line_number":327,"context_line":"        patch_body \u003d json.dumps({\u0027user\u0027: patch_body})"},{"line_number":328,"context_line":"        resp, body \u003d self.patch(\u0027OS-KSCRUD/users/%s\u0027 % user_id, patch_body)"},{"line_number":329,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":330,"context_line":"        return service_client.ResponseBody(resp, self._parse_resp(body))"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"    def list_extensions(self):"},{"line_number":333,"context_line":"        \"\"\"List all the extensions.\"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"ba15a1d1_ea0e053c","line":330,"in_reply_to":"ba15a1d1_09cb8073","updated":"2015-09-24 02:00:27.000000000","message":"In doc I did not find this API but anyways doc are not correct always specially API ref.\n\nFrom code it looks like it return the below dict-\n\n{\n    \u0027access\u0027:  {\n        \u0027token\u0027: {...},\n        \u0027serviceCatalog\u0027: {},\n        \u0027user\u0027: {,}\n        \u0027metadata\u0027: {}\n    }\n}\n\nhttps://github.com/openstack/keystone/blob/master/keystone/contrib/user_crud/core.py#L122\n\nToken data dict is prepared here - \n\nhttps://github.com/openstack/keystone/blob/master/keystone/token/providers/common.py#L122","commit_id":"e21f41027218d85434c4b70aa51303cdaf7a1982"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"ed597f8d07927901d9902bc153147cefb5131a5b","unresolved":false,"context_lines":[{"line_number":327,"context_line":"        patch_body \u003d json.dumps({\u0027user\u0027: patch_body})"},{"line_number":328,"context_line":"        resp, body \u003d self.patch(\u0027OS-KSCRUD/users/%s\u0027 % user_id, patch_body)"},{"line_number":329,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":330,"context_line":"        return service_client.ResponseBody(resp, self._parse_resp(body))"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"    def list_extensions(self):"},{"line_number":333,"context_line":"        \"\"\"List all the extensions.\"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"ba15a1d1_e22bcc92","line":330,"in_reply_to":"ba15a1d1_31172d53","updated":"2015-09-16 03:03:12.000000000","message":"According to API doc, this doesn\u0027t return any response body to parse, so left as is.","commit_id":"e21f41027218d85434c4b70aa51303cdaf7a1982"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"e8bbe6ea584b3adc05d0fcca2521f49c55d0d44d","unresolved":false,"context_lines":[{"line_number":327,"context_line":"        patch_body \u003d json.dumps({\u0027user\u0027: patch_body})"},{"line_number":328,"context_line":"        resp, body \u003d self.patch(\u0027OS-KSCRUD/users/%s\u0027 % user_id, patch_body)"},{"line_number":329,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":330,"context_line":"        return service_client.ResponseBody(resp, self._parse_resp(body))"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"    def list_extensions(self):"},{"line_number":333,"context_line":"        \"\"\"List all the extensions.\"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"ba15a1d1_09cb8073","line":330,"in_reply_to":"ba15a1d1_e22bcc92","updated":"2015-09-16 08:43:15.000000000","message":"Thanks for clarification.","commit_id":"e21f41027218d85434c4b70aa51303cdaf7a1982"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"54b21a7ac6a0ce21727eda77185ddf24396bf828","unresolved":false,"context_lines":[{"line_number":327,"context_line":"        patch_body \u003d json.dumps({\u0027user\u0027: patch_body})"},{"line_number":328,"context_line":"        resp, body \u003d self.patch(\u0027OS-KSCRUD/users/%s\u0027 % user_id, patch_body)"},{"line_number":329,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":330,"context_line":"        return service_client.ResponseBody(resp, self._parse_resp(body))"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"    def list_extensions(self):"},{"line_number":333,"context_line":"        \"\"\"List all the extensions.\"\"\""}],"source_content_type":"text/x-python","patch_set":21,"id":"ba15a1d1_a514be43","line":330,"updated":"2015-09-24 02:01:00.000000000","message":"It truncates the \u0027access\u0027 top key. please check my comment on PS19\n\n{\n    \u0027access\u0027:  {\n        \u0027token\u0027: {...},\n        \u0027serviceCatalog\u0027: {},\n        \u0027user\u0027: {,}\n        \u0027metadata\u0027: {}\n    }\n}","commit_id":"0cfb461dd022dc645fb9d6d9cf7b8c863a864f14"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"54b21a7ac6a0ce21727eda77185ddf24396bf828","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        resp, body \u003d self.get(\u0027/users/%s/credentials/OS-EC2/%s\u0027 %"},{"line_number":361,"context_line":"                              (user_id, access))"},{"line_number":362,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":363,"context_line":"        return service_client.ResponseBody(resp, self._parse_resp(body))"}],"source_content_type":"text/x-python","patch_set":21,"id":"ba15a1d1_4a885171","line":363,"updated":"2015-09-24 02:01:00.000000000","message":"This is new method and it truncate the top key.","commit_id":"0cfb461dd022dc645fb9d6d9cf7b8c863a864f14"}],"tempest/tests/test_tenant_isolation.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"4315a19a63e662ecdb247472f02dbcad8ee15fea","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    def test_admin_creds(self, MockRestClient):"},{"line_number":158,"context_line":"        cfg.CONF.set_default(\u0027neutron\u0027, False, \u0027service_available\u0027)"},{"line_number":159,"context_line":"        iso_creds \u003d isolated_creds.IsolatedCreds(name\u003d\u0027test class\u0027)"},{"line_number":160,"context_line":"        self._mock_assign_user_role()"},{"line_number":161,"context_line":"        self._mock_list_roles(\u00271234\u0027, \u0027admin\u0027)"},{"line_number":162,"context_line":"        self._mock_user_create(\u00271234\u0027, \u0027fake_admin_user\u0027)"},{"line_number":163,"context_line":"        self._mock_tenant_create(\u00271234\u0027, \u0027fake_admin_tenant\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_872fe487","line":160,"updated":"2015-09-08 14:59:08.000000000","message":"Could you explain why you had to add this please ?","commit_id":"74202e256d7c4cf7a0091864d2be9bb6b8247dcd"},{"author":{"_account_id":11278,"name":"Anusha Ramineni","email":"anusha.ramineni@india.nec.com","username":"anusha08"},"change_message_id":"d73898c463124ff73acb6aee125823048964684c","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    def test_admin_creds(self, MockRestClient):"},{"line_number":158,"context_line":"        cfg.CONF.set_default(\u0027neutron\u0027, False, \u0027service_available\u0027)"},{"line_number":159,"context_line":"        iso_creds \u003d isolated_creds.IsolatedCreds(name\u003d\u0027test class\u0027)"},{"line_number":160,"context_line":"        self._mock_assign_user_role()"},{"line_number":161,"context_line":"        self._mock_list_roles(\u00271234\u0027, \u0027admin\u0027)"},{"line_number":162,"context_line":"        self._mock_user_create(\u00271234\u0027, \u0027fake_admin_user\u0027)"},{"line_number":163,"context_line":"        self._mock_tenant_create(\u00271234\u0027, \u0027fake_admin_tenant\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"da20952f_9774db36","line":160,"in_reply_to":"da20952f_872fe487","updated":"2015-09-09 04:34:46.000000000","message":"sorry, it is not required, as it is already mocked below. Its a redundant code.","commit_id":"74202e256d7c4cf7a0091864d2be9bb6b8247dcd"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0344fb16d5248be31aea3b2224d4dc98d345afa5","unresolved":false,"context_lines":[{"line_number":110,"context_line":"            json_iden_client.IdentityClient,"},{"line_number":111,"context_line":"            \u0027list_user_ec2_credentials\u0027,"},{"line_number":112,"context_line":"            return_value\u003d(service_client.ResponseBodyList"},{"line_number":113,"context_line":"                          (200, [{\u0027access\u0027: \u0027fake_access\u0027,"},{"line_number":114,"context_line":"                                  \u0027secret\u0027: \u0027fake_secret\u0027,"},{"line_number":115,"context_line":"                                  \u0027tenant_id\u0027: tenant_id,"},{"line_number":116,"context_line":"                                  \u0027user_id\u0027: user_id,"}],"source_content_type":"text/x-python","patch_set":18,"id":"da20952f_6b9b00ca","line":113,"updated":"2015-09-11 04:45:47.000000000","message":"Do not know why we mocked this. but anyways we should change the response here too and later we can cleanup this.\n{\u0027credentials\u0027: {\u0027access ...","commit_id":"f4cc2b96d07330fc6591e5ad7de55fc4f578f451"}]}
