)]}'
{"tempest/api/identity/admin/v3/test_inherits.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"1d9df2c88044160cfb8905dd2ea73a0cb06e06e3","unresolved":false,"context_lines":[{"line_number":108,"context_line":"                    pass"},{"line_number":109,"context_line":"        super(InheritsV3Test, cls).resource_cleanup()"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":112,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_user(self):"},{"line_number":113,"context_line":"        # Create role"},{"line_number":114,"context_line":"        src_role \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_34487587","line":111,"updated":"2015-12-01 04:32:13.000000000","message":"As \u0027gate-tempest-pep8\u0027 said, \n@test.idempotent_id(UUID) is needed.\nFor example,\n@test.idempotent_id(\u002741b73426-3cac-4600-9263-81f298ec46f6\u0027)\nGenerate uuid by using \u0027uuidgen\u0027 command.","commit_id":"54ee5a36998817fb5bbb3729fe864433d1c8e83d"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"5abfd793fa991b7a747a40b7a3deee45f64509cb","unresolved":false,"context_lines":[{"line_number":108,"context_line":"                    pass"},{"line_number":109,"context_line":"        super(InheritsV3Test, cls).resource_cleanup()"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":112,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_user(self):"},{"line_number":113,"context_line":"        # Create role"},{"line_number":114,"context_line":"        src_role \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_cd1f1c08","line":111,"in_reply_to":"9a8ffd7b_34487587","updated":"2015-12-01 06:18:46.000000000","message":"Done","commit_id":"54ee5a36998817fb5bbb3729fe864433d1c8e83d"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"1d9df2c88044160cfb8905dd2ea73a0cb06e06e3","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":131,"context_line":"        self.role_id_list.remove(src_role[\u0027id\u0027])"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":134,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_group(self):"},{"line_number":135,"context_line":"        # Create role"},{"line_number":136,"context_line":"        src_role \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_9457e125","line":133,"updated":"2015-12-01 04:32:13.000000000","message":"Same as above.","commit_id":"54ee5a36998817fb5bbb3729fe864433d1c8e83d"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"5abfd793fa991b7a747a40b7a3deee45f64509cb","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":131,"context_line":"        self.role_id_list.remove(src_role[\u0027id\u0027])"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":134,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_group(self):"},{"line_number":135,"context_line":"        # Create role"},{"line_number":136,"context_line":"        src_role \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_ed1c6015","line":133,"in_reply_to":"9a8ffd7b_9457e125","updated":"2015-12-01 06:18:46.000000000","message":"Done","commit_id":"54ee5a36998817fb5bbb3729fe864433d1c8e83d"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"1d9df2c88044160cfb8905dd2ea73a0cb06e06e3","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":153,"context_line":"        self.role_id_list.remove(src_role[\u0027id\u0027])"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":156,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_user(self):"},{"line_number":157,"context_line":"        # Create role"},{"line_number":158,"context_line":"        src_role \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_b4546521","line":155,"updated":"2015-12-01 04:32:13.000000000","message":"Same as above.","commit_id":"54ee5a36998817fb5bbb3729fe864433d1c8e83d"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"5abfd793fa991b7a747a40b7a3deee45f64509cb","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":153,"context_line":"        self.role_id_list.remove(src_role[\u0027id\u0027])"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":156,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_user(self):"},{"line_number":157,"context_line":"        # Create role"},{"line_number":158,"context_line":"        src_role \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_ad1658ef","line":155,"in_reply_to":"9a8ffd7b_b4546521","updated":"2015-12-01 06:18:46.000000000","message":"Done","commit_id":"54ee5a36998817fb5bbb3729fe864433d1c8e83d"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"1d9df2c88044160cfb8905dd2ea73a0cb06e06e3","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        # Delete role"},{"line_number":170,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":173,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_group(self):"},{"line_number":174,"context_line":"        # Create role"},{"line_number":175,"context_line":"        src_role \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_54309907","line":172,"updated":"2015-12-01 04:32:13.000000000","message":"Same as above.","commit_id":"54ee5a36998817fb5bbb3729fe864433d1c8e83d"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"5abfd793fa991b7a747a40b7a3deee45f64509cb","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        # Delete role"},{"line_number":170,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":173,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_group(self):"},{"line_number":174,"context_line":"        # Create role"},{"line_number":175,"context_line":"        src_role \u003d \\"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a8ffd7b_4dd24c36","line":172,"in_reply_to":"9a8ffd7b_54309907","updated":"2015-12-01 06:18:46.000000000","message":"Done","commit_id":"54ee5a36998817fb5bbb3729fe864433d1c8e83d"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f564f35b94e27322c9c8f2de4865c50eb689582e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            description\u003ddata_utils.rand_name(\u0027project-desc-\u0027),"},{"line_number":44,"context_line":"            domain_id\u003dcls.domain[\u0027id\u0027])[\u0027project\u0027]"},{"line_number":45,"context_line":"        cls.group \u003d cls.groups_client.create_group("},{"line_number":46,"context_line":"            name\u003ddata_utils.rand_name(\u0027Group-\u0027), project_id\u003dcls.project[\u0027id\u0027],"},{"line_number":47,"context_line":"            domain_id\u003dcls.domain[\u0027id\u0027])[\u0027group\u0027]"},{"line_number":48,"context_line":"        cls.user \u003d cls.client.create_user("},{"line_number":49,"context_line":"            u_name, description\u003du_desc, password\u003dcls.u_password,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_58abd11d","line":46,"range":{"start_line":46,"start_character":39,"end_line":46,"end_character":40},"updated":"2015-12-24 05:55:37.000000000","message":"nit: why this is only Capital?","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fb13497d9743a5e3bbe664e59de430e32a8df69e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            description\u003ddata_utils.rand_name(\u0027project-desc-\u0027),"},{"line_number":44,"context_line":"            domain_id\u003dcls.domain[\u0027id\u0027])[\u0027project\u0027]"},{"line_number":45,"context_line":"        cls.group \u003d cls.groups_client.create_group("},{"line_number":46,"context_line":"            name\u003ddata_utils.rand_name(\u0027Group-\u0027), project_id\u003dcls.project[\u0027id\u0027],"},{"line_number":47,"context_line":"            domain_id\u003dcls.domain[\u0027id\u0027])[\u0027group\u0027]"},{"line_number":48,"context_line":"        cls.user \u003d cls.client.create_user("},{"line_number":49,"context_line":"            u_name, description\u003du_desc, password\u003dcls.u_password,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_2f9c7cbf","line":46,"range":{"start_line":46,"start_character":39,"end_line":46,"end_character":40},"in_reply_to":"1a7b0d38_58abd11d","updated":"2015-12-24 06:40:29.000000000","message":"Done","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f564f35b94e27322c9c8f2de4865c50eb689582e","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        super(InheritsV3TestJSON, self).setUp()"},{"line_number":95,"context_line":"        self.assign_inheritor_roles()"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":98,"context_line":"    @test.idempotent_id(\u00274e6f0366-97c8-423c-b2be-41eae6ac91c8\u0027)"},{"line_number":99,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_user(self):"},{"line_number":100,"context_line":"        # Create role"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_ec20c29d","line":97,"range":{"start_line":97,"start_character":21,"end_line":97,"end_character":26},"updated":"2015-12-24 05:55:37.000000000","message":"smoke tests are for testing essential features, and now smoke tests for keystone are just 18 like:\n\n $ grep smoke * -R | grep test.attr | grep identity | wc\n     18      36    1209\n $\n\nThis feature doesn\u0027t seem essential now, so we need to remove this line like the other tests.","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fb13497d9743a5e3bbe664e59de430e32a8df69e","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        super(InheritsV3TestJSON, self).setUp()"},{"line_number":95,"context_line":"        self.assign_inheritor_roles()"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":98,"context_line":"    @test.idempotent_id(\u00274e6f0366-97c8-423c-b2be-41eae6ac91c8\u0027)"},{"line_number":99,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_user(self):"},{"line_number":100,"context_line":"        # Create role"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_0fa980df","line":97,"range":{"start_line":97,"start_character":21,"end_line":97,"end_character":26},"in_reply_to":"1a7b0d38_ec20c29d","updated":"2015-12-24 06:40:29.000000000","message":"Done","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f564f35b94e27322c9c8f2de4865c50eb689582e","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_user(self):"},{"line_number":100,"context_line":"        # Create role"},{"line_number":101,"context_line":"        src_role \u003d \\"},{"line_number":102,"context_line":"            self.client.create_role(data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":103,"context_line":"        # Assign role on domains user"},{"line_number":104,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_user("},{"line_number":105,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_5882f195","line":102,"range":{"start_line":102,"start_character":12,"end_line":102,"end_character":36},"updated":"2015-12-24 05:55:37.000000000","message":"We can move \"self.client.create_role(\" for avoiding to use  \"\\\".","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fb13497d9743a5e3bbe664e59de430e32a8df69e","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_user(self):"},{"line_number":100,"context_line":"        # Create role"},{"line_number":101,"context_line":"        src_role \u003d \\"},{"line_number":102,"context_line":"            self.client.create_role(data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":103,"context_line":"        # Assign role on domains user"},{"line_number":104,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_user("},{"line_number":105,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_afb06c44","line":102,"range":{"start_line":102,"start_character":12,"end_line":102,"end_character":36},"in_reply_to":"1a7b0d38_5882f195","updated":"2015-12-24 06:40:29.000000000","message":"Done","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f564f35b94e27322c9c8f2de4865c50eb689582e","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        # Delete role"},{"line_number":116,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":119,"context_line":"    @test.idempotent_id(\u0027c7a8dda2-be50-4fb4-9a9c-e830771078b1\u0027)"},{"line_number":120,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_group(self):"},{"line_number":121,"context_line":"        # Create role"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_0c242ead","line":118,"range":{"start_line":118,"start_character":4,"end_line":118,"end_character":28},"updated":"2015-12-24 05:55:37.000000000","message":"ditto","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fb13497d9743a5e3bbe664e59de430e32a8df69e","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        # Delete role"},{"line_number":116,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":119,"context_line":"    @test.idempotent_id(\u0027c7a8dda2-be50-4fb4-9a9c-e830771078b1\u0027)"},{"line_number":120,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_group(self):"},{"line_number":121,"context_line":"        # Create role"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_cfab78d5","line":118,"range":{"start_line":118,"start_character":4,"end_line":118,"end_character":28},"in_reply_to":"1a7b0d38_0c242ead","updated":"2015-12-24 06:40:29.000000000","message":"Done","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f564f35b94e27322c9c8f2de4865c50eb689582e","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_group(self):"},{"line_number":121,"context_line":"        # Create role"},{"line_number":122,"context_line":"        src_role \u003d \\"},{"line_number":123,"context_line":"            self.client.create_role(data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":124,"context_line":"        # Assign role on domains group"},{"line_number":125,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_group("},{"line_number":126,"context_line":"            self.domain[\u0027id\u0027], self.group[\u0027id\u0027], src_role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_384e0597","line":123,"range":{"start_line":123,"start_character":12,"end_line":123,"end_character":36},"updated":"2015-12-24 05:55:37.000000000","message":"ditto","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fb13497d9743a5e3bbe664e59de430e32a8df69e","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_group(self):"},{"line_number":121,"context_line":"        # Create role"},{"line_number":122,"context_line":"        src_role \u003d \\"},{"line_number":123,"context_line":"            self.client.create_role(data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":124,"context_line":"        # Assign role on domains group"},{"line_number":125,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_group("},{"line_number":126,"context_line":"            self.domain[\u0027id\u0027], self.group[\u0027id\u0027], src_role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_6fba8425","line":123,"range":{"start_line":123,"start_character":12,"end_line":123,"end_character":36},"in_reply_to":"1a7b0d38_384e0597","updated":"2015-12-24 06:40:29.000000000","message":"Done","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f564f35b94e27322c9c8f2de4865c50eb689582e","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        # Delete role"},{"line_number":137,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":140,"context_line":"    @test.idempotent_id(\u002718b70e45-7687-4b72-8277-b8f1a47d7591\u0027)"},{"line_number":141,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_user(self):"},{"line_number":142,"context_line":"        # Create role"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_cc3626e7","line":139,"range":{"start_line":139,"start_character":3,"end_line":139,"end_character":28},"updated":"2015-12-24 05:55:37.000000000","message":"ditto","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fb13497d9743a5e3bbe664e59de430e32a8df69e","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        # Delete role"},{"line_number":137,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":140,"context_line":"    @test.idempotent_id(\u002718b70e45-7687-4b72-8277-b8f1a47d7591\u0027)"},{"line_number":141,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_user(self):"},{"line_number":142,"context_line":"        # Create role"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_2f831c58","line":139,"range":{"start_line":139,"start_character":3,"end_line":139,"end_character":28},"in_reply_to":"1a7b0d38_cc3626e7","updated":"2015-12-24 06:40:29.000000000","message":"Done","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f564f35b94e27322c9c8f2de4865c50eb689582e","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_user(self):"},{"line_number":142,"context_line":"        # Create role"},{"line_number":143,"context_line":"        src_role \u003d \\"},{"line_number":144,"context_line":"            self.client.create_role(data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":145,"context_line":"        # Assign role on projects user"},{"line_number":146,"context_line":"        self.inheritor_client.assign_inherited_role_on_projects_user("},{"line_number":147,"context_line":"            self.project[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_d844a175","line":144,"range":{"start_line":144,"start_character":12,"end_line":144,"end_character":36},"updated":"2015-12-24 05:55:37.000000000","message":"ditto","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fb13497d9743a5e3bbe664e59de430e32a8df69e","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_user(self):"},{"line_number":142,"context_line":"        # Create role"},{"line_number":143,"context_line":"        src_role \u003d \\"},{"line_number":144,"context_line":"            self.client.create_role(data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":145,"context_line":"        # Assign role on projects user"},{"line_number":146,"context_line":"        self.inheritor_client.assign_inherited_role_on_projects_user("},{"line_number":147,"context_line":"            self.project[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_4f86a866","line":144,"range":{"start_line":144,"start_character":12,"end_line":144,"end_character":36},"in_reply_to":"1a7b0d38_d844a175","updated":"2015-12-24 06:40:29.000000000","message":"Done","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f564f35b94e27322c9c8f2de4865c50eb689582e","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        # Delete role"},{"line_number":155,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":158,"context_line":"    @test.idempotent_id(\u002726021436-d5a4-4256-943c-ded01e0d4b45\u0027)"},{"line_number":159,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_group(self):"},{"line_number":160,"context_line":"        # Create role"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_2c4eca6f","line":157,"range":{"start_line":157,"start_character":4,"end_line":157,"end_character":28},"updated":"2015-12-24 05:55:37.000000000","message":"ditto","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fb13497d9743a5e3bbe664e59de430e32a8df69e","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        # Delete role"},{"line_number":155,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":158,"context_line":"    @test.idempotent_id(\u002726021436-d5a4-4256-943c-ded01e0d4b45\u0027)"},{"line_number":159,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_group(self):"},{"line_number":160,"context_line":"        # Create role"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_0f80a045","line":157,"range":{"start_line":157,"start_character":4,"end_line":157,"end_character":28},"in_reply_to":"1a7b0d38_2c4eca6f","updated":"2015-12-24 06:40:29.000000000","message":"Done","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f564f35b94e27322c9c8f2de4865c50eb689582e","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_group(self):"},{"line_number":160,"context_line":"        # Create role"},{"line_number":161,"context_line":"        src_role \u003d \\"},{"line_number":162,"context_line":"            self.client.create_role(data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":163,"context_line":"        # Assign role on projects group"},{"line_number":164,"context_line":"        self.inheritor_client.assign_inherited_role_on_projects_group("},{"line_number":165,"context_line":"            self.project[\u0027id\u0027], self.group[\u0027id\u0027], src_role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_78548d20","line":162,"range":{"start_line":162,"start_character":12,"end_line":162,"end_character":36},"updated":"2015-12-24 05:55:37.000000000","message":"ditto","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fb13497d9743a5e3bbe664e59de430e32a8df69e","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_group(self):"},{"line_number":160,"context_line":"        # Create role"},{"line_number":161,"context_line":"        src_role \u003d \\"},{"line_number":162,"context_line":"            self.client.create_role(data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":163,"context_line":"        # Assign role on projects group"},{"line_number":164,"context_line":"        self.inheritor_client.assign_inherited_role_on_projects_group("},{"line_number":165,"context_line":"            self.project[\u0027id\u0027], self.group[\u0027id\u0027], src_role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a7b0d38_af970c8f","line":162,"range":{"start_line":162,"start_character":12,"end_line":162,"end_character":36},"in_reply_to":"1a7b0d38_78548d20","updated":"2015-12-24 06:40:29.000000000","message":"Done","commit_id":"bce06c282bb559c9deb06d312b586e81db871670"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a3e66fb3b94021ae20c3da5294258a538306969d","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_user("},{"line_number":104,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":105,"context_line":"        # list role on domains user"},{"line_number":106,"context_line":"        self.inheritor_client.list_inherited_project_role_for_user_on_domain("},{"line_number":107,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027])"},{"line_number":108,"context_line":"        # Check role on domains user"},{"line_number":109,"context_line":"        self.inheritor_client.check_user_inherited_project_role_on_domain("}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_56039d0d","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":77},"updated":"2015-12-24 09:44:14.000000000","message":"Can we check this list contains src_role?","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"4a6491e7b9524e8dafdd5a46210cc0b2507a2dac","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_user("},{"line_number":104,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":105,"context_line":"        # list role on domains user"},{"line_number":106,"context_line":"        self.inheritor_client.list_inherited_project_role_for_user_on_domain("},{"line_number":107,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027])"},{"line_number":108,"context_line":"        # Check role on domains user"},{"line_number":109,"context_line":"        self.inheritor_client.check_user_inherited_project_role_on_domain("}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_aab7e3d6","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":77},"in_reply_to":"1a7b0d38_1578aaf1","updated":"2015-12-25 02:10:49.000000000","message":"Sorry, my previous comment was unclear.\n\nI did mean\n\n roles \u003d self.inheritor_client.list_inherited_project_role_for_user_on_domain(...\n self.assertIn(src_role, roles)\n\nThis check way is common in Tempest tests.","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"35157cd2cb991fd90b02bc905a2c2db619b8961c","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_user("},{"line_number":104,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":105,"context_line":"        # list role on domains user"},{"line_number":106,"context_line":"        self.inheritor_client.list_inherited_project_role_for_user_on_domain("},{"line_number":107,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027])"},{"line_number":108,"context_line":"        # Check role on domains user"},{"line_number":109,"context_line":"        self.inheritor_client.check_user_inherited_project_role_on_domain("}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_1578aaf1","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":77},"in_reply_to":"1a7b0d38_56039d0d","updated":"2015-12-24 10:57:21.000000000","message":"No, if you specify src_role, it will result in TypeError.\nhttp://developer.openstack.org/api-ref-identity-v3-ext.html#listRolesForUser-domain","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"49f6e474bd91f982b8589897a7753a04b7119294","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_user("},{"line_number":104,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":105,"context_line":"        # list role on domains user"},{"line_number":106,"context_line":"        self.inheritor_client.list_inherited_project_role_for_user_on_domain("},{"line_number":107,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027])"},{"line_number":108,"context_line":"        # Check role on domains user"},{"line_number":109,"context_line":"        self.inheritor_client.check_user_inherited_project_role_on_domain("}],"source_content_type":"text/x-python","patch_set":8,"id":"ba63e191_49d2fad3","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":77},"in_reply_to":"1a7b0d38_aab7e3d6","updated":"2016-01-20 09:20:02.000000000","message":"Sorry, I mistook the meaning.\nI changed identity_client.py to return the json body, and I added codes to check role id.","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a3e66fb3b94021ae20c3da5294258a538306969d","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        self.inheritor_client.revoke_inherited_role_from_user_on_domain("},{"line_number":113,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":114,"context_line":"        # Delete role"},{"line_number":115,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    @test.idempotent_id(\u0027c7a8dda2-be50-4fb4-9a9c-e830771078b1\u0027)"},{"line_number":118,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_group(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_165bd52f","line":115,"range":{"start_line":115,"start_character":13,"end_line":115,"end_character":31},"updated":"2015-12-24 09:44:14.000000000","message":"If the test quits due to a failure, a new role remains because this delete_role is not called.\nSo please make this call as addCleanup() call just after line 101.","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"35157cd2cb991fd90b02bc905a2c2db619b8961c","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        self.inheritor_client.revoke_inherited_role_from_user_on_domain("},{"line_number":113,"context_line":"            self.domain[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":114,"context_line":"        # Delete role"},{"line_number":115,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    @test.idempotent_id(\u0027c7a8dda2-be50-4fb4-9a9c-e830771078b1\u0027)"},{"line_number":118,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_group(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_f5639e3f","line":115,"range":{"start_line":115,"start_character":13,"end_line":115,"end_character":31},"in_reply_to":"1a7b0d38_165bd52f","updated":"2015-12-24 10:57:21.000000000","message":"Done","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a3e66fb3b94021ae20c3da5294258a538306969d","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_group("},{"line_number":124,"context_line":"            self.domain[\u0027id\u0027], self.group[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":125,"context_line":"        # List role on domains group"},{"line_number":126,"context_line":"        self.inheritor_client.list_inherited_project_role_for_group_on_domain("},{"line_number":127,"context_line":"            self.domain[\u0027id\u0027], self.group[\u0027id\u0027])"},{"line_number":128,"context_line":"        # Check role on domains group"},{"line_number":129,"context_line":"        self.inheritor_client.check_group_inherited_project_role_on_domain("}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_9647c54a","line":126,"range":{"start_line":126,"start_character":8,"end_line":126,"end_character":77},"updated":"2015-12-24 09:44:14.000000000","message":"ditto","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"35157cd2cb991fd90b02bc905a2c2db619b8961c","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_group("},{"line_number":124,"context_line":"            self.domain[\u0027id\u0027], self.group[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":125,"context_line":"        # List role on domains group"},{"line_number":126,"context_line":"        self.inheritor_client.list_inherited_project_role_for_group_on_domain("},{"line_number":127,"context_line":"            self.domain[\u0027id\u0027], self.group[\u0027id\u0027])"},{"line_number":128,"context_line":"        # Check role on domains group"},{"line_number":129,"context_line":"        self.inheritor_client.check_group_inherited_project_role_on_domain("}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_75500e5f","line":126,"range":{"start_line":126,"start_character":8,"end_line":126,"end_character":77},"in_reply_to":"1a7b0d38_9647c54a","updated":"2015-12-24 10:57:21.000000000","message":"ditto","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a3e66fb3b94021ae20c3da5294258a538306969d","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        self.inheritor_client.revoke_inherited_role_from_group_on_domain("},{"line_number":133,"context_line":"            self.domain[\u0027id\u0027], self.group[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":134,"context_line":"        # Delete role"},{"line_number":135,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    @test.idempotent_id(\u002718b70e45-7687-4b72-8277-b8f1a47d7591\u0027)"},{"line_number":138,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_user(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_3675b197","line":135,"range":{"start_line":135,"start_character":8,"end_line":135,"end_character":47},"updated":"2015-12-24 09:44:14.000000000","message":"ditto","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"35157cd2cb991fd90b02bc905a2c2db619b8961c","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        self.inheritor_client.revoke_inherited_role_from_group_on_domain("},{"line_number":133,"context_line":"            self.domain[\u0027id\u0027], self.group[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":134,"context_line":"        # Delete role"},{"line_number":135,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    @test.idempotent_id(\u002718b70e45-7687-4b72-8277-b8f1a47d7591\u0027)"},{"line_number":138,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_user(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_354a86ad","line":135,"range":{"start_line":135,"start_character":8,"end_line":135,"end_character":47},"in_reply_to":"1a7b0d38_3675b197","updated":"2015-12-24 10:57:21.000000000","message":"Done","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a3e66fb3b94021ae20c3da5294258a538306969d","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        self.inheritor_client.revoke_inherited_role_from_user_on_project("},{"line_number":150,"context_line":"            self.project[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":151,"context_line":"        # Delete role"},{"line_number":152,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    @test.idempotent_id(\u002726021436-d5a4-4256-943c-ded01e0d4b45\u0027)"},{"line_number":155,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_group(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_1672f5ad","line":152,"range":{"start_line":152,"start_character":9,"end_line":152,"end_character":46},"updated":"2015-12-24 09:44:14.000000000","message":"ditto","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"35157cd2cb991fd90b02bc905a2c2db619b8961c","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        self.inheritor_client.revoke_inherited_role_from_user_on_project("},{"line_number":150,"context_line":"            self.project[\u0027id\u0027], self.user[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":151,"context_line":"        # Delete role"},{"line_number":152,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    @test.idempotent_id(\u002726021436-d5a4-4256-943c-ded01e0d4b45\u0027)"},{"line_number":155,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_group(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_d5c78210","line":152,"range":{"start_line":152,"start_character":9,"end_line":152,"end_character":46},"in_reply_to":"1a7b0d38_1672f5ad","updated":"2015-12-24 10:57:21.000000000","message":"Done","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a3e66fb3b94021ae20c3da5294258a538306969d","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        self.inheritor_client.revoke_inherited_role_from_group_on_project("},{"line_number":167,"context_line":"            self.project[\u0027id\u0027], self.group[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":168,"context_line":"        # Delete role"},{"line_number":169,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_d6646de6","line":169,"range":{"start_line":169,"start_character":8,"end_line":169,"end_character":47},"updated":"2015-12-24 09:44:14.000000000","message":"ditto","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"35157cd2cb991fd90b02bc905a2c2db619b8961c","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        self.inheritor_client.revoke_inherited_role_from_group_on_project("},{"line_number":167,"context_line":"            self.project[\u0027id\u0027], self.group[\u0027id\u0027], src_role[\u0027id\u0027])"},{"line_number":168,"context_line":"        # Delete role"},{"line_number":169,"context_line":"        self.client.delete_role(src_role[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a7b0d38_f5cabe19","line":169,"range":{"start_line":169,"start_character":8,"end_line":169,"end_character":47},"in_reply_to":"1a7b0d38_d6646de6","updated":"2015-12-24 10:57:21.000000000","message":"Done","commit_id":"821c9e394535be7dae49352e386c72dbf8aabc4b"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"efe95f9f165d59cc049d6e4cdb471defd4521c62","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_user(self):"},{"line_number":104,"context_line":"        # Create role"},{"line_number":105,"context_line":"        src_role \u003d self.client.create_role("},{"line_number":106,"context_line":"            data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":107,"context_line":"        self.addCleanup(self.client.delete_role, src_role[\u0027id\u0027])"},{"line_number":108,"context_line":"        # Assign role on domains user"},{"line_number":109,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_user("}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_bb7e94ac","line":106,"range":{"start_line":106,"start_character":12,"end_line":106,"end_character":40},"updated":"2016-01-28 02:48:43.000000000","message":"It should be \"name\u003ddata_utils.rand_name(\u0027Role\u0027)\"","commit_id":"45de563a1cea731f29e4f221b31bcf1b87c73f9e"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"45118d197a3646485365d58f766ce83821c286e5","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_user(self):"},{"line_number":104,"context_line":"        # Create role"},{"line_number":105,"context_line":"        src_role \u003d self.client.create_role("},{"line_number":106,"context_line":"            data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":107,"context_line":"        self.addCleanup(self.client.delete_role, src_role[\u0027id\u0027])"},{"line_number":108,"context_line":"        # Assign role on domains user"},{"line_number":109,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_user("}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_ecbe8dfe","line":106,"range":{"start_line":106,"start_character":12,"end_line":106,"end_character":40},"in_reply_to":"7a5de9d1_bb7e94ac","updated":"2016-01-28 07:32:10.000000000","message":"Done","commit_id":"45de563a1cea731f29e4f221b31bcf1b87c73f9e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"efe95f9f165d59cc049d6e4cdb471defd4521c62","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_group(self):"},{"line_number":131,"context_line":"        # Create role"},{"line_number":132,"context_line":"        src_role \u003d self.client.create_role("},{"line_number":133,"context_line":"            data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":134,"context_line":"        self.addCleanup(self.client.delete_role, src_role[\u0027id\u0027])"},{"line_number":135,"context_line":"        # Assign role on domains group"},{"line_number":136,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_group("}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_1b448872","line":133,"range":{"start_line":133,"start_character":12,"end_line":133,"end_character":40},"updated":"2016-01-28 02:48:43.000000000","message":"ditto","commit_id":"45de563a1cea731f29e4f221b31bcf1b87c73f9e"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"45118d197a3646485365d58f766ce83821c286e5","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    def test_inherit_assign_list_check_revoke_roles_on_domains_group(self):"},{"line_number":131,"context_line":"        # Create role"},{"line_number":132,"context_line":"        src_role \u003d self.client.create_role("},{"line_number":133,"context_line":"            data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":134,"context_line":"        self.addCleanup(self.client.delete_role, src_role[\u0027id\u0027])"},{"line_number":135,"context_line":"        # Assign role on domains group"},{"line_number":136,"context_line":"        self.inheritor_client.assign_inherited_role_on_domains_group("}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_0cbc4904","line":133,"range":{"start_line":133,"start_character":12,"end_line":133,"end_character":40},"in_reply_to":"7a5de9d1_1b448872","updated":"2016-01-28 07:32:10.000000000","message":"Done","commit_id":"45de563a1cea731f29e4f221b31bcf1b87c73f9e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"efe95f9f165d59cc049d6e4cdb471defd4521c62","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_user(self):"},{"line_number":158,"context_line":"        # Create role"},{"line_number":159,"context_line":"        src_role \u003d self.client.create_role("},{"line_number":160,"context_line":"            data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":161,"context_line":"        self.addCleanup(self.client.delete_role, src_role[\u0027id\u0027])"},{"line_number":162,"context_line":"        # Assign role on projects user"},{"line_number":163,"context_line":"        self.inheritor_client.assign_inherited_role_on_projects_user("}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_db5ef044","line":160,"range":{"start_line":160,"start_character":12,"end_line":160,"end_character":40},"updated":"2016-01-28 02:48:43.000000000","message":"ditto","commit_id":"45de563a1cea731f29e4f221b31bcf1b87c73f9e"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"45118d197a3646485365d58f766ce83821c286e5","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_user(self):"},{"line_number":158,"context_line":"        # Create role"},{"line_number":159,"context_line":"        src_role \u003d self.client.create_role("},{"line_number":160,"context_line":"            data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":161,"context_line":"        self.addCleanup(self.client.delete_role, src_role[\u0027id\u0027])"},{"line_number":162,"context_line":"        # Assign role on projects user"},{"line_number":163,"context_line":"        self.inheritor_client.assign_inherited_role_on_projects_user("}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_ac3735af","line":160,"range":{"start_line":160,"start_character":12,"end_line":160,"end_character":40},"in_reply_to":"7a5de9d1_db5ef044","updated":"2016-01-28 07:32:10.000000000","message":"Done","commit_id":"45de563a1cea731f29e4f221b31bcf1b87c73f9e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"efe95f9f165d59cc049d6e4cdb471defd4521c62","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_group(self):"},{"line_number":174,"context_line":"        # Create role"},{"line_number":175,"context_line":"        src_role \u003d self.client.create_role("},{"line_number":176,"context_line":"            data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":177,"context_line":"        self.addCleanup(self.client.delete_role, src_role[\u0027id\u0027])"},{"line_number":178,"context_line":"        # Assign role on projects group"},{"line_number":179,"context_line":"        self.inheritor_client.assign_inherited_role_on_projects_group("}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_fb5bac52","line":176,"range":{"start_line":176,"start_character":12,"end_line":176,"end_character":40},"updated":"2016-01-28 02:48:43.000000000","message":"ditto","commit_id":"45de563a1cea731f29e4f221b31bcf1b87c73f9e"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"45118d197a3646485365d58f766ce83821c286e5","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    def test_inherit_assign_check_revoke_roles_on_projects_group(self):"},{"line_number":174,"context_line":"        # Create role"},{"line_number":175,"context_line":"        src_role \u003d self.client.create_role("},{"line_number":176,"context_line":"            data_utils.rand_name(\u0027Role\u0027))[\u0027role\u0027]"},{"line_number":177,"context_line":"        self.addCleanup(self.client.delete_role, src_role[\u0027id\u0027])"},{"line_number":178,"context_line":"        # Assign role on projects group"},{"line_number":179,"context_line":"        self.inheritor_client.assign_inherited_role_on_projects_group("}],"source_content_type":"text/x-python","patch_set":10,"id":"7a5de9d1_6c413d0b","line":176,"range":{"start_line":176,"start_character":12,"end_line":176,"end_character":40},"in_reply_to":"7a5de9d1_fb5bac52","updated":"2016-01-28 07:32:10.000000000","message":"Done","commit_id":"45de563a1cea731f29e4f221b31bcf1b87c73f9e"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"73bc3ebcf4c6bba20854cfbe729271e769b60586","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @classmethod"},{"line_number":26,"context_line":"    def skip_checks(cls):"},{"line_number":27,"context_line":"        super(BaseInheritsV3Test, cls).skip_checks()"},{"line_number":28,"context_line":"        if not CONF.identity_feature_enabled.os_inherit:"},{"line_number":29,"context_line":"            raise cls.skipException(\"Inherits aren\u0027t enabled\")"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a5de9d1_676dd603","line":28,"range":{"start_line":28,"start_character":8,"end_line":28,"end_character":56},"updated":"2016-01-28 08:25:08.000000000","message":"It is necessary to change here like\n\n if not test.is_extension_enabled(\u0027os_inherit\u0027, \u0027identity\u0027):\n\nfor handling one of api extensions on Tempest side.","commit_id":"d92873a781b0f61758fa71ece726bdf29bb44287"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fac04032db29677fdc479a62b2986f28a05c7c42","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @classmethod"},{"line_number":26,"context_line":"    def skip_checks(cls):"},{"line_number":27,"context_line":"        super(BaseInheritsV3Test, cls).skip_checks()"},{"line_number":28,"context_line":"        if not CONF.identity_feature_enabled.os_inherit:"},{"line_number":29,"context_line":"            raise cls.skipException(\"Inherits aren\u0027t enabled\")"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a5de9d1_c58162c4","line":28,"range":{"start_line":28,"start_character":8,"end_line":28,"end_character":56},"in_reply_to":"7a5de9d1_676dd603","updated":"2016-02-02 04:48:49.000000000","message":"Done","commit_id":"d92873a781b0f61758fa71ece726bdf29bb44287"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"2816221d32a13ae063a9c1e0521d2343b23e570e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    @classmethod"},{"line_number":32,"context_line":"    def setup_clients(cls):"},{"line_number":33,"context_line":"        super(BaseInheritsV3Test, cls).setup_clients()"},{"line_number":34,"context_line":"        cls.fetched_role_ids \u003d list()"},{"line_number":35,"context_line":"        u_name \u003d data_utils.rand_name(\u0027user-\u0027)"},{"line_number":36,"context_line":"        u_desc \u003d \u0027%s description\u0027 % u_name"},{"line_number":37,"context_line":"        u_email \u003d \u0027%s@testmail.tm\u0027 % u_name"}],"source_content_type":"text/x-python","patch_set":13,"id":"5a5ae5dd_cf2b9593","line":34,"updated":"2016-02-09 12:09:43.000000000","message":"This is a class variable and it could be shared between your tests but it shouldn\u0027t be.\n\nPlease define this variable inside each test.","commit_id":"d76bdcd44b879abd9070f95f28286097d4fbc552"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"24601339c8f42b17a8e85666cb8f1521c0c2a073","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    @classmethod"},{"line_number":32,"context_line":"    def setup_clients(cls):"},{"line_number":33,"context_line":"        super(BaseInheritsV3Test, cls).setup_clients()"},{"line_number":34,"context_line":"        cls.fetched_role_ids \u003d list()"},{"line_number":35,"context_line":"        u_name \u003d data_utils.rand_name(\u0027user-\u0027)"},{"line_number":36,"context_line":"        u_desc \u003d \u0027%s description\u0027 % u_name"},{"line_number":37,"context_line":"        u_email \u003d \u0027%s@testmail.tm\u0027 % u_name"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a57f1b5_abfc113f","line":34,"in_reply_to":"5a5ae5dd_cf2b9593","updated":"2016-02-10 09:05:34.000000000","message":"Done","commit_id":"d76bdcd44b879abd9070f95f28286097d4fbc552"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"2816221d32a13ae063a9c1e0521d2343b23e570e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        u_desc \u003d \u0027%s description\u0027 % u_name"},{"line_number":37,"context_line":"        u_email \u003d \u0027%s@testmail.tm\u0027 % u_name"},{"line_number":38,"context_line":"        cls.u_password \u003d data_utils.rand_name(\u0027pass-\u0027)"},{"line_number":39,"context_line":"        cls.domain \u003d cls.client.create_domain("},{"line_number":40,"context_line":"            data_utils.rand_name(\u0027domain-\u0027),"},{"line_number":41,"context_line":"            description\u003ddata_utils.rand_name(\u0027domain-desc-\u0027))[\u0027domain\u0027]"},{"line_number":42,"context_line":"        cls.project \u003d cls.client.create_project("}],"source_content_type":"text/x-python","patch_set":13,"id":"5a5ae5dd_cfe1559c","line":39,"updated":"2016-02-09 12:09:43.000000000","message":"Resource creation should be done in a method called \"resource_setup\". Have a look at tempest.test.BaseTestCase","commit_id":"d76bdcd44b879abd9070f95f28286097d4fbc552"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"24601339c8f42b17a8e85666cb8f1521c0c2a073","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        u_desc \u003d \u0027%s description\u0027 % u_name"},{"line_number":37,"context_line":"        u_email \u003d \u0027%s@testmail.tm\u0027 % u_name"},{"line_number":38,"context_line":"        cls.u_password \u003d data_utils.rand_name(\u0027pass-\u0027)"},{"line_number":39,"context_line":"        cls.domain \u003d cls.client.create_domain("},{"line_number":40,"context_line":"            data_utils.rand_name(\u0027domain-\u0027),"},{"line_number":41,"context_line":"            description\u003ddata_utils.rand_name(\u0027domain-desc-\u0027))[\u0027domain\u0027]"},{"line_number":42,"context_line":"        cls.project \u003d cls.client.create_project("}],"source_content_type":"text/x-python","patch_set":13,"id":"3a57f1b5_6b95b9e2","line":39,"in_reply_to":"5a5ae5dd_cfe1559c","updated":"2016-02-10 09:05:34.000000000","message":"Done","commit_id":"d76bdcd44b879abd9070f95f28286097d4fbc552"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"5ae918bc36b79a0b716e833690411c4b04349f37","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        cls.group \u003d cls.groups_client.create_group("},{"line_number":47,"context_line":"            name\u003ddata_utils.rand_name(\u0027group-\u0027), project_id\u003dcls.project[\u0027id\u0027],"},{"line_number":48,"context_line":"            domain_id\u003dcls.domain[\u0027id\u0027])[\u0027group\u0027]"},{"line_number":49,"context_line":"        cls.user \u003d cls.client.create_user("},{"line_number":50,"context_line":"            u_name, description\u003du_desc, password\u003dcls.u_password,"},{"line_number":51,"context_line":"            email\u003du_email, project_id\u003dcls.project[\u0027id\u0027],"},{"line_number":52,"context_line":"            domain_id\u003dcls.domain[\u0027id\u0027])[\u0027user\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"5a5ae5dd_3c51570f","line":49,"updated":"2016-02-09 04:57:49.000000000","message":"I\u0027m just wondering but I want to clarify.\nIs there any particular reason that you create this user after create the group? Is there any dependency for it? Because you delete the group first at L.84.","commit_id":"d76bdcd44b879abd9070f95f28286097d4fbc552"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"2552d980bf3eb88b397011adf3ca43462a3f407d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        cls.group \u003d cls.groups_client.create_group("},{"line_number":47,"context_line":"            name\u003ddata_utils.rand_name(\u0027group-\u0027), project_id\u003dcls.project[\u0027id\u0027],"},{"line_number":48,"context_line":"            domain_id\u003dcls.domain[\u0027id\u0027])[\u0027group\u0027]"},{"line_number":49,"context_line":"        cls.user \u003d cls.client.create_user("},{"line_number":50,"context_line":"            u_name, description\u003du_desc, password\u003dcls.u_password,"},{"line_number":51,"context_line":"            email\u003du_email, project_id\u003dcls.project[\u0027id\u0027],"},{"line_number":52,"context_line":"            domain_id\u003dcls.domain[\u0027id\u0027])[\u0027user\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"5a5ae5dd_901627f0","line":49,"in_reply_to":"5a5ae5dd_3c51570f","updated":"2016-02-09 10:00:54.000000000","message":"There is not particular reason.\nThere is not dependency, even if we create(or delete) either user or group first.","commit_id":"d76bdcd44b879abd9070f95f28286097d4fbc552"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"2816221d32a13ae063a9c1e0521d2343b23e570e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            list_inherited_project_role_for_user_on_domain("},{"line_number":114,"context_line":"                self.domain[\u0027id\u0027], self.user[\u0027id\u0027])[\u0027roles\u0027]"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        for i in roles:"},{"line_number":117,"context_line":"            self.fetched_role_ids.append(i[\u0027id\u0027])"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        self._list_assertions(roles, self.fetched_role_ids,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5a5ae5dd_520d0e36","line":116,"updated":"2016-02-09 12:09:43.000000000","message":"Use a list comprehension:\n  fetched_role_ids \u003d [i[\u0027id\u0027] for i in roles]\n\nBonus: you don\u0027t pollute the class namespace.","commit_id":"d76bdcd44b879abd9070f95f28286097d4fbc552"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"24601339c8f42b17a8e85666cb8f1521c0c2a073","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            list_inherited_project_role_for_user_on_domain("},{"line_number":114,"context_line":"                self.domain[\u0027id\u0027], self.user[\u0027id\u0027])[\u0027roles\u0027]"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        for i in roles:"},{"line_number":117,"context_line":"            self.fetched_role_ids.append(i[\u0027id\u0027])"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        self._list_assertions(roles, self.fetched_role_ids,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a57f1b5_8b9a7513","line":116,"in_reply_to":"5a5ae5dd_520d0e36","updated":"2016-02-10 09:05:34.000000000","message":"Done","commit_id":"d76bdcd44b879abd9070f95f28286097d4fbc552"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"2816221d32a13ae063a9c1e0521d2343b23e570e","unresolved":false,"context_lines":[{"line_number":140,"context_line":"            list_inherited_project_role_for_group_on_domain("},{"line_number":141,"context_line":"                self.domain[\u0027id\u0027], self.group[\u0027id\u0027])[\u0027roles\u0027]"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        for i in roles:"},{"line_number":144,"context_line":"            self.fetched_role_ids.append(i[\u0027id\u0027])"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        self._list_assertions(roles, self.fetched_role_ids,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5a5ae5dd_f212fa57","line":143,"updated":"2016-02-09 12:09:43.000000000","message":"Use a list comprehension:\n  fetched_role_ids \u003d [i[\u0027id\u0027] for i in roles]","commit_id":"d76bdcd44b879abd9070f95f28286097d4fbc552"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"24601339c8f42b17a8e85666cb8f1521c0c2a073","unresolved":false,"context_lines":[{"line_number":140,"context_line":"            list_inherited_project_role_for_group_on_domain("},{"line_number":141,"context_line":"                self.domain[\u0027id\u0027], self.group[\u0027id\u0027])[\u0027roles\u0027]"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        for i in roles:"},{"line_number":144,"context_line":"            self.fetched_role_ids.append(i[\u0027id\u0027])"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        self._list_assertions(roles, self.fetched_role_ids,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a57f1b5_4ba47d56","line":143,"in_reply_to":"5a5ae5dd_f212fa57","updated":"2016-02-10 09:05:34.000000000","message":"Done","commit_id":"d76bdcd44b879abd9070f95f28286097d4fbc552"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"077913cf7a9f5002e9eb61b87950dd0f2fbdcdfa","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            email\u003du_email, project_id\u003dcls.project[\u0027id\u0027],"},{"line_number":51,"context_line":"            domain_id\u003dcls.domain[\u0027id\u0027])[\u0027user\u0027]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def assign_inheritor_roles(self):"},{"line_number":54,"context_line":"        # Get a Admin User"},{"line_number":55,"context_line":"        admin_user_name \u003d CONF.auth.admin_username"},{"line_number":56,"context_line":"        admin_user \u003d self.get_user_by_name(admin_user_name)"},{"line_number":57,"context_line":"        admin_user_id \u003d admin_user[\u0027id\u0027]"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        admin_role \u003d self.get_role_by_name(\u0027admin\u0027)"},{"line_number":60,"context_line":"        admin_role_id \u003d admin_role[\u0027id\u0027]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        admin_password \u003d CONF.auth.admin_password"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        admin_project_name \u003d CONF.auth.admin_tenant_name"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        # Assign roles to inherit"},{"line_number":67,"context_line":"        self.client.assign_user_role_on_domain(\u0027default\u0027,"},{"line_number":68,"context_line":"                                               admin_user_id,"},{"line_number":69,"context_line":"                                               admin_role_id)"},{"line_number":70,"context_line":"        # Initialize a new client with the inheritor credentials"},{"line_number":71,"context_line":"        creds \u003d common_creds.get_credentials("},{"line_number":72,"context_line":"            identity_version\u003d\u0027v3\u0027,"},{"line_number":73,"context_line":"            username\u003dadmin_user_name,"},{"line_number":74,"context_line":"            password\u003dadmin_password,"},{"line_number":75,"context_line":"            user_domain_id\u003d\u0027default\u0027,"},{"line_number":76,"context_line":"            project_name\u003dadmin_project_name,"},{"line_number":77,"context_line":"            project_domain_id\u003d\u0027default\u0027)"},{"line_number":78,"context_line":"        os \u003d clients.Manager(credentials\u003dcreds)"},{"line_number":79,"context_line":"        self.inheritor_client \u003d os.identity_v3_client"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    @classmethod"},{"line_number":82,"context_line":"    def resource_cleanup(cls):"}],"source_content_type":"text/x-python","patch_set":14,"id":"bae84128_0fb6c33c","line":79,"range":{"start_line":53,"start_character":0,"end_line":79,"end_character":53},"updated":"2016-02-22 15:09:54.000000000","message":"This way is dangerous, we should not change *common/shared* admin setting at all. This affects the other test side widely and these tests can fail. Is this change mandatory?","commit_id":"c03ccefca3e622570d989c311a6eba5db7a88ba1"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"74485eb456dec1ba8e02bacb31b78765613f9b9c","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            email\u003du_email, project_id\u003dcls.project[\u0027id\u0027],"},{"line_number":51,"context_line":"            domain_id\u003dcls.domain[\u0027id\u0027])[\u0027user\u0027]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def assign_inheritor_roles(self):"},{"line_number":54,"context_line":"        # Get a Admin User"},{"line_number":55,"context_line":"        admin_user_name \u003d CONF.auth.admin_username"},{"line_number":56,"context_line":"        admin_user \u003d self.get_user_by_name(admin_user_name)"},{"line_number":57,"context_line":"        admin_user_id \u003d admin_user[\u0027id\u0027]"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        admin_role \u003d self.get_role_by_name(\u0027admin\u0027)"},{"line_number":60,"context_line":"        admin_role_id \u003d admin_role[\u0027id\u0027]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        admin_password \u003d CONF.auth.admin_password"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        admin_project_name \u003d CONF.auth.admin_tenant_name"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        # Assign roles to inherit"},{"line_number":67,"context_line":"        self.client.assign_user_role_on_domain(\u0027default\u0027,"},{"line_number":68,"context_line":"                                               admin_user_id,"},{"line_number":69,"context_line":"                                               admin_role_id)"},{"line_number":70,"context_line":"        # Initialize a new client with the inheritor credentials"},{"line_number":71,"context_line":"        creds \u003d common_creds.get_credentials("},{"line_number":72,"context_line":"            identity_version\u003d\u0027v3\u0027,"},{"line_number":73,"context_line":"            username\u003dadmin_user_name,"},{"line_number":74,"context_line":"            password\u003dadmin_password,"},{"line_number":75,"context_line":"            user_domain_id\u003d\u0027default\u0027,"},{"line_number":76,"context_line":"            project_name\u003dadmin_project_name,"},{"line_number":77,"context_line":"            project_domain_id\u003d\u0027default\u0027)"},{"line_number":78,"context_line":"        os \u003d clients.Manager(credentials\u003dcreds)"},{"line_number":79,"context_line":"        self.inheritor_client \u003d os.identity_v3_client"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    @classmethod"},{"line_number":82,"context_line":"    def resource_cleanup(cls):"}],"source_content_type":"text/x-python","patch_set":14,"id":"bae84128_d1957c87","line":79,"range":{"start_line":53,"start_character":0,"end_line":79,"end_character":53},"in_reply_to":"bae84128_0fb6c33c","updated":"2016-02-23 06:27:33.000000000","message":"I reconfirmed this code. This change was unnecessary.","commit_id":"c03ccefca3e622570d989c311a6eba5db7a88ba1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f5e202ec96105d7dc70699d1826d935d779bd2c6","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        u_desc \u003d \u0027%s description\u0027 % u_name"},{"line_number":34,"context_line":"        u_email \u003d \u0027%s@testmail.tm\u0027 % u_name"},{"line_number":35,"context_line":"        u_password \u003d data_utils.rand_name(\u0027pass-\u0027)"},{"line_number":36,"context_line":"        cls.domain \u003d cls.client.create_domain("},{"line_number":37,"context_line":"            data_utils.rand_name(\u0027domain-\u0027),"},{"line_number":38,"context_line":"            description\u003ddata_utils.rand_name(\u0027domain-desc-\u0027))[\u0027domain\u0027]"},{"line_number":39,"context_line":"        cls.project \u003d cls.projects_client.create_project("}],"source_content_type":"text/x-python","patch_set":17,"id":"bae84128_ec3962f3","line":36,"range":{"start_line":36,"start_character":25,"end_line":36,"end_character":31},"updated":"2016-02-24 17:06:00.000000000","message":"domains_client is separated from identity_client now, so we need to change here to domains_client.","commit_id":"96f1d10d28a70d3d92687511c45244cf966d6689"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"9d9f174fddf6a43c3ec1f53405464d459bf6c7d4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        u_desc \u003d \u0027%s description\u0027 % u_name"},{"line_number":34,"context_line":"        u_email \u003d \u0027%s@testmail.tm\u0027 % u_name"},{"line_number":35,"context_line":"        u_password \u003d data_utils.rand_name(\u0027pass-\u0027)"},{"line_number":36,"context_line":"        cls.domain \u003d cls.client.create_domain("},{"line_number":37,"context_line":"            data_utils.rand_name(\u0027domain-\u0027),"},{"line_number":38,"context_line":"            description\u003ddata_utils.rand_name(\u0027domain-desc-\u0027))[\u0027domain\u0027]"},{"line_number":39,"context_line":"        cls.project \u003d cls.projects_client.create_project("}],"source_content_type":"text/x-python","patch_set":17,"id":"9aed3d3a_9de4240e","line":36,"range":{"start_line":36,"start_character":25,"end_line":36,"end_character":31},"in_reply_to":"bae84128_ec3962f3","updated":"2016-02-26 01:24:29.000000000","message":"Done","commit_id":"96f1d10d28a70d3d92687511c45244cf966d6689"}],"tempest/config.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b9b9fbeddbad7758544ec7fd86dd649793bfa0ce","unresolved":false,"context_lines":[{"line_number":213,"context_line":"                     \"Empty list indicates all extensions are disabled. \""},{"line_number":214,"context_line":"                     \"To get the list of extensions run: \u0027keystone discover\u0027\"),"},{"line_number":215,"context_line":"    cfg.BoolOpt(\u0027os_inherit\u0027,"},{"line_number":216,"context_line":"                default\u003dTrue,"},{"line_number":217,"context_line":"                help\u003d\u0027Does the identity service have inherit user role\u0027)"},{"line_number":218,"context_line":"]"},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a7e1126_696bbe85","line":216,"updated":"2015-12-22 06:13:22.000000000","message":"Tempest is branchless now, so this default value affects to all stable branches also.\n\nSo here should be False as the default value and DevStack should change here for master branch later because DevStack has branches.","commit_id":"20b472380e836cec23db8802b5296b524f79a9c1"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"f33bb62339261701004f303fbb03b06b5eff6a58","unresolved":false,"context_lines":[{"line_number":213,"context_line":"                     \"Empty list indicates all extensions are disabled. \""},{"line_number":214,"context_line":"                     \"To get the list of extensions run: \u0027keystone discover\u0027\"),"},{"line_number":215,"context_line":"    cfg.BoolOpt(\u0027os_inherit\u0027,"},{"line_number":216,"context_line":"                default\u003dTrue,"},{"line_number":217,"context_line":"                help\u003d\u0027Does the identity service have inherit user role\u0027)"},{"line_number":218,"context_line":"]"},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a7e1126_e981eec3","line":216,"in_reply_to":"3a7e1126_696bbe85","updated":"2015-12-22 06:26:49.000000000","message":"Done","commit_id":"20b472380e836cec23db8802b5296b524f79a9c1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0b62128a5b16e3ba5f2522f2eb5ba1cfc237da60","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                     \"entry all which indicates every extension is enabled. \""},{"line_number":213,"context_line":"                     \"Empty list indicates all extensions are disabled. \""},{"line_number":214,"context_line":"                     \"To get the list of extensions run: \u0027keystone discover\u0027\"),"},{"line_number":215,"context_line":"    cfg.BoolOpt(\u0027os_inherit\u0027,"},{"line_number":216,"context_line":"                default\u003dFalse,"},{"line_number":217,"context_line":"                help\u003d\u0027Does the identity service have inherit user role\u0027)"},{"line_number":218,"context_line":"]"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"compute_group \u003d cfg.OptGroup(name\u003d\u0027compute\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a5de9d1_e74b0658","line":217,"range":{"start_line":215,"start_character":0,"end_line":217,"end_character":72},"updated":"2016-01-28 07:58:07.000000000","message":"I told about this with sdague on IRC, and I have reminded this kind of config should be managed in the above \"api_extensions\".\n\nAs you know, os_inherit is defined as an API extension on keystone side. So we need to use \"api_extensions\" for this extension.\n\nAs the implementation code, we don\u0027t need to change here in this patch. Instead, we need to change stable/kilo and stable/liberty of devstack for disabling this extension test.\n\nI will do that soon.","commit_id":"d92873a781b0f61758fa71ece726bdf29bb44287"},{"author":{"_account_id":11704,"name":"Maho Koshiya","email":"koshiya.maho@po.ntt-tx.co.jp","username":"koshi-m"},"change_message_id":"fac04032db29677fdc479a62b2986f28a05c7c42","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                     \"entry all which indicates every extension is enabled. \""},{"line_number":213,"context_line":"                     \"Empty list indicates all extensions are disabled. \""},{"line_number":214,"context_line":"                     \"To get the list of extensions run: \u0027keystone discover\u0027\"),"},{"line_number":215,"context_line":"    cfg.BoolOpt(\u0027os_inherit\u0027,"},{"line_number":216,"context_line":"                default\u003dFalse,"},{"line_number":217,"context_line":"                help\u003d\u0027Does the identity service have inherit user role\u0027)"},{"line_number":218,"context_line":"]"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"compute_group \u003d cfg.OptGroup(name\u003d\u0027compute\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a5de9d1_052e9afa","line":217,"range":{"start_line":215,"start_character":0,"end_line":217,"end_character":72},"in_reply_to":"7a5de9d1_e74b0658","updated":"2016-02-02 04:48:49.000000000","message":"Thank you for your support \"api_extensions\".\nI deleted this code.","commit_id":"d92873a781b0f61758fa71ece726bdf29bb44287"}]}
