)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"dfdd402bb65bee3fc9432fb95644a88f9244e434","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"43e06e33_b89398d1","updated":"2022-03-10 12:27:37.000000000","message":"Hi all thank you for the reviews, and thank you Douglas as well to take care the patch. Let\u0027s try to merge this tempest tests :D. ","commit_id":"2495a845273d405cad9fb4b8aa407037f8910d10"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f54ffcaed8ee4b44691b722280d82edb6f7f12aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"21259d0b_58231870","updated":"2022-03-15 19:14:19.000000000","message":"recheck","commit_id":"2495a845273d405cad9fb4b8aa407037f8910d10"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4db1219848eaee4062ce4fc5967da8a76aa24e22","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"4d0beece_1b374edb","updated":"2023-03-16 22:46:14.000000000","message":"Hi Liron, \n\nThanks for reviving this patch. We don\u0027t have a way to run the tests in test_security_service_update.py because there are no security services configured in tempest.conf... We could set it in zuul.conf, however, some of the tests need multiple security services, and the MultiOpt option \"security_service\" can\u0027t be configured with zuul config the way we can configure regular options :(\n\nAndre was attempting to do it with manila\u0027s devstack plugin: https://review.opendev.org/c/openstack/manila/+/775289\n\nCan you revive that change as well so we can see this working with the dummy driver?","commit_id":"0a13a8da6ccfafff6b2dfedf2587d594722a8c2d"}],"manila_tempest_tests/common/constants.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":107,"context_line":"SERVER_STATE_UNMANAGE_STARTING \u003d \u0027unmanage_starting\u0027"},{"line_number":108,"context_line":"STATUS_SERVER_MIGRATING \u003d \u0027server_migrating\u0027"},{"line_number":109,"context_line":"STATUS_SERVER_MIGRATING_TO \u003d \u0027server_migrating_to\u0027"},{"line_number":110,"context_line":"STATUS_SERVER_NETWORK_CHANGE \u003d \u0027network_change\u0027"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"# Share networks"},{"line_number":113,"context_line":"STATUS_NETWORK_ACTIVE \u003d \u0027active\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"7145b77a_bf1fd92e","line":110,"range":{"start_line":110,"start_character":0,"end_line":110,"end_character":47},"updated":"2021-02-15 14:41:52.000000000","message":"IMO this could be removed, since you already have a \u0027network_change\u0027 declared below, and its variable name is not not necessarily linked to the resource.","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"49b695ea471059d5c11f8393115051cc7dbe279d","unresolved":false,"context_lines":[{"line_number":107,"context_line":"SERVER_STATE_UNMANAGE_STARTING \u003d \u0027unmanage_starting\u0027"},{"line_number":108,"context_line":"STATUS_SERVER_MIGRATING \u003d \u0027server_migrating\u0027"},{"line_number":109,"context_line":"STATUS_SERVER_MIGRATING_TO \u003d \u0027server_migrating_to\u0027"},{"line_number":110,"context_line":"STATUS_SERVER_NETWORK_CHANGE \u003d \u0027network_change\u0027"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"# Share networks"},{"line_number":113,"context_line":"STATUS_NETWORK_ACTIVE \u003d \u0027active\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"dd78e542_b973e4ec","line":110,"range":{"start_line":110,"start_character":0,"end_line":110,"end_character":47},"in_reply_to":"7145b77a_bf1fd92e","updated":"2021-02-15 19:46:25.000000000","message":"Done","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"}],"manila_tempest_tests/common/waiters.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"def wait_for_share_network_status(client, sn_id, status,"},{"line_number":244,"context_line":"                                  status_attr\u003d\u0027status\u0027):"},{"line_number":245,"context_line":"    \"\"\"Waits for a share network to reach a given status.\"\"\""},{"line_number":246,"context_line":"    body \u003d client.get_share_network(sn_id)"},{"line_number":247,"context_line":"    sn_status \u003d body[status_attr]"}],"source_content_type":"text/x-python","patch_set":5,"id":"ed3073c2_b0e5ff9c","line":244,"range":{"start_line":244,"start_character":34,"end_line":244,"end_character":54},"updated":"2021-02-15 14:41:52.000000000","message":"I think that there is no need to have it here, since the share network does not contain a \u0027state\u0027 or \u0027task_state\u0027 object where a test could wait for a given state. IIRC, the field here will always be \u0027status\u0027.","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"dfdd402bb65bee3fc9432fb95644a88f9244e434","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"def wait_for_share_network_status(client, sn_id, status,"},{"line_number":244,"context_line":"                                  status_attr\u003d\u0027status\u0027):"},{"line_number":245,"context_line":"    \"\"\"Waits for a share network to reach a given status.\"\"\""},{"line_number":246,"context_line":"    body \u003d client.get_share_network(sn_id)"},{"line_number":247,"context_line":"    sn_status \u003d body[status_attr]"}],"source_content_type":"text/x-python","patch_set":5,"id":"c66c8701_944a68e2","line":244,"range":{"start_line":244,"start_character":34,"end_line":244,"end_character":54},"in_reply_to":"10d2c1f0_9b804486","updated":"2022-03-10 12:27:37.000000000","message":"Done","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"49b695ea471059d5c11f8393115051cc7dbe279d","unresolved":true,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"def wait_for_share_network_status(client, sn_id, status,"},{"line_number":244,"context_line":"                                  status_attr\u003d\u0027status\u0027):"},{"line_number":245,"context_line":"    \"\"\"Waits for a share network to reach a given status.\"\"\""},{"line_number":246,"context_line":"    body \u003d client.get_share_network(sn_id)"},{"line_number":247,"context_line":"    sn_status \u003d body[status_attr]"}],"source_content_type":"text/x-python","patch_set":5,"id":"10d2c1f0_9b804486","line":244,"range":{"start_line":244,"start_character":34,"end_line":244,"end_character":54},"in_reply_to":"ed3073c2_b0e5ff9c","updated":"2021-02-15 19:46:25.000000000","message":"I agree, however in a future maybe the share network can have the task state attribute, then this method will be useful for both cases. Let`s consider more opinions about this.","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":244,"context_line":"                                  status_attr\u003d\u0027status\u0027):"},{"line_number":245,"context_line":"    \"\"\"Waits for a share network to reach a given status.\"\"\""},{"line_number":246,"context_line":"    body \u003d client.get_share_network(sn_id)"},{"line_number":247,"context_line":"    sn_status \u003d body[status_attr]"},{"line_number":248,"context_line":"    start \u003d int(time.time())"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    while sn_status !\u003d status:"}],"source_content_type":"text/x-python","patch_set":5,"id":"b42abd70_3a1cda6f","line":247,"range":{"start_line":247,"start_character":21,"end_line":247,"end_character":32},"updated":"2021-02-15 14:41:52.000000000","message":"If you confirm that the above comment is valid, you could access \u0027status\u0027 here.","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"dfdd402bb65bee3fc9432fb95644a88f9244e434","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                                  status_attr\u003d\u0027status\u0027):"},{"line_number":245,"context_line":"    \"\"\"Waits for a share network to reach a given status.\"\"\""},{"line_number":246,"context_line":"    body \u003d client.get_share_network(sn_id)"},{"line_number":247,"context_line":"    sn_status \u003d body[status_attr]"},{"line_number":248,"context_line":"    start \u003d int(time.time())"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    while sn_status !\u003d status:"}],"source_content_type":"text/x-python","patch_set":5,"id":"82a01195_05d0996e","line":247,"range":{"start_line":247,"start_character":21,"end_line":247,"end_character":32},"in_reply_to":"b42abd70_3a1cda6f","updated":"2022-03-10 12:27:37.000000000","message":"Done","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":250,"context_line":"    while sn_status !\u003d status:"},{"line_number":251,"context_line":"        time.sleep(client.build_interval)"},{"line_number":252,"context_line":"        body \u003d client.show_share_server(sn_id)"},{"line_number":253,"context_line":"        sn_status \u003d body[status_attr]"},{"line_number":254,"context_line":"        if sn_status in status:"},{"line_number":255,"context_line":"            return"},{"line_number":256,"context_line":"        elif constants.STATUS_NETWORK_ERROR in sn_status.lower():"}],"source_content_type":"text/x-python","patch_set":5,"id":"2fe17c79_e9d9746e","line":253,"range":{"start_line":253,"start_character":25,"end_line":253,"end_character":36},"updated":"2021-02-15 14:41:52.000000000","message":"same","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"dfdd402bb65bee3fc9432fb95644a88f9244e434","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    while sn_status !\u003d status:"},{"line_number":251,"context_line":"        time.sleep(client.build_interval)"},{"line_number":252,"context_line":"        body \u003d client.show_share_server(sn_id)"},{"line_number":253,"context_line":"        sn_status \u003d body[status_attr]"},{"line_number":254,"context_line":"        if sn_status in status:"},{"line_number":255,"context_line":"            return"},{"line_number":256,"context_line":"        elif constants.STATUS_NETWORK_ERROR in sn_status.lower():"}],"source_content_type":"text/x-python","patch_set":5,"id":"c9debb22_0ee6b76c","line":253,"range":{"start_line":253,"start_character":25,"end_line":253,"end_character":36},"in_reply_to":"2fe17c79_e9d9746e","updated":"2022-03-10 12:27:37.000000000","message":"Done","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"}],"manila_tempest_tests/tests/api/admin/test_share_networks.py":[{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":108,"context_line":"        share_network \u003d self.create_share_network("},{"line_number":109,"context_line":"            client\u003dself.shares_v2_client, add_security_services\u003dFalse)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        for state in (constants.STATUS_NETWORK_ACTIVE,"},{"line_number":112,"context_line":"                      constants.STATUS_NETWORK_ERROR,"},{"line_number":113,"context_line":"                      constants.STATUS_NETWORK_CHANGE):"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"            # leave it in a new state"},{"line_number":116,"context_line":"            self.admin_shares_v2_client.share_network_reset_state("}],"source_content_type":"text/x-python","patch_set":13,"id":"7ebcab7f_af295666","line":113,"range":{"start_line":111,"start_character":0,"end_line":113,"end_character":55},"updated":"2021-05-06 09:20:56.000000000","message":"You can use ddt.\nLike here https://github.com/openstack/manila-tempest-plugin/blob/master/manila_tempest_tests/tests/api/admin/test_admin_actions.py#L51","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        share_network \u003d self.create_share_network("},{"line_number":109,"context_line":"            client\u003dself.shares_v2_client, add_security_services\u003dFalse)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        for state in (constants.STATUS_NETWORK_ACTIVE,"},{"line_number":112,"context_line":"                      constants.STATUS_NETWORK_ERROR,"},{"line_number":113,"context_line":"                      constants.STATUS_NETWORK_CHANGE):"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"            # leave it in a new state"},{"line_number":116,"context_line":"            self.admin_shares_v2_client.share_network_reset_state("}],"source_content_type":"text/x-python","patch_set":13,"id":"db57194a_e8f39900","line":113,"range":{"start_line":111,"start_character":0,"end_line":113,"end_character":55},"in_reply_to":"7ebcab7f_af295666","updated":"2021-09-02 18:27:57.000000000","message":"yeah, much better,tks","commit_id":"608b685f09497545166eedbba67947462a903cfc"}],"manila_tempest_tests/tests/api/base.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":283,"context_line":"        already attached to a share network."},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        :param share_network_id: the share network id"},{"line_number":286,"context_line":"            with the security service to be updated"},{"line_number":287,"context_line":"        :param current_security_service_id: the security service"},{"line_number":288,"context_line":"            id to be updated with a new security service"},{"line_number":289,"context_line":"            parameters"}],"source_content_type":"text/x-python","patch_set":5,"id":"874c1e16_f9eea1d2","line":286,"range":{"start_line":286,"start_character":12,"end_line":286,"end_character":51},"updated":"2021-02-15 14:41:52.000000000","message":"I think this line could be removed","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"49b695ea471059d5c11f8393115051cc7dbe279d","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        already attached to a share network."},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        :param share_network_id: the share network id"},{"line_number":286,"context_line":"            with the security service to be updated"},{"line_number":287,"context_line":"        :param current_security_service_id: the security service"},{"line_number":288,"context_line":"            id to be updated with a new security service"},{"line_number":289,"context_line":"            parameters"}],"source_content_type":"text/x-python","patch_set":5,"id":"8311edd2_854a11a3","line":286,"range":{"start_line":286,"start_character":12,"end_line":286,"end_character":51},"in_reply_to":"874c1e16_f9eea1d2","updated":"2021-02-15 19:46:25.000000000","message":"Done","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        :param share_network_id: the share network id"},{"line_number":286,"context_line":"            with the security service to be updated"},{"line_number":287,"context_line":"        :param current_security_service_id: the security service"},{"line_number":288,"context_line":"            id to be updated with a new security service"},{"line_number":289,"context_line":"            parameters"},{"line_number":290,"context_line":"        :param new_security_service_id: new security service"},{"line_number":291,"context_line":"            parameters that will replace the current security"},{"line_number":292,"context_line":"            service configuration"}],"source_content_type":"text/x-python","patch_set":5,"id":"ca9d9b54_27074981","line":289,"range":{"start_line":287,"start_character":44,"end_line":289,"end_character":22},"updated":"2021-02-15 14:41:52.000000000","message":"the id of the security service which is currently attached to the share network","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"49b695ea471059d5c11f8393115051cc7dbe279d","unresolved":false,"context_lines":[{"line_number":284,"context_line":""},{"line_number":285,"context_line":"        :param share_network_id: the share network id"},{"line_number":286,"context_line":"            with the security service to be updated"},{"line_number":287,"context_line":"        :param current_security_service_id: the security service"},{"line_number":288,"context_line":"            id to be updated with a new security service"},{"line_number":289,"context_line":"            parameters"},{"line_number":290,"context_line":"        :param new_security_service_id: new security service"},{"line_number":291,"context_line":"            parameters that will replace the current security"},{"line_number":292,"context_line":"            service configuration"}],"source_content_type":"text/x-python","patch_set":5,"id":"12a4591f_298a4780","line":289,"range":{"start_line":287,"start_character":44,"end_line":289,"end_character":22},"in_reply_to":"ca9d9b54_27074981","updated":"2021-02-15 19:46:25.000000000","message":"Done","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":287,"context_line":"        :param current_security_service_id: the security service"},{"line_number":288,"context_line":"            id to be updated with a new security service"},{"line_number":289,"context_line":"            parameters"},{"line_number":290,"context_line":"        :param new_security_service_id: new security service"},{"line_number":291,"context_line":"            parameters that will replace the current security"},{"line_number":292,"context_line":"            service configuration"},{"line_number":293,"context_line":"        :param cleanup_in_class: if the resources will be"},{"line_number":294,"context_line":"            dissociate in the method teardown or class teardown"},{"line_number":295,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"5b8f50fb_66166899","line":292,"range":{"start_line":290,"start_character":40,"end_line":292,"end_character":33},"updated":"2021-02-15 14:41:52.000000000","message":"the id of the security service with the updated parameters","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"49b695ea471059d5c11f8393115051cc7dbe279d","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        :param current_security_service_id: the security service"},{"line_number":288,"context_line":"            id to be updated with a new security service"},{"line_number":289,"context_line":"            parameters"},{"line_number":290,"context_line":"        :param new_security_service_id: new security service"},{"line_number":291,"context_line":"            parameters that will replace the current security"},{"line_number":292,"context_line":"            service configuration"},{"line_number":293,"context_line":"        :param cleanup_in_class: if the resources will be"},{"line_number":294,"context_line":"            dissociate in the method teardown or class teardown"},{"line_number":295,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"6ca59d42_5521132b","line":292,"range":{"start_line":290,"start_character":40,"end_line":292,"end_character":33},"in_reply_to":"5b8f50fb_66166899","updated":"2021-02-15 19:46:25.000000000","message":"Done","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":849,"context_line":""},{"line_number":850,"context_line":"    @classmethod"},{"line_number":851,"context_line":"    def create_security_service_based_on_config("},{"line_number":852,"context_line":"            self, sec_svc_config, client, cleanup_in_class\u003dFalse):"},{"line_number":853,"context_line":"        ss_name \u003d data_utils.rand_name(\"security_service\")"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":"        ss_params \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"3d662b3d_7310c1e6","line":852,"updated":"2021-02-15 14:41:52.000000000","message":"Could you please add a docstring here?","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"49b695ea471059d5c11f8393115051cc7dbe279d","unresolved":false,"context_lines":[{"line_number":849,"context_line":""},{"line_number":850,"context_line":"    @classmethod"},{"line_number":851,"context_line":"    def create_security_service_based_on_config("},{"line_number":852,"context_line":"            self, sec_svc_config, client, cleanup_in_class\u003dFalse):"},{"line_number":853,"context_line":"        ss_name \u003d data_utils.rand_name(\"security_service\")"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":"        ss_params \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"cc556ff0_2daa18d0","line":852,"in_reply_to":"3d662b3d_7310c1e6","updated":"2021-02-15 19:46:25.000000000","message":"Done","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":239,"context_line":"            associate with a given security service"},{"line_number":240,"context_line":"        :param security_service_id: the security service id"},{"line_number":241,"context_line":"            to be associate with a given share network"},{"line_number":242,"context_line":"        :param cleanup_in_class: if the resources will be"},{"line_number":243,"context_line":"            dissociate in the method teardown or class teardown"},{"line_number":244,"context_line":"        \"\"\""},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        client.add_sec_service_to_share_network("}],"source_content_type":"text/x-python","patch_set":13,"id":"7cfe1584_b1a03eb6","line":243,"range":{"start_line":242,"start_character":8,"end_line":243,"end_character":63},"updated":"2021-05-06 09:20:56.000000000","message":"Please add comment that in case the security service will be updated set \n\"cleanup_in_class\" param to False.","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":239,"context_line":"            associate with a given security service"},{"line_number":240,"context_line":"        :param security_service_id: the security service id"},{"line_number":241,"context_line":"            to be associate with a given share network"},{"line_number":242,"context_line":"        :param cleanup_in_class: if the resources will be"},{"line_number":243,"context_line":"            dissociate in the method teardown or class teardown"},{"line_number":244,"context_line":"        \"\"\""},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        client.add_sec_service_to_share_network("}],"source_content_type":"text/x-python","patch_set":13,"id":"92ec3274_8f983c69","line":243,"range":{"start_line":242,"start_character":8,"end_line":243,"end_character":63},"in_reply_to":"7cfe1584_b1a03eb6","updated":"2021-09-02 18:27:57.000000000","message":"really depends on the test, but it most likely to always cleanup stuff at method level. tks","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":261,"context_line":"            cls.method_resources.insert(0, resource)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    @classmethod"},{"line_number":264,"context_line":"    def share_network_security_service_update("},{"line_number":265,"context_line":"            cls, client, share_network_id,"},{"line_number":266,"context_line":"            current_security_service_id, new_security_service_id,"},{"line_number":267,"context_line":"            cleanup_in_class\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":13,"id":"ed3fd29f_be04b0b0","line":264,"range":{"start_line":264,"start_character":8,"end_line":264,"end_character":45},"updated":"2021-05-06 09:20:56.000000000","message":"For uniformity, please rename it to \"update_share_network_security_service\"","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":261,"context_line":"            cls.method_resources.insert(0, resource)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    @classmethod"},{"line_number":264,"context_line":"    def share_network_security_service_update("},{"line_number":265,"context_line":"            cls, client, share_network_id,"},{"line_number":266,"context_line":"            current_security_service_id, new_security_service_id,"},{"line_number":267,"context_line":"            cleanup_in_class\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":13,"id":"aafb4906_73c1b107","line":264,"range":{"start_line":264,"start_character":8,"end_line":264,"end_character":45},"in_reply_to":"ed3fd29f_be04b0b0","updated":"2021-09-02 18:27:57.000000000","message":"your are right, done","commit_id":"608b685f09497545166eedbba67947462a903cfc"}],"manila_tempest_tests/tests/api/test_security_service_update.py":[{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":47,"context_line":"        if len(cls.ss_configs) \u003c 2:"},{"line_number":48,"context_line":"            raise cls.skipException(\"At least two security services \""},{"line_number":49,"context_line":"                                    \"are needed for this test.\")"},{"line_number":50,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":51,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":52,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":53,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("}],"source_content_type":"text/x-python","patch_set":13,"id":"12b8a8da_56ad1fe7","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":11},"updated":"2021-05-06 09:20:56.000000000","message":"You don\u0027t it.","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        if len(cls.ss_configs) \u003c 2:"},{"line_number":48,"context_line":"            raise cls.skipException(\"At least two security services \""},{"line_number":49,"context_line":"                                    \"are needed for this test.\")"},{"line_number":50,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":51,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":52,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":53,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("}],"source_content_type":"text/x-python","patch_set":13,"id":"77239e36_3002fb85","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":11},"in_reply_to":"12b8a8da_56ad1fe7","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":49,"context_line":"                                    \"are needed for this test.\")"},{"line_number":50,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":51,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":52,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":53,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":54,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":55,"context_line":"        if not cls.pools:"}],"source_content_type":"text/x-python","patch_set":13,"id":"b1a74113_89d6eebb","line":52,"range":{"start_line":52,"start_character":28,"end_line":52,"end_character":31},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                                    \"are needed for this test.\")"},{"line_number":50,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":51,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":52,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":53,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":54,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":55,"context_line":"        if not cls.pools:"}],"source_content_type":"text/x-python","patch_set":13,"id":"61786b2e_41e800fc","line":52,"range":{"start_line":52,"start_character":28,"end_line":52,"end_character":31},"in_reply_to":"b1a74113_89d6eebb","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":50,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":51,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":52,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":53,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":54,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":55,"context_line":"        if not cls.pools:"},{"line_number":56,"context_line":"            raise cls.skipException(\"At least one backend with support \""}],"source_content_type":"text/x-python","patch_set":13,"id":"b6a924eb_b0579603","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":11},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":51,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":52,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":53,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":54,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":55,"context_line":"        if not cls.pools:"},{"line_number":56,"context_line":"            raise cls.skipException(\"At least one backend with support \""}],"source_content_type":"text/x-python","patch_set":13,"id":"cd5a9aa8_516e7f7b","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":11},"in_reply_to":"b6a924eb_b0579603","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":52,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":53,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":54,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":55,"context_line":"        if not cls.pools:"},{"line_number":56,"context_line":"            raise cls.skipException(\"At least one backend with support \""},{"line_number":57,"context_line":"                                    \"to update security service feature \""},{"line_number":58,"context_line":"                                    \"is needed.\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"35fc581c_a36d0625","line":55,"range":{"start_line":55,"start_character":15,"end_line":55,"end_character":18},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":53,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":54,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":55,"context_line":"        if not cls.pools:"},{"line_number":56,"context_line":"            raise cls.skipException(\"At least one backend with support \""},{"line_number":57,"context_line":"                                    \"to update security service feature \""},{"line_number":58,"context_line":"                                    \"is needed.\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a572ed6_c91b10a5","line":55,"range":{"start_line":55,"start_character":15,"end_line":55,"end_character":18},"in_reply_to":"35fc581c_a36d0625","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":69,"context_line":"            security_services[ss[\u0027ss_type\u0027]].append(ss)"},{"line_number":70,"context_line":"        return security_services"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u00274651278a-93b1-43a3-b2c8-8cc3637288d4\u0027)"},{"line_number":73,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":74,"context_line":"    def test_add_security_service_to_in_use_share_network(self):"},{"line_number":75,"context_line":"        security_services \u003d self._get_security_services_by_type()"},{"line_number":76,"context_line":"        # NOTE(dviroel): we need at least two security services with different"},{"line_number":77,"context_line":"        # types for this test"},{"line_number":78,"context_line":"        security_services \u003d list("},{"line_number":79,"context_line":"            filter(lambda n: len(n) \u003e\u003d 1, security_services.values()))"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        if len(security_services) \u003c 2:"},{"line_number":82,"context_line":"            raise self.skipException(\"At least two security services with \""},{"line_number":83,"context_line":"                                     \"different types are needed for this \""},{"line_number":84,"context_line":"                                     \"test\")"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        security_service_ids \u003d []"},{"line_number":87,"context_line":"        # Create one security service of each type"},{"line_number":88,"context_line":"        for ss_list in security_services:"},{"line_number":89,"context_line":"            new_security_service \u003d ("},{"line_number":90,"context_line":"                self.create_security_service_based_on_config("},{"line_number":91,"context_line":"                    ss_list[0], self.shares_v2_client,"},{"line_number":92,"context_line":"                    cleanup_in_class\u003dFalse))"},{"line_number":93,"context_line":"            security_service_ids.append(new_security_service[\u0027id\u0027])"},{"line_number":94,"context_line":"            if len(security_service_ids) \u003e 1:"},{"line_number":95,"context_line":"                # we don\u0027t need more than 2 security service for this test"},{"line_number":96,"context_line":"                break"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Create a new security service"},{"line_number":99,"context_line":"        share_net \u003d self.create_share_network(client\u003dself.shares_v2_client,"},{"line_number":100,"context_line":"                                              add_security_services\u003dFalse,"},{"line_number":101,"context_line":"                                              cleanup_in_class\u003dFalse)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        # Associate sec service to a unused share network"},{"line_number":104,"context_line":"        self.add_sec_service_to_share_network("},{"line_number":105,"context_line":"            self.shares_v2_client, share_net[\"id\"],"},{"line_number":106,"context_line":"            security_service_ids[0], cleanup_in_class\u003dFalse)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # Create a share"},{"line_number":109,"context_line":"        share \u003d self.create_share(share_type_id\u003dself.share_type_id,"},{"line_number":110,"context_line":"                                  share_network_id\u003dshare_net[\"id\"],"},{"line_number":111,"context_line":"                                  cleanup_in_class\u003dFalse)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        # Use admin client to retrieve share server id"},{"line_number":114,"context_line":"        share \u003d self.admin_shares_v2_client.get_share(share[\"id\"])"},{"line_number":115,"context_line":"        share_server \u003d self.admin_shares_v2_client.show_share_server("},{"line_number":116,"context_line":"            share[\"share_server_id\"])"},{"line_number":117,"context_line":"        self.assertTrue(share_server[\u0027security_service_update_support\u0027])"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        # Before adding a new security service we must check for compatible"},{"line_number":120,"context_line":"        # destination hosts"},{"line_number":121,"context_line":"        self.shares_v2_client.add_sec_service_to_share_network("},{"line_number":122,"context_line":"            share_net[\u0027id\u0027], security_service_ids[1], check_only\u003dTrue,"},{"line_number":123,"context_line":"            reset_check\u003dTrue)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        # Wait until check is complete and compatible operation"},{"line_number":126,"context_line":"        waiters.wait_for_security_service_check("},{"line_number":127,"context_line":"            self.shares_v2_client, \u0027add\u0027, share_net[\u0027id\u0027],"},{"line_number":128,"context_line":"            security_service_ids[1])"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        self.add_sec_service_to_share_network("},{"line_number":131,"context_line":"            self.shares_v2_client, share_net[\"id\"],"},{"line_number":132,"context_line":"            security_service_ids[1], cleanup_in_class\u003dFalse)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        # Wait for share server be in \"active\" state"},{"line_number":135,"context_line":"        waiters.wait_for_resource_status("},{"line_number":136,"context_line":"            self.admin_shares_v2_client, share_server[\u0027id\u0027],"},{"line_number":137,"context_line":"            constants.SERVER_STATE_ACTIVE, resource_name\u003d\u0027share_server\u0027)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        # List all the security services associate for a specific sn"},{"line_number":140,"context_line":"        assoc_sec_services \u003d self.shares_v2_client.list_security_services("},{"line_number":141,"context_line":"            params\u003d{\"share_network_id\": share_net[\"id\"]})"},{"line_number":142,"context_line":"        associate_sec_service_ids \u003d [ss[\u0027id\u0027] for ss in assoc_sec_services]"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        # Check if the sec services created and associated are listed"},{"line_number":145,"context_line":"        # as associated to the share network used"},{"line_number":146,"context_line":"        self.assertIn(security_service_ids[0], associate_sec_service_ids)"},{"line_number":147,"context_line":"        self.assertIn(security_service_ids[1], associate_sec_service_ids)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    @decorators.idempotent_id(\u00274c609dc7-6646-432a-ba58-ebcb4a73bbfd\u0027)"},{"line_number":150,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":151,"context_line":"    def test_update_security_service_for_in_use_share_network(self):"},{"line_number":152,"context_line":"        security_services \u003d self._get_security_services_by_type()"},{"line_number":153,"context_line":"        # NOTE(dviroel): we need at least two security services of the same"},{"line_number":154,"context_line":"        # type for this test"},{"line_number":155,"context_line":"        security_services \u003d list("},{"line_number":156,"context_line":"            filter(lambda n: len(n) \u003e 1, security_services.values()))"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        if not security_services:"},{"line_number":159,"context_line":"            raise self.skipException(\"At least two security services \""},{"line_number":160,"context_line":"                                     \"of same type are needed for this test.\")"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        security_service_ids \u003d []"},{"line_number":163,"context_line":"        # Create two security services of the same type"},{"line_number":164,"context_line":"        for ss in security_services[0]:"},{"line_number":165,"context_line":"            new_security_service \u003d ("},{"line_number":166,"context_line":"                self.create_security_service_based_on_config("},{"line_number":167,"context_line":"                    ss, self.shares_v2_client,"},{"line_number":168,"context_line":"                    cleanup_in_class\u003dFalse))"},{"line_number":169,"context_line":"            security_service_ids.append(new_security_service[\u0027id\u0027])"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"            if len(security_service_ids) \u003e 1:"},{"line_number":172,"context_line":"                # we don\u0027t need more than 2 security service for this test"},{"line_number":173,"context_line":"                break"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        share_net \u003d self.create_share_network(client\u003dself.shares_v2_client,"},{"line_number":176,"context_line":"                                              add_security_services\u003dFalse,"},{"line_number":177,"context_line":"                                              cleanup_in_class\u003dFalse)"},{"line_number":178,"context_line":"        # Add security service to an unused share network"},{"line_number":179,"context_line":"        self.add_sec_service_to_share_network("},{"line_number":180,"context_line":"            self.shares_v2_client, share_net[\"id\"],"},{"line_number":181,"context_line":"            security_service_ids[0], cleanup_in_class\u003dFalse)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        # Crete a share"},{"line_number":184,"context_line":"        share \u003d self.create_share(share_type_id\u003dself.share_type_id,"},{"line_number":185,"context_line":"                                  share_network_id\u003dshare_net[\"id\"],"},{"line_number":186,"context_line":"                                  cleanup_in_class\u003dFalse)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        # Use admin client to retrieve share server id"},{"line_number":189,"context_line":"        share \u003d self.admin_shares_v2_client.get_share(share[\"id\"])"},{"line_number":190,"context_line":"        share_server \u003d self.admin_shares_v2_client.show_share_server("},{"line_number":191,"context_line":"            share[\"share_server_id\"])"},{"line_number":192,"context_line":"        self.assertTrue(share_server[\u0027security_service_update_support\u0027])"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # Before updating the security service we must check destination hosts"},{"line_number":195,"context_line":"        self.shares_v2_client.update_sec_service_in_use_share_network("},{"line_number":196,"context_line":"            share_net[\u0027id\u0027], security_service_ids[0], security_service_ids[1],"},{"line_number":197,"context_line":"            check_only\u003dTrue, reset_check\u003dTrue)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        # Wait until check is complete and compatible operation"},{"line_number":200,"context_line":"        waiters.wait_for_security_service_check("},{"line_number":201,"context_line":"            self.shares_v2_client, \u0027update\u0027, share_net[\u0027id\u0027],"},{"line_number":202,"context_line":"            security_service_ids[1], curr_sec_serv_id\u003dsecurity_service_ids[0])"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        # Update security service"},{"line_number":205,"context_line":"        self.share_network_security_service_update("},{"line_number":206,"context_line":"            self.shares_v2_client, share_net[\"id\"],"},{"line_number":207,"context_line":"            security_service_ids[0], security_service_ids[1],"},{"line_number":208,"context_line":"            cleanup_in_class\u003dFalse)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        waiters.wait_for_resource_status("},{"line_number":211,"context_line":"            self.admin_shares_v2_client, share_server[\"id\"],"},{"line_number":212,"context_line":"            constants.SERVER_STATE_ACTIVE, resource_name\u003d\u0027share_server\u0027)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        # List all the security services associate for a specific sn"},{"line_number":215,"context_line":"        assoc_sec_services \u003d self.shares_v2_client.list_security_services("},{"line_number":216,"context_line":"            params\u003d{\"share_network_id\": share_net[\"id\"]})"},{"line_number":217,"context_line":"        assoc_sec_service_ids \u003d [ss[\u0027id\u0027] for ss in assoc_sec_services]"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        # Check if the new sec service is associated to the share network"},{"line_number":220,"context_line":"        # and the old sec service isn`t associated."},{"line_number":221,"context_line":"        self.assertIn(security_service_ids[1], assoc_sec_service_ids)"},{"line_number":222,"context_line":"        self.assertNotIn(security_service_ids[0], assoc_sec_service_ids)"}],"source_content_type":"text/x-python","patch_set":13,"id":"831f4ece_93a36660","line":222,"range":{"start_line":72,"start_character":0,"end_line":222,"end_character":72},"updated":"2021-05-06 09:20:56.000000000","message":"The code is almost identical.\nWorth creating a new method that will be used by the test methods.","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            security_services[ss[\u0027ss_type\u0027]].append(ss)"},{"line_number":70,"context_line":"        return security_services"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u00274651278a-93b1-43a3-b2c8-8cc3637288d4\u0027)"},{"line_number":73,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":74,"context_line":"    def test_add_security_service_to_in_use_share_network(self):"},{"line_number":75,"context_line":"        security_services \u003d self._get_security_services_by_type()"},{"line_number":76,"context_line":"        # NOTE(dviroel): we need at least two security services with different"},{"line_number":77,"context_line":"        # types for this test"},{"line_number":78,"context_line":"        security_services \u003d list("},{"line_number":79,"context_line":"            filter(lambda n: len(n) \u003e\u003d 1, security_services.values()))"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        if len(security_services) \u003c 2:"},{"line_number":82,"context_line":"            raise self.skipException(\"At least two security services with \""},{"line_number":83,"context_line":"                                     \"different types are needed for this \""},{"line_number":84,"context_line":"                                     \"test\")"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        security_service_ids \u003d []"},{"line_number":87,"context_line":"        # Create one security service of each type"},{"line_number":88,"context_line":"        for ss_list in security_services:"},{"line_number":89,"context_line":"            new_security_service \u003d ("},{"line_number":90,"context_line":"                self.create_security_service_based_on_config("},{"line_number":91,"context_line":"                    ss_list[0], self.shares_v2_client,"},{"line_number":92,"context_line":"                    cleanup_in_class\u003dFalse))"},{"line_number":93,"context_line":"            security_service_ids.append(new_security_service[\u0027id\u0027])"},{"line_number":94,"context_line":"            if len(security_service_ids) \u003e 1:"},{"line_number":95,"context_line":"                # we don\u0027t need more than 2 security service for this test"},{"line_number":96,"context_line":"                break"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Create a new security service"},{"line_number":99,"context_line":"        share_net \u003d self.create_share_network(client\u003dself.shares_v2_client,"},{"line_number":100,"context_line":"                                              add_security_services\u003dFalse,"},{"line_number":101,"context_line":"                                              cleanup_in_class\u003dFalse)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        # Associate sec service to a unused share network"},{"line_number":104,"context_line":"        self.add_sec_service_to_share_network("},{"line_number":105,"context_line":"            self.shares_v2_client, share_net[\"id\"],"},{"line_number":106,"context_line":"            security_service_ids[0], cleanup_in_class\u003dFalse)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # Create a share"},{"line_number":109,"context_line":"        share \u003d self.create_share(share_type_id\u003dself.share_type_id,"},{"line_number":110,"context_line":"                                  share_network_id\u003dshare_net[\"id\"],"},{"line_number":111,"context_line":"                                  cleanup_in_class\u003dFalse)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        # Use admin client to retrieve share server id"},{"line_number":114,"context_line":"        share \u003d self.admin_shares_v2_client.get_share(share[\"id\"])"},{"line_number":115,"context_line":"        share_server \u003d self.admin_shares_v2_client.show_share_server("},{"line_number":116,"context_line":"            share[\"share_server_id\"])"},{"line_number":117,"context_line":"        self.assertTrue(share_server[\u0027security_service_update_support\u0027])"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        # Before adding a new security service we must check for compatible"},{"line_number":120,"context_line":"        # destination hosts"},{"line_number":121,"context_line":"        self.shares_v2_client.add_sec_service_to_share_network("},{"line_number":122,"context_line":"            share_net[\u0027id\u0027], security_service_ids[1], check_only\u003dTrue,"},{"line_number":123,"context_line":"            reset_check\u003dTrue)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        # Wait until check is complete and compatible operation"},{"line_number":126,"context_line":"        waiters.wait_for_security_service_check("},{"line_number":127,"context_line":"            self.shares_v2_client, \u0027add\u0027, share_net[\u0027id\u0027],"},{"line_number":128,"context_line":"            security_service_ids[1])"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        self.add_sec_service_to_share_network("},{"line_number":131,"context_line":"            self.shares_v2_client, share_net[\"id\"],"},{"line_number":132,"context_line":"            security_service_ids[1], cleanup_in_class\u003dFalse)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        # Wait for share server be in \"active\" state"},{"line_number":135,"context_line":"        waiters.wait_for_resource_status("},{"line_number":136,"context_line":"            self.admin_shares_v2_client, share_server[\u0027id\u0027],"},{"line_number":137,"context_line":"            constants.SERVER_STATE_ACTIVE, resource_name\u003d\u0027share_server\u0027)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        # List all the security services associate for a specific sn"},{"line_number":140,"context_line":"        assoc_sec_services \u003d self.shares_v2_client.list_security_services("},{"line_number":141,"context_line":"            params\u003d{\"share_network_id\": share_net[\"id\"]})"},{"line_number":142,"context_line":"        associate_sec_service_ids \u003d [ss[\u0027id\u0027] for ss in assoc_sec_services]"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        # Check if the sec services created and associated are listed"},{"line_number":145,"context_line":"        # as associated to the share network used"},{"line_number":146,"context_line":"        self.assertIn(security_service_ids[0], associate_sec_service_ids)"},{"line_number":147,"context_line":"        self.assertIn(security_service_ids[1], associate_sec_service_ids)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    @decorators.idempotent_id(\u00274c609dc7-6646-432a-ba58-ebcb4a73bbfd\u0027)"},{"line_number":150,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":151,"context_line":"    def test_update_security_service_for_in_use_share_network(self):"},{"line_number":152,"context_line":"        security_services \u003d self._get_security_services_by_type()"},{"line_number":153,"context_line":"        # NOTE(dviroel): we need at least two security services of the same"},{"line_number":154,"context_line":"        # type for this test"},{"line_number":155,"context_line":"        security_services \u003d list("},{"line_number":156,"context_line":"            filter(lambda n: len(n) \u003e 1, security_services.values()))"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        if not security_services:"},{"line_number":159,"context_line":"            raise self.skipException(\"At least two security services \""},{"line_number":160,"context_line":"                                     \"of same type are needed for this test.\")"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        security_service_ids \u003d []"},{"line_number":163,"context_line":"        # Create two security services of the same type"},{"line_number":164,"context_line":"        for ss in security_services[0]:"},{"line_number":165,"context_line":"            new_security_service \u003d ("},{"line_number":166,"context_line":"                self.create_security_service_based_on_config("},{"line_number":167,"context_line":"                    ss, self.shares_v2_client,"},{"line_number":168,"context_line":"                    cleanup_in_class\u003dFalse))"},{"line_number":169,"context_line":"            security_service_ids.append(new_security_service[\u0027id\u0027])"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"            if len(security_service_ids) \u003e 1:"},{"line_number":172,"context_line":"                # we don\u0027t need more than 2 security service for this test"},{"line_number":173,"context_line":"                break"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        share_net \u003d self.create_share_network(client\u003dself.shares_v2_client,"},{"line_number":176,"context_line":"                                              add_security_services\u003dFalse,"},{"line_number":177,"context_line":"                                              cleanup_in_class\u003dFalse)"},{"line_number":178,"context_line":"        # Add security service to an unused share network"},{"line_number":179,"context_line":"        self.add_sec_service_to_share_network("},{"line_number":180,"context_line":"            self.shares_v2_client, share_net[\"id\"],"},{"line_number":181,"context_line":"            security_service_ids[0], cleanup_in_class\u003dFalse)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        # Crete a share"},{"line_number":184,"context_line":"        share \u003d self.create_share(share_type_id\u003dself.share_type_id,"},{"line_number":185,"context_line":"                                  share_network_id\u003dshare_net[\"id\"],"},{"line_number":186,"context_line":"                                  cleanup_in_class\u003dFalse)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        # Use admin client to retrieve share server id"},{"line_number":189,"context_line":"        share \u003d self.admin_shares_v2_client.get_share(share[\"id\"])"},{"line_number":190,"context_line":"        share_server \u003d self.admin_shares_v2_client.show_share_server("},{"line_number":191,"context_line":"            share[\"share_server_id\"])"},{"line_number":192,"context_line":"        self.assertTrue(share_server[\u0027security_service_update_support\u0027])"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # Before updating the security service we must check destination hosts"},{"line_number":195,"context_line":"        self.shares_v2_client.update_sec_service_in_use_share_network("},{"line_number":196,"context_line":"            share_net[\u0027id\u0027], security_service_ids[0], security_service_ids[1],"},{"line_number":197,"context_line":"            check_only\u003dTrue, reset_check\u003dTrue)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        # Wait until check is complete and compatible operation"},{"line_number":200,"context_line":"        waiters.wait_for_security_service_check("},{"line_number":201,"context_line":"            self.shares_v2_client, \u0027update\u0027, share_net[\u0027id\u0027],"},{"line_number":202,"context_line":"            security_service_ids[1], curr_sec_serv_id\u003dsecurity_service_ids[0])"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        # Update security service"},{"line_number":205,"context_line":"        self.share_network_security_service_update("},{"line_number":206,"context_line":"            self.shares_v2_client, share_net[\"id\"],"},{"line_number":207,"context_line":"            security_service_ids[0], security_service_ids[1],"},{"line_number":208,"context_line":"            cleanup_in_class\u003dFalse)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        waiters.wait_for_resource_status("},{"line_number":211,"context_line":"            self.admin_shares_v2_client, share_server[\"id\"],"},{"line_number":212,"context_line":"            constants.SERVER_STATE_ACTIVE, resource_name\u003d\u0027share_server\u0027)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        # List all the security services associate for a specific sn"},{"line_number":215,"context_line":"        assoc_sec_services \u003d self.shares_v2_client.list_security_services("},{"line_number":216,"context_line":"            params\u003d{\"share_network_id\": share_net[\"id\"]})"},{"line_number":217,"context_line":"        assoc_sec_service_ids \u003d [ss[\u0027id\u0027] for ss in assoc_sec_services]"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        # Check if the new sec service is associated to the share network"},{"line_number":220,"context_line":"        # and the old sec service isn`t associated."},{"line_number":221,"context_line":"        self.assertIn(security_service_ids[1], assoc_sec_service_ids)"},{"line_number":222,"context_line":"        self.assertNotIn(security_service_ids[0], assoc_sec_service_ids)"}],"source_content_type":"text/x-python","patch_set":13,"id":"4973d849_12007e85","line":222,"range":{"start_line":72,"start_character":0,"end_line":222,"end_character":72},"in_reply_to":"831f4ece_93a36660","updated":"2021-09-02 18:27:57.000000000","message":"yes, easier to maintain later. Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"}],"manila_tempest_tests/tests/api/test_security_service_update_negative.py":[{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":52,"context_line":"        ss_data \u003d cls.generate_security_service_data()"},{"line_number":53,"context_line":"        cls.ss_ldap2 \u003d cls.create_security_service(client\u003dcls.shares_v2_client,"},{"line_number":54,"context_line":"                                                   ss_type\u003d\"ldap\", **ss_data)"},{"line_number":55,"context_line":"        cls.fake_sn_id \u003d \"fake_sn_id\""},{"line_number":56,"context_line":"        cls.fake_ss_id \u003d \"fake_ss_id\""},{"line_number":57,"context_line":"        cls.invalid_sn_states \u003d [constants.STATUS_NETWORK_CHANGE,"},{"line_number":58,"context_line":"                                 constants.STATUS_NETWORK_ERROR]"},{"line_number":59,"context_line":"        cls.share_net \u003d cls.shares_v2_client.create_share_network("}],"source_content_type":"text/x-python","patch_set":13,"id":"898b0898_cceef478","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":37},"updated":"2021-05-06 09:20:56.000000000","message":"Why it\u0027s defined here.\nI think it\u0027s better for debugging to choose a random value, like: data_utils.rand_name(\"fake_sn_id\") and to do it within the test.","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        ss_data \u003d cls.generate_security_service_data()"},{"line_number":53,"context_line":"        cls.ss_ldap2 \u003d cls.create_security_service(client\u003dcls.shares_v2_client,"},{"line_number":54,"context_line":"                                                   ss_type\u003d\"ldap\", **ss_data)"},{"line_number":55,"context_line":"        cls.fake_sn_id \u003d \"fake_sn_id\""},{"line_number":56,"context_line":"        cls.fake_ss_id \u003d \"fake_ss_id\""},{"line_number":57,"context_line":"        cls.invalid_sn_states \u003d [constants.STATUS_NETWORK_CHANGE,"},{"line_number":58,"context_line":"                                 constants.STATUS_NETWORK_ERROR]"},{"line_number":59,"context_line":"        cls.share_net \u003d cls.shares_v2_client.create_share_network("}],"source_content_type":"text/x-python","patch_set":13,"id":"cb27152c_edfac153","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":37},"in_reply_to":"898b0898_cceef478","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    @classmethod"},{"line_number":152,"context_line":"    def resource_setup(cls):"},{"line_number":153,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("}],"source_content_type":"text/x-python","patch_set":13,"id":"6c1a303f_684dcb9e","line":153,"range":{"start_line":153,"start_character":8,"end_line":153,"end_character":11},"updated":"2021-05-06 09:20:56.000000000","message":"You don\u0027t need it.","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    @classmethod"},{"line_number":152,"context_line":"    def resource_setup(cls):"},{"line_number":153,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("}],"source_content_type":"text/x-python","patch_set":13,"id":"9fb76058_91066a53","line":153,"range":{"start_line":153,"start_character":8,"end_line":153,"end_character":11},"in_reply_to":"6c1a303f_684dcb9e","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":152,"context_line":"    def resource_setup(cls):"},{"line_number":153,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"}],"source_content_type":"text/x-python","patch_set":13,"id":"adf59376_08163792","line":155,"range":{"start_line":155,"start_character":28,"end_line":155,"end_character":31},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":152,"context_line":"    def resource_setup(cls):"},{"line_number":153,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"}],"source_content_type":"text/x-python","patch_set":13,"id":"30a524a8_1bc8c349","line":155,"range":{"start_line":155,"start_character":28,"end_line":155,"end_character":31},"in_reply_to":"adf59376_08163792","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":152,"context_line":"    def resource_setup(cls):"},{"line_number":153,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"}],"source_content_type":"text/x-python","patch_set":13,"id":"a78a167e_d9f71b41","line":155,"range":{"start_line":155,"start_character":28,"end_line":155,"end_character":31},"in_reply_to":"adf59376_08163792","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":153,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"},{"line_number":159,"context_line":"            raise cls.skipException(\"At least one backend without support \""}],"source_content_type":"text/x-python","patch_set":13,"id":"13661ec3_8bf95fc3","line":156,"range":{"start_line":156,"start_character":8,"end_line":156,"end_character":11},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"},{"line_number":159,"context_line":"            raise cls.skipException(\"At least one backend without support \""}],"source_content_type":"text/x-python","patch_set":13,"id":"78fdcb07_0dfcf879","line":156,"range":{"start_line":156,"start_character":8,"end_line":156,"end_character":11},"in_reply_to":"13661ec3_8bf95fc3","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"},{"line_number":159,"context_line":"            raise cls.skipException(\"At least one backend without support \""}],"source_content_type":"text/x-python","patch_set":13,"id":"bcdcba5c_7555d8da","line":156,"range":{"start_line":156,"start_character":8,"end_line":156,"end_character":11},"in_reply_to":"13661ec3_8bf95fc3","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"},{"line_number":159,"context_line":"            raise cls.skipException(\"At least one backend without support \""},{"line_number":160,"context_line":"                                    \"to update security service feature \""}],"source_content_type":"text/x-python","patch_set":13,"id":"10c9b7e3_6df59bad","line":157,"range":{"start_line":157,"start_character":12,"end_line":157,"end_character":15},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"},{"line_number":159,"context_line":"            raise cls.skipException(\"At least one backend without support \""},{"line_number":160,"context_line":"                                    \"to update security service feature \""}],"source_content_type":"text/x-python","patch_set":13,"id":"ba6521ea_72191d3d","line":157,"range":{"start_line":157,"start_character":12,"end_line":157,"end_character":15},"in_reply_to":"10c9b7e3_6df59bad","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            specs\u003d{\"security_service_update_support\": False})"},{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"},{"line_number":159,"context_line":"            raise cls.skipException(\"At least one backend without support \""},{"line_number":160,"context_line":"                                    \"to update security service feature \""}],"source_content_type":"text/x-python","patch_set":13,"id":"e81ee90b_8d18e2b4","line":157,"range":{"start_line":157,"start_character":12,"end_line":157,"end_character":15},"in_reply_to":"10c9b7e3_6df59bad","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"},{"line_number":159,"context_line":"            raise cls.skipException(\"At least one backend without support \""},{"line_number":160,"context_line":"                                    \"to update security service feature \""},{"line_number":161,"context_line":"                                    \"is needed.\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"92f2c143_7530c898","line":158,"range":{"start_line":158,"start_character":15,"end_line":158,"end_character":18},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":156,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":157,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":158,"context_line":"        if not cls.pools:"},{"line_number":159,"context_line":"            raise cls.skipException(\"At least one backend without support \""},{"line_number":160,"context_line":"                                    \"to update security service feature \""},{"line_number":161,"context_line":"                                    \"is needed.\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"a3a86131_a294a63d","line":158,"range":{"start_line":158,"start_character":15,"end_line":158,"end_character":18},"in_reply_to":"92f2c143_7530c898","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":160,"context_line":"                                    \"to update security service feature \""},{"line_number":161,"context_line":"                                    \"is needed.\")"},{"line_number":162,"context_line":"        # Update share type to choose an incompatible backend pool"},{"line_number":163,"context_line":"        extra_specs \u003d {\"pool_name\": cls.pools[0][\u0027pool\u0027]}"},{"line_number":164,"context_line":"        cls.admin_shares_v2_client.update_share_type_extra_specs("},{"line_number":165,"context_line":"            cls.share_type_id, extra_specs)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"8d3570c9_c852e5e1","line":163,"range":{"start_line":163,"start_character":36,"end_line":163,"end_character":39},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":160,"context_line":"                                    \"to update security service feature \""},{"line_number":161,"context_line":"                                    \"is needed.\")"},{"line_number":162,"context_line":"        # Update share type to choose an incompatible backend pool"},{"line_number":163,"context_line":"        extra_specs \u003d {\"pool_name\": cls.pools[0][\u0027pool\u0027]}"},{"line_number":164,"context_line":"        cls.admin_shares_v2_client.update_share_type_extra_specs("},{"line_number":165,"context_line":"            cls.share_type_id, extra_specs)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"f1ec3b86_adc2b77e","line":163,"range":{"start_line":163,"start_character":36,"end_line":163,"end_character":39},"in_reply_to":"8d3570c9_c852e5e1","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    @classmethod"},{"line_number":222,"context_line":"    def resource_setup(cls):"},{"line_number":223,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":224,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":225,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":226,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("}],"source_content_type":"text/x-python","patch_set":13,"id":"d0dc9c47_b93da1cc","line":223,"range":{"start_line":223,"start_character":8,"end_line":223,"end_character":11},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    @classmethod"},{"line_number":222,"context_line":"    def resource_setup(cls):"},{"line_number":223,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":224,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":225,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":226,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("}],"source_content_type":"text/x-python","patch_set":13,"id":"24565884_80cc52f6","line":223,"range":{"start_line":223,"start_character":8,"end_line":223,"end_character":11},"in_reply_to":"d0dc9c47_b93da1cc","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":223,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":224,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":225,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":226,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":227,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":228,"context_line":"        if not cls.pools:"},{"line_number":229,"context_line":"            raise cls.skipException(\"At least one backend with support \""}],"source_content_type":"text/x-python","patch_set":13,"id":"4d288749_0b00947f","line":226,"range":{"start_line":226,"start_character":8,"end_line":226,"end_character":11},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        cls.share_type \u003d cls._create_share_type("},{"line_number":224,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":225,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":226,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":227,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":228,"context_line":"        if not cls.pools:"},{"line_number":229,"context_line":"            raise cls.skipException(\"At least one backend with support \""}],"source_content_type":"text/x-python","patch_set":13,"id":"3ec97d51_d942f17a","line":226,"range":{"start_line":226,"start_character":8,"end_line":226,"end_character":11},"in_reply_to":"4d288749_0b00947f","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":224,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":225,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":226,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":227,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":228,"context_line":"        if not cls.pools:"},{"line_number":229,"context_line":"            raise cls.skipException(\"At least one backend with support \""},{"line_number":230,"context_line":"                                    \"to update security service feature \""}],"source_content_type":"text/x-python","patch_set":13,"id":"fa2d0d9d_2e79eb39","line":227,"range":{"start_line":227,"start_character":12,"end_line":227,"end_character":15},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":224,"context_line":"            specs\u003d{\"security_service_update_support\": True})"},{"line_number":225,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":226,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":227,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":228,"context_line":"        if not cls.pools:"},{"line_number":229,"context_line":"            raise cls.skipException(\"At least one backend with support \""},{"line_number":230,"context_line":"                                    \"to update security service feature \""}],"source_content_type":"text/x-python","patch_set":13,"id":"a220759d_2e503cf9","line":227,"range":{"start_line":227,"start_character":12,"end_line":227,"end_character":15},"in_reply_to":"fa2d0d9d_2e79eb39","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ed24ce2b9a96fbe005c366c02fe0506c81bfbc0f","unresolved":true,"context_lines":[{"line_number":225,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":226,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":227,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":228,"context_line":"        if not cls.pools:"},{"line_number":229,"context_line":"            raise cls.skipException(\"At least one backend with support \""},{"line_number":230,"context_line":"                                    \"to update security service feature \""},{"line_number":231,"context_line":"                                    \"is needed.\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"9afef113_6d66c0fb","line":228,"range":{"start_line":228,"start_character":15,"end_line":228,"end_character":18},"updated":"2021-05-06 09:20:56.000000000","message":"Same","commit_id":"608b685f09497545166eedbba67947462a903cfc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d2aa2cb130128d4ab6e1a99c11f1d06beab2c668","unresolved":false,"context_lines":[{"line_number":225,"context_line":"        cls.share_type_id \u003d cls.share_type[\"id\"]"},{"line_number":226,"context_line":"        cls.pools \u003d cls.get_pools_matching_share_type("},{"line_number":227,"context_line":"            cls.share_type, client\u003dcls.admin_shares_v2_client)"},{"line_number":228,"context_line":"        if not cls.pools:"},{"line_number":229,"context_line":"            raise cls.skipException(\"At least one backend with support \""},{"line_number":230,"context_line":"                                    \"to update security service feature \""},{"line_number":231,"context_line":"                                    \"is needed.\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"278cfcac_2c7d16c1","line":228,"range":{"start_line":228,"start_character":15,"end_line":228,"end_character":18},"in_reply_to":"9afef113_6d66c0fb","updated":"2021-09-02 18:27:57.000000000","message":"Done","commit_id":"608b685f09497545166eedbba67947462a903cfc"}],"manila_tempest_tests/tests/api/test_share_network_update_sec_service.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2021 NetApp Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":5,"id":"7b4bb16e_2aa06f81","line":1,"updated":"2021-02-15 14:41:52.000000000","message":"Just out of curiosity: is there any specific reason to decide to do not use the share_networks test file?","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"49b695ea471059d5c11f8393115051cc7dbe279d","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2021 NetApp Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":5,"id":"918165f5_6c70d3aa","line":1,"in_reply_to":"7b4bb16e_2aa06f81","updated":"2021-02-15 19:46:25.000000000","message":"Actually the share network tests handle specifically with the API. We have another class to test only the mapping with sec services using mock data for example. As we developed new behaviors to this old operation and also added the update sec service, I created a new file class to better organize the tests. But if necessary we can consider move the methods to old classes.","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":64,"context_line":"        # NOTE(andrebeltrami): In order to add a sec service to"},{"line_number":65,"context_line":"        # in use share network it`s necessary at least two"},{"line_number":66,"context_line":"        # security services in the config with different type."},{"line_number":67,"context_line":"        for sec_svc in self.ss_configs:"},{"line_number":68,"context_line":"            if sec_svc.get(\"ss_type\") not in different_sec_svcs:"},{"line_number":69,"context_line":"                different_sec_svcs.append(sec_svc.get(\"ss_type\"))"},{"line_number":70,"context_line":"        if len(different_sec_svcs) \u003c 2:"},{"line_number":71,"context_line":"            raise self.skipException(\"At least two security services with \""},{"line_number":72,"context_line":"                                     \"different types are needed for this \""},{"line_number":73,"context_line":"                                     \"test\")"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # This loop will create two security services of different"},{"line_number":76,"context_line":"        # types, the first one will be used to create the share"}],"source_content_type":"text/x-python","patch_set":5,"id":"1119c9c4_af90fc12","line":73,"range":{"start_line":67,"start_character":8,"end_line":73,"end_character":44},"updated":"2021-02-15 14:41:52.000000000","message":"shince this is already being validated in the resource_setup, this could be removed here and below, right?","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"49b695ea471059d5c11f8393115051cc7dbe279d","unresolved":true,"context_lines":[{"line_number":64,"context_line":"        # NOTE(andrebeltrami): In order to add a sec service to"},{"line_number":65,"context_line":"        # in use share network it`s necessary at least two"},{"line_number":66,"context_line":"        # security services in the config with different type."},{"line_number":67,"context_line":"        for sec_svc in self.ss_configs:"},{"line_number":68,"context_line":"            if sec_svc.get(\"ss_type\") not in different_sec_svcs:"},{"line_number":69,"context_line":"                different_sec_svcs.append(sec_svc.get(\"ss_type\"))"},{"line_number":70,"context_line":"        if len(different_sec_svcs) \u003c 2:"},{"line_number":71,"context_line":"            raise self.skipException(\"At least two security services with \""},{"line_number":72,"context_line":"                                     \"different types are needed for this \""},{"line_number":73,"context_line":"                                     \"test\")"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        # This loop will create two security services of different"},{"line_number":76,"context_line":"        # types, the first one will be used to create the share"}],"source_content_type":"text/x-python","patch_set":5,"id":"b4959e70_2553e8f1","line":73,"range":{"start_line":67,"start_character":8,"end_line":73,"end_character":44},"in_reply_to":"1119c9c4_af90fc12","updated":"2021-02-15 19:46:25.000000000","message":"The resource type validates only if have at least 2 sec services in the configuration. Inside the test add we need to check if have at least 2 sec services with different types defined.","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":80,"context_line":"        ss_type_created \u003d []"},{"line_number":81,"context_line":"        for sec_svc in self.ss_configs:"},{"line_number":82,"context_line":"            sec_svc_type \u003d sec_svc.get(\"ss_type\")"},{"line_number":83,"context_line":"            if (sec_svc_type in different_sec_svcs"},{"line_number":84,"context_line":"                    and sec_svc_type not in ss_type_created"},{"line_number":85,"context_line":"                    and len(valid_sec_svcs) \u003c 2):"},{"line_number":86,"context_line":"                security_service \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"9e4ee7f2_c840b418","line":83,"range":{"start_line":83,"start_character":16,"end_line":83,"end_character":50},"updated":"2021-02-15 14:41:52.000000000","message":"the sec_svc_type will always be in the different_sec_svcs,a s per in the line 69, right?","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"49b695ea471059d5c11f8393115051cc7dbe279d","unresolved":true,"context_lines":[{"line_number":80,"context_line":"        ss_type_created \u003d []"},{"line_number":81,"context_line":"        for sec_svc in self.ss_configs:"},{"line_number":82,"context_line":"            sec_svc_type \u003d sec_svc.get(\"ss_type\")"},{"line_number":83,"context_line":"            if (sec_svc_type in different_sec_svcs"},{"line_number":84,"context_line":"                    and sec_svc_type not in ss_type_created"},{"line_number":85,"context_line":"                    and len(valid_sec_svcs) \u003c 2):"},{"line_number":86,"context_line":"                security_service \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"c87ac957_98f7a739","line":83,"range":{"start_line":83,"start_character":16,"end_line":83,"end_character":50},"in_reply_to":"9e4ee7f2_c840b418","updated":"2021-02-15 19:46:25.000000000","message":"Not really, here I am searching for at least 2 sec services with the different types added to the different_sec_svcs. Skipping sec services types already \"created\" and added to ss_type_created.","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"853a0c51391b6063dfad46593227d739d49eb2c2","unresolved":true,"context_lines":[{"line_number":123,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":124,"context_line":"    def test_update_sec_service_to_in_use_share_network(self):"},{"line_number":125,"context_line":"        aux_set \u003d set()"},{"line_number":126,"context_line":"        # NOTE(andrebeltrami): In order to update a sec service to"},{"line_number":127,"context_line":"        # in use share network it`s necessary at least two"},{"line_number":128,"context_line":"        # security services in the config with same type."},{"line_number":129,"context_line":"        for sec_svc in self.ss_configs:"},{"line_number":130,"context_line":"            if sec_svc.get(\"ss_type\") not in aux_set:"},{"line_number":131,"context_line":"                aux_set.add(sec_svc.get(\"ss_type\"))"},{"line_number":132,"context_line":"            else:"},{"line_number":133,"context_line":"                repeated_sec_svc_type \u003d sec_svc.get(\"ss_type\")"},{"line_number":134,"context_line":"                break"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if not repeated_sec_svc_type:"},{"line_number":137,"context_line":"            raise self.skipException(\"At least two security services \""},{"line_number":138,"context_line":"                                     \"of same type are needed for this test.\")"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        # This loop will create two security services of same"},{"line_number":141,"context_line":"        # type, the first one will be used to create the share"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf08b023_3d3b5ae4","line":138,"range":{"start_line":126,"start_character":8,"end_line":138,"end_character":78},"updated":"2021-02-15 14:41:52.000000000","message":"This validation could be done in the same way as the above method\u0027s one. And since you are redoing this validation some times, what about extracting it to a private method and validating it there. What do you think?","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"49b695ea471059d5c11f8393115051cc7dbe279d","unresolved":true,"context_lines":[{"line_number":123,"context_line":"    @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":124,"context_line":"    def test_update_sec_service_to_in_use_share_network(self):"},{"line_number":125,"context_line":"        aux_set \u003d set()"},{"line_number":126,"context_line":"        # NOTE(andrebeltrami): In order to update a sec service to"},{"line_number":127,"context_line":"        # in use share network it`s necessary at least two"},{"line_number":128,"context_line":"        # security services in the config with same type."},{"line_number":129,"context_line":"        for sec_svc in self.ss_configs:"},{"line_number":130,"context_line":"            if sec_svc.get(\"ss_type\") not in aux_set:"},{"line_number":131,"context_line":"                aux_set.add(sec_svc.get(\"ss_type\"))"},{"line_number":132,"context_line":"            else:"},{"line_number":133,"context_line":"                repeated_sec_svc_type \u003d sec_svc.get(\"ss_type\")"},{"line_number":134,"context_line":"                break"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        if not repeated_sec_svc_type:"},{"line_number":137,"context_line":"            raise self.skipException(\"At least two security services \""},{"line_number":138,"context_line":"                                     \"of same type are needed for this test.\")"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        # This loop will create two security services of same"},{"line_number":141,"context_line":"        # type, the first one will be used to create the share"}],"source_content_type":"text/x-python","patch_set":5,"id":"14c21eac_691a1da1","line":138,"range":{"start_line":126,"start_character":8,"end_line":138,"end_character":78},"in_reply_to":"bf08b023_3d3b5ae4","updated":"2021-02-15 19:46:25.000000000","message":"This validation is the opposite of the add test. Here we need to found at least 2 sec services defined with the same type in order to execute this test. We can consider move it.","commit_id":"ef2c0a42a19e6cfc0002dd1d5a3b4ec94cd4fc97"}]}
