)]}'
{".zuul.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"243181ac178955cf2e13b1c3e239d9c0239dd6c8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- job:"},{"line_number":2,"context_line":"    name: keystone-protection-functional"},{"line_number":3,"context_line":"    parent: keystone-dsvm-py3-functional"},{"line_number":4,"context_line":"    vars:"},{"line_number":5,"context_line":"      tempest_test_regex: \u0027keystone_tempest_plugin.tests.rbac\u0027"},{"line_number":6,"context_line":"      devstack_localrc:"},{"line_number":7,"context_line":"        KEYSTONE_ENFORCE_SCOPE: True"},{"line_number":8,"context_line":"      devstack_plugins:"},{"line_number":9,"context_line":"        keystone: https://opendev.org/openstack/keystone"},{"line_number":10,"context_line":"      devstack_services:"},{"line_number":11,"context_line":"        g-api: false"},{"line_number":12,"context_line":"        g-reg: false"},{"line_number":13,"context_line":"        n-api: false"},{"line_number":14,"context_line":"        n-api-meta: false"},{"line_number":15,"context_line":"        n-cond: false"},{"line_number":16,"context_line":"        n-cpu: false"},{"line_number":17,"context_line":"        n-novnc: false"},{"line_number":18,"context_line":"        n-sch: false"},{"line_number":19,"context_line":"        placement-api: false"},{"line_number":20,"context_line":"        q-agt: false"},{"line_number":21,"context_line":"        q-dhcp: false"},{"line_number":22,"context_line":"        q-l3: false"},{"line_number":23,"context_line":"        q-meta: false"},{"line_number":24,"context_line":"        q-metering: false"},{"line_number":25,"context_line":"        q-svc: false"},{"line_number":26,"context_line":"        s-account: false"},{"line_number":27,"context_line":"        s-container: false"},{"line_number":28,"context_line":"        s-object: false"},{"line_number":29,"context_line":"        s-proxy: false"},{"line_number":30,"context_line":"        c-api: false"},{"line_number":31,"context_line":"        c-bak: false"},{"line_number":32,"context_line":"        c-sch: false"},{"line_number":33,"context_line":"        c-vol: false"},{"line_number":34,"context_line":"        cinder: false"},{"line_number":35,"context_line":"      post-config:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- project:"},{"line_number":38,"context_line":"    templates:"},{"line_number":39,"context_line":"      - check-requirements"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_aac5003f","line":36,"range":{"start_line":1,"start_character":2,"end_line":36,"end_character":0},"updated":"2019-12-30 19:11:22.000000000","message":"Invalid Ansible variable name \u0027post-config\u0027 for dictionary value @ data[\u0027vars\u0027]","commit_id":"0e7d2ecc4f966156bd07d2bd3ea4fcde7d44bef5"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"243181ac178955cf2e13b1c3e239d9c0239dd6c8","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        cinder: false"},{"line_number":35,"context_line":"      post-config:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- project:"},{"line_number":38,"context_line":"    templates:"},{"line_number":39,"context_line":"      - check-requirements"},{"line_number":40,"context_line":"      - tempest-plugin-jobs"},{"line_number":41,"context_line":"    check:"},{"line_number":42,"context_line":"      jobs:"},{"line_number":43,"context_line":"        - keystone-dsvm-functional"},{"line_number":44,"context_line":"        - keystone-dsvm-py3-functional"},{"line_number":45,"context_line":"        - keystone-dsvm-functional-federation-opensuse15:"},{"line_number":46,"context_line":"            voting: false"},{"line_number":47,"context_line":"        - keystone-dsvm-py3-functional-federation-opensuse15:"},{"line_number":48,"context_line":"            voting: false"},{"line_number":49,"context_line":"        - keystone-protection-functional"},{"line_number":50,"context_line":"    gate:"},{"line_number":51,"context_line":"      jobs:"},{"line_number":52,"context_line":"        - keystone-dsvm-functional"},{"line_number":53,"context_line":"        - keystone-dsvm-py3-functional"},{"line_number":54,"context_line":"        - keystone-protection-functional"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_4abeccaf","line":54,"range":{"start_line":37,"start_character":2,"end_line":54,"end_character":0},"updated":"2019-12-30 19:11:22.000000000","message":"Job keystone-protection-functional not defined","commit_id":"0e7d2ecc4f966156bd07d2bd3ea4fcde7d44bef5"}],"keystone_tempest_plugin/tests/rbac/v3/test_access_rule.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"2970aaded33f426f8265f4f65240891159ee0a37","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            user_dict[\u0027domain_id\u0027] \u003d domain_id"},{"line_number":77,"context_line":"        user_id \u003d cls.admin_client.users_v3_client.create_user("},{"line_number":78,"context_line":"            **user_dict)[\u0027user\u0027][\u0027id\u0027]"},{"line_number":79,"context_line":"        def try_delete_user():"},{"line_number":80,"context_line":"            # delete user if not deleted by domain deletion"},{"line_number":81,"context_line":"            try:"},{"line_number":82,"context_line":"                cls.admin_client.users_v3_client.delete_user(user_id)"}],"source_content_type":"text/x-python","patch_set":45,"id":"9f560f44_e2c78963","line":79,"updated":"2020-08-04 06:44:05.000000000","message":"pep8: E306 expected 1 blank line before a nested definition, found 0","commit_id":"fbec845c3db7378a935b294de623e81e936fdf0e"}],"keystone_tempest_plugin/tests/rbac/v3/test_assignment.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        # Filter assignments by project and user should succeed"},{"line_number":557,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":558,"context_line":"                    if a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":559,"context_line":"                    and a.get(\u0027user_id\u0027) \u003d\u003d self.user_in_domain]"},{"line_number":560,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":561,"context_line":"        query \u003d {\u0027user.id\u0027: self.user_in_domain,"},{"line_number":562,"context_line":"                 \u0027scope.project.id\u0027: self.project_in_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_44508f33","line":559,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        # Filter assignments by project and group should succeed"},{"line_number":571,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":572,"context_line":"                    if a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":573,"context_line":"                    and a.get(\u0027group_id\u0027) \u003d\u003d self.group_in_domain]"},{"line_number":574,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":575,"context_line":"        query \u003d {\u0027group.id\u0027: self.group_in_domain,"},{"line_number":576,"context_line":"                 \u0027scope.project.id\u0027: self.project_in_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_a4452b73","line":573,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":584,"context_line":"        # Filter assignments by domain and user should succeed"},{"line_number":585,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":586,"context_line":"                    if a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain"},{"line_number":587,"context_line":"                    and a.get(\u0027user_id\u0027) \u003d\u003d self.user_in_domain]"},{"line_number":588,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":589,"context_line":"        query \u003d {\u0027user.id\u0027: self.user_in_domain,"},{"line_number":590,"context_line":"                 \u0027scope.domain.id\u0027: self.own_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_844aa77d","line":587,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":598,"context_line":"        # Filter assignments by domain and group should succeed"},{"line_number":599,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":600,"context_line":"                    if a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain"},{"line_number":601,"context_line":"                    and a.get(\u0027group_id\u0027) \u003d\u003d self.group_in_domain]"},{"line_number":602,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":603,"context_line":"        query \u003d {\u0027group.id\u0027: self.group_in_domain,"},{"line_number":604,"context_line":"                 \u0027scope.domain.id\u0027: self.own_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_e45e0344","line":601,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":666,"context_line":"        # assignments in own domain"},{"line_number":667,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":668,"context_line":"                    if a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":669,"context_line":"                    or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain]"},{"line_number":670,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":671,"context_line":"        resp \u003d self.do_request(\u0027list_role_assignments\u0027)"},{"line_number":672,"context_line":"        actual \u003d self._extract_role_assignments_from_response_body(resp)"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_c45bff51","line":669,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":731,"context_line":"        # that user only for projects in own domain or for own domain itself"},{"line_number":732,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":733,"context_line":"                    if a.get(\u0027user_id\u0027) \u003d\u003d self.user_in_domain"},{"line_number":734,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":735,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":736,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":737,"context_line":"        query \u003d {\u0027user.id\u0027: self.user_in_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_24591b5a","line":734,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":732,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":733,"context_line":"                    if a.get(\u0027user_id\u0027) \u003d\u003d self.user_in_domain"},{"line_number":734,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":735,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":736,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":737,"context_line":"        query \u003d {\u0027user.id\u0027: self.user_in_domain}"},{"line_number":738,"context_line":"        resp \u003d self.do_request(\u0027list_role_assignments\u0027, **query)"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_0456972a","line":735,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":747,"context_line":"        # itself"},{"line_number":748,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":749,"context_line":"                    if a.get(\u0027user_id\u0027) \u003d\u003d self.user_other_domain"},{"line_number":750,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":751,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":752,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":753,"context_line":"        query \u003d {\u0027user.id\u0027: self.user_other_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_64303309","line":750,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":748,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":749,"context_line":"                    if a.get(\u0027user_id\u0027) \u003d\u003d self.user_other_domain"},{"line_number":750,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":751,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":752,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":753,"context_line":"        query \u003d {\u0027user.id\u0027: self.user_other_domain}"},{"line_number":754,"context_line":"        resp \u003d self.do_request(\u0027list_role_assignments\u0027, **query)"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_44352ff7","line":751,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":761,"context_line":"        # Filter assignments by group in own domain should succeed"},{"line_number":762,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":763,"context_line":"                    if a.get(\u0027group_id\u0027) \u003d\u003d self.group_in_domain"},{"line_number":764,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":765,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":766,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":767,"context_line":"        query \u003d {\u0027group.id\u0027: self.group_in_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_a43a4be4","line":764,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":762,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":763,"context_line":"                    if a.get(\u0027group_id\u0027) \u003d\u003d self.group_in_domain"},{"line_number":764,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":765,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":766,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":767,"context_line":"        query \u003d {\u0027group.id\u0027: self.group_in_domain}"},{"line_number":768,"context_line":"        resp \u003d self.do_request(\u0027list_role_assignments\u0027, **query)"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_843f47d5","line":765,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":777,"context_line":"        # itself"},{"line_number":778,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":779,"context_line":"                    if a.get(\u0027group_id\u0027) \u003d\u003d self.group_other_domain"},{"line_number":780,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":781,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":782,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":783,"context_line":"        query \u003d {\u0027group.id\u0027: self.group_other_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_e423a3bd","line":780,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":778,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":779,"context_line":"                    if a.get(\u0027group_id\u0027) \u003d\u003d self.group_other_domain"},{"line_number":780,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":781,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":782,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":783,"context_line":"        query \u003d {\u0027group.id\u0027: self.group_other_domain}"},{"line_number":784,"context_line":"        resp \u003d self.do_request(\u0027list_role_assignments\u0027, **query)"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_c4201fb4","line":781,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":792,"context_line":"        # assignments for own domain"},{"line_number":793,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":794,"context_line":"                    if a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":795,"context_line":"                    or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain]"},{"line_number":796,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":797,"context_line":"        query \u003d {\u0027role.id\u0027: self.role_id}"},{"line_number":798,"context_line":"        resp \u003d self.do_request(\u0027list_role_assignments\u0027, **query)"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_242e3ba5","line":795,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":839,"context_line":"        # that user only for projects in own domain or for own domain itself"},{"line_number":840,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":841,"context_line":"                    if a.get(\u0027user_id\u0027) \u003d\u003d self.user_in_domain"},{"line_number":842,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":843,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":844,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":845,"context_line":"        query \u003d {\u0027user.id\u0027: self.user_in_domain, \u0027role.id\u0027: self.role_id}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_042b3794","line":842,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":840,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":841,"context_line":"                    if a.get(\u0027user_id\u0027) \u003d\u003d self.user_in_domain"},{"line_number":842,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":843,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":844,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":845,"context_line":"        query \u003d {\u0027user.id\u0027: self.user_in_domain, \u0027role.id\u0027: self.role_id}"},{"line_number":846,"context_line":"        resp \u003d self.do_request(\u0027list_role_assignments\u0027, **query)"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_64195387","line":843,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":855,"context_line":"        # that group only for projects in own domain or for own domain itself"},{"line_number":856,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":857,"context_line":"                    if a.get(\u0027group_id\u0027) \u003d\u003d self.group_in_domain"},{"line_number":858,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":859,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":860,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":861,"context_line":"        query \u003d {\u0027group.id\u0027: self.group_in_domain, \u0027role.id\u0027: self.role_id}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_441ecf70","line":858,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":856,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":857,"context_line":"                    if a.get(\u0027group_id\u0027) \u003d\u003d self.group_in_domain"},{"line_number":858,"context_line":"                    and (a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":859,"context_line":"                         or a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain)]"},{"line_number":860,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":861,"context_line":"        query \u003d {\u0027group.id\u0027: self.group_in_domain, \u0027role.id\u0027: self.role_id}"},{"line_number":862,"context_line":"        resp \u003d self.do_request(\u0027list_role_assignments\u0027, **query)"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_a4136b66","line":859,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":870,"context_line":"        # Filter assignments by project and user should succeed"},{"line_number":871,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":872,"context_line":"                    if a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":873,"context_line":"                    and a.get(\u0027user_id\u0027) \u003d\u003d self.user_in_domain]"},{"line_number":874,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":875,"context_line":"        query \u003d {\u0027user.id\u0027: self.user_in_domain,"},{"line_number":876,"context_line":"                 \u0027scope.project.id\u0027: self.project_in_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_8418e781","line":873,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":884,"context_line":"        # Filter assignments by project and group should succeed"},{"line_number":885,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":886,"context_line":"                    if a.get(\u0027project_id\u0027) \u003d\u003d self.project_in_domain"},{"line_number":887,"context_line":"                    and a.get(\u0027group_id\u0027) \u003d\u003d self.group_in_domain]"},{"line_number":888,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":889,"context_line":"        query \u003d {\u0027group.id\u0027: self.group_in_domain,"},{"line_number":890,"context_line":"                 \u0027scope.project.id\u0027: self.project_in_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_e40c4344","line":887,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":898,"context_line":"        # Filter assignments by domain and user should succeed"},{"line_number":899,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":900,"context_line":"                    if a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain"},{"line_number":901,"context_line":"                    and a.get(\u0027user_id\u0027) \u003d\u003d self.user_in_domain]"},{"line_number":902,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":903,"context_line":"        query \u003d {\u0027user.id\u0027: self.user_in_domain,"},{"line_number":904,"context_line":"                 \u0027scope.domain.id\u0027: self.own_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_c4093f32","line":901,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"74f00057f47c791df36770af8a24c6c45a647cb3","unresolved":false,"context_lines":[{"line_number":912,"context_line":"        # Filter assignments by domain and group should succeed"},{"line_number":913,"context_line":"        expected \u003d [a for a in self.assignments"},{"line_number":914,"context_line":"                    if a.get(\u0027domain_id\u0027) \u003d\u003d self.own_domain"},{"line_number":915,"context_line":"                    and a.get(\u0027group_id\u0027) \u003d\u003d self.group_in_domain]"},{"line_number":916,"context_line":"        not_expected \u003d [a for a in self.assignments if a not in expected]"},{"line_number":917,"context_line":"        query \u003d {\u0027group.id\u0027: self.group_in_domain,"},{"line_number":918,"context_line":"                 \u0027scope.domain.id\u0027: self.own_domain}"}],"source_content_type":"text/x-python","patch_set":23,"id":"ff570b3c_24075b1f","line":915,"updated":"2020-05-09 23:02:43.000000000","message":"pep8: W503 line break before binary operator","commit_id":"22232f79cf843f637ee245779c33df10058af25d"}],"keystone_tempest_plugin/tests/rbac/v3/test_policy_association.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5d5b468dc09882974ded73a55ed766a0ada2e6be","unresolved":false,"context_lines":[{"line_number":421,"context_line":"            service_id\u003dself.service_id,"},{"line_number":422,"context_line":"            region_id\u003dself.region_id)"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def test_identity_get_policy_for_endpoint(self):"},{"line_number":425,"context_line":"        self.admin_policies_client.update_policy_association_for_endpoint("},{"line_number":426,"context_line":"            policy_id\u003dself.policy_id, endpoint_id\u003dself.endpoint_id)"},{"line_number":427,"context_line":"        self.addCleanup("},{"line_number":428,"context_line":"            self.admin_policies_client.delete_policy_association_for_endpoint,"},{"line_number":429,"context_line":"            policy_id\u003dself.policy_id, endpoint_id\u003dself.endpoint_id)"},{"line_number":430,"context_line":"        self.do_request("},{"line_number":431,"context_line":"            \u0027list_policy_for_endpoint\u0027,"},{"line_number":432,"context_line":"            expected_status\u003dexceptions.Forbidden,"},{"line_number":433,"context_line":"            endpoint_id\u003dself.endpoint_id)"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    def test_identity_list_endpoints_for_policy(self):"},{"line_number":436,"context_line":"        self.admin_policies_client.update_policy_association_for_endpoint("}],"source_content_type":"text/x-python","patch_set":46,"id":"1f621f24_3dcd935d","line":433,"range":{"start_line":424,"start_character":0,"end_line":433,"end_character":41},"updated":"2020-10-30 02:13:42.000000000","message":"This test fails for me locally [0].\n\nI may have missed a patch somewhere, though. I think list_policy_for_endpoint should have been in this patch [1] based on the context.\n\nI applies a small change and got things working [2], althought I\u0027m still not entirely sure why it failed for me locally and does fail with zuul.\n\n\n[0] http://paste.openstack.org/raw/799528/\n[1] https://review.opendev.org/#/c/744268/3/tempest/lib/services/identity/v3/policies_client.py,unified\n[2] http://paste.openstack.org/raw/799529/","commit_id":"2b805acc6d39b46a062e517bd4675eeb78461d1f"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"19b619f86cc1dd4afd4d7fbeae2f5852b27747cb","unresolved":false,"context_lines":[{"line_number":421,"context_line":"            service_id\u003dself.service_id,"},{"line_number":422,"context_line":"            region_id\u003dself.region_id)"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def test_identity_get_policy_for_endpoint(self):"},{"line_number":425,"context_line":"        self.admin_policies_client.update_policy_association_for_endpoint("},{"line_number":426,"context_line":"            policy_id\u003dself.policy_id, endpoint_id\u003dself.endpoint_id)"},{"line_number":427,"context_line":"        self.addCleanup("},{"line_number":428,"context_line":"            self.admin_policies_client.delete_policy_association_for_endpoint,"},{"line_number":429,"context_line":"            policy_id\u003dself.policy_id, endpoint_id\u003dself.endpoint_id)"},{"line_number":430,"context_line":"        self.do_request("},{"line_number":431,"context_line":"            \u0027list_policy_for_endpoint\u0027,"},{"line_number":432,"context_line":"            expected_status\u003dexceptions.Forbidden,"},{"line_number":433,"context_line":"            endpoint_id\u003dself.endpoint_id)"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    def test_identity_list_endpoints_for_policy(self):"},{"line_number":436,"context_line":"        self.admin_policies_client.update_policy_association_for_endpoint("}],"source_content_type":"text/x-python","patch_set":46,"id":"1f621f24_804f1bbc","line":433,"range":{"start_line":424,"start_character":0,"end_line":433,"end_character":41},"in_reply_to":"1f621f24_3dcd935d","updated":"2020-10-30 15:57:59.000000000","message":"Nevermind - I think I figured it out. It looks like this test was written when list_policy_for_endpoint was proposed against the tempest policy client [0]. Then it was renamed to show_policy_for_endpoint.\n\nI\u0027m hitting this because I\u0027m using the newest patch sets for things that haven\u0027t merged.\n\n[0] https://review.opendev.org/#/c/744268/1/tempest/lib/services/identity/v3/policies_client.py,unified","commit_id":"2b805acc6d39b46a062e517bd4675eeb78461d1f"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3d37e493754e9ec7b24bf9d85337d18ea12f86ff","unresolved":false,"context_lines":[{"line_number":421,"context_line":"            service_id\u003dself.service_id,"},{"line_number":422,"context_line":"            region_id\u003dself.region_id)"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def test_identity_get_policy_for_endpoint(self):"},{"line_number":425,"context_line":"        self.admin_policies_client.update_policy_association_for_endpoint("},{"line_number":426,"context_line":"            policy_id\u003dself.policy_id, endpoint_id\u003dself.endpoint_id)"},{"line_number":427,"context_line":"        self.addCleanup("},{"line_number":428,"context_line":"            self.admin_policies_client.delete_policy_association_for_endpoint,"},{"line_number":429,"context_line":"            policy_id\u003dself.policy_id, endpoint_id\u003dself.endpoint_id)"},{"line_number":430,"context_line":"        self.do_request("},{"line_number":431,"context_line":"            \u0027list_policy_for_endpoint\u0027,"},{"line_number":432,"context_line":"            expected_status\u003dexceptions.Forbidden,"},{"line_number":433,"context_line":"            endpoint_id\u003dself.endpoint_id)"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    def test_identity_list_endpoints_for_policy(self):"},{"line_number":436,"context_line":"        self.admin_policies_client.update_policy_association_for_endpoint("}],"source_content_type":"text/x-python","patch_set":46,"id":"1f621f24_f4884d20","line":433,"range":{"start_line":424,"start_character":0,"end_line":433,"end_character":41},"in_reply_to":"1f621f24_804f1bbc","updated":"2020-10-30 16:21:11.000000000","message":"Done","commit_id":"2b805acc6d39b46a062e517bd4675eeb78461d1f"}]}
