)]}'
{"releasenotes/notes/add-list-auth-project-client-5905076d914a3943.yaml":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"beba190208fbab8bdb0970e352667fbd8bf0cd57","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the list auth projects API to the servers client library. This feature"},{"line_number":5,"context_line":"    enables the possibility to list projects that are available to be scoped"},{"line_number":6,"context_line":"    to based on the X-Auth-Token provided in the request."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9a30ddce_ead5a3e4","line":4,"range":{"start_line":4,"start_character":42,"end_line":4,"end_character":56},"updated":"2017-03-13 08:57:49.000000000","message":"servers client?","commit_id":"71533eb429531b1838c68bfd8bfe29b986b1e86f"},{"author":{"_account_id":24903,"name":"Hongtao Zhang","email":"changhungtao@126.com","username":"ZhangHongtao"},"change_message_id":"1ade4dddbd87c26316c37d17622050de86e479ea","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the list auth projects API to the servers client library. This feature"},{"line_number":5,"context_line":"    enables the possibility to list projects that are available to be scoped"},{"line_number":6,"context_line":"    to based on the X-Auth-Token provided in the request."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9a30ddce_3a14644b","line":4,"range":{"start_line":4,"start_character":42,"end_line":4,"end_character":56},"in_reply_to":"9a30ddce_ead5a3e4","updated":"2017-03-13 10:50:08.000000000","message":"identity_v3_client !","commit_id":"71533eb429531b1838c68bfd8bfe29b986b1e86f"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"137af892c870c14afb1442213a1bc7d2654c1c3c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add the list auth projects API to the servers client library. This feature"},{"line_number":5,"context_line":"    enables the possibility to list projects that are available to be scoped"},{"line_number":6,"context_line":"    to based on the X-Auth-Token provided in the request."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5a22e58a_c859af90","line":4,"range":{"start_line":4,"start_character":42,"end_line":4,"end_character":56},"updated":"2017-03-14 05:49:25.000000000","message":"forgot to modify?","commit_id":"d722eb5e8df2106b918fd45e8c68053a7fb9e8c4"}],"tempest/api/identity/admin/v3/test_tokens.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"4360afe5b2ae156d398b35a4887e4f294b4db00f","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        project_id \u003d self.manager.credentials.project_id"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        # Create a role"},{"line_number":159,"context_line":"        role_name \u003d data_utils.rand_name(name\u003d\u0027role\u0027)"},{"line_number":160,"context_line":"        role_id \u003d self.roles_client.create_role(name\u003drole_name)[\u0027role\u0027][\u0027id\u0027]"},{"line_number":161,"context_line":"        self.addCleanup(self.roles_client.delete_role, role_id)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # Grant the user the role on both projects."},{"line_number":164,"context_line":"        self.admin_manager.roles_v3_client.create_user_role_on_project("}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_523221f3","line":161,"range":{"start_line":159,"start_character":0,"end_line":161,"end_character":63},"updated":"2017-03-10 06:38:19.000000000","message":"can this be replaced by setup_test_role","commit_id":"ff6c0474478ea0825a81322bb191e9042ca049ed"},{"author":{"_account_id":24903,"name":"Hongtao Zhang","email":"changhungtao@126.com","username":"ZhangHongtao"},"change_message_id":"7b1c7798b41831c769fec1913de1e89a18ae7998","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        project_id \u003d self.manager.credentials.project_id"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        # Create a role"},{"line_number":159,"context_line":"        role_name \u003d data_utils.rand_name(name\u003d\u0027role\u0027)"},{"line_number":160,"context_line":"        role_id \u003d self.roles_client.create_role(name\u003drole_name)[\u0027role\u0027][\u0027id\u0027]"},{"line_number":161,"context_line":"        self.addCleanup(self.roles_client.delete_role, role_id)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # Grant the user the role on both projects."},{"line_number":164,"context_line":"        self.admin_manager.roles_v3_client.create_user_role_on_project("}],"source_content_type":"text/x-python","patch_set":5,"id":"9a30ddce_bbace38c","line":161,"range":{"start_line":159,"start_character":0,"end_line":161,"end_character":63},"in_reply_to":"9a30ddce_523221f3","updated":"2017-03-13 05:39:48.000000000","message":"Thanks, I have change the code in the new patch, please help me review.","commit_id":"ff6c0474478ea0825a81322bb191e9042ca049ed"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"beba190208fbab8bdb0970e352667fbd8bf0cd57","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    @decorators.idempotent_id(\u002708ed85ce-2ba8-4864-b442-bcc61f16ae89\u0027)"},{"line_number":158,"context_line":"    def test_get_available_project_scopes(self):"},{"line_number":159,"context_line":"        project_id \u003d self.manager.credentials.project_id"},{"line_number":160,"context_line":"        user_id \u003d self.os_adm.credentials.user_id"},{"line_number":161,"context_line":"        admin_role_id \u003d self.get_role_by_name(CONF.identity.admin_role)[\u0027id\u0027]"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # Grant the user the role on both projects."}],"source_content_type":"text/x-python","patch_set":7,"id":"9a30ddce_75ad149a","line":160,"range":{"start_line":160,"start_character":8,"end_line":160,"end_character":16},"updated":"2017-03-13 08:57:49.000000000","message":"better to name admin_user_id","commit_id":"71533eb429531b1838c68bfd8bfe29b986b1e86f"},{"author":{"_account_id":24903,"name":"Hongtao Zhang","email":"changhungtao@126.com","username":"ZhangHongtao"},"change_message_id":"1ade4dddbd87c26316c37d17622050de86e479ea","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    @decorators.idempotent_id(\u002708ed85ce-2ba8-4864-b442-bcc61f16ae89\u0027)"},{"line_number":158,"context_line":"    def test_get_available_project_scopes(self):"},{"line_number":159,"context_line":"        project_id \u003d self.manager.credentials.project_id"},{"line_number":160,"context_line":"        user_id \u003d self.os_adm.credentials.user_id"},{"line_number":161,"context_line":"        admin_role_id \u003d self.get_role_by_name(CONF.identity.admin_role)[\u0027id\u0027]"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # Grant the user the role on both projects."}],"source_content_type":"text/x-python","patch_set":7,"id":"9a30ddce_3d229ea3","line":160,"range":{"start_line":160,"start_character":8,"end_line":160,"end_character":16},"in_reply_to":"9a30ddce_75ad149a","updated":"2017-03-13 10:50:08.000000000","message":"Thanks, I have changed in new patch.","commit_id":"71533eb429531b1838c68bfd8bfe29b986b1e86f"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"beba190208fbab8bdb0970e352667fbd8bf0cd57","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # Grant the user the role on both projects."},{"line_number":164,"context_line":"        self.roles_client.create_user_role_on_project("},{"line_number":165,"context_line":"            project_id,"},{"line_number":166,"context_line":"            user_id,"},{"line_number":167,"context_line":"            admin_role_id)"},{"line_number":168,"context_line":"        self.addCleanup("},{"line_number":169,"context_line":"            self.roles_client.delete_role_from_user_on_project,"},{"line_number":170,"context_line":"            project_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a30ddce_b5930c5a","line":167,"range":{"start_line":165,"start_character":0,"end_line":167,"end_character":26},"updated":"2017-03-13 08:57:49.000000000","message":"better to put in one line","commit_id":"71533eb429531b1838c68bfd8bfe29b986b1e86f"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"beba190208fbab8bdb0970e352667fbd8bf0cd57","unresolved":false,"context_lines":[{"line_number":167,"context_line":"            admin_role_id)"},{"line_number":168,"context_line":"        self.addCleanup("},{"line_number":169,"context_line":"            self.roles_client.delete_role_from_user_on_project,"},{"line_number":170,"context_line":"            project_id,"},{"line_number":171,"context_line":"            user_id,"},{"line_number":172,"context_line":"            admin_role_id)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        assigned_project_ids \u003d [self.os_adm.credentials.project_id, project_id]"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9a30ddce_d59ec061","line":172,"range":{"start_line":170,"start_character":0,"end_line":172,"end_character":26},"updated":"2017-03-13 08:57:49.000000000","message":"ditto","commit_id":"71533eb429531b1838c68bfd8bfe29b986b1e86f"}],"tempest/api/identity/v3/test_projects.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"8c9e1ed6d7d578ea46082365f7ad8488618b5730","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class IdentityV3ProjectsTest(base.BaseIdentityV3Test):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    credentials \u003d [\u0027admin\u0027, \u0027primary\u0027, \u0027alt\u0027]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @decorators.idempotent_id(\u002786128d46-e170-4644-866a-cc487f699e1d\u0027)"},{"line_number":27,"context_line":"    def test_list_projects_returns_only_authorized_projects(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_310bb4d7","line":24,"updated":"2017-02-25 14:34:44.000000000","message":"That\u0027s not correct. Your new test should be somewhere in identity/admin/v3. If you want to use \u0027admin\u0027 creds you should add your test in the \u0027admin\u0027 directory","commit_id":"87580b21daf03063ec7165961ef73bbe01796e8d"},{"author":{"_account_id":24903,"name":"Hongtao Zhang","email":"changhungtao@126.com","username":"ZhangHongtao"},"change_message_id":"bc8351d138ca87ecac7e1122654803b6e6d45db7","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class IdentityV3ProjectsTest(base.BaseIdentityV3Test):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    credentials \u003d [\u0027admin\u0027, \u0027primary\u0027, \u0027alt\u0027]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @decorators.idempotent_id(\u002786128d46-e170-4644-866a-cc487f699e1d\u0027)"},{"line_number":27,"context_line":"    def test_list_projects_returns_only_authorized_projects(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_d14c0aa0","line":24,"in_reply_to":"da36d5c6_310bb4d7","updated":"2017-02-27 03:23:58.000000000","message":"I just use \u0027admin\u0027 creds to create project, role and create user role on project, the tested API \u0027get_available_project_scopes\u0027 is called with \u0027primary\u0027 creds.","commit_id":"87580b21daf03063ec7165961ef73bbe01796e8d"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"8c9e1ed6d7d578ea46082365f7ad8488618b5730","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    @decorators.idempotent_id(\u002708ed85ce-2ba8-4864-b442-bcc61f16ae89\u0027)"},{"line_number":62,"context_line":"    def test_get_available_project_scopes(self):"},{"line_number":63,"context_line":"        # Create a projects"},{"line_number":64,"context_line":"        project_name \u003d data_utils.rand_name(name\u003d\u0027project\u0027)"},{"line_number":65,"context_line":"        project_id \u003d self.admin_manager.projects_client.create_project("},{"line_number":66,"context_line":"            project_name)[\u0027project\u0027][\u0027id\u0027]"},{"line_number":67,"context_line":"        self.addCleanup(self.admin_manager.projects_client.delete_project,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_d15418cb","line":64,"updated":"2017-02-25 14:34:44.000000000","message":"Use self.setup_test_project()","commit_id":"87580b21daf03063ec7165961ef73bbe01796e8d"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"8c9e1ed6d7d578ea46082365f7ad8488618b5730","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.addCleanup(self.admin_manager.projects_client.delete_project,"},{"line_number":68,"context_line":"                        project_id)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        # Create a role"},{"line_number":71,"context_line":"        role_name \u003d data_utils.rand_name(name\u003d\u0027role\u0027)"},{"line_number":72,"context_line":"        role_id \u003d self.admin_manager.roles_v3_client.create_role("},{"line_number":73,"context_line":"            name\u003drole_name)[\u0027role\u0027][\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"da36d5c6_f14f5c31","line":70,"updated":"2017-02-25 14:34:44.000000000","message":"Use setup_test_role()","commit_id":"87580b21daf03063ec7165961ef73bbe01796e8d"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"4360afe5b2ae156d398b35a4887e4f294b4db00f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9a30ddce_f93ea389","updated":"2017-03-10 06:38:19.000000000","message":"the file mode is changed accidentally, so are other files","commit_id":"ff6c0474478ea0825a81322bb191e9042ca049ed"},{"author":{"_account_id":24903,"name":"Hongtao Zhang","email":"changhungtao@126.com","username":"ZhangHongtao"},"change_message_id":"7b1c7798b41831c769fec1913de1e89a18ae7998","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9a30ddce_e1fdceb1","in_reply_to":"9a30ddce_f93ea389","updated":"2017-03-13 05:39:48.000000000","message":"Thanks, I have recovered the file mode.","commit_id":"ff6c0474478ea0825a81322bb191e9042ca049ed"}],"tempest/lib/services/identity/v3/identity_client.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d5ed7d252641d2f2589d7fbc8b32b589a720a779","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def get_available_project_scopes(self):"},{"line_number":48,"context_line":"        \"\"\"Get available project scopes.\"\"\""},{"line_number":49,"context_line":"        resp, body \u003d self.get(\"auth/projects\")"},{"line_number":50,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":51,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_959a3e13","line":48,"updated":"2017-03-07 18:26:59.000000000","message":"This method name should be\n\n list_auth_projects()\n\nbased on Tempest guideline: https://github.com/openstack/qa-specs/blob/master/specs/tempest/consistent-service-method-names.rst#get-resources","commit_id":"b4c8782a9aab9d04fb71bebbc681457145a44eb6"},{"author":{"_account_id":24903,"name":"Hongtao Zhang","email":"changhungtao@126.com","username":"ZhangHongtao"},"change_message_id":"26aac1d95c061ef463331ef90ea61ad2b77ed06e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def get_available_project_scopes(self):"},{"line_number":48,"context_line":"        \"\"\"Get available project scopes.\"\"\""},{"line_number":49,"context_line":"        resp, body \u003d self.get(\"auth/projects\")"},{"line_number":50,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":51,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_d1ee6fb3","line":48,"in_reply_to":"9a30ddce_959a3e13","updated":"2017-03-08 07:41:19.000000000","message":"Thank you very much. I will change this in the next patch.","commit_id":"b4c8782a9aab9d04fb71bebbc681457145a44eb6"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d5ed7d252641d2f2589d7fbc8b32b589a720a779","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def get_available_project_scopes(self):"},{"line_number":48,"context_line":"        \"\"\"Get available project scopes.\"\"\""},{"line_number":49,"context_line":"        resp, body \u003d self.get(\"auth/projects\")"},{"line_number":50,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":51,"context_line":"        body \u003d json.loads(body)"},{"line_number":52,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_183da32b","line":49,"updated":"2017-03-07 18:26:59.000000000","message":"This API has been introduced since v3.3 according to https://developer.openstack.org/api-ref/identity/v3/index.html?expanded\u003dget-available-project-scopes-detail#get-available-project-scopes\n\nIt is better to write it as a comment when running this test against clouds which don\u0027t support this API because Tempest is used for Defcore also.","commit_id":"b4c8782a9aab9d04fb71bebbc681457145a44eb6"},{"author":{"_account_id":24903,"name":"Hongtao Zhang","email":"changhungtao@126.com","username":"ZhangHongtao"},"change_message_id":"26aac1d95c061ef463331ef90ea61ad2b77ed06e","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def get_available_project_scopes(self):"},{"line_number":48,"context_line":"        \"\"\"Get available project scopes.\"\"\""},{"line_number":49,"context_line":"        resp, body \u003d self.get(\"auth/projects\")"},{"line_number":50,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":51,"context_line":"        body \u003d json.loads(body)"},{"line_number":52,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_4c21069f","line":49,"in_reply_to":"9a30ddce_183da32b","updated":"2017-03-08 07:41:19.000000000","message":"Thanks, but I am confused how to sign this API is introduced since v3.3. I found the code in /tempest/lib/services/compute/servers_client.py at LINE 114:\n    schema \u003d self.get_schema(self.schema_versions_info)\n    self.validate_response(schema.update_server, resp, body)\nShould I do the same?","commit_id":"b4c8782a9aab9d04fb71bebbc681457145a44eb6"}]}
