)]}'
{".zuul.yaml":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"bd6347f7d65c3adf6f19dc61ca06054873099e14","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    name: cinder-protection-functional"},{"line_number":29,"context_line":"    parent: devstack-tempest"},{"line_number":30,"context_line":"    vars:"},{"line_number":31,"context_line":"      tempest_test_regex: \u0027cinder_tempest_plugin.rbac\u0027"},{"line_number":32,"context_line":"      devstack_localrc:"},{"line_number":33,"context_line":"        CINDER_ENFORCE_SCOPE: True"},{"line_number":34,"context_line":"      devstack_plugins:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"564a54f8_40bd8024","line":31,"updated":"2021-03-04 04:32:51.000000000","message":"I think you may also need\n\n   tox_envlist: all\n\nbecause it\u0027s running the smoke tests (maybe that\u0027s the default?).  The output is showing:\n\n  tempest run --regex \u0027\\[.*\\bsmoke\\b.*\\]\u0027 cinder_tempest_plugin.rbac --concurrency\u003d4\n\nwhich results in this error:\n\n  tempest run: error: unrecognized arguments: cinder_tempest_plugin.rbac","commit_id":"d22e4f8e74a914e4d6408989560903eaa9a07da5"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"bd6347f7d65c3adf6f19dc61ca06054873099e14","unresolved":true,"context_lines":[{"line_number":31,"context_line":"      tempest_test_regex: \u0027cinder_tempest_plugin.rbac\u0027"},{"line_number":32,"context_line":"      devstack_localrc:"},{"line_number":33,"context_line":"        CINDER_ENFORCE_SCOPE: True"},{"line_number":34,"context_line":"      devstack_plugins:"},{"line_number":35,"context_line":"        cinderlib: https://opendev.org/openstack/cinderlib"},{"line_number":36,"context_line":"      devstack_local_conf:"},{"line_number":37,"context_line":"        post-config: {}"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"4d439c4f_75e632e8","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":58},"updated":"2021-03-04 04:32:51.000000000","message":"we\u0027ll have to figure out something else for this","commit_id":"d22e4f8e74a914e4d6408989560903eaa9a07da5"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"bd6347f7d65c3adf6f19dc61ca06054873099e14","unresolved":true,"context_lines":[{"line_number":34,"context_line":"      devstack_plugins:"},{"line_number":35,"context_line":"        cinderlib: https://opendev.org/openstack/cinderlib"},{"line_number":36,"context_line":"      devstack_local_conf:"},{"line_number":37,"context_line":"        post-config: {}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- job:"},{"line_number":40,"context_line":"    name: cinder-tempest-plugin-lvm-barbican-base"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"2dae0517_b53172a2","line":37,"updated":"2021-03-04 04:32:51.000000000","message":"do we also need\n\n    tempest_plugins:\n      - cinder-tempest-plugin","commit_id":"d22e4f8e74a914e4d6408989560903eaa9a07da5"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"8bc4c18fbb9aba6eeb695f8d61b940103843f8af","unresolved":true,"context_lines":[{"line_number":25,"context_line":"    name: cinder-tempest-plugin-protection-functional"},{"line_number":26,"context_line":"    parent: devstack-tempest"},{"line_number":27,"context_line":"    vars:"},{"line_number":28,"context_line":"      tempest_test_regex: \u0027cinder_tempest_plugin.rbac\u0027"},{"line_number":29,"context_line":"      devstack_local_conf:"},{"line_number":30,"context_line":"        test-config:"},{"line_number":31,"context_line":"          $CINDER_CONF:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"002604ff_43d728b6","line":28,"updated":"2021-03-04 21:51:11.000000000","message":"you need also\nvars:\n  tox_envlist: all\n  tempest_test_regex: ...\n  ...\n\nInside vars you also need:\n\n  tempest_plugins:\n    - cinder-tempest-plugin\n\n\nYou also need \nrequired-projects:\n  - opendev.org/openstack/cinder-tempest-plugin\n  - opendev.org/openstack/cinder \n\nSee the definition of cinder-tempest-plugin-lvm-barbican-base below as reference.","commit_id":"2d6569f3d6134bd425dbb6c3c0275cbd7cf7a75b"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a67d98483c8dc3bced36828383dc2018b6aef2ed","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    name: cinder-tempest-plugin-protection-functional"},{"line_number":26,"context_line":"    parent: devstack-tempest"},{"line_number":27,"context_line":"    vars:"},{"line_number":28,"context_line":"      tempest_test_regex: \u0027cinder_tempest_plugin.rbac\u0027"},{"line_number":29,"context_line":"      devstack_local_conf:"},{"line_number":30,"context_line":"        test-config:"},{"line_number":31,"context_line":"          $CINDER_CONF:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"f455ae3a_f198b21d","line":28,"in_reply_to":"002604ff_43d728b6","updated":"2021-03-05 21:15:56.000000000","message":"Thanks, Luigi.\n\nFixed.","commit_id":"2d6569f3d6134bd425dbb6c3c0275cbd7cf7a75b"}],"cinder_tempest_plugin/config.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d1557de8333fb604a1953c6958d22d15dadc4855","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    cfg.BoolOpt(\u0027volume_revert\u0027,"},{"line_number":23,"context_line":"                default\u003dFalse,"},{"line_number":24,"context_line":"                help\u003d\u0027Enable to run Cinder volume revert tests\u0027),"},{"line_number":25,"context_line":"    cfg.BoolOpt(\u0027enforce_scope\u0027,"},{"line_number":26,"context_line":"                default\u003dFalse,"},{"line_number":27,"context_line":"                help\u003d\u0027Does the cinder service enforce scope and use \u0027"},{"line_number":28,"context_line":"                     \u0027scope-aware policies?\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"77c4bb50_47fc9cac","line":25,"updated":"2021-02-16 16:25:54.000000000","message":"We don\u0027t need this anymore. It\u0027s redundant with https://review.opendev.org/c/openstack/tempest/+/773816/1/tempest/config.py","commit_id":"8f1e6710e6814f45e5a3ebe0fb20146c395a1c70"}],"cinder_tempest_plugin/rbac/v3/base.py":[{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"89fbae255b86ad6252017403c096829f70fbe81f","unresolved":true,"context_lines":[{"line_number":28,"context_line":"            raise cls.skipException(\"enforce_scope is not enabled for \""},{"line_number":29,"context_line":"                                    \"cinder, skipping RBAC tests\")"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def do_request(self, method, expected_status\u003d200, client\u003dNone, **payload):"},{"line_number":32,"context_line":"        if not client:"},{"line_number":33,"context_line":"            client \u003d self.client"},{"line_number":34,"context_line":"        if isinstance(expected_status, type(Exception)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"4afd019f_69849c84","line":31,"updated":"2021-02-08 15:17:37.000000000","message":"This looks like a very generic function - couldn\u0027t it be added to a common place like tempest/lib ?","commit_id":"8f1e6710e6814f45e5a3ebe0fb20146c395a1c70"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f206fadadb210390d919fbbc58c11777068a7245","unresolved":true,"context_lines":[{"line_number":28,"context_line":"            raise cls.skipException(\"enforce_scope is not enabled for \""},{"line_number":29,"context_line":"                                    \"cinder, skipping RBAC tests\")"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def do_request(self, method, expected_status\u003d200, client\u003dNone, **payload):"},{"line_number":32,"context_line":"        if not client:"},{"line_number":33,"context_line":"            client \u003d self.client"},{"line_number":34,"context_line":"        if isinstance(expected_status, type(Exception)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dbb81895_35cf967e","line":31,"in_reply_to":"4afd019f_69849c84","updated":"2021-02-16 16:35:18.000000000","message":"Yes - potentially. I\u0027ve only hit one other place where a tempest client supplies a method argument, causing a conflict with this implementation and that\u0027s in glance:\n\nhttps://opendev.org/openstack/tempest/src/commit/d141295f3e1f5b75618e3028f23519ee61749f52/tempest/lib/services/image/v2/images_client.py","commit_id":"8f1e6710e6814f45e5a3ebe0fb20146c395a1c70"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"731b4e359ff3961af3c60ce266a01969505aa8ac","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    identity_version \u003d \u0027v3\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def do_request(self, method, expected_status\u003d200, client\u003dNone, **payload):"},{"line_number":25,"context_line":"        if not client:"},{"line_number":26,"context_line":"            client \u003d self.client"},{"line_number":27,"context_line":"        if isinstance(expected_status, type(Exception)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9b5c84a2_7dc9cb51","line":24,"updated":"2021-03-06 21:27:50.000000000","message":"Do you plan to define a an RBAC test class (or mixin) in tempest an inherit from there?\nIn that case, I suspect this method could be defined there","commit_id":"2572dfdbc1a96ee68f6a7e311567b92b98e93a0e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7fa84fa72a844da780e1addedf3187084d13874c","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    identity_version \u003d \u0027v3\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def do_request(self, method, expected_status\u003d200, client\u003dNone, **payload):"},{"line_number":25,"context_line":"        if not client:"},{"line_number":26,"context_line":"            client \u003d self.client"},{"line_number":27,"context_line":"        if isinstance(expected_status, type(Exception)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"2386fd99_5e772d12","line":24,"in_reply_to":"14ec94cf_2bd96d6a","updated":"2021-03-12 18:58:00.000000000","message":"make sense, may be it will be good to add in test.py which is used in all plugins so that we can avoid multiple inheritance. anyways I will review tempest patch. thanks","commit_id":"2572dfdbc1a96ee68f6a7e311567b92b98e93a0e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"edc828bda69d91230e545d9fa0479165087bab03","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    identity_version \u003d \u0027v3\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    def do_request(self, method, expected_status\u003d200, client\u003dNone, **payload):"},{"line_number":25,"context_line":"        if not client:"},{"line_number":26,"context_line":"            client \u003d self.client"},{"line_number":27,"context_line":"        if isinstance(expected_status, type(Exception)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"14ec94cf_2bd96d6a","line":24,"in_reply_to":"9b5c84a2_7dc9cb51","updated":"2021-03-08 23:21:03.000000000","message":"Yes working on that here.\n\nhttps://review.opendev.org/c/openstack/tempest/+/779297\n\nNote to reviewers. This is likely going to change, but in the mean time the test cases should work fine until we find a better home for this.","commit_id":"2572dfdbc1a96ee68f6a7e311567b92b98e93a0e"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e9993ed40ac09bfd70a1901cd1293552325f39d5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":12,"id":"df6d67d2_71bf6f4d","line":1,"range":{"start_line":1,"start_character":2,"end_line":1,"end_character":22},"updated":"2021-03-15 21:34:25.000000000","message":"Should remove this since there is no copyright notice","commit_id":"7c9b48df6f46cfbb425db0f9e4fb4699bef9afa7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"edc30191f069cffdc58f124422f2440a6484379e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":12,"id":"9b9c3f22_11ef38bd","line":1,"range":{"start_line":1,"start_character":2,"end_line":1,"end_character":22},"in_reply_to":"df6d67d2_71bf6f4d","updated":"2021-03-15 21:41:41.000000000","message":"Done","commit_id":"7c9b48df6f46cfbb425db0f9e4fb4699bef9afa7"}],"cinder_tempest_plugin/rbac/v3/test_capabilities.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2d013b810b22e5c3075961eef4297051a500765d","unresolved":true,"context_lines":[{"line_number":20,"context_line":"from cinder_tempest_plugin.rbac.v3 import base as rbac_base"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class VolumeV3RbacCapabilityTests(rbac_base.VolumeV3RbacBaseTests,"},{"line_number":24,"context_line":"                                  metaclass\u003dabc.ABCMeta):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":10,"id":"5858d1ef_8434c916","line":23,"range":{"start_line":23,"start_character":6,"end_line":23,"end_character":33},"updated":"2021-03-08 23:31:11.000000000","message":"Either in this class, or the new tempest class, we should add a way to skip these tests if tempest isn\u0027t configured to enforce scope for cinder.","commit_id":"2572dfdbc1a96ee68f6a7e311567b92b98e93a0e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7fa84fa72a844da780e1addedf3187084d13874c","unresolved":true,"context_lines":[{"line_number":20,"context_line":"from cinder_tempest_plugin.rbac.v3 import base as rbac_base"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class VolumeV3RbacCapabilityTests(rbac_base.VolumeV3RbacBaseTests,"},{"line_number":24,"context_line":"                                  metaclass\u003dabc.ABCMeta):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":10,"id":"abb95db2_b448dfdc","line":23,"range":{"start_line":23,"start_character":6,"end_line":23,"end_character":33},"in_reply_to":"5858d1ef_8434c916","updated":"2021-03-12 18:58:00.000000000","message":"+1, I was searching for that skip check actually. but how tests are skipped now for other jobs? like this https://zuul.opendev.org/t/openstack/build/e4d8b04649b64aa691e82ce546662651/log/job-output.txt#27033","commit_id":"2572dfdbc1a96ee68f6a7e311567b92b98e93a0e"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"9efa6f368854b6756ffc7cf6e26865152056de71","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import abc"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest.api.volume import base"},{"line_number":18,"context_line":"from tempest.lib import exceptions"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from cinder_tempest_plugin.rbac.v3 import base as rbac_base"}],"source_content_type":"text/x-python","patch_set":11,"id":"6d454332_115a61d4","line":17,"updated":"2021-03-09 21:21:59.000000000","message":"This shouldn\u0027t be used, but we have cinder_tempest_plugin/api/volume/base.py\n\nSee here for more details:\nhttps://review.opendev.org/c/openstack/cinder-tempest-plugin/+/695970","commit_id":"12cdb875c964229f0a443f414c3cb0b4bf041007"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c0f4e806a7e3d383811a5132b94a2e6c209a2c2f","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import abc"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest.api.volume import base"},{"line_number":18,"context_line":"from tempest.lib import exceptions"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from cinder_tempest_plugin.rbac.v3 import base as rbac_base"}],"source_content_type":"text/x-python","patch_set":11,"id":"348cef56_649e77b8","line":17,"in_reply_to":"6d454332_115a61d4","updated":"2021-03-09 21:30:46.000000000","message":"Done","commit_id":"12cdb875c964229f0a443f414c3cb0b4bf041007"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e9993ed40ac09bfd70a1901cd1293552325f39d5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ce4f837_83fa6461","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":22},"updated":"2021-03-15 21:34:25.000000000","message":"Same","commit_id":"7c9b48df6f46cfbb425db0f9e4fb4699bef9afa7"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"edc30191f069cffdc58f124422f2440a6484379e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":12,"id":"d056a066_cff0f261","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":22},"in_reply_to":"9ce4f837_83fa6461","updated":"2021-03-15 21:41:41.000000000","message":"Done","commit_id":"7c9b48df6f46cfbb425db0f9e4fb4699bef9afa7"}],"cinder_tempest_plugin/rbac/v3/test_volume.py":[{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"89fbae255b86ad6252017403c096829f70fbe81f","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    @classmethod"},{"line_number":29,"context_line":"    def setup_clients(cls):"},{"line_number":30,"context_line":"        super().setup_clients()"},{"line_number":31,"context_line":"        cls.persona \u003d getattr(cls, f\u0027os_{cls.credentials[0]}\u0027)"},{"line_number":32,"context_line":"        cls.client \u003d cls.persona.volumes_v3_client"},{"line_number":33,"context_line":"        # admin_client \u003d cls.os_system_admin"},{"line_number":34,"context_line":"        admin_client \u003d cls.os_project_admin"}],"source_content_type":"text/x-python","patch_set":2,"id":"1cc7c7e3_28b78c3d","line":31,"updated":"2021-02-08 15:17:37.000000000","message":"I know we don\u0027t support python2 anymore, but at least a few users (outside openstack.org) are still using newer version of tempest and/or its plugins with older releases (RDO for example), so if keeping basic compatibility is not too costly (for example by changing one or two lines), I would rather keep it.","commit_id":"8f1e6710e6814f45e5a3ebe0fb20146c395a1c70"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"98b7aa25f5bb6ae74461a2a85ebef6a97b32ea35","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    @classmethod"},{"line_number":29,"context_line":"    def setup_clients(cls):"},{"line_number":30,"context_line":"        super().setup_clients()"},{"line_number":31,"context_line":"        cls.persona \u003d getattr(cls, f\u0027os_{cls.credentials[0]}\u0027)"},{"line_number":32,"context_line":"        cls.client \u003d cls.persona.volumes_v3_client"},{"line_number":33,"context_line":"        # admin_client \u003d cls.os_system_admin"},{"line_number":34,"context_line":"        admin_client \u003d cls.os_project_admin"}],"source_content_type":"text/x-python","patch_set":2,"id":"334f4ca7_ea44a84f","line":31,"in_reply_to":"1cc7c7e3_28b78c3d","updated":"2021-02-16 20:11:28.000000000","message":"Done","commit_id":"8f1e6710e6814f45e5a3ebe0fb20146c395a1c70"}]}
