)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"95fca0e317ebd22cb34cca9f184c577be9ef1ede","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d5e6e9f7_ced6799c","updated":"2022-01-29 02:07:13.000000000","message":"LGTM, Felipe! :)","commit_id":"38a7a6a885a53b9fc61cabb98ac7ddfd9700257b"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"70b11bab8c6d107118eeb092418d8802ed15b3f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ad2fe3bc_70335165","updated":"2022-02-11 13:10:52.000000000","message":"recheck","commit_id":"48bcbd52139863f3868c769c030e3916af5396a7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"bf3df1c6d9ea0ed2b8e8a991830f69b9da4dbb5f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f4a2d6aa_7f9a5ecc","updated":"2022-02-24 00:26:23.000000000","message":"Thanks for working on this change, Felipe and André\nFew minor comments inline. Please check them","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"1b6abb54ef16bbd65778ddbb237f30087e47676e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e52e0f14_66c5039a","updated":"2022-02-24 17:26:03.000000000","message":"Hi Carlos, thanks for the comments. Please see the new PS addressing them.","commit_id":"9718ff7eb0b249d9f4beea00763b196a8b10deca"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8112071edfc80ef4a6a86e277d670bf01d66015c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b132aa35_32c9367b","updated":"2022-02-24 18:15:17.000000000","message":"what about OSC? :( \n\nI am sorry - but, we\u0027ve discussed this repeatedly over this release; is there any reason there are no changes made to OSC here?","commit_id":"9718ff7eb0b249d9f4beea00763b196a8b10deca"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"14a61283a4bbfb1e98674a619443ea4e34b46c3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b1a88906_7c4ece45","in_reply_to":"b132aa35_32c9367b","updated":"2022-02-24 23:01:40.000000000","message":"Hi Goutham sorry about that, I suppose that was \"optional\". The new PS contains the OSC implementation.","commit_id":"9718ff7eb0b249d9f4beea00763b196a8b10deca"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6d39b72a5696d4ef9b309d00d64f44aefa5afb74","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"47e1aece_6d9e5947","updated":"2022-02-25 11:43:34.000000000","message":"André, please ignore the doc part I mentioned... It\u0027s already there and the items we have in the index file should cover. Sorry about that :)","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"14a61283a4bbfb1e98674a619443ea4e34b46c3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7b1f99f7_eeddf1c7","updated":"2022-02-24 23:01:40.000000000","message":"Thanks Carlos and Goutham for the review.","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e84d200857a27377c7ba231c8b84787c78b5c89c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"02efea55_cda71f1a","updated":"2022-02-25 01:01:03.000000000","message":"Thanks for working on the comments, André\nAdded few more to the implementation of the OSC\nAnother thing: could you please add an entry for share network subnets to this file: doc/source/cli/osc/v2/index.rst ? I see it is missing there :)","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"f5fa7aa91a4bae582a01102a3caf4f02cff6e2b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a353422b_d20e34e9","in_reply_to":"47e1aece_6d9e5947","updated":"2022-02-25 13:09:52.000000000","message":"NP, Thanks.","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"f5fa7aa91a4bae582a01102a3caf4f02cff6e2b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"77c960da_6d2620dc","updated":"2022-02-25 13:09:52.000000000","message":"Thank you Carlos...","commit_id":"fbacc0c4847847f9b0af01dbbf20f16ff36975f8"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"85ae562b6e8ab1598eca75d00b54b237dc87481a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2e3cab50_7d0526a7","updated":"2022-02-26 00:15:56.000000000","message":"Thank you for working on the enhancements, André\nLGTM","commit_id":"fbacc0c4847847f9b0af01dbbf20f16ff36975f8"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"811e63606029019814aca2dab10e7545386627b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"b6152834_26587716","updated":"2022-03-03 18:14:28.000000000","message":"-1: under review/holding this one for a while","commit_id":"7be80029d02c87f453978a0483b04e8a60cb447b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3b49607de313eb936cb85f21bc64f1dab6109a8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"360f62b6_eea8cd16","updated":"2022-05-05 18:28:12.000000000","message":"Felipe, could you please refresh this change.. ","commit_id":"7be80029d02c87f453978a0483b04e8a60cb447b"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"fc6ee7ee75bb15d296ff634ee7c07b5ee9b6fb5d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"2964d879_c513b6fe","updated":"2022-08-03 16:02:29.000000000","message":"recheck long time no running","commit_id":"c5e6d813e2d60847b019e19e394f86317b96e9d9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5fb48dc2421808b4e4e1ec4bdec185c7f3015e79","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"483706bf_1908b3e4","updated":"2022-08-19 19:14:47.000000000","message":"Felipe, we\u0027ve hit a merge conflict, please refresh. Thank you!","commit_id":"47b0c2a4a4388dbc3b413b49488c1dccb584edb8"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"7a287861e9b7eb1277d028e1ea1638dd9f5401bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"44ca5d1a_f825e4bf","updated":"2022-08-30 19:22:27.000000000","message":"looks good, thanks for adding client support for this!","commit_id":"59f5aabbbd0f586342a48551c4f9a8178eeffe5b"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ee0eb5bd729637405c747114a34a3c895adacd9b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"cad2a89a_627a6b0f","updated":"2022-08-23 11:04:32.000000000","message":"recheck: failed with no related issue","commit_id":"59f5aabbbd0f586342a48551c4f9a8178eeffe5b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2d8c23965e405d05221d0854fce1b2748db5ac52","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"67760ff4_acc31ad8","updated":"2022-08-30 20:07:21.000000000","message":"Looking good - thank you, Felipe!","commit_id":"9dd092bf7e8e926e8e5f2d894d31a51418a2e32f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5df3a2263e9650281c4d320ad856783016820af8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"1a783b31_f0c8157b","updated":"2022-08-30 23:59:04.000000000","message":"Thanks for refreshing this patch Felipe; i\u0027ve a suggestion for improvement inline. Please take a look. ","commit_id":"9dd092bf7e8e926e8e5f2d894d31a51418a2e32f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"bdbefa83565df76e8ff861be4414573b8ce98d07","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"c17c1d73_a2129566","updated":"2022-09-01 14:36:22.000000000","message":"Code looks good and works like a charm! Thank you very much, Felipe!","commit_id":"340c38b40501ea82fc24a47f19349da404e91551"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"ec4de9d8d324a263e67fc0d0f0d1abc092b85e46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"106fb794_7b5c0f5c","updated":"2022-09-01 14:58:05.000000000","message":"Thanks, one question inline.\n","commit_id":"340c38b40501ea82fc24a47f19349da404e91551"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4dc0ed4b002b156880f9c14c299c29d77873382f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"325734b0_38a10ef9","updated":"2022-09-01 19:42:17.000000000","message":"LGTM! Thank you very much","commit_id":"586c6030ed1b81a565eabadfa17f2f87b274fab2"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"aaae8b152fa670d3e4ed90b877fea29ed5bbe203","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"7b70e02d_5e02ded9","updated":"2022-09-01 19:41:07.000000000","message":"Thanks for updating, LGTM.","commit_id":"586c6030ed1b81a565eabadfa17f2f87b274fab2"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"570420a5a3ca3fc130d165a35f0670506f007bde","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"f8f418ac_11651bfd","updated":"2022-09-01 19:57:54.000000000","message":"thanks for the follow up patches!","commit_id":"586c6030ed1b81a565eabadfa17f2f87b274fab2"}],"manilaclient/osc/v2/share_networks.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e84d200857a27377c7ba231c8b84787c78b5c89c","unresolved":true,"context_lines":[{"line_number":681,"context_line":"                                          \"unset operations failed\"))"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":""},{"line_number":684,"context_line":"class CheckCreateShareNetworkSubnet(command.Command):"},{"line_number":685,"context_line":"    \"\"\"Share network subnet create check.\"\"\""},{"line_number":686,"context_line":"    _description \u003d _(\"Share network subnet create check\")"},{"line_number":687,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"6932c3cf_9f4422c9","line":684,"range":{"start_line":684,"start_character":36,"end_line":684,"end_character":51},"updated":"2022-02-25 01:01:03.000000000","message":"command.CommandShowOne\nas you\u0027re displaying information at the end of the command.\nI tried using -f table and -f json but it didn\u0027t work and I suspect that is because of this, as you\u0027re using command.Command, and this class usually is used for commands that do not return any output, which isn\u0027t the case for share network subnet create check","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"f5fa7aa91a4bae582a01102a3caf4f02cff6e2b0","unresolved":false,"context_lines":[{"line_number":681,"context_line":"                                          \"unset operations failed\"))"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":""},{"line_number":684,"context_line":"class CheckCreateShareNetworkSubnet(command.Command):"},{"line_number":685,"context_line":"    \"\"\"Share network subnet create check.\"\"\""},{"line_number":686,"context_line":"    _description \u003d _(\"Share network subnet create check\")"},{"line_number":687,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"98fe2085_db91da67","line":684,"range":{"start_line":684,"start_character":36,"end_line":684,"end_character":51},"in_reply_to":"6932c3cf_9f4422c9","updated":"2022-02-25 13:09:52.000000000","message":"Got it, thank you. I didn\u0027t find the command.CommandShowOne, I think it\u0027s command.ShowOne, right?","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"854badab74fddc40f42fbe3845c8e6740812ffab","unresolved":true,"context_lines":[{"line_number":683,"context_line":""},{"line_number":684,"context_line":"class CheckCreateShareNetworkSubnet(command.Command):"},{"line_number":685,"context_line":"    \"\"\"Share network subnet create check.\"\"\""},{"line_number":686,"context_line":"    _description \u003d _(\"Share network subnet create check\")"},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"    def get_parser(self, prog_name):"},{"line_number":689,"context_line":"        parser \u003d super("}],"source_content_type":"text/x-python","patch_set":7,"id":"fa7dc9df_6320c656","line":686,"range":{"start_line":686,"start_character":22,"end_line":686,"end_character":55},"updated":"2022-02-25 01:02:13.000000000","message":"Checks if a share network subnet can be added to the share network considering the cloud","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"f5fa7aa91a4bae582a01102a3caf4f02cff6e2b0","unresolved":false,"context_lines":[{"line_number":683,"context_line":""},{"line_number":684,"context_line":"class CheckCreateShareNetworkSubnet(command.Command):"},{"line_number":685,"context_line":"    \"\"\"Share network subnet create check.\"\"\""},{"line_number":686,"context_line":"    _description \u003d _(\"Share network subnet create check\")"},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"    def get_parser(self, prog_name):"},{"line_number":689,"context_line":"        parser \u003d super("}],"source_content_type":"text/x-python","patch_set":7,"id":"727908dd_71eb557e","line":686,"range":{"start_line":686,"start_character":22,"end_line":686,"end_character":55},"in_reply_to":"fa7dc9df_6320c656","updated":"2022-02-25 13:09:52.000000000","message":"Done","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e84d200857a27377c7ba231c8b84787c78b5c89c","unresolved":true,"context_lines":[{"line_number":738,"context_line":"                \"Both neutron_net_id and neutron_subnet_id should be \""},{"line_number":739,"context_line":"                \"specified. Alternatively, neither of them should be \""},{"line_number":740,"context_line":"                \"specified.\")"},{"line_number":741,"context_line":"        if share_client.api_version \u003c api_versions.APIVersion(\u00272.70\u0027):"},{"line_number":742,"context_line":"            raise exceptions.CommandError("},{"line_number":743,"context_line":"                \"Share network subnet create check is available only for \""},{"line_number":744,"context_line":"                \"API microversion \u003e\u003d 2.70\")"},{"line_number":745,"context_line":"        share_network_id \u003d oscutils.find_resource("},{"line_number":746,"context_line":"            share_client.share_networks, parsed_args.share_network).id"},{"line_number":747,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"66bb6107_ba74f88a","line":744,"range":{"start_line":741,"start_character":8,"end_line":744,"end_character":43},"updated":"2022-02-25 01:01:03.000000000","message":"this could be the first check, so we\u0027d fail earlier","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"f5fa7aa91a4bae582a01102a3caf4f02cff6e2b0","unresolved":false,"context_lines":[{"line_number":738,"context_line":"                \"Both neutron_net_id and neutron_subnet_id should be \""},{"line_number":739,"context_line":"                \"specified. Alternatively, neither of them should be \""},{"line_number":740,"context_line":"                \"specified.\")"},{"line_number":741,"context_line":"        if share_client.api_version \u003c api_versions.APIVersion(\u00272.70\u0027):"},{"line_number":742,"context_line":"            raise exceptions.CommandError("},{"line_number":743,"context_line":"                \"Share network subnet create check is available only for \""},{"line_number":744,"context_line":"                \"API microversion \u003e\u003d 2.70\")"},{"line_number":745,"context_line":"        share_network_id \u003d oscutils.find_resource("},{"line_number":746,"context_line":"            share_client.share_networks, parsed_args.share_network).id"},{"line_number":747,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"d0c09fd8_08c76acc","line":744,"range":{"start_line":741,"start_character":8,"end_line":744,"end_character":43},"in_reply_to":"66bb6107_ba74f88a","updated":"2022-02-25 13:09:52.000000000","message":"Done","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e84d200857a27377c7ba231c8b84787c78b5c89c","unresolved":true,"context_lines":[{"line_number":753,"context_line":"                reset_operation\u003dparsed_args.reset,"},{"line_number":754,"context_line":"                share_network_id\u003dshare_network_id,)"},{"line_number":755,"context_line":"        )"},{"line_number":756,"context_line":"        cliutils.print_dict(subnet_create_check[1])"}],"source_content_type":"text/x-python","patch_set":7,"id":"9020f765_b59391db","line":756,"range":{"start_line":756,"start_character":8,"end_line":756,"end_character":51},"updated":"2022-02-25 01:01:03.000000000","message":"I think we could follow the same pattern as in https://review.opendev.org/c/openstack/python-manilaclient/+/826928/7/manilaclient/osc/v2/share_networks.py#310 (until line 317)","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"f5fa7aa91a4bae582a01102a3caf4f02cff6e2b0","unresolved":false,"context_lines":[{"line_number":753,"context_line":"                reset_operation\u003dparsed_args.reset,"},{"line_number":754,"context_line":"                share_network_id\u003dshare_network_id,)"},{"line_number":755,"context_line":"        )"},{"line_number":756,"context_line":"        cliutils.print_dict(subnet_create_check[1])"}],"source_content_type":"text/x-python","patch_set":7,"id":"9d69e7a2_61f60ae5","line":756,"range":{"start_line":756,"start_character":8,"end_line":756,"end_character":51},"in_reply_to":"9020f765_b59391db","updated":"2022-02-25 13:09:52.000000000","message":"Done","commit_id":"09792c1e6b6584dc8dc791a611bfa2e3724b51cc"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"5a05899f5801b8cfbb676ff0a8e4cfa8cf7f1a4a","unresolved":true,"context_lines":[{"line_number":681,"context_line":"                                          \"unset operations failed\"))"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":""},{"line_number":684,"context_line":"class CheckCreateShareNetworkSubnet(command.ShowOne):"},{"line_number":685,"context_line":"    \"\"\"Share network subnet create check.\"\"\""},{"line_number":686,"context_line":"    _description \u003d _(\"Checks if a share network subnet can be added to the \""},{"line_number":687,"context_line":"                     \"share network considering the cloud\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"796e40c2_83b2ad6f","line":684,"range":{"start_line":684,"start_character":6,"end_line":684,"end_character":35},"updated":"2022-02-25 18:32:50.000000000","message":"This should be on subnets api, don\u0027t you think. But I think that the isue starts in the depends-on patch, which implements this in share-network, not in share-network-subnets.","commit_id":"fbacc0c4847847f9b0af01dbbf20f16ff36975f8"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"9ecf2843da6803270f4abbc854c1857773c991a0","unresolved":true,"context_lines":[{"line_number":681,"context_line":"                                          \"unset operations failed\"))"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":""},{"line_number":684,"context_line":"class CheckCreateShareNetworkSubnet(command.ShowOne):"},{"line_number":685,"context_line":"    \"\"\"Share network subnet create check.\"\"\""},{"line_number":686,"context_line":"    _description \u003d _(\"Checks if a share network subnet can be added to the \""},{"line_number":687,"context_line":"                     \"share network considering the cloud\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"763f3eb9_7dfb7c42","line":684,"range":{"start_line":684,"start_character":6,"end_line":684,"end_character":35},"in_reply_to":"5908cb2b_28f61f78","updated":"2022-02-25 19:56:47.000000000","message":"Hi Douglas and Carlos, I answered as a comment in the core patch, following a copy of the answer. \n\u003e Hi Douglas, we realize that operation is an action from share network and not from share network subnet, since we don\u0027t use a subnet id in the command for example. So, we choose to add the command as a new action of the share network since we are using only the share network id as required parameter and the subnet parameters as optional. What do you think? I understand that to have a have in the subnets API will be necessary a subnet id for example, but it isn\u0027t the case.","commit_id":"fbacc0c4847847f9b0af01dbbf20f16ff36975f8"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"9ecf2843da6803270f4abbc854c1857773c991a0","unresolved":true,"context_lines":[{"line_number":681,"context_line":"                                          \"unset operations failed\"))"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":""},{"line_number":684,"context_line":"class CheckCreateShareNetworkSubnet(command.ShowOne):"},{"line_number":685,"context_line":"    \"\"\"Share network subnet create check.\"\"\""},{"line_number":686,"context_line":"    _description \u003d _(\"Checks if a share network subnet can be added to the \""},{"line_number":687,"context_line":"                     \"share network considering the cloud\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"d96e4acf_f1adc72a","line":684,"range":{"start_line":684,"start_character":6,"end_line":684,"end_character":35},"in_reply_to":"5908cb2b_28f61f78","updated":"2022-02-25 19:56:47.000000000","message":"same as above.","commit_id":"fbacc0c4847847f9b0af01dbbf20f16ff36975f8"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd7d713652d99a1669e46b2bb2c4099dab9b403a","unresolved":true,"context_lines":[{"line_number":681,"context_line":"                                          \"unset operations failed\"))"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":""},{"line_number":684,"context_line":"class CheckCreateShareNetworkSubnet(command.ShowOne):"},{"line_number":685,"context_line":"    \"\"\"Share network subnet create check.\"\"\""},{"line_number":686,"context_line":"    _description \u003d _(\"Checks if a share network subnet can be added to the \""},{"line_number":687,"context_line":"                     \"share network considering the cloud\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"5908cb2b_28f61f78","line":684,"range":{"start_line":684,"start_character":6,"end_line":684,"end_character":35},"in_reply_to":"796e40c2_83b2ad6f","updated":"2022-02-25 18:34:10.000000000","message":"++ - I totally missed this before and it is an important thing","commit_id":"fbacc0c4847847f9b0af01dbbf20f16ff36975f8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5df3a2263e9650281c4d320ad856783016820af8","unresolved":true,"context_lines":[{"line_number":681,"context_line":"                                          \"unset operations failed\"))"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":""},{"line_number":684,"context_line":"class CheckCreateShareNetworkSubnet(command.ShowOne):"},{"line_number":685,"context_line":"    \"\"\"Share network subnet create check.\"\"\""},{"line_number":686,"context_line":"    _description \u003d _(\"Checks if a share network subnet can be added to the \""},{"line_number":687,"context_line":"                     \"share network considering the cloud\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"e749e11c_b756adab","line":684,"range":{"start_line":684,"start_character":6,"end_line":684,"end_character":35},"in_reply_to":"d96e4acf_f1adc72a","updated":"2022-08-30 23:59:04.000000000","message":"I am not sure i understand the response wrt the question here; and sorry this is late breaking. The operations being introduced here are \"check\" and \"restart-check\" -- these support dry running a subnet creation operation. So, shouldn\u0027t these options be added to the existing \"share network subnet create\" command?\n\nWe have this pattern in this file already; when modifying security services on an existing share network. We introduced \"--check-only\" and \"--restart-check\" as options to the \"openstack share network set\" command, because that\u0027s the same command being used to add security services to a brand new share network:\n\n\nhttps://github.com/openstack/python-manilaclient/blob/d40205a2f2046b35d4606ac631608d4d9aedf963/manilaclient/osc/v2/share_networks.py#L432-L444\n\n\nWe are also following this pattern for dry-running a share server migration: https://review.opendev.org/c/openstack/python-manilaclient/+/854179\n\n\nSince the CreateShareNetworkSubnet command already exists, the code change seems fairly simple and straight-forward: https://github.com/openstack/python-manilaclient/blob/9c98ef70f24a5aa15aeccf2d34930aca3e0db671/manilaclient/osc/v2/share_network_subnets.py#L26","commit_id":"fbacc0c4847847f9b0af01dbbf20f16ff36975f8"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"d2d88412a338a57953d66e6b4eb8b9f282c6171e","unresolved":true,"context_lines":[{"line_number":681,"context_line":"                                          \"unset operations failed\"))"},{"line_number":682,"context_line":""},{"line_number":683,"context_line":""},{"line_number":684,"context_line":"class CheckCreateShareNetworkSubnet(command.ShowOne):"},{"line_number":685,"context_line":"    \"\"\"Share network subnet create check.\"\"\""},{"line_number":686,"context_line":"    _description \u003d _(\"Checks if a share network subnet can be added to the \""},{"line_number":687,"context_line":"                     \"share network considering the cloud\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"0ea9a747_19579b54","line":684,"range":{"start_line":684,"start_character":6,"end_line":684,"end_character":35},"in_reply_to":"e749e11c_b756adab","updated":"2022-09-01 02:51:39.000000000","message":"Thank you Goutham! Good catch. I agree with you about using the \"--check-only\" when creating the subnet. It keeps the compatibility with other operations and it seems easier to end user and developer.\n\nI\u0027ve already submitted a new patch set 16 with the new OSC way and its units and functional tests.","commit_id":"fbacc0c4847847f9b0af01dbbf20f16ff36975f8"}],"manilaclient/tests/functional/test_share_networks.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"bf3df1c6d9ea0ed2b8e8a991830f69b9da4dbb5f","unresolved":true,"context_lines":[{"line_number":408,"context_line":"                share_network[\u0027id\u0027], neutron_net_id\u003d\u0027fake_neutron_net_id\u0027,"},{"line_number":409,"context_line":"                neutron_subnet_id\u003d\u0027fake_neutron_subnet_id\u0027))"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        self.assertIn(check_result[\u0027compatible\u0027], [\u0027None\u0027, \u0027True\u0027])"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"    @ddt.data("},{"line_number":414,"context_line":"        {\u0027neutron_net_id\u0027: None, \u0027neutron_subnet_id\u0027: \u0027fake_subnet_id\u0027},"}],"source_content_type":"text/x-python","patch_set":5,"id":"cc84083a_3a660b2f","line":411,"range":{"start_line":411,"start_character":22,"end_line":411,"end_character":66},"updated":"2022-02-24 00:26:23.000000000","message":"why the result should be None or true?\nShouldn\u0027t we have a wait and wait until the check returns true?","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"14a61283a4bbfb1e98674a619443ea4e34b46c3c","unresolved":false,"context_lines":[{"line_number":408,"context_line":"                share_network[\u0027id\u0027], neutron_net_id\u003d\u0027fake_neutron_net_id\u0027,"},{"line_number":409,"context_line":"                neutron_subnet_id\u003d\u0027fake_neutron_subnet_id\u0027))"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        self.assertIn(check_result[\u0027compatible\u0027], [\u0027None\u0027, \u0027True\u0027])"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"    @ddt.data("},{"line_number":414,"context_line":"        {\u0027neutron_net_id\u0027: None, \u0027neutron_subnet_id\u0027: \u0027fake_subnet_id\u0027},"}],"source_content_type":"text/x-python","patch_set":5,"id":"6b695dce_55c5cd9a","line":411,"range":{"start_line":411,"start_character":22,"end_line":411,"end_character":66},"in_reply_to":"0d639589_8d39b4a5","updated":"2022-02-24 23:01:40.000000000","message":"Hi Carloss, I tested and the assert can be Equal \u0027True\u0027, probably because if there isn\u0027t a share server created the check answer will be always True. Thanks for this point.","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e84d200857a27377c7ba231c8b84787c78b5c89c","unresolved":false,"context_lines":[{"line_number":408,"context_line":"                share_network[\u0027id\u0027], neutron_net_id\u003d\u0027fake_neutron_net_id\u0027,"},{"line_number":409,"context_line":"                neutron_subnet_id\u003d\u0027fake_neutron_subnet_id\u0027))"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        self.assertIn(check_result[\u0027compatible\u0027], [\u0027None\u0027, \u0027True\u0027])"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"    @ddt.data("},{"line_number":414,"context_line":"        {\u0027neutron_net_id\u0027: None, \u0027neutron_subnet_id\u0027: \u0027fake_subnet_id\u0027},"}],"source_content_type":"text/x-python","patch_set":5,"id":"9eaa18d2_c0dfe44a","line":411,"range":{"start_line":411,"start_character":22,"end_line":411,"end_character":66},"in_reply_to":"6b695dce_55c5cd9a","updated":"2022-02-25 01:01:03.000000000","message":"++... as you don\u0027t have share servers deployed, the check would possibly always return True :)","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"1b6abb54ef16bbd65778ddbb237f30087e47676e","unresolved":true,"context_lines":[{"line_number":408,"context_line":"                share_network[\u0027id\u0027], neutron_net_id\u003d\u0027fake_neutron_net_id\u0027,"},{"line_number":409,"context_line":"                neutron_subnet_id\u003d\u0027fake_neutron_subnet_id\u0027))"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        self.assertIn(check_result[\u0027compatible\u0027], [\u0027None\u0027, \u0027True\u0027])"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"    @ddt.data("},{"line_number":414,"context_line":"        {\u0027neutron_net_id\u0027: None, \u0027neutron_subnet_id\u0027: \u0027fake_subnet_id\u0027},"}],"source_content_type":"text/x-python","patch_set":5,"id":"0d639589_8d39b4a5","line":411,"range":{"start_line":411,"start_character":22,"end_line":411,"end_character":66},"in_reply_to":"cc84083a_3a660b2f","updated":"2022-02-24 17:26:03.000000000","message":"I think the idea of this functional is only to test the API not the result returned. Because of that, I considered two possible values the None and True. In order to implement a wait here we will need to trigger the check at least one more time since we are not checking a resource status. What do you think?","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"}],"manilaclient/v2/share_networks.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"bf3df1c6d9ea0ed2b8e8a991830f69b9da4dbb5f","unresolved":true,"context_lines":[{"line_number":331,"context_line":"                                          reset_operation\u003dFalse):"},{"line_number":332,"context_line":"        \"\"\"Check if share network subnet can be created in given share network."},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        :param neutron_net_id: ID of Neutron network"},{"line_number":335,"context_line":"        :param neutron_subnet_id: ID of Neutron subnet"},{"line_number":336,"context_line":"        :param availability_zone: Name of the target availability zone"},{"line_number":337,"context_line":"        :param reset_operation: Start over the check operation"}],"source_content_type":"text/x-python","patch_set":5,"id":"763ad1da_528b4e98","line":334,"range":{"start_line":334,"start_character":8,"end_line":334,"end_character":52},"updated":"2022-02-24 00:26:23.000000000","message":"missing the docstring for share_network_id","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"1b6abb54ef16bbd65778ddbb237f30087e47676e","unresolved":false,"context_lines":[{"line_number":331,"context_line":"                                          reset_operation\u003dFalse):"},{"line_number":332,"context_line":"        \"\"\"Check if share network subnet can be created in given share network."},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        :param neutron_net_id: ID of Neutron network"},{"line_number":335,"context_line":"        :param neutron_subnet_id: ID of Neutron subnet"},{"line_number":336,"context_line":"        :param availability_zone: Name of the target availability zone"},{"line_number":337,"context_line":"        :param reset_operation: Start over the check operation"}],"source_content_type":"text/x-python","patch_set":5,"id":"9568d5c5_a249aa74","line":334,"range":{"start_line":334,"start_character":8,"end_line":334,"end_character":52},"in_reply_to":"763ad1da_528b4e98","updated":"2022-02-24 17:26:03.000000000","message":"Done","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"}],"manilaclient/v2/shell.py":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"ec4de9d8d324a263e67fc0d0f0d1abc092b85e46","unresolved":true,"context_lines":[{"line_number":4495,"context_line":"            raise exceptions.CommandError("},{"line_number":4496,"context_line":"                \"Share network subnet option is only available with manila \""},{"line_number":4497,"context_line":"                \"API version \u003e\u003d 2.51\")"},{"line_number":4498,"context_line":"    elif cs.api_version \u003c api_versions.APIVersion(\"2.69\"):"},{"line_number":4499,"context_line":"        search_opts.update({"},{"line_number":4500,"context_line":"            \u0027share_network_subnet_id\u0027: args.share_network_subnet})"},{"line_number":4501,"context_line":"        fields.append(\"Share Network Subnet Id\")"}],"source_content_type":"text/x-python","patch_set":16,"id":"a6feda03_26630c7d","line":4498,"range":{"start_line":4498,"start_character":51,"end_line":4498,"end_character":55},"updated":"2022-09-01 14:58:05.000000000","message":"shouldn\u0027t be 2.70?","commit_id":"340c38b40501ea82fc24a47f19349da404e91551"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"76c0a05ab5308035b4aa19d35b0d9453287ff8e7","unresolved":false,"context_lines":[{"line_number":4495,"context_line":"            raise exceptions.CommandError("},{"line_number":4496,"context_line":"                \"Share network subnet option is only available with manila \""},{"line_number":4497,"context_line":"                \"API version \u003e\u003d 2.51\")"},{"line_number":4498,"context_line":"    elif cs.api_version \u003c api_versions.APIVersion(\"2.69\"):"},{"line_number":4499,"context_line":"        search_opts.update({"},{"line_number":4500,"context_line":"            \u0027share_network_subnet_id\u0027: args.share_network_subnet})"},{"line_number":4501,"context_line":"        fields.append(\"Share Network Subnet Id\")"}],"source_content_type":"text/x-python","patch_set":16,"id":"feb9c29a_d0fb222f","line":4498,"range":{"start_line":4498,"start_character":51,"end_line":4498,"end_character":55},"in_reply_to":"a6feda03_26630c7d","updated":"2022-09-01 19:36:36.000000000","message":"you\u0027re right. Good catch :) thanks. Done.","commit_id":"340c38b40501ea82fc24a47f19349da404e91551"}],"releasenotes/notes/add_support_multiple_subnet_per_az-46145c3e90e097be.yaml":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"bf3df1c6d9ea0ed2b8e8a991830f69b9da4dbb5f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The command `share-network-subnet-create-check` was added. It is responsible for"},{"line_number":4,"context_line":"    check if the share network subnet can be created in a specific share network"},{"line_number":5,"context_line":"    considering the feature of multiple subnets per availability_zone."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"4a66484d_ed3ef7a2","line":3,"range":{"start_line":3,"start_character":69,"end_line":3,"end_character":84},"updated":"2022-02-24 00:26:23.000000000","message":"please wrap at 79 characters","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"1b6abb54ef16bbd65778ddbb237f30087e47676e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The command `share-network-subnet-create-check` was added. It is responsible for"},{"line_number":4,"context_line":"    check if the share network subnet can be created in a specific share network"},{"line_number":5,"context_line":"    considering the feature of multiple subnets per availability_zone."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f4f15b9_06fe4231","line":3,"range":{"start_line":3,"start_character":69,"end_line":3,"end_character":84},"in_reply_to":"4a66484d_ed3ef7a2","updated":"2022-02-24 17:26:03.000000000","message":"Done","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"bf3df1c6d9ea0ed2b8e8a991830f69b9da4dbb5f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The command `share-network-subnet-create-check` was added. It is responsible for"},{"line_number":4,"context_line":"    check if the share network subnet can be created in a specific share network"},{"line_number":5,"context_line":"    considering the feature of multiple subnets per availability_zone."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"60b7afe9_ea666063","line":5,"range":{"start_line":3,"start_character":63,"end_line":5,"end_character":69},"updated":"2022-02-24 00:26:23.000000000","message":"This command will check if the share network subnet can be created in a specific share network based on the cloud support.","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"1b6abb54ef16bbd65778ddbb237f30087e47676e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - The command `share-network-subnet-create-check` was added. It is responsible for"},{"line_number":4,"context_line":"    check if the share network subnet can be created in a specific share network"},{"line_number":5,"context_line":"    considering the feature of multiple subnets per availability_zone."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"fdfe7067_0718778b","line":5,"range":{"start_line":3,"start_character":63,"end_line":5,"end_character":69},"in_reply_to":"60b7afe9_ea666063","updated":"2022-02-24 17:26:03.000000000","message":"Done","commit_id":"bf03c077e4d9eaee57a772fbe250451a5666ce14"}]}
