)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f87e01162ad2c2477da9225330d6b1a578875f88","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1a9663dc_bc5b1df9","updated":"2022-11-23 21:08:17.000000000","message":"Thanks Kiran! Please take a look at the comment inline","commit_id":"4b78d7655cc8cffafc713892026e5ef860cdb828"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"089615cc1eb327b4bea159565db916a578fb8c8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3a288020_b339363e","updated":"2022-11-23 15:40:17.000000000","message":"recheck","commit_id":"4b78d7655cc8cffafc713892026e5ef860cdb828"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"ea27f2e87742186aa46d8538aa3c580a2ce41a59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bbcfeaa1_8113b098","updated":"2022-11-22 12:04:33.000000000","message":"rerun manila-tempest-plugin-lvm","commit_id":"4b78d7655cc8cffafc713892026e5ef860cdb828"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"658dd2e57c2c8f27aadd21a274eb3ba960de12d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ffc2675f_8c2ae7e9","updated":"2022-11-27 17:19:42.000000000","message":"recheck","commit_id":"eed782c2436328833ddd469fd83fb819cf0fc0f4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b63d23e0cfdb81f0ea6cd1f876b502e778e7b1ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"29d8e4a7_e214cb9b","updated":"2022-11-28 21:29:08.000000000","message":"This is a change in API behavior; can we microversion this? Else we\u0027re introducing backwards incompatible behavior... You can then reliably use the new microversion in the tempest test that you\u0027re introducing ","commit_id":"26266fcb66ab2fd69334f4bb6e2f3958ac58853d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"bc674c473bd699dcb26da129844a5efdb204ac9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"89c529e8_4869f0c0","in_reply_to":"29d8e4a7_e214cb9b","updated":"2022-11-28 21:34:16.000000000","message":"Ack.","commit_id":"26266fcb66ab2fd69334f4bb6e2f3958ac58853d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab8d2ebba69f671e45f791121ad337688181b2f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6059ba08_00b35eb3","updated":"2022-12-05 10:21:34.000000000","message":"only one comment.","commit_id":"50fcff5334ff0dd0755f4818aca422a0a9d471ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"48af54665abd6279370a06fe99e2085560af1b70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"737c9ad8_6be2bb57","updated":"2022-12-01 15:54:28.000000000","message":"recheck","commit_id":"50fcff5334ff0dd0755f4818aca422a0a9d471ba"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"1ad6802e4bad2edae65ca9f99358b90cbdb6cc5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e386e522_92b91bda","updated":"2022-12-15 20:54:38.000000000","message":"Changes LGTM, only some suggestions to the release notes. Thanks for the fix, Kiran","commit_id":"30a28080b9efdd2058c47624926ea2b55b1f9beb"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"4c9d4db7c465e5dec8bfc21a47a6ee16c769ab4a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"02096b07_cc02c2ec","updated":"2022-12-11 06:58:23.000000000","message":"LGTM","commit_id":"30a28080b9efdd2058c47624926ea2b55b1f9beb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"86117c02368c54ac9393d6c8b410f2808baf2574","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"fe775e47_6596de89","updated":"2022-12-05 12:59:40.000000000","message":"recheck manila-tempest-plugin-lvm","commit_id":"30a28080b9efdd2058c47624926ea2b55b1f9beb"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"836b86d4aa0c0116f53f8aba6e1b191e89177d03","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2f0f2f3c_8c2096b4","updated":"2022-12-16 13:46:38.000000000","message":"LGTM, thanks Kiran","commit_id":"2b240f6bf2582cbbb94093d95e0d903dc0573bf0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8dbefa8578f00266dfbf6dbc867238b02f349ea9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2839a722_b3451ee5","updated":"2023-01-03 18:16:02.000000000","message":"Thanks Kiran, LGTM","commit_id":"2b240f6bf2582cbbb94093d95e0d903dc0573bf0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f244e9ae8f1bffe5ad03191a08b4abe1a49f1af7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"29eb412a_21538273","updated":"2023-01-17 10:33:41.000000000","message":"recheck\nApparently gate didn\u0027t run. Let\u0027s give it another shot","commit_id":"2b240f6bf2582cbbb94093d95e0d903dc0573bf0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"1fb56fd91e6856ef15835e65fa9c8a10c4d00718","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"30c96158_abc6911a","updated":"2023-01-17 18:19:42.000000000","message":"Adding my vote again - Only depends-on was removed from commit message.\nThanks Kiran","commit_id":"0282f3fdb2c0e78fa83c4b88ebe47279736cbdf4"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"565fc40bcd09df966d7b0823ce82e53a69dc119f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"ef457620_4ebafd08","updated":"2023-01-17 15:48:50.000000000","message":"removed depends on so that we can merge this before manila-tempest-plugin PR","commit_id":"0282f3fdb2c0e78fa83c4b88ebe47279736cbdf4"}],"manila/share/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f87e01162ad2c2477da9225330d6b1a578875f88","unresolved":true,"context_lines":[{"line_number":2221,"context_line":"                                              access\u003daccess_to)"},{"line_number":2222,"context_line":""},{"line_number":2223,"context_line":"        # Share instance validation"},{"line_number":2224,"context_line":"        if all(self._is_invalid_share_instance(instance)"},{"line_number":2225,"context_line":"                for instance in share.instances):"},{"line_number":2226,"context_line":"            msg \u003d _(\"New access rules cannot be applied while the share and \""},{"line_number":2227,"context_line":"                    \"all of its replicas or migration copies lacks a valid \""},{"line_number":2228,"context_line":"                    \"host or is in an invalid state.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"c5431d27_a3cf324b","line":2225,"range":{"start_line":2224,"start_character":11,"end_line":2225,"end_character":49},"updated":"2022-11-23 21:08:17.000000000","message":"This change doesn\u0027t make sense --\n\nImagine a replicated share that\u0027s going through a revert to share operation, the revert status is recorded only on the primary/\"active\" share instance.. with this change, we\u0027ll allow access rules changes while that operation is ongoing. That might not be supported by backends. \n\nAlso, if any of the instances isn\u0027t scheduled yet, the host attr will be \"None\".. the RPC request on line 2249 will fail. \n\nThe bug referenced seems to specifically want us to ignore replicas in \"error\" state... can we probably do that?","commit_id":"4b78d7655cc8cffafc713892026e5ef860cdb828"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"48af54665abd6279370a06fe99e2085560af1b70","unresolved":false,"context_lines":[{"line_number":2221,"context_line":"                                              access\u003daccess_to)"},{"line_number":2222,"context_line":""},{"line_number":2223,"context_line":"        # Share instance validation"},{"line_number":2224,"context_line":"        if all(self._is_invalid_share_instance(instance)"},{"line_number":2225,"context_line":"                for instance in share.instances):"},{"line_number":2226,"context_line":"            msg \u003d _(\"New access rules cannot be applied while the share and \""},{"line_number":2227,"context_line":"                    \"all of its replicas or migration copies lacks a valid \""},{"line_number":2228,"context_line":"                    \"host or is in an invalid state.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3d476b14_c8b9a118","line":2225,"range":{"start_line":2224,"start_character":11,"end_line":2225,"end_character":49},"in_reply_to":"29599046_7096eb1b","updated":"2022-12-01 15:54:28.000000000","message":"Done","commit_id":"4b78d7655cc8cffafc713892026e5ef860cdb828"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"c6e767806a69f81ceba1513279f6f2317a016926","unresolved":true,"context_lines":[{"line_number":2221,"context_line":"                                              access\u003daccess_to)"},{"line_number":2222,"context_line":""},{"line_number":2223,"context_line":"        # Share instance validation"},{"line_number":2224,"context_line":"        if all(self._is_invalid_share_instance(instance)"},{"line_number":2225,"context_line":"                for instance in share.instances):"},{"line_number":2226,"context_line":"            msg \u003d _(\"New access rules cannot be applied while the share and \""},{"line_number":2227,"context_line":"                    \"all of its replicas or migration copies lacks a valid \""},{"line_number":2228,"context_line":"                    \"host or is in an invalid state.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"29599046_7096eb1b","line":2225,"range":{"start_line":2224,"start_character":11,"end_line":2225,"end_character":49},"in_reply_to":"c5431d27_a3cf324b","updated":"2022-11-24 09:38:03.000000000","message":"fixed","commit_id":"4b78d7655cc8cffafc713892026e5ef860cdb828"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b63d23e0cfdb81f0ea6cd1f876b502e778e7b1ef","unresolved":true,"context_lines":[{"line_number":2199,"context_line":""},{"line_number":2200,"context_line":"    @staticmethod"},{"line_number":2201,"context_line":"    def _is_invalid_share_instance(instance):"},{"line_number":2202,"context_line":"        return (instance[\u0027host\u0027] in (None, \u0027\u0027)"},{"line_number":2203,"context_line":"                or instance[\u0027status\u0027] in constants."},{"line_number":2204,"context_line":"                INVALID_SHARE_INSTANCE_STATUSES_FOR_ACCESS_RULE_UPDATES)"},{"line_number":2205,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3af5d820_6bc42407","line":2202,"range":{"start_line":2202,"start_character":43,"end_line":2202,"end_character":45},"updated":"2022-11-28 21:29:08.000000000","message":"When is it an empty string?","commit_id":"26266fcb66ab2fd69334f4bb6e2f3958ac58853d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"bc674c473bd699dcb26da129844a5efdb204ac9d","unresolved":true,"context_lines":[{"line_number":2199,"context_line":""},{"line_number":2200,"context_line":"    @staticmethod"},{"line_number":2201,"context_line":"    def _is_invalid_share_instance(instance):"},{"line_number":2202,"context_line":"        return (instance[\u0027host\u0027] in (None, \u0027\u0027)"},{"line_number":2203,"context_line":"                or instance[\u0027status\u0027] in constants."},{"line_number":2204,"context_line":"                INVALID_SHARE_INSTANCE_STATUSES_FOR_ACCESS_RULE_UPDATES)"},{"line_number":2205,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a9cfdb2_38007777","line":2202,"range":{"start_line":2202,"start_character":43,"end_line":2202,"end_character":45},"in_reply_to":"3af5d820_6bc42407","updated":"2022-11-28 21:34:16.000000000","message":"when share is stuck in \u0027creating\u0027 state and no host is assigned, and then lands in \u0027error\u0027 state. https://github.com/openstack/manila/blob/605925e8f4a70bb70a9921d6879101d30b7ad8b9/manila/share/api.py#L580","commit_id":"26266fcb66ab2fd69334f4bb6e2f3958ac58853d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"4848b5a68161b88f56b5ed8fdc1a0b1dae90bb86","unresolved":false,"context_lines":[{"line_number":2199,"context_line":""},{"line_number":2200,"context_line":"    @staticmethod"},{"line_number":2201,"context_line":"    def _is_invalid_share_instance(instance):"},{"line_number":2202,"context_line":"        return (instance[\u0027host\u0027] in (None, \u0027\u0027)"},{"line_number":2203,"context_line":"                or instance[\u0027status\u0027] in constants."},{"line_number":2204,"context_line":"                INVALID_SHARE_INSTANCE_STATUSES_FOR_ACCESS_RULE_UPDATES)"},{"line_number":2205,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"22d96fd8_78c18687","line":2202,"range":{"start_line":2202,"start_character":43,"end_line":2202,"end_character":45},"in_reply_to":"9a9cfdb2_38007777","updated":"2022-12-05 10:46:08.000000000","message":"Done","commit_id":"26266fcb66ab2fd69334f4bb6e2f3958ac58853d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab8d2ebba69f671e45f791121ad337688181b2f2","unresolved":true,"context_lines":[{"line_number":2206,"context_line":""},{"line_number":2207,"context_line":"        for instance in share.instances:"},{"line_number":2208,"context_line":"            print(instance)"},{"line_number":2209,"context_line":"            if (instance[\u0027host\u0027] in (None, \u0027\u0027)"},{"line_number":2210,"context_line":"                    or instance[\u0027status\u0027] in invalid_states):"},{"line_number":2211,"context_line":"                return True"},{"line_number":2212,"context_line":"        return False"},{"line_number":2213,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"73318846_eea87db3","line":2210,"range":{"start_line":2209,"start_character":12,"end_line":2210,"end_character":61},"updated":"2022-12-05 10:21:34.000000000","message":"how about:\nif not instance[\u0027host\u0027] or instance[\u0027status\u0027] in invalid_states:","commit_id":"50fcff5334ff0dd0755f4818aca422a0a9d471ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"4848b5a68161b88f56b5ed8fdc1a0b1dae90bb86","unresolved":false,"context_lines":[{"line_number":2206,"context_line":""},{"line_number":2207,"context_line":"        for instance in share.instances:"},{"line_number":2208,"context_line":"            print(instance)"},{"line_number":2209,"context_line":"            if (instance[\u0027host\u0027] in (None, \u0027\u0027)"},{"line_number":2210,"context_line":"                    or instance[\u0027status\u0027] in invalid_states):"},{"line_number":2211,"context_line":"                return True"},{"line_number":2212,"context_line":"        return False"},{"line_number":2213,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"d3289b1d_73a3a427","line":2210,"range":{"start_line":2209,"start_character":12,"end_line":2210,"end_character":61},"in_reply_to":"73318846_eea87db3","updated":"2022-12-05 10:46:08.000000000","message":"Done","commit_id":"50fcff5334ff0dd0755f4818aca422a0a9d471ba"}],"releasenotes/notes/allow-and-deny-access-rule-if-any-instance-is-valid-0e092913d30dbcdd.yaml":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"1ad6802e4bad2edae65ca9f99358b90cbdb6cc5a","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    With replication setup at least one backend is working and serving the"},{"line_number":5,"context_line":"    shares. So allow/deny access will be blocked only if any instance is in"},{"line_number":6,"context_line":"    non-transitional states (applicable for microversion \u003e\u003d 2.74)."},{"line_number":7,"context_line":"    `Launchpad bug 1965561 \u003chttps://bugs.launchpad.net/manila/+bug/1965561\u003e`_"},{"line_number":8,"context_line":"    for more details."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7e776e88_6e5faa73","line":6,"range":{"start_line":5,"start_character":12,"end_line":6,"end_character":65},"updated":"2022-12-15 20:54:38.000000000","message":"Starting from API version 2.74, allowing and denying access to shares will only fail if any of the instances is in a transitional state.\n\nI think this would capture, please adhere if you think it makes sense","commit_id":"30a28080b9efdd2058c47624926ea2b55b1f9beb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8bb6d84b4763ac8b5fa984c29cccde55e72ff060","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    With replication setup at least one backend is working and serving the"},{"line_number":5,"context_line":"    shares. So allow/deny access will be blocked only if any instance is in"},{"line_number":6,"context_line":"    non-transitional states (applicable for microversion \u003e\u003d 2.74)."},{"line_number":7,"context_line":"    `Launchpad bug 1965561 \u003chttps://bugs.launchpad.net/manila/+bug/1965561\u003e`_"},{"line_number":8,"context_line":"    for more details."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"51736de6_49148842","line":6,"range":{"start_line":5,"start_character":12,"end_line":6,"end_character":65},"in_reply_to":"7e776e88_6e5faa73","updated":"2022-12-16 09:44:53.000000000","message":"Done","commit_id":"30a28080b9efdd2058c47624926ea2b55b1f9beb"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"1ad6802e4bad2edae65ca9f99358b90cbdb6cc5a","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    With replication setup at least one backend is working and serving the"},{"line_number":5,"context_line":"    shares. So allow/deny access will be blocked only if any instance is in"},{"line_number":6,"context_line":"    non-transitional states (applicable for microversion \u003e\u003d 2.74)."},{"line_number":7,"context_line":"    `Launchpad bug 1965561 \u003chttps://bugs.launchpad.net/manila/+bug/1965561\u003e`_"},{"line_number":8,"context_line":"    for more details."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"4bffee13_0aa8e170","line":7,"updated":"2022-12-15 20:54:38.000000000","message":"Please refer to `Launchpad Bug....","commit_id":"30a28080b9efdd2058c47624926ea2b55b1f9beb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8bb6d84b4763ac8b5fa984c29cccde55e72ff060","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    With replication setup at least one backend is working and serving the"},{"line_number":5,"context_line":"    shares. So allow/deny access will be blocked only if any instance is in"},{"line_number":6,"context_line":"    non-transitional states (applicable for microversion \u003e\u003d 2.74)."},{"line_number":7,"context_line":"    `Launchpad bug 1965561 \u003chttps://bugs.launchpad.net/manila/+bug/1965561\u003e`_"},{"line_number":8,"context_line":"    for more details."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"11f045a5_06511d2c","line":7,"in_reply_to":"4bffee13_0aa8e170","updated":"2022-12-16 09:44:53.000000000","message":"Done","commit_id":"30a28080b9efdd2058c47624926ea2b55b1f9beb"}]}
