)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"2fb4c9b4143df14dbcab2c7ac16baaefd1145dbf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8a82b011_e8242786","updated":"2022-12-22 17:01:44.000000000","message":"please rebase to get the fix for the functional tests from https://review.opendev.org/c/openstack/python-manilaclient/+/868128","commit_id":"145d228fcd7982c8d365a0c4af0d28c069336a99"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"03b4ac524b19dbc8cd473f766e985a1cbf11bd97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"53e78bdb_0a205d4e","in_reply_to":"8a82b011_e8242786","updated":"2022-12-23 08:38:11.000000000","message":"Done","commit_id":"145d228fcd7982c8d365a0c4af0d28c069336a99"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"362e90539eb0c35a53db38714f7ae69ca47998b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"38e19f56_a446b712","updated":"2023-02-15 19:44:08.000000000","message":"Sorry for the wait - Please take a look at the comments inline :)","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"338a4182dd5ea1d79ae9d2ed9e86a34b8a05bd1f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"966f16ed_44777e51","updated":"2023-02-15 19:35:28.000000000","message":"recheck\nLogs are gone - also, could you please rebase this change?","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"1ca18a204354686d8b746d1adda02532d82d4243","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"56348bec_8fa2ff26","updated":"2023-02-17 11:50:30.000000000","message":"I\u0027m updating the release for python-manilaclient. I\u0027m sorry but I think this change will not make it for Antelope. We can merge it earlier in the next cycle","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1e02fbe3caa04b4bd16cad3e267a6db33b39c812","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2f41dc1e_b261f73c","updated":"2023-02-20 22:39:31.000000000","message":"Kiran, i see you resolved the comments, did you forget to submit the update? :) ","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"50d283137ce2f9289aa5991d8a8855aec4ce6e72","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c2ae6e63_7dcb00ea","updated":"2023-02-16 12:44:08.000000000","message":"Thank you for updating this change! LGTM","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2f94cc8f_c3dd9c92","updated":"2023-02-16 17:53:48.000000000","message":"Thanks Kiran, several comments inline, please take a look while you resolve the merge conflict on this patch","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7ce4f755_1d92a939","updated":"2023-02-17 11:55:36.000000000","message":"done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d52f87b89a568126e6a936e8f61efab17c477dbb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"e1d3a1e3_36737c39","in_reply_to":"2f41dc1e_b261f73c","updated":"2023-02-21 11:05:21.000000000","message":"yeah... done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4a6f8b694b8a0ecd12edd00561738ec74801fdf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a87b060d_c7a95c2b","updated":"2023-02-21 15:33:19.000000000","message":"Thanks, LGTM","commit_id":"3321fdca23fd4142c674bf8627c95a90fc73aa29"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5da93557eb2bf1eba3662e7e7dc40fbe58daf3be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"a6c82e2c_f85fb3f9","updated":"2023-02-21 21:09:05.000000000","message":"Thanks!","commit_id":"c4e2fa0c5d38222825c7fdf93b0d33cf90e32b20"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f64de7f1ab3508cb90f11b6edcc8d12b4bc70b14","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"68e26ab3_08a5ef43","updated":"2023-05-18 15:42:52.000000000","message":"LGTM, thanks Kiran!","commit_id":"6e9433cd319d2657af2531a8e9059be367c04f13"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"3da709079e33a1177d82629e7def43e73e447b70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"d78a83ef_53443547","updated":"2023-05-25 14:48:17.000000000","message":"LGTM, thanks Kiran!","commit_id":"6e9433cd319d2657af2531a8e9059be367c04f13"}],"manilaclient/api_versions.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"362e90539eb0c35a53db38714f7ae69ca47998b4","unresolved":true,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"MAX_VERSION \u003d \u00272.74\u0027"},{"line_number":31,"context_line":"MIN_VERSION \u003d \u00272.0\u0027"},{"line_number":32,"context_line":"DEPRECATED_VERSION \u003d \u00271.0\u0027"},{"line_number":33,"context_line":"_VERSIONED_METHOD_MAP \u003d {}"}],"source_content_type":"text/x-python","patch_set":7,"id":"9186e4d4_8edd963d","line":30,"range":{"start_line":30,"start_character":15,"end_line":30,"end_character":19},"updated":"2023-02-15 19:44:08.000000000","message":"please bump the version","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7c84df58bb47ccabbb0f31b0ab306990202d5fd9","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"MAX_VERSION \u003d \u00272.74\u0027"},{"line_number":31,"context_line":"MIN_VERSION \u003d \u00272.0\u0027"},{"line_number":32,"context_line":"DEPRECATED_VERSION \u003d \u00271.0\u0027"},{"line_number":33,"context_line":"_VERSIONED_METHOD_MAP \u003d {}"}],"source_content_type":"text/x-python","patch_set":7,"id":"03717391_1f73a5c6","line":30,"range":{"start_line":30,"start_character":15,"end_line":30,"end_character":19},"in_reply_to":"9186e4d4_8edd963d","updated":"2023-02-16 10:59:54.000000000","message":"Done","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"}],"manilaclient/osc/v2/security_services.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":88,"context_line":"            help\u003d_(\"Security service description.\")"},{"line_number":89,"context_line":"        )"},{"line_number":90,"context_line":"        parser.add_argument("},{"line_number":91,"context_line":"            \u0027--default_ad_site\u0027,"},{"line_number":92,"context_line":"            metavar\u003d\u0027\u003cdefault_ad_site\u003e\u0027,"},{"line_number":93,"context_line":"            default\u003dNone,"},{"line_number":94,"context_line":"            help\u003d_(\"Default AD site. \""}],"source_content_type":"text/x-python","patch_set":8,"id":"adbe9212_b0563a87","line":91,"range":{"start_line":91,"start_character":15,"end_line":91,"end_character":30},"updated":"2023-02-16 17:53:48.000000000","message":"default-ad-site\n\n\nhyphens instead of dashes is preferred in this client for consistency: https://docs.openstack.org/python-openstackclient/latest/contributor/command-options.html","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            help\u003d_(\"Security service description.\")"},{"line_number":89,"context_line":"        )"},{"line_number":90,"context_line":"        parser.add_argument("},{"line_number":91,"context_line":"            \u0027--default_ad_site\u0027,"},{"line_number":92,"context_line":"            metavar\u003d\u0027\u003cdefault_ad_site\u003e\u0027,"},{"line_number":93,"context_line":"            default\u003dNone,"},{"line_number":94,"context_line":"            help\u003d_(\"Default AD site. \""}],"source_content_type":"text/x-python","patch_set":8,"id":"74f2ff37_5ad5d84b","line":91,"range":{"start_line":91,"start_character":15,"end_line":91,"end_character":30},"in_reply_to":"adbe9212_b0563a87","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":92,"context_line":"            metavar\u003d\u0027\u003cdefault_ad_site\u003e\u0027,"},{"line_number":93,"context_line":"            default\u003dNone,"},{"line_number":94,"context_line":"            help\u003d_(\"Default AD site. \""},{"line_number":95,"context_line":"                   \"Available only for microversion \u003e\u003d 2.76.\")"},{"line_number":96,"context_line":"        )"},{"line_number":97,"context_line":"        return parser"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9b16c54d_cbbc2305","line":95,"range":{"start_line":95,"start_character":60,"end_line":95,"end_character":61},"updated":"2023-02-16 17:53:48.000000000","message":"Can be provided in the place of \u0027--server\u0027 but not along with it","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            metavar\u003d\u0027\u003cdefault_ad_site\u003e\u0027,"},{"line_number":93,"context_line":"            default\u003dNone,"},{"line_number":94,"context_line":"            help\u003d_(\"Default AD site. \""},{"line_number":95,"context_line":"                   \"Available only for microversion \u003e\u003d 2.76.\")"},{"line_number":96,"context_line":"        )"},{"line_number":97,"context_line":"        return parser"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"d6f53e82_62cb8ec6","line":95,"range":{"start_line":95,"start_character":60,"end_line":95,"end_character":61},"in_reply_to":"9b16c54d_cbbc2305","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":115,"context_line":"            raise exceptions.CommandError("},{"line_number":116,"context_line":"                \"Defining a security service Organizational Unit is \""},{"line_number":117,"context_line":"                \"available only for microversion \u003e\u003d 2.44\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        if share_client.api_version \u003e\u003d api_versions.APIVersion(\"2.76\"):"},{"line_number":120,"context_line":"            kwargs[\u0027default_ad_site\u0027] \u003d parsed_args.default_ad_site"},{"line_number":121,"context_line":"        elif parsed_args.default_ad_site:"}],"source_content_type":"text/x-python","patch_set":8,"id":"7abca20f_3eb5afe1","line":118,"updated":"2023-02-16 17:53:48.000000000","message":"would be nice to prevent the use of server and default-ad-site together","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            raise exceptions.CommandError("},{"line_number":116,"context_line":"                \"Defining a security service Organizational Unit is \""},{"line_number":117,"context_line":"                \"available only for microversion \u003e\u003d 2.44\")"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        if share_client.api_version \u003e\u003d api_versions.APIVersion(\"2.76\"):"},{"line_number":120,"context_line":"            kwargs[\u0027default_ad_site\u0027] \u003d parsed_args.default_ad_site"},{"line_number":121,"context_line":"        elif parsed_args.default_ad_site:"}],"source_content_type":"text/x-python","patch_set":8,"id":"05bd0767_923f4b4b","line":118,"in_reply_to":"7abca20f_3eb5afe1","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":257,"context_line":"            help\u003d_(\"Set security service description.\")"},{"line_number":258,"context_line":"        )"},{"line_number":259,"context_line":"        parser.add_argument("},{"line_number":260,"context_line":"            \u0027--default_ad_site\u0027,"},{"line_number":261,"context_line":"            metavar\u003d\u0027\u003cdefault_ad_site\u003e\u0027,"},{"line_number":262,"context_line":"            default\u003dNone,"},{"line_number":263,"context_line":"            help\u003d_(\"Default AD site. \""}],"source_content_type":"text/x-python","patch_set":8,"id":"79ee480e_a620d99b","line":260,"range":{"start_line":260,"start_character":15,"end_line":260,"end_character":30},"updated":"2023-02-16 17:53:48.000000000","message":"same comment as above, use hyphens in option names","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":257,"context_line":"            help\u003d_(\"Set security service description.\")"},{"line_number":258,"context_line":"        )"},{"line_number":259,"context_line":"        parser.add_argument("},{"line_number":260,"context_line":"            \u0027--default_ad_site\u0027,"},{"line_number":261,"context_line":"            metavar\u003d\u0027\u003cdefault_ad_site\u003e\u0027,"},{"line_number":262,"context_line":"            default\u003dNone,"},{"line_number":263,"context_line":"            help\u003d_(\"Default AD site. \""}],"source_content_type":"text/x-python","patch_set":8,"id":"4134b9e4_b22f8c8d","line":260,"range":{"start_line":260,"start_character":15,"end_line":260,"end_character":30},"in_reply_to":"79ee480e_a620d99b","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":288,"context_line":"            raise exceptions.CommandError(_("},{"line_number":289,"context_line":"                \"Setting a security service Organizational Unit is \""},{"line_number":290,"context_line":"                \"available only for microversion \u003e\u003d 2.44\"))"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        if share_client.api_version \u003e\u003d api_versions.APIVersion(\"2.76\"):"},{"line_number":293,"context_line":"            kwargs[\u0027default_ad_site\u0027] \u003d parsed_args.default_ad_site"},{"line_number":294,"context_line":"        elif parsed_args.default_ad_site:"}],"source_content_type":"text/x-python","patch_set":8,"id":"f981f362_32d79f7d","line":291,"updated":"2023-02-16 17:53:48.000000000","message":"would be nice to use the native primitives available in OSC to prevent server and default-ad-site to both be provided with a mutually exclusive group: \nhttps://docs.openstack.org/python-openstackclient/latest/contributor/command-options.html#boolean-options","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":288,"context_line":"            raise exceptions.CommandError(_("},{"line_number":289,"context_line":"                \"Setting a security service Organizational Unit is \""},{"line_number":290,"context_line":"                \"available only for microversion \u003e\u003d 2.44\"))"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        if share_client.api_version \u003e\u003d api_versions.APIVersion(\"2.76\"):"},{"line_number":293,"context_line":"            kwargs[\u0027default_ad_site\u0027] \u003d parsed_args.default_ad_site"},{"line_number":294,"context_line":"        elif parsed_args.default_ad_site:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fe781fe_7072983d","line":291,"in_reply_to":"f981f362_32d79f7d","updated":"2023-02-17 11:55:36.000000000","message":"I think, we should not restrict in update for mutually exclusive since update can be\n1. server - none, ad_site - not-none\n2. server - not-none, ad_site - none","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":356,"context_line":"            help\u003d_(\"Unset security service description.\")"},{"line_number":357,"context_line":"        )"},{"line_number":358,"context_line":"        parser.add_argument("},{"line_number":359,"context_line":"            \u0027--default_ad_site\u0027,"},{"line_number":360,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":361,"context_line":"            help\u003d_(\"Default AD site. \""},{"line_number":362,"context_line":"                   \"Available only for microversion \u003e\u003d 2.76.\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"5882c1a5_e6841451","line":359,"range":{"start_line":359,"start_character":15,"end_line":359,"end_character":30},"updated":"2023-02-16 17:53:48.000000000","message":"default-ad-site","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":356,"context_line":"            help\u003d_(\"Unset security service description.\")"},{"line_number":357,"context_line":"        )"},{"line_number":358,"context_line":"        parser.add_argument("},{"line_number":359,"context_line":"            \u0027--default_ad_site\u0027,"},{"line_number":360,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":361,"context_line":"            help\u003d_(\"Default AD site. \""},{"line_number":362,"context_line":"                   \"Available only for microversion \u003e\u003d 2.76.\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"dbbf4506_8113cbdb","line":359,"range":{"start_line":359,"start_character":15,"end_line":359,"end_character":30},"in_reply_to":"5882c1a5_e6841451","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"}],"manilaclient/tests/functional/test_security_services.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"362e90539eb0c35a53db38714f7ae69ca47998b4","unresolved":true,"context_lines":[{"line_number":92,"context_line":"        {\u0027dns_ip\u0027: \u0027\"\"\u0027},"},{"line_number":93,"context_line":"        {\u0027ou\u0027: \u0027\"\"\u0027},"},{"line_number":94,"context_line":"    )"},{"line_number":95,"context_line":"    def test_create_update_security_service_2(self, ss_data):"},{"line_number":96,"context_line":"        self.skip_if_microversion_not_supported(\"2.74\")"},{"line_number":97,"context_line":"        expected_data \u003d {"},{"line_number":98,"context_line":"            \u0027name\u0027: self.name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"aac81023_a8b59db7","line":95,"range":{"start_line":95,"start_character":44,"end_line":95,"end_character":45},"updated":"2023-02-15 19:44:08.000000000","message":"I believe this could be a bit more suggestive: _with_ad_site","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7c84df58bb47ccabbb0f31b0ab306990202d5fd9","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        {\u0027dns_ip\u0027: \u0027\"\"\u0027},"},{"line_number":93,"context_line":"        {\u0027ou\u0027: \u0027\"\"\u0027},"},{"line_number":94,"context_line":"    )"},{"line_number":95,"context_line":"    def test_create_update_security_service_2(self, ss_data):"},{"line_number":96,"context_line":"        self.skip_if_microversion_not_supported(\"2.74\")"},{"line_number":97,"context_line":"        expected_data \u003d {"},{"line_number":98,"context_line":"            \u0027name\u0027: self.name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"a71ffce9_c47b723c","line":95,"range":{"start_line":95,"start_character":44,"end_line":95,"end_character":45},"in_reply_to":"aac81023_a8b59db7","updated":"2023-02-16 10:59:54.000000000","message":"Done","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":75,"context_line":"                self.assertEqual(v, update[k])"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ddt.data("},{"line_number":78,"context_line":"        {\u0027name\u0027: \u0027test_name\u0027},"},{"line_number":79,"context_line":"        {\u0027description\u0027: \u0027test_description\u0027},"},{"line_number":80,"context_line":"        {\u0027user\u0027: \u0027test_username\u0027},"},{"line_number":81,"context_line":"        {\u0027password\u0027: \u0027test_password\u0027},"},{"line_number":82,"context_line":"        {\u0027default_ad_site\u0027: \u0027test_default_ad_site\u0027},"},{"line_number":83,"context_line":"        {\u0027domain\u0027: \u0027test_domain\u0027},"},{"line_number":84,"context_line":"        {\u0027dns_ip\u0027: \u0027test_dns_ip\u0027},"},{"line_number":85,"context_line":"        {\u0027ou\u0027: \u0027test_ou\u0027},"},{"line_number":86,"context_line":"        {\u0027name\u0027: \u0027\"\"\u0027},"},{"line_number":87,"context_line":"        {\u0027description\u0027: \u0027\"\"\u0027},"},{"line_number":88,"context_line":"        {\u0027user\u0027: \u0027\"\"\u0027},"},{"line_number":89,"context_line":"        {\u0027password\u0027: \u0027\"\"\u0027},"},{"line_number":90,"context_line":"        {\u0027default_ad_site\u0027: \u0027\"\"\u0027},"},{"line_number":91,"context_line":"        {\u0027domain\u0027: \u0027\"\"\u0027},"},{"line_number":92,"context_line":"        {\u0027dns_ip\u0027: \u0027\"\"\u0027},"},{"line_number":93,"context_line":"        {\u0027ou\u0027: \u0027\"\"\u0027},"},{"line_number":94,"context_line":"    )"},{"line_number":95,"context_line":"    def test_create_update_security_service_with_ad_site(self, ss_data):"},{"line_number":96,"context_line":"        self.skip_if_microversion_not_supported(\"2.76\")"},{"line_number":97,"context_line":"        expected_data \u003d {"}],"source_content_type":"text/x-python","patch_set":8,"id":"5206edf3_b1a7c373","line":94,"range":{"start_line":78,"start_character":0,"end_line":94,"end_character":0},"updated":"2023-02-16 17:53:48.000000000","message":"you could just add the new test cases as ddt inputs to the above test instead of duplicating this test","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                self.assertEqual(v, update[k])"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @ddt.data("},{"line_number":78,"context_line":"        {\u0027name\u0027: \u0027test_name\u0027},"},{"line_number":79,"context_line":"        {\u0027description\u0027: \u0027test_description\u0027},"},{"line_number":80,"context_line":"        {\u0027user\u0027: \u0027test_username\u0027},"},{"line_number":81,"context_line":"        {\u0027password\u0027: \u0027test_password\u0027},"},{"line_number":82,"context_line":"        {\u0027default_ad_site\u0027: \u0027test_default_ad_site\u0027},"},{"line_number":83,"context_line":"        {\u0027domain\u0027: \u0027test_domain\u0027},"},{"line_number":84,"context_line":"        {\u0027dns_ip\u0027: \u0027test_dns_ip\u0027},"},{"line_number":85,"context_line":"        {\u0027ou\u0027: \u0027test_ou\u0027},"},{"line_number":86,"context_line":"        {\u0027name\u0027: \u0027\"\"\u0027},"},{"line_number":87,"context_line":"        {\u0027description\u0027: \u0027\"\"\u0027},"},{"line_number":88,"context_line":"        {\u0027user\u0027: \u0027\"\"\u0027},"},{"line_number":89,"context_line":"        {\u0027password\u0027: \u0027\"\"\u0027},"},{"line_number":90,"context_line":"        {\u0027default_ad_site\u0027: \u0027\"\"\u0027},"},{"line_number":91,"context_line":"        {\u0027domain\u0027: \u0027\"\"\u0027},"},{"line_number":92,"context_line":"        {\u0027dns_ip\u0027: \u0027\"\"\u0027},"},{"line_number":93,"context_line":"        {\u0027ou\u0027: \u0027\"\"\u0027},"},{"line_number":94,"context_line":"    )"},{"line_number":95,"context_line":"    def test_create_update_security_service_with_ad_site(self, ss_data):"},{"line_number":96,"context_line":"        self.skip_if_microversion_not_supported(\"2.76\")"},{"line_number":97,"context_line":"        expected_data \u003d {"}],"source_content_type":"text/x-python","patch_set":8,"id":"d28d90b3_3ef0b7a8","line":94,"range":{"start_line":78,"start_character":0,"end_line":94,"end_character":0},"in_reply_to":"5206edf3_b1a7c373","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4a6f8b694b8a0ecd12edd00561738ec74801fdf","unresolved":true,"context_lines":[{"line_number":80,"context_line":"            else:"},{"line_number":81,"context_line":"                self.assertEqual(v, update[k])"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @ddt.data("},{"line_number":84,"context_line":"        {\u0027name\u0027: \u0027test_name\u0027},"},{"line_number":85,"context_line":"        {\u0027description\u0027: \u0027test_description\u0027},"},{"line_number":86,"context_line":"        {\u0027user\u0027: \u0027test_username\u0027},"},{"line_number":87,"context_line":"        {\u0027password\u0027: \u0027test_password\u0027},"},{"line_number":88,"context_line":"        {\u0027default_ad_site\u0027: \u0027test_default_ad_site\u0027},"},{"line_number":89,"context_line":"        {\u0027domain\u0027: \u0027test_domain\u0027},"},{"line_number":90,"context_line":"        {\u0027dns_ip\u0027: \u0027test_dns_ip\u0027},"},{"line_number":91,"context_line":"        {\u0027ou\u0027: \u0027test_ou\u0027},"},{"line_number":92,"context_line":"        {\u0027name\u0027: \u0027\"\"\u0027},"},{"line_number":93,"context_line":"        {\u0027description\u0027: \u0027\"\"\u0027},"},{"line_number":94,"context_line":"        {\u0027user\u0027: \u0027\"\"\u0027},"},{"line_number":95,"context_line":"        {\u0027password\u0027: \u0027\"\"\u0027},"},{"line_number":96,"context_line":"        {\u0027default_ad_site\u0027: \u0027\"\"\u0027},"},{"line_number":97,"context_line":"        {\u0027domain\u0027: \u0027\"\"\u0027},"},{"line_number":98,"context_line":"        {\u0027dns_ip\u0027: \u0027\"\"\u0027},"},{"line_number":99,"context_line":"        {\u0027ou\u0027: \u0027\"\"\u0027},"},{"line_number":100,"context_line":"    )"},{"line_number":101,"context_line":"    def test_create_update_security_service_with_ad_site(self, ss_data):"},{"line_number":102,"context_line":"        self.skip_if_microversion_not_supported(\"2.76\")"},{"line_number":103,"context_line":"        expected_data \u003d {"},{"line_number":104,"context_line":"            \u0027name\u0027: self.name,"},{"line_number":105,"context_line":"            \u0027description\u0027: self.description,"},{"line_number":106,"context_line":"            \u0027user\u0027: self.user,"},{"line_number":107,"context_line":"            \u0027password\u0027: self.password,"},{"line_number":108,"context_line":"            \u0027default_ad_site\u0027: self.default_ad_site,"},{"line_number":109,"context_line":"            \u0027domain\u0027: self.domain,"},{"line_number":110,"context_line":"            \u0027dns_ip\u0027: self.dns_ip,"},{"line_number":111,"context_line":"            \u0027ou\u0027: self.ou,"},{"line_number":112,"context_line":"        }"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        ss \u003d self.create_security_service(**expected_data)"},{"line_number":115,"context_line":"        update \u003d self.admin_client.update_security_service(ss[\u0027id\u0027], **ss_data)"},{"line_number":116,"context_line":"        expected_data.update(ss_data)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        for k, v in expected_data.items():"},{"line_number":119,"context_line":"            if v \u003d\u003d \u0027\"\"\u0027:"},{"line_number":120,"context_line":"                self.assertEqual(\u0027None\u0027, update[k])"},{"line_number":121,"context_line":"            else:"},{"line_number":122,"context_line":"                self.assertEqual(v, update[k])"}],"source_content_type":"text/x-python","patch_set":10,"id":"cf860f05_a37a7da0","line":122,"range":{"start_line":83,"start_character":4,"end_line":122,"end_character":46},"updated":"2023-02-21 15:33:19.000000000","message":"We can now remove this test..","commit_id":"3321fdca23fd4142c674bf8627c95a90fc73aa29"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a951963472de2f14541f8e45387cbfb1259f4330","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            else:"},{"line_number":81,"context_line":"                self.assertEqual(v, update[k])"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @ddt.data("},{"line_number":84,"context_line":"        {\u0027name\u0027: \u0027test_name\u0027},"},{"line_number":85,"context_line":"        {\u0027description\u0027: \u0027test_description\u0027},"},{"line_number":86,"context_line":"        {\u0027user\u0027: \u0027test_username\u0027},"},{"line_number":87,"context_line":"        {\u0027password\u0027: \u0027test_password\u0027},"},{"line_number":88,"context_line":"        {\u0027default_ad_site\u0027: \u0027test_default_ad_site\u0027},"},{"line_number":89,"context_line":"        {\u0027domain\u0027: \u0027test_domain\u0027},"},{"line_number":90,"context_line":"        {\u0027dns_ip\u0027: \u0027test_dns_ip\u0027},"},{"line_number":91,"context_line":"        {\u0027ou\u0027: \u0027test_ou\u0027},"},{"line_number":92,"context_line":"        {\u0027name\u0027: \u0027\"\"\u0027},"},{"line_number":93,"context_line":"        {\u0027description\u0027: \u0027\"\"\u0027},"},{"line_number":94,"context_line":"        {\u0027user\u0027: \u0027\"\"\u0027},"},{"line_number":95,"context_line":"        {\u0027password\u0027: \u0027\"\"\u0027},"},{"line_number":96,"context_line":"        {\u0027default_ad_site\u0027: \u0027\"\"\u0027},"},{"line_number":97,"context_line":"        {\u0027domain\u0027: \u0027\"\"\u0027},"},{"line_number":98,"context_line":"        {\u0027dns_ip\u0027: \u0027\"\"\u0027},"},{"line_number":99,"context_line":"        {\u0027ou\u0027: \u0027\"\"\u0027},"},{"line_number":100,"context_line":"    )"},{"line_number":101,"context_line":"    def test_create_update_security_service_with_ad_site(self, ss_data):"},{"line_number":102,"context_line":"        self.skip_if_microversion_not_supported(\"2.76\")"},{"line_number":103,"context_line":"        expected_data \u003d {"},{"line_number":104,"context_line":"            \u0027name\u0027: self.name,"},{"line_number":105,"context_line":"            \u0027description\u0027: self.description,"},{"line_number":106,"context_line":"            \u0027user\u0027: self.user,"},{"line_number":107,"context_line":"            \u0027password\u0027: self.password,"},{"line_number":108,"context_line":"            \u0027default_ad_site\u0027: self.default_ad_site,"},{"line_number":109,"context_line":"            \u0027domain\u0027: self.domain,"},{"line_number":110,"context_line":"            \u0027dns_ip\u0027: self.dns_ip,"},{"line_number":111,"context_line":"            \u0027ou\u0027: self.ou,"},{"line_number":112,"context_line":"        }"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        ss \u003d self.create_security_service(**expected_data)"},{"line_number":115,"context_line":"        update \u003d self.admin_client.update_security_service(ss[\u0027id\u0027], **ss_data)"},{"line_number":116,"context_line":"        expected_data.update(ss_data)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        for k, v in expected_data.items():"},{"line_number":119,"context_line":"            if v \u003d\u003d \u0027\"\"\u0027:"},{"line_number":120,"context_line":"                self.assertEqual(\u0027None\u0027, update[k])"},{"line_number":121,"context_line":"            else:"},{"line_number":122,"context_line":"                self.assertEqual(v, update[k])"}],"source_content_type":"text/x-python","patch_set":10,"id":"540cd812_c0730ecf","line":122,"range":{"start_line":83,"start_character":4,"end_line":122,"end_character":46},"in_reply_to":"cf860f05_a37a7da0","updated":"2023-02-21 16:50:30.000000000","message":"Done","commit_id":"3321fdca23fd4142c674bf8627c95a90fc73aa29"}],"manilaclient/tests/unit/osc/v2/test_security_services.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"362e90539eb0c35a53db38714f7ae69ca47998b4","unresolved":true,"context_lines":[{"line_number":120,"context_line":"        self.assertRaises("},{"line_number":121,"context_line":"            exceptions.CommandError, self.cmd.take_action, parsed_args)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test_share_security_service_create_api_version_exception_2(self):"},{"line_number":124,"context_line":"        self.app.client_manager.share.api_version \u003d api_versions.APIVersion("},{"line_number":125,"context_line":"            \u00272.73\u0027"},{"line_number":126,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"e2b3d8be_83de737c","line":123,"range":{"start_line":123,"start_character":8,"end_line":123,"end_character":66},"updated":"2023-02-15 19:44:08.000000000","message":"please change the name of this test to something more suggestive","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7c84df58bb47ccabbb0f31b0ab306990202d5fd9","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        self.assertRaises("},{"line_number":121,"context_line":"            exceptions.CommandError, self.cmd.take_action, parsed_args)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test_share_security_service_create_api_version_exception_2(self):"},{"line_number":124,"context_line":"        self.app.client_manager.share.api_version \u003d api_versions.APIVersion("},{"line_number":125,"context_line":"            \u00272.73\u0027"},{"line_number":126,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"0430c92d_09e93446","line":123,"range":{"start_line":123,"start_character":8,"end_line":123,"end_character":66},"in_reply_to":"e2b3d8be_83de737c","updated":"2023-02-16 10:59:54.000000000","message":"Done","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":"from osc_lib import exceptions"},{"line_number":14,"context_line":"from osc_lib import utils as oscutils"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import ddt"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from manilaclient import api_versions"}],"source_content_type":"text/x-python","patch_set":8,"id":"0b53210a_9f872fff","line":15,"updated":"2023-02-16 17:53:48.000000000","message":"ddt belongs in the earlier group; its a third party library, just like osc_lib is","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":"from osc_lib import exceptions"},{"line_number":14,"context_line":"from osc_lib import utils as oscutils"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import ddt"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from manilaclient import api_versions"}],"source_content_type":"text/x-python","patch_set":8,"id":"fdc5b6da_49e46bbe","line":15,"in_reply_to":"0b53210a_9f872fff","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":422,"context_line":"        self.assertRaises("},{"line_number":423,"context_line":"            exceptions.CommandError, self.cmd.take_action, parsed_args)"},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"    def test_share_security_service_unset_api_version_exception_2(self):"},{"line_number":426,"context_line":"        self.app.client_manager.share.api_version \u003d api_versions.APIVersion("},{"line_number":427,"context_line":"            \u00272.73\u0027"},{"line_number":428,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":8,"id":"261b6afd_d18e18c5","line":425,"updated":"2023-02-16 17:53:48.000000000","message":"_2 is\u0027t descriptive.. \n\nperhaps rename these tests?\n\n test_share_security_service_unset_ou_exception\n test_share_security_service_unset_adsite_exception","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":422,"context_line":"        self.assertRaises("},{"line_number":423,"context_line":"            exceptions.CommandError, self.cmd.take_action, parsed_args)"},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"    def test_share_security_service_unset_api_version_exception_2(self):"},{"line_number":426,"context_line":"        self.app.client_manager.share.api_version \u003d api_versions.APIVersion("},{"line_number":427,"context_line":"            \u00272.73\u0027"},{"line_number":428,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":8,"id":"7fb3ef0a_d64ce9d3","line":425,"in_reply_to":"261b6afd_d18e18c5","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":556,"context_line":"        self.assertRaises("},{"line_number":557,"context_line":"            exceptions.CommandError, self.cmd.take_action, parsed_args)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def test_share_security_service_list_ou_api_version_exception_2(self):"},{"line_number":560,"context_line":"        self.app.client_manager.share.api_version \u003d api_versions.APIVersion("},{"line_number":561,"context_line":"            \u00272.73\u0027"},{"line_number":562,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":8,"id":"982470fa_ed261286","line":559,"updated":"2023-02-16 17:53:48.000000000","message":"same comments as above","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        self.assertRaises("},{"line_number":557,"context_line":"            exceptions.CommandError, self.cmd.take_action, parsed_args)"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"    def test_share_security_service_list_ou_api_version_exception_2(self):"},{"line_number":560,"context_line":"        self.app.client_manager.share.api_version \u003d api_versions.APIVersion("},{"line_number":561,"context_line":"            \u00272.73\u0027"},{"line_number":562,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":8,"id":"f56d2fdf_3db8cde2","line":559,"in_reply_to":"982470fa_ed261286","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"}],"manilaclient/tests/unit/v2/test_security_services.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import ddt"},{"line_number":17,"context_line":"from unittest import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from manilaclient import exceptions"}],"source_content_type":"text/x-python","patch_set":8,"id":"6c4306de_1642ffd6","line":16,"updated":"2023-02-16 17:53:48.000000000","message":"imports are organized like this:\n\n ``\n python std library imports in alphabetical order of module imported\n \u003cblank line\u003e\n third party lib imports in alphabetical order of module imported\n \u003cblank line\u003e\n manilaclient imports in alphabetical order of module imported\n ```","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import ddt"},{"line_number":17,"context_line":"from unittest import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from manilaclient import exceptions"}],"source_content_type":"text/x-python","patch_set":8,"id":"821ce1ad_96dff003","line":16,"in_reply_to":"6c4306de_1642ffd6","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"}],"manilaclient/v2/security_services.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"362e90539eb0c35a53db38714f7ae69ca47998b4","unresolved":true,"context_lines":[{"line_number":21,"context_line":"RESOURCE_NAME \u003d \u0027security_service\u0027"},{"line_number":22,"context_line":"RESOURCES_NAME \u003d \u0027security_services\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class SecurityService(base.Resource):"},{"line_number":26,"context_line":"    \"\"\"Security service for Manila shares.\"\"\""},{"line_number":27,"context_line":"    def __repr__(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"d263dffe_3edc8952","line":24,"updated":"2023-02-15 19:44:08.000000000","message":"Please version the changes to the methods of this file. There is a chance that someone/something is consuming this method directly. The v2/share_networks is an example of versioning. It\u0027s a bit like adding versioning to the Manila API","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7c84df58bb47ccabbb0f31b0ab306990202d5fd9","unresolved":false,"context_lines":[{"line_number":21,"context_line":"RESOURCE_NAME \u003d \u0027security_service\u0027"},{"line_number":22,"context_line":"RESOURCES_NAME \u003d \u0027security_services\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class SecurityService(base.Resource):"},{"line_number":26,"context_line":"    \"\"\"Security service for Manila shares.\"\"\""},{"line_number":27,"context_line":"    def __repr__(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"2646c60c_fbc2f895","line":24,"in_reply_to":"d263dffe_3edc8952","updated":"2023-02-16 10:59:54.000000000","message":"Done","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        return self._create(RESOURCES_PATH, body, RESOURCE_NAME)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @api_versions.wraps(\"2.76\")  # noqa"},{"line_number":86,"context_line":"    def create(self, type, dns_ip\u003dNone, ou\u003dNone, server\u003dNone,   # noqa"},{"line_number":87,"context_line":"               domain\u003dNone, user\u003dNone, password\u003dNone, name\u003dNone,"},{"line_number":88,"context_line":"               description\u003dNone, default_ad_site\u003dNone):"},{"line_number":89,"context_line":"        \"\"\"Create security service for NAS."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        :param type: security service type - \u0027ldap\u0027, \u0027kerberos\u0027 or"},{"line_number":92,"context_line":"                     \u0027active_directory\u0027"},{"line_number":93,"context_line":"        :param dns_ip: dns ip address used inside tenant\u0027s network"},{"line_number":94,"context_line":"        :param ou: security service organizational unit"},{"line_number":95,"context_line":"        :param server: security service server ip address or hostname"},{"line_number":96,"context_line":"        :param domain: security service domain"},{"line_number":97,"context_line":"        :param user: security identifier used by tenant"},{"line_number":98,"context_line":"        :param password: password used by user"},{"line_number":99,"context_line":"        :param name: security service name"},{"line_number":100,"context_line":"        :param description: security service description"},{"line_number":101,"context_line":"        :param default_ad_site: default AD-Site"},{"line_number":102,"context_line":"        :rtype: :class:`SecurityService`"},{"line_number":103,"context_line":"        \"\"\""},{"line_number":104,"context_line":"        values \u003d {\u0027type\u0027: type}"},{"line_number":105,"context_line":"        if dns_ip:"},{"line_number":106,"context_line":"            values[\u0027dns_ip\u0027] \u003d dns_ip"},{"line_number":107,"context_line":"        if ou:"},{"line_number":108,"context_line":"            values[\u0027ou\u0027] \u003d ou"},{"line_number":109,"context_line":"        if server:"},{"line_number":110,"context_line":"            values[\u0027server\u0027] \u003d server"},{"line_number":111,"context_line":"        if domain:"},{"line_number":112,"context_line":"            values[\u0027domain\u0027] \u003d domain"},{"line_number":113,"context_line":"        if user:"},{"line_number":114,"context_line":"            values[\u0027user\u0027] \u003d user"},{"line_number":115,"context_line":"        if password:"},{"line_number":116,"context_line":"            values[\u0027password\u0027] \u003d password"},{"line_number":117,"context_line":"        if name:"},{"line_number":118,"context_line":"            values[\u0027name\u0027] \u003d name"},{"line_number":119,"context_line":"        if description:"},{"line_number":120,"context_line":"            values[\u0027description\u0027] \u003d description"},{"line_number":121,"context_line":"        if default_ad_site:"},{"line_number":122,"context_line":"            values[\u0027default_ad_site\u0027] \u003d default_ad_site"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        body \u003d {RESOURCE_NAME: values}"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        return self._create(RESOURCES_PATH, body, RESOURCE_NAME)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def get(self, security_service):"},{"line_number":129,"context_line":"        \"\"\"Get a security service info."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        :param security_service: security service to get."},{"line_number":132,"context_line":"        :rtype: :class:`SecurityService`"},{"line_number":133,"context_line":"        \"\"\""},{"line_number":134,"context_line":"        return self._get("},{"line_number":135,"context_line":"            RESOURCE_PATH % base.getid(security_service),"},{"line_number":136,"context_line":"            RESOURCE_NAME,"},{"line_number":137,"context_line":"        )"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    @api_versions.wraps(\"1.0\", \"2.75\")"},{"line_number":140,"context_line":"    def update(self, security_service, dns_ip\u003dNone, ou\u003dNone, server\u003dNone,"},{"line_number":141,"context_line":"               domain\u003dNone, password\u003dNone, user\u003dNone, name\u003dNone,"},{"line_number":142,"context_line":"               description\u003dNone):"},{"line_number":143,"context_line":"        \"\"\"Updates a security service."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        :param security_service: security service to update."},{"line_number":146,"context_line":"        :param dns_ip: dns ip address used inside tenant\u0027s network"},{"line_number":147,"context_line":"        :param ou: security service organizational unit"},{"line_number":148,"context_line":"        :param server: security service server ip address or hostname"},{"line_number":149,"context_line":"        :param domain: security service domain"},{"line_number":150,"context_line":"        :param user: security identifier used by tenant"},{"line_number":151,"context_line":"        :param password: password used by user"},{"line_number":152,"context_line":"        :param name: security service name"},{"line_number":153,"context_line":"        :param description: security service description"},{"line_number":154,"context_line":"        :rtype: :class:`SecurityService`"},{"line_number":155,"context_line":"        \"\"\""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        values \u003d {}"},{"line_number":158,"context_line":"        if dns_ip is not None:"},{"line_number":159,"context_line":"            values[\u0027dns_ip\u0027] \u003d dns_ip"},{"line_number":160,"context_line":"        if ou is not None:"},{"line_number":161,"context_line":"            values[\u0027ou\u0027] \u003d ou"},{"line_number":162,"context_line":"        if server is not None:"},{"line_number":163,"context_line":"            values[\u0027server\u0027] \u003d server"},{"line_number":164,"context_line":"        if domain is not None:"},{"line_number":165,"context_line":"            values[\u0027domain\u0027] \u003d domain"},{"line_number":166,"context_line":"        if user is not None:"},{"line_number":167,"context_line":"            values[\u0027user\u0027] \u003d user"},{"line_number":168,"context_line":"        if password is not None:"},{"line_number":169,"context_line":"            values[\u0027password\u0027] \u003d password"},{"line_number":170,"context_line":"        if name is not None:"},{"line_number":171,"context_line":"            values[\u0027name\u0027] \u003d name"},{"line_number":172,"context_line":"        if description is not None:"},{"line_number":173,"context_line":"            values[\u0027description\u0027] \u003d description"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        for k, v in values.items():"},{"line_number":176,"context_line":"            if v \u003d\u003d \u0027\u0027:"},{"line_number":177,"context_line":"                values[k] \u003d None"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        if not values:"},{"line_number":180,"context_line":"            msg \u003d \"Must specify fields to be updated\""},{"line_number":181,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        body \u003d {RESOURCE_NAME: values}"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        return self._update("},{"line_number":186,"context_line":"            RESOURCE_PATH % base.getid(security_service),"},{"line_number":187,"context_line":"            body,"},{"line_number":188,"context_line":"            RESOURCE_NAME,"},{"line_number":189,"context_line":"        )"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    @api_versions.wraps(\"2.76\")  # noqa"},{"line_number":192,"context_line":"    def update(self, security_service, dns_ip\u003dNone, ou\u003dNone,     # noqa"},{"line_number":193,"context_line":"               server\u003dNone, domain\u003dNone, password\u003dNone, user\u003dNone,"},{"line_number":194,"context_line":"               name\u003dNone, description\u003dNone, default_ad_site\u003dNone):"},{"line_number":195,"context_line":"        \"\"\"Updates a security service."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        :param security_service: security service to update."},{"line_number":198,"context_line":"        :param dns_ip: dns ip address used inside tenant\u0027s network"},{"line_number":199,"context_line":"        :param ou: security service organizational unit"},{"line_number":200,"context_line":"        :param server: security service server ip address or hostname"},{"line_number":201,"context_line":"        :param domain: security service domain"},{"line_number":202,"context_line":"        :param user: security identifier used by tenant"},{"line_number":203,"context_line":"        :param password: password used by user"},{"line_number":204,"context_line":"        :param name: security service name"},{"line_number":205,"context_line":"        :param description: security service description"},{"line_number":206,"context_line":"        :param default_ad_site: default AD-Site"},{"line_number":207,"context_line":"        :rtype: :class:`SecurityService`"},{"line_number":208,"context_line":"        \"\"\""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        values \u003d {}"},{"line_number":211,"context_line":"        if dns_ip is not None:"},{"line_number":212,"context_line":"            values[\u0027dns_ip\u0027] \u003d dns_ip"},{"line_number":213,"context_line":"        if ou is not None:"},{"line_number":214,"context_line":"            values[\u0027ou\u0027] \u003d ou"},{"line_number":215,"context_line":"        if server is not None:"},{"line_number":216,"context_line":"            values[\u0027server\u0027] \u003d server"},{"line_number":217,"context_line":"        if domain is not None:"},{"line_number":218,"context_line":"            values[\u0027domain\u0027] \u003d domain"},{"line_number":219,"context_line":"        if user is not None:"},{"line_number":220,"context_line":"            values[\u0027user\u0027] \u003d user"},{"line_number":221,"context_line":"        if password is not None:"},{"line_number":222,"context_line":"            values[\u0027password\u0027] \u003d password"},{"line_number":223,"context_line":"        if name is not None:"},{"line_number":224,"context_line":"            values[\u0027name\u0027] \u003d name"},{"line_number":225,"context_line":"        if description is not None:"},{"line_number":226,"context_line":"            values[\u0027description\u0027] \u003d description"},{"line_number":227,"context_line":"        if default_ad_site is not None:"},{"line_number":228,"context_line":"            values[\u0027default_ad_site\u0027] \u003d default_ad_site"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        for k, v in values.items():"},{"line_number":231,"context_line":"            if v \u003d\u003d \u0027\u0027:"},{"line_number":232,"context_line":"                values[k] \u003d None"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        if not values:"},{"line_number":235,"context_line":"            msg \u003d \"Must specify fields to be updated\""},{"line_number":236,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        body \u003d {RESOURCE_NAME: values}"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"        return self._update("},{"line_number":241,"context_line":"            RESOURCE_PATH % base.getid(security_service),"},{"line_number":242,"context_line":"            body,"},{"line_number":243,"context_line":"            RESOURCE_NAME,"},{"line_number":244,"context_line":"        )"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def delete(self, security_service):"},{"line_number":247,"context_line":"        \"\"\"Delete a security service."},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"890dce45_597d4344","line":245,"range":{"start_line":85,"start_character":0,"end_line":245,"end_character":0},"updated":"2023-02-16 17:53:48.000000000","message":"cleaner to do this with both create and update methods:\n\n\n\n    @api_versions.wraps(\"1.0\", \"2.75\")\n    def update(self, security_service, dns_ip\u003dNone, ou\u003dNone, server\u003dNone,\n               domain\u003dNone, password\u003dNone, user\u003dNone, name\u003dNone,\n               description\u003dNone):\n        \"\"\"Updates a security service.\n#\n        :param security_service: security service to update.\n        :param dns_ip: dns ip address used inside tenant\u0027s network\n        :param ou: security service organizational unit\n        :param server: security service server ip address or hostname\n        :param domain: security service domain\n        :param user: security identifier used by tenant\n        :param password: password used by user\n        :param name: security service name\n        :param description: security service description\n        :rtype: :class:`SecurityService`\n        \"\"\"\n        self._update_security_service(security_service, dns_ip\u003ddns_ip, \n               ou\u003dou, server\u003dserver, domain\u003ddomain, password\u003dpassword, \n               user\u003duser, name\u003dname, description\u003ddescription)\n#\n    @api_versions.wraps(\"2.76\")  # noqa\n    def update(self, security_service, dns_ip\u003dNone, ou\u003dNone,     # noqa\n               server\u003dNone, domain\u003dNone, password\u003dNone, user\u003dNone,\n               name\u003dNone, description\u003dNone, default_ad_site\u003dNone):\n        \"\"\"Updates a security service.\n#\n        :param security_service: security service to update.\n        :param dns_ip: dns ip address used inside tenant\u0027s network\n        :param ou: security service organizational unit\n        :param server: security service server ip address or hostname\n        :param domain: security service domain\n        :param user: security identifier used by tenant\n        :param password: password used by user\n        :param name: security service name\n        :param description: security service description\n        :param default_ad_site: default AD-Site\n        :rtype: :class:`SecurityService`\n        \"\"\"\n        self._update_security_service(security_service, dns_ip\u003ddns_ip, \n               ou\u003dou, server\u003dserver, domain\u003ddomain, password\u003dpassword, \n               user\u003duser, name\u003dname, description\u003ddescription,\n               default_ad_site\u003ddefault_ad_site)\n#     \n    def _update_security_service(self, security_service, \n        dns_ip\u003dNone, ou\u003dNone, server\u003dNone, domain\u003dNone, \n        password\u003dNone, user\u003dNone, name\u003dNone, description\u003dNone, \n        default_ad_site\u003dNone):\n#         \n        values \u003d {}\n        if dns_ip is not None:\n            values[\u0027dns_ip\u0027] \u003d dns_ip\n        if ou is not None:\n            values[\u0027ou\u0027] \u003d ou\n        if server is not None:\n            values[\u0027server\u0027] \u003d server\n        if domain is not None:\n            values[\u0027domain\u0027] \u003d domain\n        if user is not None:\n            values[\u0027user\u0027] \u003d user\n        if password is not None:\n            values[\u0027password\u0027] \u003d password\n        if name is not None:\n            values[\u0027name\u0027] \u003d name\n        if description is not None:\n            values[\u0027description\u0027] \u003d description\n        if default_ad_site is not None:\n            values[\u0027default_ad_site\u0027] \u003d default_ad_site\n#\n        for k, v in values.items():\n            if v \u003d\u003d \u0027\u0027:\n                values[k] \u003d None\n        if not values:\n            msg \u003d \"Must specify fields to be updated\"\n            raise exceptions.CommandError(msg)\n        body \u003d {RESOURCE_NAME: values}\n        return self._update(\n            RESOURCE_PATH % base.getid(security_service),\n            body,\n            RESOURCE_NAME,\n        )","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        return self._create(RESOURCES_PATH, body, RESOURCE_NAME)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @api_versions.wraps(\"2.76\")  # noqa"},{"line_number":86,"context_line":"    def create(self, type, dns_ip\u003dNone, ou\u003dNone, server\u003dNone,   # noqa"},{"line_number":87,"context_line":"               domain\u003dNone, user\u003dNone, password\u003dNone, name\u003dNone,"},{"line_number":88,"context_line":"               description\u003dNone, default_ad_site\u003dNone):"},{"line_number":89,"context_line":"        \"\"\"Create security service for NAS."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        :param type: security service type - \u0027ldap\u0027, \u0027kerberos\u0027 or"},{"line_number":92,"context_line":"                     \u0027active_directory\u0027"},{"line_number":93,"context_line":"        :param dns_ip: dns ip address used inside tenant\u0027s network"},{"line_number":94,"context_line":"        :param ou: security service organizational unit"},{"line_number":95,"context_line":"        :param server: security service server ip address or hostname"},{"line_number":96,"context_line":"        :param domain: security service domain"},{"line_number":97,"context_line":"        :param user: security identifier used by tenant"},{"line_number":98,"context_line":"        :param password: password used by user"},{"line_number":99,"context_line":"        :param name: security service name"},{"line_number":100,"context_line":"        :param description: security service description"},{"line_number":101,"context_line":"        :param default_ad_site: default AD-Site"},{"line_number":102,"context_line":"        :rtype: :class:`SecurityService`"},{"line_number":103,"context_line":"        \"\"\""},{"line_number":104,"context_line":"        values \u003d {\u0027type\u0027: type}"},{"line_number":105,"context_line":"        if dns_ip:"},{"line_number":106,"context_line":"            values[\u0027dns_ip\u0027] \u003d dns_ip"},{"line_number":107,"context_line":"        if ou:"},{"line_number":108,"context_line":"            values[\u0027ou\u0027] \u003d ou"},{"line_number":109,"context_line":"        if server:"},{"line_number":110,"context_line":"            values[\u0027server\u0027] \u003d server"},{"line_number":111,"context_line":"        if domain:"},{"line_number":112,"context_line":"            values[\u0027domain\u0027] \u003d domain"},{"line_number":113,"context_line":"        if user:"},{"line_number":114,"context_line":"            values[\u0027user\u0027] \u003d user"},{"line_number":115,"context_line":"        if password:"},{"line_number":116,"context_line":"            values[\u0027password\u0027] \u003d password"},{"line_number":117,"context_line":"        if name:"},{"line_number":118,"context_line":"            values[\u0027name\u0027] \u003d name"},{"line_number":119,"context_line":"        if description:"},{"line_number":120,"context_line":"            values[\u0027description\u0027] \u003d description"},{"line_number":121,"context_line":"        if default_ad_site:"},{"line_number":122,"context_line":"            values[\u0027default_ad_site\u0027] \u003d default_ad_site"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        body \u003d {RESOURCE_NAME: values}"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        return self._create(RESOURCES_PATH, body, RESOURCE_NAME)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def get(self, security_service):"},{"line_number":129,"context_line":"        \"\"\"Get a security service info."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        :param security_service: security service to get."},{"line_number":132,"context_line":"        :rtype: :class:`SecurityService`"},{"line_number":133,"context_line":"        \"\"\""},{"line_number":134,"context_line":"        return self._get("},{"line_number":135,"context_line":"            RESOURCE_PATH % base.getid(security_service),"},{"line_number":136,"context_line":"            RESOURCE_NAME,"},{"line_number":137,"context_line":"        )"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    @api_versions.wraps(\"1.0\", \"2.75\")"},{"line_number":140,"context_line":"    def update(self, security_service, dns_ip\u003dNone, ou\u003dNone, server\u003dNone,"},{"line_number":141,"context_line":"               domain\u003dNone, password\u003dNone, user\u003dNone, name\u003dNone,"},{"line_number":142,"context_line":"               description\u003dNone):"},{"line_number":143,"context_line":"        \"\"\"Updates a security service."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        :param security_service: security service to update."},{"line_number":146,"context_line":"        :param dns_ip: dns ip address used inside tenant\u0027s network"},{"line_number":147,"context_line":"        :param ou: security service organizational unit"},{"line_number":148,"context_line":"        :param server: security service server ip address or hostname"},{"line_number":149,"context_line":"        :param domain: security service domain"},{"line_number":150,"context_line":"        :param user: security identifier used by tenant"},{"line_number":151,"context_line":"        :param password: password used by user"},{"line_number":152,"context_line":"        :param name: security service name"},{"line_number":153,"context_line":"        :param description: security service description"},{"line_number":154,"context_line":"        :rtype: :class:`SecurityService`"},{"line_number":155,"context_line":"        \"\"\""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        values \u003d {}"},{"line_number":158,"context_line":"        if dns_ip is not None:"},{"line_number":159,"context_line":"            values[\u0027dns_ip\u0027] \u003d dns_ip"},{"line_number":160,"context_line":"        if ou is not None:"},{"line_number":161,"context_line":"            values[\u0027ou\u0027] \u003d ou"},{"line_number":162,"context_line":"        if server is not None:"},{"line_number":163,"context_line":"            values[\u0027server\u0027] \u003d server"},{"line_number":164,"context_line":"        if domain is not None:"},{"line_number":165,"context_line":"            values[\u0027domain\u0027] \u003d domain"},{"line_number":166,"context_line":"        if user is not None:"},{"line_number":167,"context_line":"            values[\u0027user\u0027] \u003d user"},{"line_number":168,"context_line":"        if password is not None:"},{"line_number":169,"context_line":"            values[\u0027password\u0027] \u003d password"},{"line_number":170,"context_line":"        if name is not None:"},{"line_number":171,"context_line":"            values[\u0027name\u0027] \u003d name"},{"line_number":172,"context_line":"        if description is not None:"},{"line_number":173,"context_line":"            values[\u0027description\u0027] \u003d description"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        for k, v in values.items():"},{"line_number":176,"context_line":"            if v \u003d\u003d \u0027\u0027:"},{"line_number":177,"context_line":"                values[k] \u003d None"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        if not values:"},{"line_number":180,"context_line":"            msg \u003d \"Must specify fields to be updated\""},{"line_number":181,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        body \u003d {RESOURCE_NAME: values}"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        return self._update("},{"line_number":186,"context_line":"            RESOURCE_PATH % base.getid(security_service),"},{"line_number":187,"context_line":"            body,"},{"line_number":188,"context_line":"            RESOURCE_NAME,"},{"line_number":189,"context_line":"        )"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    @api_versions.wraps(\"2.76\")  # noqa"},{"line_number":192,"context_line":"    def update(self, security_service, dns_ip\u003dNone, ou\u003dNone,     # noqa"},{"line_number":193,"context_line":"               server\u003dNone, domain\u003dNone, password\u003dNone, user\u003dNone,"},{"line_number":194,"context_line":"               name\u003dNone, description\u003dNone, default_ad_site\u003dNone):"},{"line_number":195,"context_line":"        \"\"\"Updates a security service."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        :param security_service: security service to update."},{"line_number":198,"context_line":"        :param dns_ip: dns ip address used inside tenant\u0027s network"},{"line_number":199,"context_line":"        :param ou: security service organizational unit"},{"line_number":200,"context_line":"        :param server: security service server ip address or hostname"},{"line_number":201,"context_line":"        :param domain: security service domain"},{"line_number":202,"context_line":"        :param user: security identifier used by tenant"},{"line_number":203,"context_line":"        :param password: password used by user"},{"line_number":204,"context_line":"        :param name: security service name"},{"line_number":205,"context_line":"        :param description: security service description"},{"line_number":206,"context_line":"        :param default_ad_site: default AD-Site"},{"line_number":207,"context_line":"        :rtype: :class:`SecurityService`"},{"line_number":208,"context_line":"        \"\"\""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        values \u003d {}"},{"line_number":211,"context_line":"        if dns_ip is not None:"},{"line_number":212,"context_line":"            values[\u0027dns_ip\u0027] \u003d dns_ip"},{"line_number":213,"context_line":"        if ou is not None:"},{"line_number":214,"context_line":"            values[\u0027ou\u0027] \u003d ou"},{"line_number":215,"context_line":"        if server is not None:"},{"line_number":216,"context_line":"            values[\u0027server\u0027] \u003d server"},{"line_number":217,"context_line":"        if domain is not None:"},{"line_number":218,"context_line":"            values[\u0027domain\u0027] \u003d domain"},{"line_number":219,"context_line":"        if user is not None:"},{"line_number":220,"context_line":"            values[\u0027user\u0027] \u003d user"},{"line_number":221,"context_line":"        if password is not None:"},{"line_number":222,"context_line":"            values[\u0027password\u0027] \u003d password"},{"line_number":223,"context_line":"        if name is not None:"},{"line_number":224,"context_line":"            values[\u0027name\u0027] \u003d name"},{"line_number":225,"context_line":"        if description is not None:"},{"line_number":226,"context_line":"            values[\u0027description\u0027] \u003d description"},{"line_number":227,"context_line":"        if default_ad_site is not None:"},{"line_number":228,"context_line":"            values[\u0027default_ad_site\u0027] \u003d default_ad_site"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        for k, v in values.items():"},{"line_number":231,"context_line":"            if v \u003d\u003d \u0027\u0027:"},{"line_number":232,"context_line":"                values[k] \u003d None"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        if not values:"},{"line_number":235,"context_line":"            msg \u003d \"Must specify fields to be updated\""},{"line_number":236,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        body \u003d {RESOURCE_NAME: values}"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"        return self._update("},{"line_number":241,"context_line":"            RESOURCE_PATH % base.getid(security_service),"},{"line_number":242,"context_line":"            body,"},{"line_number":243,"context_line":"            RESOURCE_NAME,"},{"line_number":244,"context_line":"        )"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def delete(self, security_service):"},{"line_number":247,"context_line":"        \"\"\"Delete a security service."},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"8ab3ae36_bc031ed4","line":245,"range":{"start_line":85,"start_character":0,"end_line":245,"end_character":0},"in_reply_to":"890dce45_597d4344","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4a6f8b694b8a0ecd12edd00561738ec74801fdf","unresolved":true,"context_lines":[{"line_number":183,"context_line":"                                 server\u003dNone, domain\u003dNone, password\u003dNone,"},{"line_number":184,"context_line":"                                 user\u003dNone, name\u003dNone, description\u003dNone,"},{"line_number":185,"context_line":"                                 default_ad_site\u003dNone):"},{"line_number":186,"context_line":"        \"\"\"Updates a security service."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        :param security_service: security service to update."},{"line_number":189,"context_line":"        :param dns_ip: dns ip address used inside tenant\u0027s network"},{"line_number":190,"context_line":"        :param ou: security service organizational unit"},{"line_number":191,"context_line":"        :param server: security service server ip address or hostname"},{"line_number":192,"context_line":"        :param domain: security service domain"},{"line_number":193,"context_line":"        :param user: security identifier used by tenant"},{"line_number":194,"context_line":"        :param password: password used by user"},{"line_number":195,"context_line":"        :param name: security service name"},{"line_number":196,"context_line":"        :param description: security service description"},{"line_number":197,"context_line":"        :param default_ad_site: default AD-Site"},{"line_number":198,"context_line":"        :rtype: :class:`SecurityService`"},{"line_number":199,"context_line":"        \"\"\""},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"        values \u003d {}"},{"line_number":202,"context_line":"        if dns_ip is not None:"}],"source_content_type":"text/x-python","patch_set":10,"id":"95702f75_c0317e9a","line":199,"range":{"start_line":186,"start_character":0,"end_line":199,"end_character":11},"updated":"2023-02-21 15:33:19.000000000","message":"nit: repeated docstring from earlier methods","commit_id":"3321fdca23fd4142c674bf8627c95a90fc73aa29"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a951963472de2f14541f8e45387cbfb1259f4330","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                                 server\u003dNone, domain\u003dNone, password\u003dNone,"},{"line_number":184,"context_line":"                                 user\u003dNone, name\u003dNone, description\u003dNone,"},{"line_number":185,"context_line":"                                 default_ad_site\u003dNone):"},{"line_number":186,"context_line":"        \"\"\"Updates a security service."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        :param security_service: security service to update."},{"line_number":189,"context_line":"        :param dns_ip: dns ip address used inside tenant\u0027s network"},{"line_number":190,"context_line":"        :param ou: security service organizational unit"},{"line_number":191,"context_line":"        :param server: security service server ip address or hostname"},{"line_number":192,"context_line":"        :param domain: security service domain"},{"line_number":193,"context_line":"        :param user: security identifier used by tenant"},{"line_number":194,"context_line":"        :param password: password used by user"},{"line_number":195,"context_line":"        :param name: security service name"},{"line_number":196,"context_line":"        :param description: security service description"},{"line_number":197,"context_line":"        :param default_ad_site: default AD-Site"},{"line_number":198,"context_line":"        :rtype: :class:`SecurityService`"},{"line_number":199,"context_line":"        \"\"\""},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"        values \u003d {}"},{"line_number":202,"context_line":"        if dns_ip is not None:"}],"source_content_type":"text/x-python","patch_set":10,"id":"029bfca9_2481f8b2","line":199,"range":{"start_line":186,"start_character":0,"end_line":199,"end_character":11},"in_reply_to":"95702f75_c0317e9a","updated":"2023-02-21 16:50:30.000000000","message":"Done","commit_id":"3321fdca23fd4142c674bf8627c95a90fc73aa29"}],"manilaclient/v2/shell.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":4185,"context_line":"    default\u003dNone,"},{"line_number":4186,"context_line":"    help\u003d\"Security service name.\")"},{"line_number":4187,"context_line":"@cliutils.arg("},{"line_number":4188,"context_line":"    \u0027--default_ad_site\u0027,"},{"line_number":4189,"context_line":"    metavar\u003d\u0027\u003cdefault_ad_site\u003e\u0027,"},{"line_number":4190,"context_line":"    default\u003dNone,"},{"line_number":4191,"context_line":"    help\u003d\"Default AD site. Available only for microversion \u003e\u003d 2.76.\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"0435e98f_55c24bae","line":4188,"range":{"start_line":4188,"start_character":7,"end_line":4188,"end_character":22},"updated":"2023-02-16 17:53:48.000000000","message":"hyphens please","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":4185,"context_line":"    default\u003dNone,"},{"line_number":4186,"context_line":"    help\u003d\"Security service name.\")"},{"line_number":4187,"context_line":"@cliutils.arg("},{"line_number":4188,"context_line":"    \u0027--default_ad_site\u0027,"},{"line_number":4189,"context_line":"    metavar\u003d\u0027\u003cdefault_ad_site\u003e\u0027,"},{"line_number":4190,"context_line":"    default\u003dNone,"},{"line_number":4191,"context_line":"    help\u003d\"Default AD site. Available only for microversion \u003e\u003d 2.76.\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"13ebf34e_7231c938","line":4188,"range":{"start_line":4188,"start_character":7,"end_line":4188,"end_character":22},"in_reply_to":"0435e98f_55c24bae","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"}],"releasenotes/notes/add-defaultadsite-to-security-service-33fd0a5d1b865b11.yaml":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"362e90539eb0c35a53db38714f7ae69ca47998b4","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added \u0027default_ad_site\u0027 field to \u0027security_service\u0027 object. This will be"},{"line_number":5,"context_line":"    used to configure in default AD site in security service. Refer `Launchpad"},{"line_number":6,"context_line":"    `bug #1988146 \u003chttps://bugs.launchpad.net/python-manilaclient/+bug/1988146\u003e`_:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7d878d89_e6b7560d","line":5,"range":{"start_line":4,"start_character":4,"end_line":5,"end_character":62},"updated":"2023-02-15 19:44:08.000000000","message":"Administrators are now able to set a default active directory site while creating security services by specifying \u0027default_ad_site\u0027.","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"7c84df58bb47ccabbb0f31b0ab306990202d5fd9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added \u0027default_ad_site\u0027 field to \u0027security_service\u0027 object. This will be"},{"line_number":5,"context_line":"    used to configure in default AD site in security service. Refer `Launchpad"},{"line_number":6,"context_line":"    `bug #1988146 \u003chttps://bugs.launchpad.net/python-manilaclient/+bug/1988146\u003e`_:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"86898cbb_0cc9ca9d","line":5,"range":{"start_line":4,"start_character":4,"end_line":5,"end_character":62},"in_reply_to":"7d878d89_e6b7560d","updated":"2023-02-16 10:59:54.000000000","message":"Done","commit_id":"0f01ae2de1960fc5128f6c26d4484e4c16f0a495"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Administrators are now able to set a default active directory site while"},{"line_number":5,"context_line":"    creating security services by specifying \u0027default_ad_site\u0027. Refer"},{"line_number":6,"context_line":"    `Launchpad bug #1988146 \u003chttps://bugs.launchpad.net/python-manilaclient/+bug/1988146\u003e`_:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"cdd31ad0_1099a8e6","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":18},"updated":"2023-02-16 17:53:48.000000000","message":"Users","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Administrators are now able to set a default active directory site while"},{"line_number":5,"context_line":"    creating security services by specifying \u0027default_ad_site\u0027. Refer"},{"line_number":6,"context_line":"    `Launchpad bug #1988146 \u003chttps://bugs.launchpad.net/python-manilaclient/+bug/1988146\u003e`_:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"e140657d_52075938","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":18},"in_reply_to":"cdd31ad0_1099a8e6","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1399cdcfae7597707cf1ba65a9ff80121d2aa341","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Administrators are now able to set a default active directory site while"},{"line_number":5,"context_line":"    creating security services by specifying \u0027default_ad_site\u0027. Refer"},{"line_number":6,"context_line":"    `Launchpad bug #1988146 \u003chttps://bugs.launchpad.net/python-manilaclient/+bug/1988146\u003e`_:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"58b09e85_162b9294","line":6,"range":{"start_line":6,"start_character":91,"end_line":6,"end_character":92},"updated":"2023-02-16 17:53:48.000000000","message":"remove trailing :","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"846d7a2f153c4cdd4a810ac1913db9a89907c49e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Administrators are now able to set a default active directory site while"},{"line_number":5,"context_line":"    creating security services by specifying \u0027default_ad_site\u0027. Refer"},{"line_number":6,"context_line":"    `Launchpad bug #1988146 \u003chttps://bugs.launchpad.net/python-manilaclient/+bug/1988146\u003e`_:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7958c7cb_ec35dda6","line":6,"range":{"start_line":6,"start_character":91,"end_line":6,"end_character":92},"in_reply_to":"58b09e85_162b9294","updated":"2023-02-17 11:55:36.000000000","message":"Done","commit_id":"9992b01a7f891fd7cfe50c578be5247c19f432b1"}]}
