)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d6a8f723681cefbe3634b60d9b5cd417962e8c2e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"81c74dd6_5fa3bf0d","updated":"2022-08-31 08:57:53.000000000","message":"Thanks for these changes Kiran - i\u0027ve a comment inline","commit_id":"2eb273fbed563d25fb505989846322c7934be020"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5e59af253562b93a6a11fb628986d97401dbf6db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e11c28f9_5ca24b32","updated":"2022-08-30 16:02:28.000000000","message":"recheck","commit_id":"2eb273fbed563d25fb505989846322c7934be020"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6f03b8648b57f9141f3b98fdd541caf3b5cf9038","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"54359262_7787d679","updated":"2022-11-23 00:03:12.000000000","message":"Thanks Kiran, please, see my comments.","commit_id":"975d7a699c99023bc8d3a62b7aac8ff69d186a0b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d37838f38ef0e48e10b47999e1d518d9b287fb8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"47aa00b9_c408294d","updated":"2023-01-09 18:56:24.000000000","message":"recheck\n\n\nLGTM, thanks Kiran!","commit_id":"e5640b0e00b82697e4fc7b09ff22eb702219413a"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c5d01be9aa6b53ec5e5a504749c5f52d76dc44b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1470211d_3feb6114","updated":"2023-01-17 18:02:17.000000000","message":"Thank you for working on this follow-up and sorry for taking too long to get back to it.\nLGTM","commit_id":"ba5455cbd6d52e1b128bbbbfddb5a3cd57dcda50"}],"manila/share/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d6a8f723681cefbe3634b60d9b5cd417962e8c2e","unresolved":true,"context_lines":[{"line_number":644,"context_line":"        parent_share_network_id \u003d share.get(\u0027share_network_id\u0027)"},{"line_number":645,"context_line":"        if (parent_share_network_id and share_network_id and"},{"line_number":646,"context_line":"                parent_share_network_id !\u003d share_network_id):"},{"line_number":647,"context_line":"            parent_security_services \u003d ("},{"line_number":648,"context_line":"                self.db.security_service_get_all_by_share_network("},{"line_number":649,"context_line":"                    context, parent_share_network_id))"},{"line_number":650,"context_line":"            security_services \u003d ("},{"line_number":651,"context_line":"                self.db.security_service_get_all_by_share_network("},{"line_number":652,"context_line":"                    context, share_network_id))"},{"line_number":653,"context_line":"            for service in parent_security_services:"},{"line_number":654,"context_line":"                if service not in security_services:"},{"line_number":655,"context_line":"                    msg \u003d _(\"Share and its replica can\u0027t be in \""},{"line_number":656,"context_line":"                            \"different authentication domains.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"cd28f289_3bbe1a06","line":653,"range":{"start_line":647,"start_character":12,"end_line":653,"end_character":52},"updated":"2022-08-31 08:57:53.000000000","message":"make a set of their IDs and compute the set difference - with the current logic, security services can be a superset of the parent security services","commit_id":"2eb273fbed563d25fb505989846322c7934be020"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"6ff64495410ef8e82dde7c7a94c866ebba4cd471","unresolved":false,"context_lines":[{"line_number":644,"context_line":"        parent_share_network_id \u003d share.get(\u0027share_network_id\u0027)"},{"line_number":645,"context_line":"        if (parent_share_network_id and share_network_id and"},{"line_number":646,"context_line":"                parent_share_network_id !\u003d share_network_id):"},{"line_number":647,"context_line":"            parent_security_services \u003d ("},{"line_number":648,"context_line":"                self.db.security_service_get_all_by_share_network("},{"line_number":649,"context_line":"                    context, parent_share_network_id))"},{"line_number":650,"context_line":"            security_services \u003d ("},{"line_number":651,"context_line":"                self.db.security_service_get_all_by_share_network("},{"line_number":652,"context_line":"                    context, share_network_id))"},{"line_number":653,"context_line":"            for service in parent_security_services:"},{"line_number":654,"context_line":"                if service not in security_services:"},{"line_number":655,"context_line":"                    msg \u003d _(\"Share and its replica can\u0027t be in \""},{"line_number":656,"context_line":"                            \"different authentication domains.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"f395a583_2203be6d","line":653,"range":{"start_line":647,"start_character":12,"end_line":653,"end_character":52},"in_reply_to":"cd28f289_3bbe1a06","updated":"2022-08-31 09:55:39.000000000","message":"Done","commit_id":"2eb273fbed563d25fb505989846322c7934be020"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"6f03b8648b57f9141f3b98fdd541caf3b5cf9038","unresolved":true,"context_lines":[{"line_number":652,"context_line":"                    context, share_network_id))"},{"line_number":653,"context_line":"            parent_ss \u003d set([s[\u0027id\u0027] for s in parent_security_services])"},{"line_number":654,"context_line":"            ss \u003d set([s[\u0027id\u0027] for s in security_services])"},{"line_number":655,"context_line":"            if parent_ss - ss:"},{"line_number":656,"context_line":"                msg \u003d _(\"Share and its replica can\u0027t be in \""},{"line_number":657,"context_line":"                        \"different authentication domains.\")"},{"line_number":658,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"6586249e_898adf2b","line":655,"range":{"start_line":655,"start_character":15,"end_line":655,"end_character":29},"updated":"2022-11-23 00:03:12.000000000","message":"I think you haven\u0027t solved Goutham\u0027s issue. Here the \"ss\" still can be a superset of \"parent_ss\" (that\u0027s his problem).","commit_id":"975d7a699c99023bc8d3a62b7aac8ff69d186a0b"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"6e9398c6ba3bf2c3228f746bb295f951bf9edf35","unresolved":false,"context_lines":[{"line_number":652,"context_line":"                    context, share_network_id))"},{"line_number":653,"context_line":"            parent_ss \u003d set([s[\u0027id\u0027] for s in parent_security_services])"},{"line_number":654,"context_line":"            ss \u003d set([s[\u0027id\u0027] for s in security_services])"},{"line_number":655,"context_line":"            if parent_ss - ss:"},{"line_number":656,"context_line":"                msg \u003d _(\"Share and its replica can\u0027t be in \""},{"line_number":657,"context_line":"                        \"different authentication domains.\")"},{"line_number":658,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"140ea9df_8bc2c43e","line":655,"range":{"start_line":655,"start_character":15,"end_line":655,"end_character":29},"in_reply_to":"6586249e_898adf2b","updated":"2022-11-23 07:59:21.000000000","message":"ok, updated the condition to return error is child(ss) contains more security services compared to parent_ss.","commit_id":"975d7a699c99023bc8d3a62b7aac8ff69d186a0b"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"a2a3900b5e9846cf74b39840b2faca9ff7ed1f58","unresolved":true,"context_lines":[{"line_number":652,"context_line":"                    context, share_network_id))"},{"line_number":653,"context_line":"            parent_ss \u003d set([s[\u0027id\u0027] for s in parent_security_services])"},{"line_number":654,"context_line":"            ss \u003d set([s[\u0027id\u0027] for s in security_services])"},{"line_number":655,"context_line":"            if ss - parent_ss:"},{"line_number":656,"context_line":"                msg \u003d _(\"Share and its replica can\u0027t be in \""},{"line_number":657,"context_line":"                        \"different authentication domains.\")"},{"line_number":658,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3dd42a87_7343dd8a","line":655,"range":{"start_line":655,"start_character":14,"end_line":655,"end_character":29},"updated":"2022-11-24 01:28:25.000000000","message":"I think that is not the case. What you want to avoid more and less. so, child must have the same ss as the parent. Is that the desired behavior ?\n\nYour previous solution had the possibility for \"ss\" to be superset (as goutham mentioned), but the current one has the possibility for \"parent_ss\" to be superset.\n\nThe correct solution would be:\n\nif (ss - parent_ss) or (parent_ss - ss):\n\nOr simpler:\n\nif ss !\u003d parent_ss:","commit_id":"e856aae0ea681c33ecfcc6bc09b943f7d08b0fbb"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"d49b56fcccd3924fd16981833cb5057e64d2e4f7","unresolved":false,"context_lines":[{"line_number":652,"context_line":"                    context, share_network_id))"},{"line_number":653,"context_line":"            parent_ss \u003d set([s[\u0027id\u0027] for s in parent_security_services])"},{"line_number":654,"context_line":"            ss \u003d set([s[\u0027id\u0027] for s in security_services])"},{"line_number":655,"context_line":"            if ss - parent_ss:"},{"line_number":656,"context_line":"                msg \u003d _(\"Share and its replica can\u0027t be in \""},{"line_number":657,"context_line":"                        \"different authentication domains.\")"},{"line_number":658,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":5,"id":"e1a77443_4d0c2711","line":655,"range":{"start_line":655,"start_character":14,"end_line":655,"end_character":29},"in_reply_to":"3dd42a87_7343dd8a","updated":"2022-11-24 10:42:26.000000000","message":"Done","commit_id":"e856aae0ea681c33ecfcc6bc09b943f7d08b0fbb"}]}
