)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"ffee2762a8de156f5305a4d21efffefcd3d34e7c","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Eduardo Santos \u003ceduardo.experimental@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-02-11 23:38:25 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP Add security service update support to the container driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This implementation adds the functionality to add/update security services"},{"line_number":10,"context_line":"to in use share networks using the container driver. The container driver will"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bbde7730_ac4accdc","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"updated":"2021-02-12 00:38:03.000000000","message":"Remove","commit_id":"fc54b180e2d695d4fa9dc60ac958c887363335c6"}],"manila/share/drivers/container/driver.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e306439b9770762476fe8b5fe17fb8a46055ce1f","unresolved":true,"context_lines":[{"line_number":607,"context_line":"        else:"},{"line_number":608,"context_line":"            # NOTE(carloss): We only support updating user and password at"},{"line_number":609,"context_line":"            # the moment"},{"line_number":610,"context_line":"            updatable_fields \u003d [\u0027user\u0027, \u0027password\u0027]"},{"line_number":611,"context_line":"            different_keys \u003d self._get_different_security_service_keys("},{"line_number":612,"context_line":"                current_security_service, new_security_service)"},{"line_number":613,"context_line":"            for key in different_keys:"},{"line_number":614,"context_line":"                if key not in updatable_fields:"},{"line_number":615,"context_line":"                    raise exception.ManilaException(_("},{"line_number":616,"context_line":"                        \"The Container driver does not support updating \""},{"line_number":617,"context_line":"                        \"security service parameters other than \u0027user\u0027 and \""},{"line_number":618,"context_line":"                        \"\u0027password\u0027.\"))"},{"line_number":619,"context_line":"            self.security_service_helper.update_security_service("},{"line_number":620,"context_line":"                server_id, current_security_service, new_security_service)"},{"line_number":621,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"2c406fc6_fcdbc462","line":618,"range":{"start_line":610,"start_character":12,"end_line":618,"end_character":39},"updated":"2021-02-11 00:55:11.000000000","message":"Could possibly be reused","commit_id":"0f5d872c716c8b6a85777f798f15094e08284624"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"848b158d789ca686ce513e44a60e10cc49fd5a02","unresolved":false,"context_lines":[{"line_number":607,"context_line":"        else:"},{"line_number":608,"context_line":"            # NOTE(carloss): We only support updating user and password at"},{"line_number":609,"context_line":"            # the moment"},{"line_number":610,"context_line":"            updatable_fields \u003d [\u0027user\u0027, \u0027password\u0027]"},{"line_number":611,"context_line":"            different_keys \u003d self._get_different_security_service_keys("},{"line_number":612,"context_line":"                current_security_service, new_security_service)"},{"line_number":613,"context_line":"            for key in different_keys:"},{"line_number":614,"context_line":"                if key not in updatable_fields:"},{"line_number":615,"context_line":"                    raise exception.ManilaException(_("},{"line_number":616,"context_line":"                        \"The Container driver does not support updating \""},{"line_number":617,"context_line":"                        \"security service parameters other than \u0027user\u0027 and \""},{"line_number":618,"context_line":"                        \"\u0027password\u0027.\"))"},{"line_number":619,"context_line":"            self.security_service_helper.update_security_service("},{"line_number":620,"context_line":"                server_id, current_security_service, new_security_service)"},{"line_number":621,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"db0be0f1_7000fee2","line":618,"range":{"start_line":610,"start_character":12,"end_line":618,"end_character":39},"in_reply_to":"2c406fc6_fcdbc462","updated":"2021-02-11 14:03:34.000000000","message":"Done","commit_id":"0f5d872c716c8b6a85777f798f15094e08284624"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"ffee2762a8de156f5305a4d21efffefcd3d34e7c","unresolved":true,"context_lines":[{"line_number":306,"context_line":"                                            e)"},{"line_number":307,"context_line":"        security_services \u003d network_info.get(\u0027security_services\u0027)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        if security_services:"},{"line_number":310,"context_line":"            # NOTE(ecsantos): The sleep is needed because slapd needs a little"},{"line_number":311,"context_line":"            # time to actually start inside the container, if we call it right"},{"line_number":312,"context_line":"            # after creating the container it will complain about being unable"},{"line_number":313,"context_line":"            # to reach the LDAP server"},{"line_number":314,"context_line":"            time.sleep(10)"},{"line_number":315,"context_line":"            self.setup_security_services(server_id, security_services)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        veths_after \u003d self._get_veth_state()"},{"line_number":318,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"a82f0546_32c2a714","line":315,"range":{"start_line":309,"start_character":0,"end_line":315,"end_character":70},"updated":"2021-02-12 00:38:03.000000000","message":"It might not be the ldap itself, but all services together, since you just started the container.\nAn alternative is to create a helper function that checks when the service is up, which also might have a timeout.\nYou could executed something like\n\"grep -w \u0027389/tcp\u0027 /etc/services\" inside the container and see if there is an answer. If not, you could sleep for 1 second and try again, until you reach the timeout.\nJust an idea, might be different ones, what do you think?","commit_id":"fc54b180e2d695d4fa9dc60ac958c887363335c6"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"18d45cda94feba3b63d8d6fa9197fa12cccd9641","unresolved":true,"context_lines":[{"line_number":603,"context_line":"                return False"},{"line_number":604,"context_line":"        return True"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"    def update_share_server_security_service(self, context, share_server,"},{"line_number":607,"context_line":"                                             network_info,"},{"line_number":608,"context_line":"                                             new_security_service,"},{"line_number":609,"context_line":"                                             current_security_service\u003dNone):"},{"line_number":610,"context_line":"        \"\"\"Is called to update or add a sec service to a share server.\"\"\""},{"line_number":611,"context_line":""},{"line_number":612,"context_line":"        if not self.check_update_share_server_security_service("}],"source_content_type":"text/x-python","patch_set":4,"id":"5841a62a_635e9c77","line":609,"range":{"start_line":606,"start_character":4,"end_line":609,"end_character":76},"updated":"2021-02-15 15:19:08.000000000","message":"This and the below method must be changed to be compliant with the interface updates done in the [1] change.\n\n[1] https://review.opendev.org/c/openstack/manila/+/774728","commit_id":"b0c2c7f2de06b006c96900131a803ae4063a9ae1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"951604cef18fa3a754d533d6c87e50774cee0d48","unresolved":true,"context_lines":[{"line_number":79,"context_line":"               default\u003d\"/tmp/shares\","},{"line_number":80,"context_line":"               help\u003d\"Folder name in host to which logical volume will be \""},{"line_number":81,"context_line":"                    \"mounted prior to providing access to it from a \""},{"line_number":82,"context_line":"                    \"container.\"),"},{"line_number":83,"context_line":"    cfg.IntOpt(\"security_service_timeout\","},{"line_number":84,"context_line":"               default\u003d60,"},{"line_number":85,"context_line":"               help\u003d\"Security service timeout in seconds below which the \""},{"line_number":86,"context_line":"                    \"driver must reach the security service server or else \""},{"line_number":87,"context_line":"                    \"it will raise an exception.\"),"},{"line_number":88,"context_line":"]"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"adc00b31_ac82176a","line":87,"range":{"start_line":82,"start_character":34,"end_line":87,"end_character":51},"updated":"2021-03-12 01:42:16.000000000","message":"this feels like a nerd knob; can we just retry internally for a deterministic time rather than expose this up as an option?","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":79,"context_line":"               default\u003d\"/tmp/shares\","},{"line_number":80,"context_line":"               help\u003d\"Folder name in host to which logical volume will be \""},{"line_number":81,"context_line":"                    \"mounted prior to providing access to it from a \""},{"line_number":82,"context_line":"                    \"container.\"),"},{"line_number":83,"context_line":"    cfg.IntOpt(\"security_service_timeout\","},{"line_number":84,"context_line":"               default\u003d60,"},{"line_number":85,"context_line":"               help\u003d\"Security service timeout in seconds below which the \""},{"line_number":86,"context_line":"                    \"driver must reach the security service server or else \""},{"line_number":87,"context_line":"                    \"it will raise an exception.\"),"},{"line_number":88,"context_line":"]"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7fce4b91_a2097d54","line":87,"range":{"start_line":82,"start_character":34,"end_line":87,"end_character":51},"in_reply_to":"97ed7383_17812191","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"a3d6e33afad6a4e025433e24f64623ced7404c7c","unresolved":true,"context_lines":[{"line_number":79,"context_line":"               default\u003d\"/tmp/shares\","},{"line_number":80,"context_line":"               help\u003d\"Folder name in host to which logical volume will be \""},{"line_number":81,"context_line":"                    \"mounted prior to providing access to it from a \""},{"line_number":82,"context_line":"                    \"container.\"),"},{"line_number":83,"context_line":"    cfg.IntOpt(\"security_service_timeout\","},{"line_number":84,"context_line":"               default\u003d60,"},{"line_number":85,"context_line":"               help\u003d\"Security service timeout in seconds below which the \""},{"line_number":86,"context_line":"                    \"driver must reach the security service server or else \""},{"line_number":87,"context_line":"                    \"it will raise an exception.\"),"},{"line_number":88,"context_line":"]"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"97ed7383_17812191","line":87,"range":{"start_line":82,"start_character":34,"end_line":87,"end_character":51},"in_reply_to":"adc00b31_ac82176a","updated":"2021-03-12 20:40:00.000000000","message":"+1","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"951604cef18fa3a754d533d6c87e50774cee0d48","unresolved":true,"context_lines":[{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        for security_service in security_services:"},{"line_number":576,"context_line":"            if security_service[\u0027type\u0027].lower() !\u003d \u0027ldap\u0027:"},{"line_number":577,"context_line":"                raise exception.ManilaException(_("},{"line_number":578,"context_line":"                    \"The container driver does not support security services \""},{"line_number":579,"context_line":"                    \"other than LDAP.\"))"},{"line_number":580,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"246a6828_c31b4291","line":577,"range":{"start_line":577,"start_character":32,"end_line":577,"end_character":47},"updated":"2021-03-12 01:42:16.000000000","message":"ShareBackendException","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        for security_service in security_services:"},{"line_number":576,"context_line":"            if security_service[\u0027type\u0027].lower() !\u003d \u0027ldap\u0027:"},{"line_number":577,"context_line":"                raise exception.ManilaException(_("},{"line_number":578,"context_line":"                    \"The container driver does not support security services \""},{"line_number":579,"context_line":"                    \"other than LDAP.\"))"},{"line_number":580,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"21d114fe_17ff88a9","line":577,"range":{"start_line":577,"start_character":32,"end_line":577,"end_character":47},"in_reply_to":"246a6828_c31b4291","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"2199ba6293a76a47b6e3dd5b9541c1b371b17824","unresolved":true,"context_lines":[{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        if new_type !\u003d \u0027ldap\u0027 or (current_type and current_type !\u003d \u0027ldap\u0027):"},{"line_number":648,"context_line":"            LOG.error(\u0027The container driver currently does not support \u0027"},{"line_number":649,"context_line":"                      \u0027updating or adding LDAP security services.\u0027)"},{"line_number":650,"context_line":"            return False"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        if not current_type:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3e47afdc_fef7fcd4","line":649,"updated":"2021-03-08 22:49:33.000000000","message":"To my ear this sounds like you are saying the opposite of what you mean.  Currently only LDAP security services are supported for the container driver.  I think the error message should just say that :D","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"a3d6e33afad6a4e025433e24f64623ced7404c7c","unresolved":true,"context_lines":[{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        if new_type !\u003d \u0027ldap\u0027 or (current_type and current_type !\u003d \u0027ldap\u0027):"},{"line_number":648,"context_line":"            LOG.error(\u0027The container driver currently does not support \u0027"},{"line_number":649,"context_line":"                      \u0027updating or adding LDAP security services.\u0027)"},{"line_number":650,"context_line":"            return False"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        if not current_type:"}],"source_content_type":"text/x-python","patch_set":5,"id":"225c6353_b4c6a323","line":649,"in_reply_to":"1141cac9_ee824c38","updated":"2021-03-12 20:40:00.000000000","message":"+1","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        if new_type !\u003d \u0027ldap\u0027 or (current_type and current_type !\u003d \u0027ldap\u0027):"},{"line_number":648,"context_line":"            LOG.error(\u0027The container driver currently does not support \u0027"},{"line_number":649,"context_line":"                      \u0027updating or adding LDAP security services.\u0027)"},{"line_number":650,"context_line":"            return False"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        if not current_type:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5ddc6fe2_c9fd3319","line":649,"in_reply_to":"1141cac9_ee824c38","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"951604cef18fa3a754d533d6c87e50774cee0d48","unresolved":true,"context_lines":[{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        if new_type !\u003d \u0027ldap\u0027 or (current_type and current_type !\u003d \u0027ldap\u0027):"},{"line_number":648,"context_line":"            LOG.error(\u0027The container driver currently does not support \u0027"},{"line_number":649,"context_line":"                      \u0027updating or adding LDAP security services.\u0027)"},{"line_number":650,"context_line":"            return False"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"        if not current_type:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1141cac9_ee824c38","line":649,"in_reply_to":"3e47afdc_fef7fcd4","updated":"2021-03-12 01:42:16.000000000","message":"+1","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"}],"manila/share/drivers/container/security_service_helper.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e306439b9770762476fe8b5fe17fb8a46055ce1f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2016 Mirantis, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"363cf437_175ddcba","line":1,"range":{"start_line":1,"start_character":18,"end_line":1,"end_character":35},"updated":"2021-02-11 00:55:11.000000000","message":"2021 NetApp, Inc.","commit_id":"0f5d872c716c8b6a85777f798f15094e08284624"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"848b158d789ca686ce513e44a60e10cc49fd5a02","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2016 Mirantis, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"2abeb94a_59d96697","line":1,"range":{"start_line":1,"start_character":18,"end_line":1,"end_character":35},"in_reply_to":"363cf437_175ddcba","updated":"2021-02-11 14:03:34.000000000","message":"Done","commit_id":"0f5d872c716c8b6a85777f798f15094e08284624"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e306439b9770762476fe8b5fe17fb8a46055ce1f","unresolved":true,"context_lines":[{"line_number":47,"context_line":"            out, err \u003d self._execute(*cmd, check_exit_code\u003d[0, 49],"},{"line_number":48,"context_line":"                                     run_as_root\u003dTrue)"},{"line_number":49,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            LOG.error(\u0027Cmd     :%s\u0027, e.cmd)"},{"line_number":51,"context_line":"            LOG.error(\u0027StdOut  :%s\u0027, e.stdout)"},{"line_number":52,"context_line":"            LOG.error(\u0027StdErr  :%s\u0027, e.stderr)"},{"line_number":53,"context_line":"            if e.exit_code \u003d\u003d 49:"},{"line_number":54,"context_line":"                raise exception.ManilaException(_(\"Failed LDAP bind. \""},{"line_number":55,"context_line":"                                                  \"Incorrect credentials.\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3284050d_9e5cf4b5","line":52,"range":{"start_line":50,"start_character":12,"end_line":52,"end_character":46},"updated":"2021-02-11 00:55:11.000000000","message":"this debugging messages could be removed","commit_id":"0f5d872c716c8b6a85777f798f15094e08284624"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"848b158d789ca686ce513e44a60e10cc49fd5a02","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            out, err \u003d self._execute(*cmd, check_exit_code\u003d[0, 49],"},{"line_number":48,"context_line":"                                     run_as_root\u003dTrue)"},{"line_number":49,"context_line":"        except exception.ProcessExecutionError as e:"},{"line_number":50,"context_line":"            LOG.error(\u0027Cmd     :%s\u0027, e.cmd)"},{"line_number":51,"context_line":"            LOG.error(\u0027StdOut  :%s\u0027, e.stdout)"},{"line_number":52,"context_line":"            LOG.error(\u0027StdErr  :%s\u0027, e.stderr)"},{"line_number":53,"context_line":"            if e.exit_code \u003d\u003d 49:"},{"line_number":54,"context_line":"                raise exception.ManilaException(_(\"Failed LDAP bind. \""},{"line_number":55,"context_line":"                                                  \"Incorrect credentials.\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"d738bb15_4665bb77","line":52,"range":{"start_line":50,"start_character":12,"end_line":52,"end_character":46},"in_reply_to":"3284050d_9e5cf4b5","updated":"2021-02-11 14:03:34.000000000","message":"Done","commit_id":"0f5d872c716c8b6a85777f798f15094e08284624"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e306439b9770762476fe8b5fe17fb8a46055ce1f","unresolved":true,"context_lines":[{"line_number":50,"context_line":"            LOG.error(\u0027Cmd     :%s\u0027, e.cmd)"},{"line_number":51,"context_line":"            LOG.error(\u0027StdOut  :%s\u0027, e.stdout)"},{"line_number":52,"context_line":"            LOG.error(\u0027StdErr  :%s\u0027, e.stderr)"},{"line_number":53,"context_line":"            if e.exit_code \u003d\u003d 49:"},{"line_number":54,"context_line":"                raise exception.ManilaException(_(\"Failed LDAP bind. \""},{"line_number":55,"context_line":"                                                  \"Incorrect credentials.\"))"},{"line_number":56,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1627dbd5_0990f726","line":53,"range":{"start_line":53,"start_character":30,"end_line":53,"end_character":32},"updated":"2021-02-11 00:55:11.000000000","message":"this could become a variable with a suggestive name on what this \u002749\u0027 code means, to possibly make the code a bit easier to read.","commit_id":"0f5d872c716c8b6a85777f798f15094e08284624"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"848b158d789ca686ce513e44a60e10cc49fd5a02","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            LOG.error(\u0027Cmd     :%s\u0027, e.cmd)"},{"line_number":51,"context_line":"            LOG.error(\u0027StdOut  :%s\u0027, e.stdout)"},{"line_number":52,"context_line":"            LOG.error(\u0027StdErr  :%s\u0027, e.stderr)"},{"line_number":53,"context_line":"            if e.exit_code \u003d\u003d 49:"},{"line_number":54,"context_line":"                raise exception.ManilaException(_(\"Failed LDAP bind. \""},{"line_number":55,"context_line":"                                                  \"Incorrect credentials.\"))"},{"line_number":56,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"cf8b1e21_0a47909a","line":53,"range":{"start_line":53,"start_character":30,"end_line":53,"end_character":32},"in_reply_to":"1627dbd5_0990f726","updated":"2021-02-11 14:03:34.000000000","message":"Done","commit_id":"0f5d872c716c8b6a85777f798f15094e08284624"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"951604cef18fa3a754d533d6c87e50774cee0d48","unresolved":true,"context_lines":[{"line_number":39,"context_line":"            \u0027service\u0027: security_service[\u0027id\u0027],"},{"line_number":40,"context_line":"            \u0027server_id\u0027: share_server_id"},{"line_number":41,"context_line":"        }"},{"line_number":42,"context_line":"        LOG.info(msg, msg_args)"},{"line_number":43,"context_line":"        self.ldap_bind(share_server_id, security_service)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def update_security_service(self, server_id, current_security_service,"}],"source_content_type":"text/x-python","patch_set":5,"id":"85bf3578_4136fb83","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":31},"updated":"2021-03-12 01:42:16.000000000","message":"info can be used sparingly after an action. Set this to debug..","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            \u0027service\u0027: security_service[\u0027id\u0027],"},{"line_number":40,"context_line":"            \u0027server_id\u0027: share_server_id"},{"line_number":41,"context_line":"        }"},{"line_number":42,"context_line":"        LOG.info(msg, msg_args)"},{"line_number":43,"context_line":"        self.ldap_bind(share_server_id, security_service)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def update_security_service(self, server_id, current_security_service,"}],"source_content_type":"text/x-python","patch_set":5,"id":"26155ced_75d397f7","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":31},"in_reply_to":"85bf3578_4136fb83","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"951604cef18fa3a754d533d6c87e50774cee0d48","unresolved":true,"context_lines":[{"line_number":50,"context_line":"            \u0027service\u0027: new_security_service[\u0027id\u0027],"},{"line_number":51,"context_line":"            \u0027server_id\u0027: server_id"},{"line_number":52,"context_line":"        }"},{"line_number":53,"context_line":"        LOG.info(msg, msg_args)"},{"line_number":54,"context_line":"        self.ldap_bind(server_id, new_security_service)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def ldap_bind(self, share_server_id, security_service):"}],"source_content_type":"text/x-python","patch_set":5,"id":"b812a512_a0df3c79","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":16},"updated":"2021-03-12 01:42:16.000000000","message":"info can be used sparingly after an action. Set this to debug..","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            \u0027service\u0027: new_security_service[\u0027id\u0027],"},{"line_number":51,"context_line":"            \u0027server_id\u0027: server_id"},{"line_number":52,"context_line":"        }"},{"line_number":53,"context_line":"        LOG.info(msg, msg_args)"},{"line_number":54,"context_line":"        self.ldap_bind(server_id, new_security_service)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def ldap_bind(self, share_server_id, security_service):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df999836_f08f98a7","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":16},"in_reply_to":"b812a512_a0df3c79","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"951604cef18fa3a754d533d6c87e50774cee0d48","unresolved":true,"context_lines":[{"line_number":64,"context_line":"            raise exception.ManilaException(_(\"Failed LDAP bind. \""},{"line_number":65,"context_line":"                                              \"Invalid credentials.\"))"},{"line_number":66,"context_line":"        elif exit_code !\u003d 0:"},{"line_number":67,"context_line":"            raise exception.ManilaException(_(\"Failed LDAP bind. Unknown \""},{"line_number":68,"context_line":"                                              \"reason. LDAP server could \""},{"line_number":69,"context_line":"                                              \"be offline.\"))"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ae404601_cf566297","line":67,"range":{"start_line":67,"start_character":28,"end_line":67,"end_character":43},"updated":"2021-03-12 01:42:16.000000000","message":"ShareBackendException\n\nshouldn\u0027t be using ManilaException - we don\u0027t do a good job handling specific exceptions in the share manager, but, that\u0027s one of the reasons why we want to have separate exception classes.","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            raise exception.ManilaException(_(\"Failed LDAP bind. \""},{"line_number":65,"context_line":"                                              \"Invalid credentials.\"))"},{"line_number":66,"context_line":"        elif exit_code !\u003d 0:"},{"line_number":67,"context_line":"            raise exception.ManilaException(_(\"Failed LDAP bind. Unknown \""},{"line_number":68,"context_line":"                                              \"reason. LDAP server could \""},{"line_number":69,"context_line":"                                              \"be offline.\"))"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ff274a5c_a36c8931","line":67,"range":{"start_line":67,"start_character":28,"end_line":67,"end_character":43},"in_reply_to":"ae404601_cf566297","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"951604cef18fa3a754d533d6c87e50774cee0d48","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            ss_user \u003d security_service[\"user\"]"},{"line_number":74,"context_line":"            ss_password \u003d security_service[\"password\"]"},{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            raise exception.ManilaException(_(\"LDAP requires user and \""},{"line_number":77,"context_line":"                                              \"password to be set for \""},{"line_number":78,"context_line":"                                              \"the bind operation.\"))"},{"line_number":79,"context_line":"        ss_info \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"68bfddd3_19862b9d","line":76,"range":{"start_line":76,"start_character":28,"end_line":76,"end_character":43},"updated":"2021-03-12 01:42:16.000000000","message":"ShareBackendException","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            ss_user \u003d security_service[\"user\"]"},{"line_number":74,"context_line":"            ss_password \u003d security_service[\"password\"]"},{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            raise exception.ManilaException(_(\"LDAP requires user and \""},{"line_number":77,"context_line":"                                              \"password to be set for \""},{"line_number":78,"context_line":"                                              \"the bind operation.\"))"},{"line_number":79,"context_line":"        ss_info \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"ea980a59_4296bdfe","line":76,"range":{"start_line":76,"start_character":28,"end_line":76,"end_character":43},"in_reply_to":"68bfddd3_19862b9d","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"a3d6e33afad6a4e025433e24f64623ced7404c7c","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        t \u003d time.time()"},{"line_number":87,"context_line":"        while (time.time() - t \u003c self.configuration.security_service_timeout):"},{"line_number":88,"context_line":"            try:"},{"line_number":89,"context_line":"                out, err \u003d self._execute(*cmd, run_as_root\u003dTrue)"},{"line_number":90,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":91,"context_line":"                time.sleep(1)"},{"line_number":92,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"50a2ed62_bcf304d0","line":89,"range":{"start_line":89,"start_character":16,"end_line":89,"end_character":24},"updated":"2021-03-12 20:40:00.000000000","message":"it seems that your are not using this.","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        t \u003d time.time()"},{"line_number":87,"context_line":"        while (time.time() - t \u003c self.configuration.security_service_timeout):"},{"line_number":88,"context_line":"            try:"},{"line_number":89,"context_line":"                out, err \u003d self._execute(*cmd, run_as_root\u003dTrue)"},{"line_number":90,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":91,"context_line":"                time.sleep(1)"},{"line_number":92,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"77f926fb_2caf5dde","line":89,"range":{"start_line":89,"start_character":16,"end_line":89,"end_character":24},"in_reply_to":"50a2ed62_bcf304d0","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"a3d6e33afad6a4e025433e24f64623ced7404c7c","unresolved":true,"context_lines":[{"line_number":85,"context_line":"    def wait_for_security_service(self, cmd):"},{"line_number":86,"context_line":"        t \u003d time.time()"},{"line_number":87,"context_line":"        while (time.time() - t \u003c self.configuration.security_service_timeout):"},{"line_number":88,"context_line":"            try:"},{"line_number":89,"context_line":"                out, err \u003d self._execute(*cmd, run_as_root\u003dTrue)"},{"line_number":90,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":91,"context_line":"                time.sleep(1)"},{"line_number":92,"context_line":"            else:"},{"line_number":93,"context_line":"                exit_code \u003d 0"}],"source_content_type":"text/x-python","patch_set":5,"id":"571e9169_d48010a6","line":90,"range":{"start_line":88,"start_character":11,"end_line":90,"end_character":51},"updated":"2021-03-12 20:40:00.000000000","message":"Acording with the docs[1], you should get the exit_code from ProcessExecutionError.\nHere, you can check if the exit_code is INVALID_CREDENTIALS_EXIT_CODE and abort the retry operation, since the credentilas aren\u0027t correct.\nYou should also log the stderr in the log messages.\n\n[1] https://docs.openstack.org/oslo.concurrency/victoria/reference/processutils.html#oslo_concurrency.processutils","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    def wait_for_security_service(self, cmd):"},{"line_number":86,"context_line":"        t \u003d time.time()"},{"line_number":87,"context_line":"        while (time.time() - t \u003c self.configuration.security_service_timeout):"},{"line_number":88,"context_line":"            try:"},{"line_number":89,"context_line":"                out, err \u003d self._execute(*cmd, run_as_root\u003dTrue)"},{"line_number":90,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":91,"context_line":"                time.sleep(1)"},{"line_number":92,"context_line":"            else:"},{"line_number":93,"context_line":"                exit_code \u003d 0"}],"source_content_type":"text/x-python","patch_set":5,"id":"603884ca_bbf1d236","line":90,"range":{"start_line":88,"start_character":11,"end_line":90,"end_character":51},"in_reply_to":"571e9169_d48010a6","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"951604cef18fa3a754d533d6c87e50774cee0d48","unresolved":true,"context_lines":[{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":"        return ss_info"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def wait_for_security_service(self, cmd):"},{"line_number":86,"context_line":"        t \u003d time.time()"},{"line_number":87,"context_line":"        while (time.time() - t \u003c self.configuration.security_service_timeout):"},{"line_number":88,"context_line":"            try:"},{"line_number":89,"context_line":"                out, err \u003d self._execute(*cmd, run_as_root\u003dTrue)"},{"line_number":90,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":91,"context_line":"                time.sleep(1)"},{"line_number":92,"context_line":"            else:"},{"line_number":93,"context_line":"                exit_code \u003d 0"},{"line_number":94,"context_line":"                break"},{"line_number":95,"context_line":"        else:"},{"line_number":96,"context_line":"            msg \u003d _(\"Security service server timed out after %s seconds.\" %"},{"line_number":97,"context_line":"                    self.configuration.security_service_timeout)"},{"line_number":98,"context_line":"            raise exception.ManilaException(msg)"},{"line_number":99,"context_line":"        return exit_code"}],"source_content_type":"text/x-python","patch_set":5,"id":"394d2175_000cb43a","line":99,"range":{"start_line":85,"start_character":4,"end_line":99,"end_character":24},"updated":"2021-03-12 01:42:16.000000000","message":"Couldn\u0027t we reuse the retry decorator from manila/utils.py","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"a3d6e33afad6a4e025433e24f64623ced7404c7c","unresolved":true,"context_lines":[{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":"        return ss_info"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def wait_for_security_service(self, cmd):"},{"line_number":86,"context_line":"        t \u003d time.time()"},{"line_number":87,"context_line":"        while (time.time() - t \u003c self.configuration.security_service_timeout):"},{"line_number":88,"context_line":"            try:"},{"line_number":89,"context_line":"                out, err \u003d self._execute(*cmd, run_as_root\u003dTrue)"},{"line_number":90,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":91,"context_line":"                time.sleep(1)"},{"line_number":92,"context_line":"            else:"},{"line_number":93,"context_line":"                exit_code \u003d 0"},{"line_number":94,"context_line":"                break"},{"line_number":95,"context_line":"        else:"},{"line_number":96,"context_line":"            msg \u003d _(\"Security service server timed out after %s seconds.\" %"},{"line_number":97,"context_line":"                    self.configuration.security_service_timeout)"},{"line_number":98,"context_line":"            raise exception.ManilaException(msg)"},{"line_number":99,"context_line":"        return exit_code"}],"source_content_type":"text/x-python","patch_set":5,"id":"66abf490_aa65a3d9","line":99,"range":{"start_line":85,"start_character":4,"end_line":99,"end_character":24},"in_reply_to":"394d2175_000cb43a","updated":"2021-03-12 20:40:00.000000000","message":"+1","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        }"},{"line_number":83,"context_line":"        return ss_info"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def wait_for_security_service(self, cmd):"},{"line_number":86,"context_line":"        t \u003d time.time()"},{"line_number":87,"context_line":"        while (time.time() - t \u003c self.configuration.security_service_timeout):"},{"line_number":88,"context_line":"            try:"},{"line_number":89,"context_line":"                out, err \u003d self._execute(*cmd, run_as_root\u003dTrue)"},{"line_number":90,"context_line":"            except exception.ProcessExecutionError:"},{"line_number":91,"context_line":"                time.sleep(1)"},{"line_number":92,"context_line":"            else:"},{"line_number":93,"context_line":"                exit_code \u003d 0"},{"line_number":94,"context_line":"                break"},{"line_number":95,"context_line":"        else:"},{"line_number":96,"context_line":"            msg \u003d _(\"Security service server timed out after %s seconds.\" %"},{"line_number":97,"context_line":"                    self.configuration.security_service_timeout)"},{"line_number":98,"context_line":"            raise exception.ManilaException(msg)"},{"line_number":99,"context_line":"        return exit_code"}],"source_content_type":"text/x-python","patch_set":5,"id":"b1a2ff82_7c0a250e","line":99,"range":{"start_line":85,"start_character":4,"end_line":99,"end_character":24},"in_reply_to":"394d2175_000cb43a","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"}],"releasenotes/notes/add-and-update-security-services-to-in-use-share-servers-on-container-driver-52193447c18e6d10.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"951604cef18fa3a754d533d6c87e50774cee0d48","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The Container Driver is now able to handle LDAP security services"},{"line_number":5,"context_line":"    configuration while setting up share servers. Also, the Container Driver"},{"line_number":6,"context_line":"    can hold adding or updating ``LDAP`` security services to in use share"},{"line_number":7,"context_line":"    networks."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"e8dcd10d_b2ee64ae","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":12},"updated":"2021-03-12 01:42:16.000000000","message":"allows","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"dd3afbc87e4b2b648392954728b195e1d427f442","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The Container Driver is now able to handle LDAP security services"},{"line_number":5,"context_line":"    configuration while setting up share servers. Also, the Container Driver"},{"line_number":6,"context_line":"    can hold adding or updating ``LDAP`` security services to in use share"},{"line_number":7,"context_line":"    networks."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"09e70bcb_3aae10cd","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":12},"in_reply_to":"e8dcd10d_b2ee64ae","updated":"2021-03-12 21:20:38.000000000","message":"Done","commit_id":"25bb375dd256be053f573457911e1a0d2fb7169d"}]}
