)]}'
{"patrole_tempest_plugin/tests/api/compute/test_server_actions_rbac.py":[{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"40c99a9517aa5e9a3c3f2fa8ffdc8b4c96c941d9","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @classmethod"},{"line_number":45,"context_line":"    def setup_credentials(cls):"},{"line_number":46,"context_line":"        cls.set_network_resources(network\u003dTrue, subnet\u003dTrue, router\u003dTrue)"},{"line_number":47,"context_line":"        super(ServerActionsRbacTest, cls).setup_credentials()"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_3cd41447","line":46,"updated":"2019-04-04 16:26:38.000000000","message":"I think you can put it into BaseV2ComputeRbacTest in the tests/api/compute/rbac_base.py file for all compute tests.","commit_id":"948a3a67d698fac4b8696b75d3a25c52f62ecc48"},{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"a52dc487e25d71a7a48511491440979b74ec42aa","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @classmethod"},{"line_number":45,"context_line":"    def setup_credentials(cls):"},{"line_number":46,"context_line":"        cls.set_network_resources(network\u003dTrue, subnet\u003dTrue, router\u003dTrue)"},{"line_number":47,"context_line":"        super(ServerActionsRbacTest, cls).setup_credentials()"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_f75d4779","line":46,"in_reply_to":"5fc1f717_1cefd887","updated":"2019-04-04 17:37:48.000000000","message":"OK. Thank you for the explanation\nMaybe we can create a Base class for the Compute tests with network?\n\n    class BaseV2ComputeWithSharedNetworkRbacTest(BaseV2ComputeRbacTest):\n        @classmethod\n        def setup_credentials(cls):\n            cls.set_network_resources(network\u003dTrue, subnet\u003dTrue, router\u003dTrue)\n            super(ServerActionsRbacTest, cls).setup_credentials()","commit_id":"948a3a67d698fac4b8696b75d3a25c52f62ecc48"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"03ed2ffd31de2a3d47c79033b2d6fb1ea71f82e9","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @classmethod"},{"line_number":45,"context_line":"    def setup_credentials(cls):"},{"line_number":46,"context_line":"        cls.set_network_resources(network\u003dTrue, subnet\u003dTrue, router\u003dTrue)"},{"line_number":47,"context_line":"        super(ServerActionsRbacTest, cls).setup_credentials()"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_1cefd887","line":46,"in_reply_to":"5fc1f717_3cd41447","updated":"2019-04-04 17:15:41.000000000","message":"I was thinking of that but not all tests need network creation right?\n\nspecific test telling tempest that create network resource for me is a more explicit way.\n\nIn tempest, we set NO to create a network in compute base class and then a specific test can ask for network creation explicitly.","commit_id":"948a3a67d698fac4b8696b75d3a25c52f62ecc48"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a14f6e2c99aa278a825e0b8fa376831836e5a5d5","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @classmethod"},{"line_number":45,"context_line":"    def setup_credentials(cls):"},{"line_number":46,"context_line":"        cls.set_network_resources(network\u003dTrue, subnet\u003dTrue, router\u003dTrue)"},{"line_number":47,"context_line":"        super(ServerActionsRbacTest, cls).setup_credentials()"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_bd447d75","line":46,"in_reply_to":"5fc1f717_f75d4779","updated":"2019-04-04 19:55:34.000000000","message":"yeah that can be one way. But I feel that might create confusion of more base classes and which one to use.\n\nand being calling set_network_resources() give a quick glance that this test create network resource. \n\nBut I am not very against of base class idea.","commit_id":"948a3a67d698fac4b8696b75d3a25c52f62ecc48"}],"patrole_tempest_plugin/tests/api/volume/test_volume_actions_rbac.py":[{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"695d469d97532649872551aa3d69b5fe334cb3d1","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def _create_server(self):"},{"line_number":50,"context_line":"        server, _ \u003d compute.create_test_server("},{"line_number":51,"context_line":"            self.os_primary, wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":52,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":53,"context_line":"                        self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":54,"context_line":"        return server"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_b71edf71","line":51,"updated":"2019-04-04 17:43:52.000000000","message":"We need to pass network variable here, as it was done in the  Id8bc72420b8d6e08788be04136546960064d7fb1 patch or we can take a network from the cls._network_resources variable\n\ncompute.create_test_server doesn\u0027t get a tenant network","commit_id":"948a3a67d698fac4b8696b75d3a25c52f62ecc48"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a14f6e2c99aa278a825e0b8fa376831836e5a5d5","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def _create_server(self):"},{"line_number":50,"context_line":"        server, _ \u003d compute.create_test_server("},{"line_number":51,"context_line":"            self.os_primary, wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":52,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":53,"context_line":"                        self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":54,"context_line":"        return server"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_1d65911d","line":51,"in_reply_to":"5fc1f717_b71edf71","updated":"2019-04-04 19:55:34.000000000","message":"yeah, this is direct call to common compute.py","commit_id":"948a3a67d698fac4b8696b75d3a25c52f62ecc48"},{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"9ea2744fcd785fbe8e5fe8261ed3502775ce5b5d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        cls.volume \u003d cls.create_volume()"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _create_server(self):"},{"line_number":51,"context_line":"        tenant_network \u003d fixed_network.set_networks_kwarg("},{"line_number":52,"context_line":"            self.get_tenant_network())"},{"line_number":53,"context_line":"        server, _ \u003d compute.create_test_server("},{"line_number":54,"context_line":"            self.os_primary, tenant_network\u003dtenant_network,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_e58b3f1b","line":51,"updated":"2019-04-05 13:07:11.000000000","message":"`compute.create_test_server` function  performs a call of the `fixed_network.set_networks_kwarg` function. Just leave `tenant_network \u003d self.get_tenant_network()`","commit_id":"f5dfcc3fa0dd98f945c6bfa5da3d0f624437d5d5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"66df36b7a4fa71b0da4314b19d03b06237cca8fa","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        cls.volume \u003d cls.create_volume()"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _create_server(self):"},{"line_number":51,"context_line":"        tenant_network \u003d fixed_network.set_networks_kwarg("},{"line_number":52,"context_line":"            self.get_tenant_network())"},{"line_number":53,"context_line":"        server, _ \u003d compute.create_test_server("},{"line_number":54,"context_line":"            self.os_primary, tenant_network\u003dtenant_network,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_e596dfef","line":51,"in_reply_to":"5fc1f717_e58b3f1b","updated":"2019-04-05 13:34:15.000000000","message":"yeah, my bad","commit_id":"f5dfcc3fa0dd98f945c6bfa5da3d0f624437d5d5"},{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"4cac3ce6a32e4ad2d6fd373eca7b489b8c4992ff","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        tenant_network \u003d self.get_tenant_network()"},{"line_number":51,"context_line":"        server, _ \u003d compute.create_test_server("},{"line_number":52,"context_line":"            self.os_primary, tenant_network\u003dtenant_network,"},{"line_number":53,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":54,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":55,"context_line":"                        self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":56,"context_line":"        return server"}],"source_content_type":"text/x-python","patch_set":5,"id":"ffb9cba7_0ad33e3a","line":53,"updated":"2019-04-24 01:41:20.000000000","message":"adding a waiter should solve the port-in-use issue:\n\n        self.addCleanup(waiters.wait_for_server_termination,\n                        self.servers_client, server[\u0027id\u0027])","commit_id":"995a6e7605156f9e6d8ef522de48943e558a37d8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"78b23f4374504f38a94975c3a1eb5d8bc142bcff","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        tenant_network \u003d self.get_tenant_network()"},{"line_number":51,"context_line":"        server, _ \u003d compute.create_test_server("},{"line_number":52,"context_line":"            self.os_primary, tenant_network\u003dtenant_network,"},{"line_number":53,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":54,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":55,"context_line":"                        self.servers_client.delete_server, server[\u0027id\u0027])"},{"line_number":56,"context_line":"        return server"}],"source_content_type":"text/x-python","patch_set":5,"id":"ffb9cba7_a0f6d18e","line":53,"in_reply_to":"ffb9cba7_0ad33e3a","updated":"2019-04-24 03:58:57.000000000","message":"yeah.","commit_id":"995a6e7605156f9e6d8ef522de48943e558a37d8"}]}
