)]}'
{"manila/api/openstack/api_version_request.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4b579f67458dfa4c6f53a038ccfaf59e7a22dff1","unresolved":true,"context_lines":[{"line_number":164,"context_line":"             provisioning:min_share_size extra specs,"},{"line_number":165,"context_line":"             which can add minimum and maximum share size restrictions"},{"line_number":166,"context_line":"             on a per share-type granularity."},{"line_number":167,"context_line":"    * 2.62 - Changed the \"share_network_security_service_add\" to allow the"},{"line_number":168,"context_line":"             addition of a new security service, even when the share network"},{"line_number":169,"context_line":"             is in use. Also, added share network operations:"},{"line_number":170,"context_line":"             \u0027share_network_security_service_update\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"5b48a553_50de851d","line":167,"range":{"start_line":167,"start_character":26,"end_line":167,"end_character":60},"updated":"2021-03-11 19:58:04.000000000","message":"This is a method name, calling out the API makes more sense here. \n\n Changed the \"add_security_service\" action on the share-networks endpoint to ..","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":164,"context_line":"             provisioning:min_share_size extra specs,"},{"line_number":165,"context_line":"             which can add minimum and maximum share size restrictions"},{"line_number":166,"context_line":"             on a per share-type granularity."},{"line_number":167,"context_line":"    * 2.62 - Changed the \"share_network_security_service_add\" to allow the"},{"line_number":168,"context_line":"             addition of a new security service, even when the share network"},{"line_number":169,"context_line":"             is in use. Also, added share network operations:"},{"line_number":170,"context_line":"             \u0027share_network_security_service_update\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"887601ab_e49fc27a","line":167,"range":{"start_line":167,"start_character":26,"end_line":167,"end_character":60},"in_reply_to":"5b48a553_50de851d","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4b579f67458dfa4c6f53a038ccfaf59e7a22dff1","unresolved":true,"context_lines":[{"line_number":166,"context_line":"             on a per share-type granularity."},{"line_number":167,"context_line":"    * 2.62 - Changed the \"share_network_security_service_add\" to allow the"},{"line_number":168,"context_line":"             addition of a new security service, even when the share network"},{"line_number":169,"context_line":"             is in use. Also, added share network operations:"},{"line_number":170,"context_line":"             \u0027share_network_security_service_update\u0027"},{"line_number":171,"context_line":"             \u0027share_network_reset_state\u0027"},{"line_number":172,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"5872dac1_a20146d1","line":169,"range":{"start_line":169,"start_character":36,"end_line":169,"end_character":60},"updated":"2021-03-11 19:58:04.000000000","message":"new actions on the share-networks endpoint","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":166,"context_line":"             on a per share-type granularity."},{"line_number":167,"context_line":"    * 2.62 - Changed the \"share_network_security_service_add\" to allow the"},{"line_number":168,"context_line":"             addition of a new security service, even when the share network"},{"line_number":169,"context_line":"             is in use. Also, added share network operations:"},{"line_number":170,"context_line":"             \u0027share_network_security_service_update\u0027"},{"line_number":171,"context_line":"             \u0027share_network_reset_state\u0027"},{"line_number":172,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"e388bb9d_750928dd","line":169,"range":{"start_line":169,"start_character":36,"end_line":169,"end_character":60},"in_reply_to":"5872dac1_a20146d1","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4b579f67458dfa4c6f53a038ccfaf59e7a22dff1","unresolved":true,"context_lines":[{"line_number":167,"context_line":"    * 2.62 - Changed the \"share_network_security_service_add\" to allow the"},{"line_number":168,"context_line":"             addition of a new security service, even when the share network"},{"line_number":169,"context_line":"             is in use. Also, added share network operations:"},{"line_number":170,"context_line":"             \u0027share_network_security_service_update\u0027"},{"line_number":171,"context_line":"             \u0027share_network_reset_state\u0027"},{"line_number":172,"context_line":"\"\"\""},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":10,"id":"2b320d67_8e31cb96","line":171,"range":{"start_line":170,"start_character":13,"end_line":171,"end_character":40},"updated":"2021-03-11 19:58:04.000000000","message":"call out the actual action names","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":167,"context_line":"    * 2.62 - Changed the \"share_network_security_service_add\" to allow the"},{"line_number":168,"context_line":"             addition of a new security service, even when the share network"},{"line_number":169,"context_line":"             is in use. Also, added share network operations:"},{"line_number":170,"context_line":"             \u0027share_network_security_service_update\u0027"},{"line_number":171,"context_line":"             \u0027share_network_reset_state\u0027"},{"line_number":172,"context_line":"\"\"\""},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":10,"id":"2201b284_0d0e892d","line":171,"range":{"start_line":170,"start_character":13,"end_line":171,"end_character":40},"in_reply_to":"2b320d67_8e31cb96","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}],"manila/api/openstack/rest_api_version_history.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4b579f67458dfa4c6f53a038ccfaf59e7a22dff1","unresolved":true,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"2.62"},{"line_number":342,"context_line":"----"},{"line_number":343,"context_line":"  Added the possibility of attach security services to share networks in use."},{"line_number":344,"context_line":"  Also, an attached security service can be replaced for another one of"},{"line_number":345,"context_line":"  the same \u0027type\u0027. In order to support those operations a \u0027status\u0027 field was"},{"line_number":346,"context_line":"  added in the share networks as well as, a new property called"}],"source_content_type":"text/x-rst","patch_set":10,"id":"c8eb9049_5e03efc9","line":343,"range":{"start_line":343,"start_character":24,"end_line":343,"end_character":26},"updated":"2021-03-11 19:58:04.000000000","message":"nit: to","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"2.62"},{"line_number":342,"context_line":"----"},{"line_number":343,"context_line":"  Added the possibility of attach security services to share networks in use."},{"line_number":344,"context_line":"  Also, an attached security service can be replaced for another one of"},{"line_number":345,"context_line":"  the same \u0027type\u0027. In order to support those operations a \u0027status\u0027 field was"},{"line_number":346,"context_line":"  added in the share networks as well as, a new property called"}],"source_content_type":"text/x-rst","patch_set":10,"id":"eea6f307_8aa0d14e","line":343,"range":{"start_line":343,"start_character":24,"end_line":343,"end_character":26},"in_reply_to":"c8eb9049_5e03efc9","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4b579f67458dfa4c6f53a038ccfaf59e7a22dff1","unresolved":true,"context_lines":[{"line_number":345,"context_line":"  the same \u0027type\u0027. In order to support those operations a \u0027status\u0027 field was"},{"line_number":346,"context_line":"  added in the share networks as well as, a new property called"},{"line_number":347,"context_line":"  \u0027security_service_update_support\u0027 was included in the share networks and"},{"line_number":348,"context_line":"  share servers."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3aad2a8a_226fd273","line":348,"range":{"start_line":348,"start_character":15,"end_line":348,"end_character":16},"updated":"2021-03-11 19:58:04.000000000","message":"Also new action APIs have been added to the share-networks endpoint: \n - \n -","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1dcdd8c2369dad7274f8115a2adc4b8e558eae9c","unresolved":true,"context_lines":[{"line_number":345,"context_line":"  the same \u0027type\u0027. In order to support those operations a \u0027status\u0027 field was"},{"line_number":346,"context_line":"  added in the share networks as well as, a new property called"},{"line_number":347,"context_line":"  \u0027security_service_update_support\u0027 was included in the share networks and"},{"line_number":348,"context_line":"  share servers."}],"source_content_type":"text/x-rst","patch_set":10,"id":"407f70e8_fb2936b7","line":348,"range":{"start_line":348,"start_character":15,"end_line":348,"end_character":16},"in_reply_to":"0b53712c_5b1931a1","updated":"2021-03-11 21:45:23.000000000","message":"add_security_service_check","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"637af3d95d3e1531d1e26c004f8e8bf87d89ebe7","unresolved":true,"context_lines":[{"line_number":345,"context_line":"  the same \u0027type\u0027. In order to support those operations a \u0027status\u0027 field was"},{"line_number":346,"context_line":"  added in the share networks as well as, a new property called"},{"line_number":347,"context_line":"  \u0027security_service_update_support\u0027 was included in the share networks and"},{"line_number":348,"context_line":"  share servers."}],"source_content_type":"text/x-rst","patch_set":10,"id":"0b53712c_5b1931a1","line":348,"range":{"start_line":348,"start_character":15,"end_line":348,"end_character":16},"in_reply_to":"3aad2a8a_226fd273","updated":"2021-03-11 20:08:01.000000000","message":"update_security_service_check\nupdate_security_service","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":345,"context_line":"  the same \u0027type\u0027. In order to support those operations a \u0027status\u0027 field was"},{"line_number":346,"context_line":"  added in the share networks as well as, a new property called"},{"line_number":347,"context_line":"  \u0027security_service_update_support\u0027 was included in the share networks and"},{"line_number":348,"context_line":"  share servers."}],"source_content_type":"text/x-rst","patch_set":10,"id":"59145408_44bd8417","line":348,"range":{"start_line":348,"start_character":15,"end_line":348,"end_character":16},"in_reply_to":"407f70e8_fb2936b7","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}],"manila/api/v1/shares.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":336,"context_line":"            except exception.ShareNetworkNotFound as e:"},{"line_number":337,"context_line":"                raise exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":338,"context_line":"            if not common.share_network_is_active(share_network):"},{"line_number":339,"context_line":"                msg \u003d _(\"The provided share network status is different from \""},{"line_number":340,"context_line":"                        \"\u0027active\u0027.\")"},{"line_number":341,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":342,"context_line":"            kwargs[\u0027share_network_id\u0027] \u003d share_network_id"},{"line_number":343,"context_line":"            if availability_zone_id:"}],"source_content_type":"text/x-python","patch_set":5,"id":"2fabf2bc_33bb3c9d","line":340,"range":{"start_line":339,"start_character":25,"end_line":340,"end_character":33},"updated":"2021-03-03 19:07:23.000000000","message":"The share network used isn\u0027t \u0027active\u0027. Current state is %s.","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":336,"context_line":"            except exception.ShareNetworkNotFound as e:"},{"line_number":337,"context_line":"                raise exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":338,"context_line":"            if not common.share_network_is_active(share_network):"},{"line_number":339,"context_line":"                msg \u003d _(\"The provided share network status is different from \""},{"line_number":340,"context_line":"                        \"\u0027active\u0027.\")"},{"line_number":341,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":342,"context_line":"            kwargs[\u0027share_network_id\u0027] \u003d share_network_id"},{"line_number":343,"context_line":"            if availability_zone_id:"}],"source_content_type":"text/x-python","patch_set":5,"id":"f88d04c4_100e87e7","line":340,"range":{"start_line":339,"start_character":25,"end_line":340,"end_character":33},"in_reply_to":"2fabf2bc_33bb3c9d","updated":"2021-03-09 21:39:52.000000000","message":"Please check the \u0027common.check_share_network_is_active\u0027 method\u0027s message, which is now being used in many places. Tks!","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":335,"context_line":"                    share_network_id)"},{"line_number":336,"context_line":"            except exception.ShareNetworkNotFound as e:"},{"line_number":337,"context_line":"                raise exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":338,"context_line":"            if not common.share_network_is_active(share_network):"},{"line_number":339,"context_line":"                msg \u003d _(\"The provided share network status is different from \""},{"line_number":340,"context_line":"                        \"\u0027active\u0027.\")"},{"line_number":341,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":342,"context_line":"            kwargs[\u0027share_network_id\u0027] \u003d share_network_id"},{"line_number":343,"context_line":"            if availability_zone_id:"},{"line_number":344,"context_line":"                if not db.share_network_subnet_get_by_availability_zone_id("},{"line_number":345,"context_line":"                        context, share_network_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5ea61252_0d24021f","line":342,"range":{"start_line":338,"start_character":12,"end_line":342,"end_character":57},"updated":"2021-03-03 19:07:23.000000000","message":"Invoke method on line 426?","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":335,"context_line":"                    share_network_id)"},{"line_number":336,"context_line":"            except exception.ShareNetworkNotFound as e:"},{"line_number":337,"context_line":"                raise exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":338,"context_line":"            if not common.share_network_is_active(share_network):"},{"line_number":339,"context_line":"                msg \u003d _(\"The provided share network status is different from \""},{"line_number":340,"context_line":"                        \"\u0027active\u0027.\")"},{"line_number":341,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":342,"context_line":"            kwargs[\u0027share_network_id\u0027] \u003d share_network_id"},{"line_number":343,"context_line":"            if availability_zone_id:"},{"line_number":344,"context_line":"                if not db.share_network_subnet_get_by_availability_zone_id("},{"line_number":345,"context_line":"                        context, share_network_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3d668d32_2c0c75ac","line":342,"range":{"start_line":338,"start_character":12,"end_line":342,"end_character":57},"in_reply_to":"5ea61252_0d24021f","updated":"2021-03-09 21:39:52.000000000","message":"yep, moved closer to the call.","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":426,"context_line":"    def _check_share_network_status(self, context, share_network_id):"},{"line_number":427,"context_line":"        share_network \u003d db.share_network_get(context, share_network_id)"},{"line_number":428,"context_line":"        if not common.share_network_is_active(share_network):"},{"line_number":429,"context_line":"            msg \u003d _(\"Currently is not possible to update the access rules \""},{"line_number":430,"context_line":"                    \"for the given share because its share network status \""},{"line_number":431,"context_line":"                    \"is different from \u0027active\u0027.\")"},{"line_number":432,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    @wsgi.Controller.authorize(\u0027allow_access\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"38b856f8_0e350090","line":431,"range":{"start_line":429,"start_character":21,"end_line":431,"end_character":47},"updated":"2021-03-03 19:07:23.000000000","message":"Can keep this message simple and reuse this check everywhere:\n\n\"The share network used isn\u0027t in an active state. Current state %s. The action may be retried after the share network has changed its state.\"","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":426,"context_line":"    def _check_share_network_status(self, context, share_network_id):"},{"line_number":427,"context_line":"        share_network \u003d db.share_network_get(context, share_network_id)"},{"line_number":428,"context_line":"        if not common.share_network_is_active(share_network):"},{"line_number":429,"context_line":"            msg \u003d _(\"Currently is not possible to update the access rules \""},{"line_number":430,"context_line":"                    \"for the given share because its share network status \""},{"line_number":431,"context_line":"                    \"is different from \u0027active\u0027.\")"},{"line_number":432,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    @wsgi.Controller.authorize(\u0027allow_access\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dcf428dc_137617be","line":431,"range":{"start_line":429,"start_character":21,"end_line":431,"end_character":47},"in_reply_to":"38b856f8_0e350090","updated":"2021-03-09 21:39:52.000000000","message":"\u0027common.check_share_network_is_active\u0027 method a has generic message that logs the current state","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"}],"manila/api/v2/share_networks.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":412,"context_line":"    def add_security_service(self, req, id, body):"},{"line_number":413,"context_line":"        \"\"\"Associate share network with a given security service.\"\"\""},{"line_number":414,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":415,"context_line":"        policy.check_policy(context, RESOURCE_NAME, \u0027add_security_service\u0027)"},{"line_number":416,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":417,"context_line":"        data \u003d body[\u0027add_security_service\u0027]"},{"line_number":418,"context_line":"        security_service \u003d db_api.security_service_get("}],"source_content_type":"text/x-python","patch_set":5,"id":"45f9c213_6e259ec3","line":415,"range":{"start_line":415,"start_character":0,"end_line":415,"end_character":75},"updated":"2021-03-03 19:07:23.000000000","message":"move after line 416, and perform a policy check with the target object (share_network)","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":412,"context_line":"    def add_security_service(self, req, id, body):"},{"line_number":413,"context_line":"        \"\"\"Associate share network with a given security service.\"\"\""},{"line_number":414,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":415,"context_line":"        policy.check_policy(context, RESOURCE_NAME, \u0027add_security_service\u0027)"},{"line_number":416,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":417,"context_line":"        data \u003d body[\u0027add_security_service\u0027]"},{"line_number":418,"context_line":"        security_service \u003d db_api.security_service_get("}],"source_content_type":"text/x-python","patch_set":5,"id":"acf61cb6_ac57771a","line":415,"range":{"start_line":415,"start_character":0,"end_line":415,"end_character":75},"in_reply_to":"45f9c213_6e259ec3","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":480,"context_line":"    def remove_security_service(self, req, id, body):"},{"line_number":481,"context_line":"        \"\"\"Dissociate share network from a given security service.\"\"\""},{"line_number":482,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":483,"context_line":"        policy.check_policy(context, RESOURCE_NAME, \u0027remove_security_service\u0027)"},{"line_number":484,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":485,"context_line":"        data \u003d body[\u0027remove_security_service\u0027]"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"01df43bd_dcc2c097","line":483,"range":{"start_line":483,"start_character":0,"end_line":483,"end_character":78},"updated":"2021-03-03 19:07:23.000000000","message":"same policy check issue here as highlighted above","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":480,"context_line":"    def remove_security_service(self, req, id, body):"},{"line_number":481,"context_line":"        \"\"\"Dissociate share network from a given security service.\"\"\""},{"line_number":482,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":483,"context_line":"        policy.check_policy(context, RESOURCE_NAME, \u0027remove_security_service\u0027)"},{"line_number":484,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":485,"context_line":"        data \u003d body[\u0027remove_security_service\u0027]"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"a7f76e62_c6266d84","line":483,"range":{"start_line":483,"start_character":0,"end_line":483,"end_character":78},"in_reply_to":"01df43bd_dcc2c097","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":507,"context_line":"    def update_security_service(self, req, id, body):"},{"line_number":508,"context_line":"        \"\"\"Update security service parameters from a given share network.\"\"\""},{"line_number":509,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":510,"context_line":"        policy.check_policy(context, RESOURCE_NAME, \u0027update_security_service\u0027)"},{"line_number":511,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":512,"context_line":"        data \u003d body[\u0027update_security_service\u0027]"},{"line_number":513,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1c2a593b_7b074720","line":510,"range":{"start_line":510,"start_character":0,"end_line":510,"end_character":78},"updated":"2021-03-03 19:07:23.000000000","message":"convert this to the policy decorator, or, add a policy target check after line 511:\n\n  policy.check_policy(context, RESOURCE_NAME, \u0027update_security_service\u0027, target_obj\u003dshare_network)","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":507,"context_line":"    def update_security_service(self, req, id, body):"},{"line_number":508,"context_line":"        \"\"\"Update security service parameters from a given share network.\"\"\""},{"line_number":509,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":510,"context_line":"        policy.check_policy(context, RESOURCE_NAME, \u0027update_security_service\u0027)"},{"line_number":511,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":512,"context_line":"        data \u003d body[\u0027update_security_service\u0027]"},{"line_number":513,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"a6ae131c_7cc16746","line":510,"range":{"start_line":510,"start_character":0,"end_line":510,"end_character":78},"in_reply_to":"1c2a593b_7b074720","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":595,"context_line":"            msg \u003d \"Malformed request body\""},{"line_number":596,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":597,"context_line":"        except exception.NotFound as e:"},{"line_number":598,"context_line":"            raise exc.HTTPNotFound(explanation\u003dsix.text_type(e))"},{"line_number":599,"context_line":"        except (exception.ShareNetworkSecurityServiceDissociationError,"},{"line_number":600,"context_line":"                exception.ShareNetworkSecurityServiceAssociationError) as e:"},{"line_number":601,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dsix.text_type(e))"}],"source_content_type":"text/x-python","patch_set":5,"id":"f738e613_1070db9c","line":598,"range":{"start_line":598,"start_character":47,"end_line":598,"end_character":60},"updated":"2021-03-03 19:07:23.000000000","message":"No need to use six any longer - we don\u0027t support python2","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":595,"context_line":"            msg \u003d \"Malformed request body\""},{"line_number":596,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":597,"context_line":"        except exception.NotFound as e:"},{"line_number":598,"context_line":"            raise exc.HTTPNotFound(explanation\u003dsix.text_type(e))"},{"line_number":599,"context_line":"        except (exception.ShareNetworkSecurityServiceDissociationError,"},{"line_number":600,"context_line":"                exception.ShareNetworkSecurityServiceAssociationError) as e:"},{"line_number":601,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dsix.text_type(e))"}],"source_content_type":"text/x-python","patch_set":5,"id":"857cd92d_439ae1ab","line":598,"range":{"start_line":598,"start_character":47,"end_line":598,"end_character":60},"in_reply_to":"f738e613_1070db9c","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4b579f67458dfa4c6f53a038ccfaf59e7a22dff1","unresolved":true,"context_lines":[{"line_number":413,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":414,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":415,"context_line":"        policy.check_policy(context, RESOURCE_NAME, \u0027add_security_service\u0027,"},{"line_number":416,"context_line":"                            target_obj\u003dshare_network)"},{"line_number":417,"context_line":"        data \u003d body[\u0027add_security_service\u0027]"},{"line_number":418,"context_line":"        security_service \u003d db_api.security_service_get("},{"line_number":419,"context_line":"            context, data[\u0027security_service_id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"278200fd_fe21cbd5","line":416,"range":{"start_line":416,"start_character":28,"end_line":416,"end_character":52},"updated":"2021-03-11 19:58:04.000000000","message":"No issue with this target_obj check, but it has been done with the virtue of line 414, since only project networks are retrieved from the database for regular users.\n\n\nWe\u0027re missing a check for security_services, the db call on line 418 retrieves _all_ security services and doesn\u0027t really perform a \"project_only\" query: https://bugs.launchpad.net/manila/+bug/1918323","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"acf1eac1081f619374aa47149c9ebf46e2294364","unresolved":false,"context_lines":[{"line_number":413,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":414,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":415,"context_line":"        policy.check_policy(context, RESOURCE_NAME, \u0027add_security_service\u0027,"},{"line_number":416,"context_line":"                            target_obj\u003dshare_network)"},{"line_number":417,"context_line":"        data \u003d body[\u0027add_security_service\u0027]"},{"line_number":418,"context_line":"        security_service \u003d db_api.security_service_get("},{"line_number":419,"context_line":"            context, data[\u0027security_service_id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"5001ced5_6b06db07","line":416,"range":{"start_line":416,"start_character":28,"end_line":416,"end_character":52},"in_reply_to":"226f267e_27fcbc33","updated":"2021-03-12 21:05:00.000000000","message":"https://bugs.launchpad.net/manila/+bug/1918323/comments/2","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":413,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":414,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":415,"context_line":"        policy.check_policy(context, RESOURCE_NAME, \u0027add_security_service\u0027,"},{"line_number":416,"context_line":"                            target_obj\u003dshare_network)"},{"line_number":417,"context_line":"        data \u003d body[\u0027add_security_service\u0027]"},{"line_number":418,"context_line":"        security_service \u003d db_api.security_service_get("},{"line_number":419,"context_line":"            context, data[\u0027security_service_id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"e38eb376_c550ca50","line":416,"range":{"start_line":416,"start_character":28,"end_line":416,"end_character":52},"in_reply_to":"278200fd_fe21cbd5","updated":"2021-03-12 20:28:32.000000000","message":"How do we proceed with that? We can create e new fix for that and merge before or after this feature. If we decide to merge the fix first, we will need to rebase this one after that.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5a9757201eb194cdd3e153d0f5fec8e8e9e92287","unresolved":true,"context_lines":[{"line_number":413,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":414,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":415,"context_line":"        policy.check_policy(context, RESOURCE_NAME, \u0027add_security_service\u0027,"},{"line_number":416,"context_line":"                            target_obj\u003dshare_network)"},{"line_number":417,"context_line":"        data \u003d body[\u0027add_security_service\u0027]"},{"line_number":418,"context_line":"        security_service \u003d db_api.security_service_get("},{"line_number":419,"context_line":"            context, data[\u0027security_service_id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"226f267e_27fcbc33","line":416,"range":{"start_line":416,"start_character":28,"end_line":416,"end_character":52},"in_reply_to":"e38eb376_c550ca50","updated":"2021-03-12 20:56:43.000000000","message":"Yeah - lets add some notes on the bug, that this is going to be needing some coverage as well. I suspect this change will merge before that bugfix","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1dcdd8c2369dad7274f8115a2adc4b8e558eae9c","unresolved":true,"context_lines":[{"line_number":480,"context_line":"        return self._view_builder.build_share_network(req, share_network)"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"    @wsgi.Controller.api_version(\u00272.62\u0027)"},{"line_number":483,"context_line":"    @wsgi.action(\u0027update_security_service\u0027)"},{"line_number":484,"context_line":"    def update_security_service(self, req, id, body):"},{"line_number":485,"context_line":"        \"\"\"Update security service parameters from a given share network.\"\"\""},{"line_number":486,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":487,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"da7ece22_63775a66","line":484,"range":{"start_line":483,"start_character":4,"end_line":484,"end_character":4},"updated":"2021-03-11 21:45:23.000000000","message":"also\n\n @wsgi.response(202)","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":480,"context_line":"        return self._view_builder.build_share_network(req, share_network)"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"    @wsgi.Controller.api_version(\u00272.62\u0027)"},{"line_number":483,"context_line":"    @wsgi.action(\u0027update_security_service\u0027)"},{"line_number":484,"context_line":"    def update_security_service(self, req, id, body):"},{"line_number":485,"context_line":"        \"\"\"Update security service parameters from a given share network.\"\"\""},{"line_number":486,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":487,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"b2d5f353_c446bc1e","line":484,"range":{"start_line":483,"start_character":4,"end_line":484,"end_character":4},"in_reply_to":"da7ece22_63775a66","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"637af3d95d3e1531d1e26c004f8e8bf87d89ebe7","unresolved":true,"context_lines":[{"line_number":506,"context_line":"                context, share_network, new_security_service,"},{"line_number":507,"context_line":"                current_security_service\u003dcurrent_security_service)"},{"line_number":508,"context_line":"        except exception.ServiceIsDown as e:"},{"line_number":509,"context_line":"            raise exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":510,"context_line":"        except exception.InvalidShareNetwork as e:"},{"line_number":511,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.msg)"},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"        try:"},{"line_number":514,"context_line":"            share_network \u003d db_api.share_network_update_security_service("}],"source_content_type":"text/x-python","patch_set":10,"id":"4c6948ea_1bfb9493","line":511,"range":{"start_line":509,"start_character":53,"end_line":511,"end_character":55},"updated":"2021-03-11 20:08:01.000000000","message":"not handling InvalidSecurityService \n\n\ni.e., just not prettifying the internal exception into HTTPError as you\u0027re doing with InvalidShareNetwork","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":506,"context_line":"                context, share_network, new_security_service,"},{"line_number":507,"context_line":"                current_security_service\u003dcurrent_security_service)"},{"line_number":508,"context_line":"        except exception.ServiceIsDown as e:"},{"line_number":509,"context_line":"            raise exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":510,"context_line":"        except exception.InvalidShareNetwork as e:"},{"line_number":511,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.msg)"},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"        try:"},{"line_number":514,"context_line":"            share_network \u003d db_api.share_network_update_security_service("}],"source_content_type":"text/x-python","patch_set":10,"id":"94e49d04_aa4e2c66","line":511,"range":{"start_line":509,"start_character":53,"end_line":511,"end_character":55},"in_reply_to":"4c6948ea_1bfb9493","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"637af3d95d3e1531d1e26c004f8e8bf87d89ebe7","unresolved":true,"context_lines":[{"line_number":516,"context_line":"                id,"},{"line_number":517,"context_line":"                data[\u0027current_service_id\u0027],"},{"line_number":518,"context_line":"                data[\u0027new_service_id\u0027])"},{"line_number":519,"context_line":"        except KeyError:"},{"line_number":520,"context_line":"            msg \u003d \"Malformed request body\""},{"line_number":521,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":522,"context_line":"        except exception.NotFound as e:"},{"line_number":523,"context_line":"            raise exc.HTTPNotFound(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5e0228a9_bfb79da5","line":520,"range":{"start_line":519,"start_character":8,"end_line":520,"end_character":42},"updated":"2021-03-11 20:08:01.000000000","message":"KeyError should be handled on ~line 499?","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":516,"context_line":"                id,"},{"line_number":517,"context_line":"                data[\u0027current_service_id\u0027],"},{"line_number":518,"context_line":"                data[\u0027new_service_id\u0027])"},{"line_number":519,"context_line":"        except KeyError:"},{"line_number":520,"context_line":"            msg \u003d \"Malformed request body\""},{"line_number":521,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":522,"context_line":"        except exception.NotFound as e:"},{"line_number":523,"context_line":"            raise exc.HTTPNotFound(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7ecf4509_d95d941e","line":520,"range":{"start_line":519,"start_character":8,"end_line":520,"end_character":42},"in_reply_to":"5e0228a9_bfb79da5","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1dcdd8c2369dad7274f8115a2adc4b8e558eae9c","unresolved":true,"context_lines":[{"line_number":528,"context_line":"        return self._view_builder.build_share_network(req, share_network)"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"    @wsgi.Controller.api_version(\u00272.62\u0027)"},{"line_number":531,"context_line":"    @wsgi.action(\u0027update_security_service_check\u0027)"},{"line_number":532,"context_line":"    def check_update_security_service(self, req, id, body):"},{"line_number":533,"context_line":"        \"\"\"Check the feasibility of update a security service.\"\"\""},{"line_number":534,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"1c2e3521_1b87afa6","line":531,"range":{"start_line":531,"start_character":4,"end_line":531,"end_character":5},"updated":"2021-03-11 21:45:23.000000000","message":"add @wsgi.response(202)","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":528,"context_line":"        return self._view_builder.build_share_network(req, share_network)"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"    @wsgi.Controller.api_version(\u00272.62\u0027)"},{"line_number":531,"context_line":"    @wsgi.action(\u0027update_security_service_check\u0027)"},{"line_number":532,"context_line":"    def check_update_security_service(self, req, id, body):"},{"line_number":533,"context_line":"        \"\"\"Check the feasibility of update a security service.\"\"\""},{"line_number":534,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"7dd054c0_5d759906","line":531,"range":{"start_line":531,"start_character":4,"end_line":531,"end_character":5},"in_reply_to":"1c2e3521_1b87afa6","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1dcdd8c2369dad7274f8115a2adc4b8e558eae9c","unresolved":true,"context_lines":[{"line_number":530,"context_line":"    @wsgi.Controller.api_version(\u00272.62\u0027)"},{"line_number":531,"context_line":"    @wsgi.action(\u0027update_security_service_check\u0027)"},{"line_number":532,"context_line":"    def check_update_security_service(self, req, id, body):"},{"line_number":533,"context_line":"        \"\"\"Check the feasibility of update a security service.\"\"\""},{"line_number":534,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":535,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":536,"context_line":"        policy.check_policy(context, RESOURCE_NAME,"}],"source_content_type":"text/x-python","patch_set":10,"id":"40606940_9ab68252","line":533,"range":{"start_line":533,"start_character":36,"end_line":533,"end_character":42},"updated":"2021-03-11 21:45:23.000000000","message":"nit: updating","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":530,"context_line":"    @wsgi.Controller.api_version(\u00272.62\u0027)"},{"line_number":531,"context_line":"    @wsgi.action(\u0027update_security_service_check\u0027)"},{"line_number":532,"context_line":"    def check_update_security_service(self, req, id, body):"},{"line_number":533,"context_line":"        \"\"\"Check the feasibility of update a security service.\"\"\""},{"line_number":534,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":535,"context_line":"        share_network \u003d db_api.share_network_get(context, id)"},{"line_number":536,"context_line":"        policy.check_policy(context, RESOURCE_NAME,"}],"source_content_type":"text/x-python","patch_set":10,"id":"0a35c75f_65ed5e70","line":533,"range":{"start_line":533,"start_character":36,"end_line":533,"end_character":42},"in_reply_to":"40606940_9ab68252","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1dcdd8c2369dad7274f8115a2adc4b8e558eae9c","unresolved":true,"context_lines":[{"line_number":536,"context_line":"        policy.check_policy(context, RESOURCE_NAME,"},{"line_number":537,"context_line":"                            \u0027update_security_service_check\u0027,"},{"line_number":538,"context_line":"                            target_obj\u003dshare_network)"},{"line_number":539,"context_line":"        data \u003d body[\u0027update_security_service_check\u0027]"},{"line_number":540,"context_line":"        reset_check \u003d utils.get_bool_from_api_params(\u0027reset_operation\u0027, data)"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":10,"id":"36c499a0_ac60ddf6","line":539,"range":{"start_line":539,"start_character":8,"end_line":539,"end_character":52},"updated":"2021-03-11 21:45:23.000000000","message":"try except key error, same on lines 543-548","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":536,"context_line":"        policy.check_policy(context, RESOURCE_NAME,"},{"line_number":537,"context_line":"                            \u0027update_security_service_check\u0027,"},{"line_number":538,"context_line":"                            target_obj\u003dshare_network)"},{"line_number":539,"context_line":"        data \u003d body[\u0027update_security_service_check\u0027]"},{"line_number":540,"context_line":"        reset_check \u003d utils.get_bool_from_api_params(\u0027reset_operation\u0027, data)"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":10,"id":"225cdc62_d226363b","line":539,"range":{"start_line":539,"start_character":8,"end_line":539,"end_character":52},"in_reply_to":"36c499a0_ac60ddf6","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1dcdd8c2369dad7274f8115a2adc4b8e558eae9c","unresolved":true,"context_lines":[{"line_number":566,"context_line":"            req, data, result)"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"    @wsgi.Controller.api_version(\u00272.62\u0027)"},{"line_number":569,"context_line":"    @wsgi.action(\"add_security_service_check\")"},{"line_number":570,"context_line":"    def check_add_security_service(self, req, id, body):"},{"line_number":571,"context_line":"        \"\"\"Check the feasibility of associate a new security service.\"\"\""},{"line_number":572,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"40e2cf76_f94a30c2","line":569,"range":{"start_line":569,"start_character":4,"end_line":569,"end_character":5},"updated":"2021-03-11 21:45:23.000000000","message":"add \n@wsgi.response(202)","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":566,"context_line":"            req, data, result)"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"    @wsgi.Controller.api_version(\u00272.62\u0027)"},{"line_number":569,"context_line":"    @wsgi.action(\"add_security_service_check\")"},{"line_number":570,"context_line":"    def check_add_security_service(self, req, id, body):"},{"line_number":571,"context_line":"        \"\"\"Check the feasibility of associate a new security service.\"\"\""},{"line_number":572,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f1d2973_1172f40b","line":569,"range":{"start_line":569,"start_character":4,"end_line":569,"end_character":5},"in_reply_to":"40e2cf76_f94a30c2","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1dcdd8c2369dad7274f8115a2adc4b8e558eae9c","unresolved":true,"context_lines":[{"line_number":579,"context_line":"            security_service \u003d db_api.security_service_get("},{"line_number":580,"context_line":"                context, data[\u0027security_service_id\u0027])"},{"line_number":581,"context_line":"        except exception.NotFound:"},{"line_number":582,"context_line":"            msg \u003d (\"The current security service or the new security service \""},{"line_number":583,"context_line":"                   \"doesn\u0027t exist.\")"},{"line_number":584,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"        reset_check \u003d utils.get_bool_from_api_params(\u0027reset_operation\u0027, data)"}],"source_content_type":"text/x-python","patch_set":10,"id":"b2196d94_f920e4e3","line":583,"range":{"start_line":582,"start_character":20,"end_line":583,"end_character":35},"updated":"2021-03-11 21:45:23.000000000","message":"Security service %s does not exist?","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":579,"context_line":"            security_service \u003d db_api.security_service_get("},{"line_number":580,"context_line":"                context, data[\u0027security_service_id\u0027])"},{"line_number":581,"context_line":"        except exception.NotFound:"},{"line_number":582,"context_line":"            msg \u003d (\"The current security service or the new security service \""},{"line_number":583,"context_line":"                   \"doesn\u0027t exist.\")"},{"line_number":584,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":585,"context_line":""},{"line_number":586,"context_line":"        reset_check \u003d utils.get_bool_from_api_params(\u0027reset_operation\u0027, data)"}],"source_content_type":"text/x-python","patch_set":10,"id":"f9ce339e_4e46e983","line":583,"range":{"start_line":582,"start_character":20,"end_line":583,"end_character":35},"in_reply_to":"b2196d94_f920e4e3","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d84e6af59abbc524b48c288d4997694e02cb8562","unresolved":true,"context_lines":[{"line_number":616,"context_line":""},{"line_number":617,"context_line":"        return self._view_builder.build_security_service_update_check("},{"line_number":618,"context_line":"            req, data, result)"},{"line_number":619,"context_line":""},{"line_number":620,"context_line":"    @wsgi.Controller.api_version(\u00272.63\u0027)"},{"line_number":621,"context_line":"    @wsgi.action(\u0027reset_status\u0027)"},{"line_number":622,"context_line":"    def reset_status(self, req, id, body):"},{"line_number":623,"context_line":"        return self._reset_status(req, id, body)"},{"line_number":624,"context_line":""},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"def create_resource():"}],"source_content_type":"text/x-python","patch_set":13,"id":"0547e55f_1d523c77","line":623,"range":{"start_line":619,"start_character":0,"end_line":623,"end_character":48},"updated":"2021-03-14 20:42:00.000000000","message":"This API handler code, and some exception paths for the handlers above could use unit tests. Doesn\u0027t need to come in this patch","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"}],"manila/api/v2/share_replicas.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6e24c45201f0918da0466d5d7036bdee4e616faa","unresolved":true,"context_lines":[{"line_number":220,"context_line":"        return self._promote(req, id, body)"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    @wsgi.Controller.authorize(\u0027promote\u0027)"},{"line_number":223,"context_line":"    def _promote(self, req, id, body):"},{"line_number":224,"context_line":"        \"\"\"Promote a replica to active state.\"\"\""},{"line_number":225,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":226,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"ca3c00a1_06166acd","line":223,"range":{"start_line":223,"start_character":0,"end_line":223,"end_character":38},"updated":"2021-03-11 22:51:07.000000000","message":"This might be another operation to protect. Since access rules operations will occur on the destination replica; and it might need to communicate with its security service.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":220,"context_line":"        return self._promote(req, id, body)"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    @wsgi.Controller.authorize(\u0027promote\u0027)"},{"line_number":223,"context_line":"    def _promote(self, req, id, body):"},{"line_number":224,"context_line":"        \"\"\"Promote a replica to active state.\"\"\""},{"line_number":225,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":226,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"e07d124d_5dbb0fa5","line":223,"range":{"start_line":223,"start_character":0,"end_line":223,"end_character":38},"in_reply_to":"ca3c00a1_06166acd","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}],"manila/api/v2/shares.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6e24c45201f0918da0466d5d7036bdee4e616faa","unresolved":true,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class ShareController(shares.ShareMixin,"},{"line_number":41,"context_line":"                      share_manage.ShareManageMixin,"},{"line_number":42,"context_line":"                      share_unmanage.ShareUnmanageMixin,"},{"line_number":43,"context_line":"                      wsgi.Controller,"},{"line_number":44,"context_line":"                      wsgi.AdminActionsMixin):"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa5d2d3c_3dd9b481","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":52},"updated":"2021-03-11 22:51:07.000000000","message":"Manage ops will need to be protected as well, if share_network is busy","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class ShareController(shares.ShareMixin,"},{"line_number":41,"context_line":"                      share_manage.ShareManageMixin,"},{"line_number":42,"context_line":"                      share_unmanage.ShareUnmanageMixin,"},{"line_number":43,"context_line":"                      wsgi.Controller,"},{"line_number":44,"context_line":"                      wsgi.AdminActionsMixin):"}],"source_content_type":"text/x-python","patch_set":10,"id":"758644c4_8f6e506b","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":52},"in_reply_to":"fa5d2d3c_3dd9b481","updated":"2021-03-12 20:28:32.000000000","message":"Done in ShareAPI, thanks","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}],"manila/api/views/share_networks.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1dcdd8c2369dad7274f8115a2adc4b8e558eae9c","unresolved":true,"context_lines":[{"line_number":49,"context_line":"        view \u003d {"},{"line_number":50,"context_line":"            \u0027compatible\u0027: result[\u0027compatible\u0027],"},{"line_number":51,"context_line":"            \u0027requested_operation\u0027: requested_operation,"},{"line_number":52,"context_line":"            \u0027hosts_check_result\u0027: result[\u0027hosts_check_result\u0027],"},{"line_number":53,"context_line":"        }"},{"line_number":54,"context_line":"        return view"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"af0fa965_ad23cd25","line":52,"range":{"start_line":52,"start_character":0,"end_line":52,"end_character":63},"updated":"2021-03-11 21:45:23.000000000","message":"if context.is_admin?\nUsers don\u0027t need this information","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}],"manila/cmd/manage.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d84e6af59abbc524b48c288d4997694e02cb8562","unresolved":true,"context_lines":[{"line_number":411,"context_line":"    @args(\u0027--value\u0027, required\u003dFalse, type\u003dbool, default\u003dFalse,"},{"line_number":412,"context_line":"          help\u003d\"If those capabilities will be enabled (True) or disabled \""},{"line_number":413,"context_line":"               \"(False)\")"},{"line_number":414,"context_line":"    def update_share_server_capabilities(self, share_servers, capabilities,"},{"line_number":415,"context_line":"                                         value\u003dFalse):"},{"line_number":416,"context_line":"        \"\"\"Update the share server capabilities."},{"line_number":417,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"13e87ae9_667754a9","line":414,"range":{"start_line":414,"start_character":8,"end_line":414,"end_character":40},"updated":"2021-03-14 20:42:00.000000000","message":"missing unit test coverage..","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"}],"manila/common/constants.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":222,"context_line":"    STATUS_INACTIVE,"},{"line_number":223,"context_line":"    STATUS_SERVER_MIGRATING,"},{"line_number":224,"context_line":"    STATUS_SERVER_MIGRATING_TO,"},{"line_number":225,"context_line":"    STATUS_SERVER_NETWORK_CHANGE"},{"line_number":226,"context_line":")"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"SHARE_NETWORK_STATUSES \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"0ca89d50_6bb7fadb","line":225,"range":{"start_line":225,"start_character":0,"end_line":225,"end_character":32},"updated":"2021-03-03 19:07:23.000000000","message":"nit: add trailing comma, here and on line 231","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":222,"context_line":"    STATUS_INACTIVE,"},{"line_number":223,"context_line":"    STATUS_SERVER_MIGRATING,"},{"line_number":224,"context_line":"    STATUS_SERVER_MIGRATING_TO,"},{"line_number":225,"context_line":"    STATUS_SERVER_NETWORK_CHANGE"},{"line_number":226,"context_line":")"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"SHARE_NETWORK_STATUSES \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"df60f47c_51dd448e","line":225,"range":{"start_line":225,"start_character":0,"end_line":225,"end_character":32},"in_reply_to":"0ca89d50_6bb7fadb","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"}],"manila/db/migrations/alembic/versions/478c445d8d3e_add_security_service_update_control_fields.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"32f455c0529a0e1fd59164c68f062e3939d220e8","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"# a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":10,"id":"575c467c_285156d8","line":1,"updated":"2021-03-11 22:10:52.000000000","message":"This upgrade is missing the migration_data_checks test case. It\u0027d be useful to add one, even if it\u0027s not part of this patch.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"# a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":10,"id":"6bdf12ba_2e8bc4c6","line":1,"in_reply_to":"575c467c_285156d8","updated":"2021-03-12 20:28:32.000000000","message":"Added, thanks","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"32f455c0529a0e1fd59164c68f062e3939d220e8","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    try:"},{"line_number":39,"context_line":"        op.create_table("},{"line_number":40,"context_line":"            ASYNC_OPERATION_DATA_TABLE,"},{"line_number":41,"context_line":"            sa.Column(\u0027created_at\u0027, sa.DateTime),"},{"line_number":42,"context_line":"            sa.Column(\u0027updated_at\u0027, sa.DateTime),"},{"line_number":43,"context_line":"            sa.Column(\u0027deleted_at\u0027, sa.DateTime),"},{"line_number":44,"context_line":"            sa.Column(\u0027deleted\u0027, sa.Integer, default\u003d0),"}],"source_content_type":"text/x-python","patch_set":10,"id":"a3e10982_a3813009","line":41,"range":{"start_line":41,"start_character":39,"end_line":41,"end_character":47},"updated":"2021-03-11 22:10:52.000000000","message":"if the engine is mysql, use the fsp field, see:\n\nhttps://review.opendev.org/c/openstack/manila/+/721807/8/manila/db/migrations/alembic/versions/fbdfabcba377_change_the_mysql_datetime_precision.py#56","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    try:"},{"line_number":39,"context_line":"        op.create_table("},{"line_number":40,"context_line":"            ASYNC_OPERATION_DATA_TABLE,"},{"line_number":41,"context_line":"            sa.Column(\u0027created_at\u0027, sa.DateTime),"},{"line_number":42,"context_line":"            sa.Column(\u0027updated_at\u0027, sa.DateTime),"},{"line_number":43,"context_line":"            sa.Column(\u0027deleted_at\u0027, sa.DateTime),"},{"line_number":44,"context_line":"            sa.Column(\u0027deleted\u0027, sa.Integer, default\u003d0),"}],"source_content_type":"text/x-python","patch_set":10,"id":"542d68fd_7677bb57","line":41,"range":{"start_line":41,"start_character":39,"end_line":41,"end_character":47},"in_reply_to":"a3e10982_a3813009","updated":"2021-03-12 20:28:32.000000000","message":"Great, thanks, done.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"32f455c0529a0e1fd59164c68f062e3939d220e8","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        )"},{"line_number":52,"context_line":"        op.add_column("},{"line_number":53,"context_line":"            SHARE_SERVERS_TABLE,"},{"line_number":54,"context_line":"            sa.Column(\u0027security_service_update_support\u0027, sa.Boolean,"},{"line_number":55,"context_line":"                      default\u003dFalse)"},{"line_number":56,"context_line":"        )"},{"line_number":57,"context_line":"        op.add_column("}],"source_content_type":"text/x-python","patch_set":10,"id":"4217dcd4_0db6296c","line":54,"range":{"start_line":54,"start_character":67,"end_line":54,"end_character":68},"updated":"2021-03-11 22:10:52.000000000","message":"nullable\u003dFalse\n\n?","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        )"},{"line_number":52,"context_line":"        op.add_column("},{"line_number":53,"context_line":"            SHARE_SERVERS_TABLE,"},{"line_number":54,"context_line":"            sa.Column(\u0027security_service_update_support\u0027, sa.Boolean,"},{"line_number":55,"context_line":"                      default\u003dFalse)"},{"line_number":56,"context_line":"        )"},{"line_number":57,"context_line":"        op.add_column("}],"source_content_type":"text/x-python","patch_set":10,"id":"6ecdd617_d1b88f08","line":54,"range":{"start_line":54,"start_character":67,"end_line":54,"end_character":68},"in_reply_to":"4217dcd4_0db6296c","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"32f455c0529a0e1fd59164c68f062e3939d220e8","unresolved":true,"context_lines":[{"line_number":52,"context_line":"        op.add_column("},{"line_number":53,"context_line":"            SHARE_SERVERS_TABLE,"},{"line_number":54,"context_line":"            sa.Column(\u0027security_service_update_support\u0027, sa.Boolean,"},{"line_number":55,"context_line":"                      default\u003dFalse)"},{"line_number":56,"context_line":"        )"},{"line_number":57,"context_line":"        op.add_column("},{"line_number":58,"context_line":"            SHARE_NETWORKS_TABLE,"}],"source_content_type":"text/x-python","patch_set":10,"id":"fc6ccbca_8d5975aa","line":55,"range":{"start_line":55,"start_character":22,"end_line":55,"end_character":29},"updated":"2021-03-11 22:10:52.000000000","message":"import sqlalchemy import sql\n\nserver_default\u003dsql.false()\n\n\"default\" in migrations isn\u0027t useful - it\u0027s not going to translate into the DDL and we don\u0027t use this representation in our python schema definitions anyway, you\u0027re redeclaring this in models.py","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        op.add_column("},{"line_number":53,"context_line":"            SHARE_SERVERS_TABLE,"},{"line_number":54,"context_line":"            sa.Column(\u0027security_service_update_support\u0027, sa.Boolean,"},{"line_number":55,"context_line":"                      default\u003dFalse)"},{"line_number":56,"context_line":"        )"},{"line_number":57,"context_line":"        op.add_column("},{"line_number":58,"context_line":"            SHARE_NETWORKS_TABLE,"}],"source_content_type":"text/x-python","patch_set":10,"id":"8690a3e1_86a8366c","line":55,"range":{"start_line":55,"start_character":22,"end_line":55,"end_character":29},"in_reply_to":"fc6ccbca_8d5975aa","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"32f455c0529a0e1fd59164c68f062e3939d220e8","unresolved":true,"context_lines":[{"line_number":57,"context_line":"        op.add_column("},{"line_number":58,"context_line":"            SHARE_NETWORKS_TABLE,"},{"line_number":59,"context_line":"            sa.Column(\u0027status\u0027, sa.String(36),"},{"line_number":60,"context_line":"                      default\u003dconstants.STATUS_NETWORK_ACTIVE))"},{"line_number":61,"context_line":"    except Exception:"},{"line_number":62,"context_line":"        msg_args \u003d {"},{"line_number":63,"context_line":"            \u0027async_op_table\u0027: ASYNC_OPERATION_DATA_TABLE,"}],"source_content_type":"text/x-python","patch_set":10,"id":"64122b98_7137a905","line":60,"range":{"start_line":60,"start_character":22,"end_line":60,"end_character":61},"updated":"2021-03-11 22:10:52.000000000","message":"same; use server_default, no need for the second update call below and add \"nullable\u003dFalse\"","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        op.add_column("},{"line_number":58,"context_line":"            SHARE_NETWORKS_TABLE,"},{"line_number":59,"context_line":"            sa.Column(\u0027status\u0027, sa.String(36),"},{"line_number":60,"context_line":"                      default\u003dconstants.STATUS_NETWORK_ACTIVE))"},{"line_number":61,"context_line":"    except Exception:"},{"line_number":62,"context_line":"        msg_args \u003d {"},{"line_number":63,"context_line":"            \u0027async_op_table\u0027: ASYNC_OPERATION_DATA_TABLE,"}],"source_content_type":"text/x-python","patch_set":10,"id":"528d1599_17288cdc","line":60,"range":{"start_line":60,"start_character":22,"end_line":60,"end_character":61},"in_reply_to":"64122b98_7137a905","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"32f455c0529a0e1fd59164c68f062e3939d220e8","unresolved":true,"context_lines":[{"line_number":72,"context_line":"    connection \u003d op.get_bind()"},{"line_number":73,"context_line":"    share_networks_table \u003d utils.load_table(\u0027share_networks\u0027, connection)"},{"line_number":74,"context_line":"    share_servers_table \u003d utils.load_table(\u0027share_servers\u0027, connection)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    for share_network in connection.execute(share_networks_table.select()):"},{"line_number":77,"context_line":"        # pylint: disable\u003dno-value-for-parameter"},{"line_number":78,"context_line":"        connection.execute("},{"line_number":79,"context_line":"            share_networks_table.update().where("},{"line_number":80,"context_line":"                share_networks_table.c.id \u003d\u003d share_network.id,"},{"line_number":81,"context_line":"            ).values({\"status\": constants.STATUS_NETWORK_ACTIVE}))"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    for server in connection.execute(share_servers_table.select()):"},{"line_number":84,"context_line":"        # pylint: disable\u003dno-value-for-parameter"}],"source_content_type":"text/x-python","patch_set":10,"id":"8432666d_9cbce4e8","line":81,"range":{"start_line":75,"start_character":0,"end_line":81,"end_character":66},"updated":"2021-03-11 22:10:52.000000000","message":"server_default should take care of this","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    connection \u003d op.get_bind()"},{"line_number":73,"context_line":"    share_networks_table \u003d utils.load_table(\u0027share_networks\u0027, connection)"},{"line_number":74,"context_line":"    share_servers_table \u003d utils.load_table(\u0027share_servers\u0027, connection)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    for share_network in connection.execute(share_networks_table.select()):"},{"line_number":77,"context_line":"        # pylint: disable\u003dno-value-for-parameter"},{"line_number":78,"context_line":"        connection.execute("},{"line_number":79,"context_line":"            share_networks_table.update().where("},{"line_number":80,"context_line":"                share_networks_table.c.id \u003d\u003d share_network.id,"},{"line_number":81,"context_line":"            ).values({\"status\": constants.STATUS_NETWORK_ACTIVE}))"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    for server in connection.execute(share_servers_table.select()):"},{"line_number":84,"context_line":"        # pylint: disable\u003dno-value-for-parameter"}],"source_content_type":"text/x-python","patch_set":10,"id":"a0f10f10_04bc133f","line":81,"range":{"start_line":75,"start_character":0,"end_line":81,"end_character":66},"in_reply_to":"8432666d_9cbce4e8","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"32f455c0529a0e1fd59164c68f062e3939d220e8","unresolved":true,"context_lines":[{"line_number":80,"context_line":"                share_networks_table.c.id \u003d\u003d share_network.id,"},{"line_number":81,"context_line":"            ).values({\"status\": constants.STATUS_NETWORK_ACTIVE}))"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    for server in connection.execute(share_servers_table.select()):"},{"line_number":84,"context_line":"        # pylint: disable\u003dno-value-for-parameter"},{"line_number":85,"context_line":"        connection.execute("},{"line_number":86,"context_line":"            share_servers_table.update().where("},{"line_number":87,"context_line":"                share_servers_table.c.id \u003d\u003d server.id,"},{"line_number":88,"context_line":"            ).values({\"security_service_update_support\": False}))"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":10,"id":"a2abbadc_05bba675","line":88,"range":{"start_line":83,"start_character":3,"end_line":88,"end_character":65},"updated":"2021-03-11 22:10:52.000000000","message":"server_default should take care of this","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                share_networks_table.c.id \u003d\u003d share_network.id,"},{"line_number":81,"context_line":"            ).values({\"status\": constants.STATUS_NETWORK_ACTIVE}))"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    for server in connection.execute(share_servers_table.select()):"},{"line_number":84,"context_line":"        # pylint: disable\u003dno-value-for-parameter"},{"line_number":85,"context_line":"        connection.execute("},{"line_number":86,"context_line":"            share_servers_table.update().where("},{"line_number":87,"context_line":"                share_servers_table.c.id \u003d\u003d server.id,"},{"line_number":88,"context_line":"            ).values({\"security_service_update_support\": False}))"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":10,"id":"867b35f2_491ddc1f","line":88,"range":{"start_line":83,"start_character":3,"end_line":88,"end_character":65},"in_reply_to":"a2abbadc_05bba675","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}],"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":3844,"context_line":"            session\u003dsession).filter_by("},{"line_number":3845,"context_line":"                share_network_id\u003dshare_network_id).filter_by("},{"line_number":3846,"context_line":"                    security_service_id\u003dsecurity_service_id).first())"},{"line_number":3847,"context_line":"    return association"},{"line_number":3848,"context_line":""},{"line_number":3849,"context_line":""},{"line_number":3850,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":5,"id":"dc43f6dd_c964a8e3","line":3847,"range":{"start_line":3847,"start_character":0,"end_line":3847,"end_character":22},"updated":"2021-03-03 19:07:23.000000000","message":"move within context","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":3844,"context_line":"            session\u003dsession).filter_by("},{"line_number":3845,"context_line":"                share_network_id\u003dshare_network_id).filter_by("},{"line_number":3846,"context_line":"                    security_service_id\u003dsecurity_service_id).first())"},{"line_number":3847,"context_line":"    return association"},{"line_number":3848,"context_line":""},{"line_number":3849,"context_line":""},{"line_number":3850,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":5,"id":"2c7a28a1_29280088","line":3847,"range":{"start_line":3847,"start_character":0,"end_line":3847,"end_character":22},"in_reply_to":"dc43f6dd_c964a8e3","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":3908,"context_line":"        share_nw_ref.security_services +\u003d [new_security_service_ref]"},{"line_number":3909,"context_line":"        share_nw_ref.save(session\u003dsession)"},{"line_number":3910,"context_line":""},{"line_number":3911,"context_line":"    return share_nw_ref"},{"line_number":3912,"context_line":""},{"line_number":3913,"context_line":""},{"line_number":3914,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff85288d_fc2243f1","line":3911,"range":{"start_line":3911,"start_character":0,"end_line":3911,"end_character":23},"updated":"2021-03-03 19:07:23.000000000","message":"move within context","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":3908,"context_line":"        share_nw_ref.security_services +\u003d [new_security_service_ref]"},{"line_number":3909,"context_line":"        share_nw_ref.save(session\u003dsession)"},{"line_number":3910,"context_line":""},{"line_number":3911,"context_line":"    return share_nw_ref"},{"line_number":3912,"context_line":""},{"line_number":3913,"context_line":""},{"line_number":3914,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":5,"id":"ef3c7439_acf08ae8","line":3911,"range":{"start_line":3911,"start_character":0,"end_line":3911,"end_character":23},"in_reply_to":"ff85288d_fc2243f1","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d84e6af59abbc524b48c288d4997694e02cb8562","unresolved":true,"context_lines":[{"line_number":4233,"context_line":""},{"line_number":4234,"context_line":""},{"line_number":4235,"context_line":"@require_context"},{"line_number":4236,"context_line":"def share_servers_update("},{"line_number":4237,"context_line":"        context, share_server_ids, values, session\u003dNone):"},{"line_number":4238,"context_line":"    session \u003d session or get_session()"},{"line_number":4239,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"48b233b7_ba064500","line":4236,"range":{"start_line":4236,"start_character":4,"end_line":4236,"end_character":24},"updated":"2021-03-14 20:42:00.000000000","message":"missing unit test","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d84e6af59abbc524b48c288d4997694e02cb8562","unresolved":true,"context_lines":[{"line_number":5881,"context_line":""},{"line_number":5882,"context_line":""},{"line_number":5883,"context_line":"@require_context"},{"line_number":5884,"context_line":"def async_operation_data_update(context, entity_id, details,"},{"line_number":5885,"context_line":"                                delete_existing\u003dFalse, session\u003dNone):"},{"line_number":5886,"context_line":"    new_details \u003d copy.deepcopy(details)"},{"line_number":5887,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"71e9a907_f2762ca3","line":5884,"range":{"start_line":5884,"start_character":4,"end_line":5884,"end_character":31},"updated":"2021-03-14 20:42:00.000000000","message":"missing unit test","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d84e6af59abbc524b48c288d4997694e02cb8562","unresolved":true,"context_lines":[{"line_number":5925,"context_line":""},{"line_number":5926,"context_line":""},{"line_number":5927,"context_line":"@require_context"},{"line_number":5928,"context_line":"def async_operation_data_delete(context, entity_id, key\u003dNone, session\u003dNone):"},{"line_number":5929,"context_line":"    if not session:"},{"line_number":5930,"context_line":"        session \u003d get_session()"},{"line_number":5931,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"a651d4cf_64983490","line":5928,"range":{"start_line":5928,"start_character":4,"end_line":5928,"end_character":31},"updated":"2021-03-14 20:42:00.000000000","message":"missing unit test","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"}],"manila/db/sqlalchemy/models.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":946,"context_line":"        \u0027SecurityService.deleted \u003d\u003d \"False\")\u0027)"},{"line_number":947,"context_line":"    share_instances \u003d orm.relationship("},{"line_number":948,"context_line":"        \"ShareInstance\","},{"line_number":949,"context_line":"        lazy\u003d\u0027joined\u0027,"},{"line_number":950,"context_line":"        backref\u003dorm.backref(\u0027share_network\u0027, lazy\u003d\u0027joined\u0027),"},{"line_number":951,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":952,"context_line":"                    \u0027ShareNetwork.id \u003d\u003d ShareInstance.share_network_id,\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"04fb2156_cb9a61d6","line":949,"range":{"start_line":949,"start_character":0,"end_line":949,"end_character":22},"updated":"2021-03-03 19:07:23.000000000","message":"Is this necessary?","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":946,"context_line":"        \u0027SecurityService.deleted \u003d\u003d \"False\")\u0027)"},{"line_number":947,"context_line":"    share_instances \u003d orm.relationship("},{"line_number":948,"context_line":"        \"ShareInstance\","},{"line_number":949,"context_line":"        lazy\u003d\u0027joined\u0027,"},{"line_number":950,"context_line":"        backref\u003dorm.backref(\u0027share_network\u0027, lazy\u003d\u0027joined\u0027),"},{"line_number":951,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":952,"context_line":"                    \u0027ShareNetwork.id \u003d\u003d ShareInstance.share_network_id,\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"527f3a9e_15842a89","line":949,"range":{"start_line":949,"start_character":0,"end_line":949,"end_character":22},"in_reply_to":"04fb2156_cb9a61d6","updated":"2021-03-09 21:39:52.000000000","message":"probably no, since we already set in orm.backref","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":953,"context_line":"                    \u0027ShareInstance.deleted \u003d\u003d \"False\")\u0027)"},{"line_number":954,"context_line":"    share_groups \u003d orm.relationship("},{"line_number":955,"context_line":"        \"ShareGroup\","},{"line_number":956,"context_line":"        lazy\u003d\u0027joined\u0027,"},{"line_number":957,"context_line":"        backref\u003dorm.backref(\u0027share_network\u0027, lazy\u003d\u0027joined\u0027),"},{"line_number":958,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":959,"context_line":"                    \u0027ShareNetwork.id \u003d\u003d ShareGroup.share_network_id,\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"242433c0_9b276d11","line":956,"range":{"start_line":956,"start_character":0,"end_line":956,"end_character":22},"updated":"2021-03-03 19:07:23.000000000","message":"Is this necessary?","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":953,"context_line":"                    \u0027ShareInstance.deleted \u003d\u003d \"False\")\u0027)"},{"line_number":954,"context_line":"    share_groups \u003d orm.relationship("},{"line_number":955,"context_line":"        \"ShareGroup\","},{"line_number":956,"context_line":"        lazy\u003d\u0027joined\u0027,"},{"line_number":957,"context_line":"        backref\u003dorm.backref(\u0027share_network\u0027, lazy\u003d\u0027joined\u0027),"},{"line_number":958,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":959,"context_line":"                    \u0027ShareNetwork.id \u003d\u003d ShareGroup.share_network_id,\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"2bd61ec9_26850001","line":956,"range":{"start_line":956,"start_character":0,"end_line":956,"end_character":22},"in_reply_to":"242433c0_9b276d11","updated":"2021-03-09 21:39:52.000000000","message":"same","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8cfd719e04729fbb91be361bb42def6f5b223b41","unresolved":true,"context_lines":[{"line_number":360,"context_line":"        if self._availability_zone:"},{"line_number":361,"context_line":"            return self._availability_zone[\u0027name\u0027]"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    @property"},{"line_number":364,"context_line":"    def share_network_status(self):"},{"line_number":365,"context_line":"        # not all share instances might have a share network"},{"line_number":366,"context_line":"        return self.share_network[\u0027status\u0027] if self.share_network else None"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    id \u003d Column(String(36), primary_key\u003dTrue)"},{"line_number":369,"context_line":"    share_id \u003d Column(String(36), ForeignKey(\u0027shares.id\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"c8004175_ec4161ad","line":366,"range":{"start_line":363,"start_character":4,"end_line":366,"end_character":75},"updated":"2021-03-11 22:59:20.000000000","message":"Where is this property being used?","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":360,"context_line":"        if self._availability_zone:"},{"line_number":361,"context_line":"            return self._availability_zone[\u0027name\u0027]"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    @property"},{"line_number":364,"context_line":"    def share_network_status(self):"},{"line_number":365,"context_line":"        # not all share instances might have a share network"},{"line_number":366,"context_line":"        return self.share_network[\u0027status\u0027] if self.share_network else None"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    id \u003d Column(String(36), primary_key\u003dTrue)"},{"line_number":369,"context_line":"    share_id \u003d Column(String(36), ForeignKey(\u0027shares.id\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"2418c392_41f840f8","line":366,"range":{"start_line":363,"start_character":4,"end_line":366,"end_character":75},"in_reply_to":"c8004175_ec4161ad","updated":"2021-03-12 20:28:32.000000000","message":"Can\u0027t see any place that is really using this. We can remove it.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6e24c45201f0918da0466d5d7036bdee4e616faa","unresolved":true,"context_lines":[{"line_number":946,"context_line":"        \u0027SecurityService.deleted \u003d\u003d \"False\")\u0027)"},{"line_number":947,"context_line":"    share_instances \u003d orm.relationship("},{"line_number":948,"context_line":"        \"ShareInstance\","},{"line_number":949,"context_line":"        backref\u003dorm.backref(\u0027share_network\u0027, lazy\u003d\u0027joined\u0027),"},{"line_number":950,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":951,"context_line":"                    \u0027ShareNetwork.id \u003d\u003d ShareInstance.share_network_id,\u0027"},{"line_number":952,"context_line":"                    \u0027ShareInstance.deleted \u003d\u003d \"False\")\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"eede05f9_80f866f0","line":949,"range":{"start_line":949,"start_character":0,"end_line":949,"end_character":60},"updated":"2021-03-11 22:51:07.000000000","message":"What\u0027s the consequence without this \"lazy\" parameter. Isn\u0027t it okay if we loaded it just in time via sql queries. I see the \"share_network_status\" parameter, and it\u0027s used only in the share manager. Maybe making a round trip to the database to get the share network (if it\u0027s not already available) is sufficient there?\n\nAdding a joined load here and below for share_groups affects all queries for these objects; so think share APIs, share groups APIs etc, that do not really need the \"share_network_status\" field","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":946,"context_line":"        \u0027SecurityService.deleted \u003d\u003d \"False\")\u0027)"},{"line_number":947,"context_line":"    share_instances \u003d orm.relationship("},{"line_number":948,"context_line":"        \"ShareInstance\","},{"line_number":949,"context_line":"        backref\u003dorm.backref(\u0027share_network\u0027, lazy\u003d\u0027joined\u0027),"},{"line_number":950,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":951,"context_line":"                    \u0027ShareNetwork.id \u003d\u003d ShareInstance.share_network_id,\u0027"},{"line_number":952,"context_line":"                    \u0027ShareInstance.deleted \u003d\u003d \"False\")\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"f88f43f1_b36a4c66","line":949,"range":{"start_line":949,"start_character":0,"end_line":949,"end_character":60},"in_reply_to":"eede05f9_80f866f0","updated":"2021-03-12 20:28:32.000000000","message":"You are right, there is no need to add this extra processing here. Removed.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":1215,"context_line":"        if self._availability_zone:"},{"line_number":1216,"context_line":"            return self._availability_zone[\u0027name\u0027]"},{"line_number":1217,"context_line":""},{"line_number":1218,"context_line":"    @property"},{"line_number":1219,"context_line":"    def share_network_status(self):"},{"line_number":1220,"context_line":"        return self.share_network[\u0027status\u0027] if self.share_network else None"},{"line_number":1221,"context_line":""},{"line_number":1222,"context_line":""},{"line_number":1223,"context_line":"class ShareGroupTypeProjects(BASE, ManilaBase):"},{"line_number":1224,"context_line":"    \"\"\"Represent projects associated share group types.\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"d60e0c0c_5bdc5908","line":1221,"range":{"start_line":1218,"start_character":0,"end_line":1221,"end_character":0},"updated":"2021-03-12 20:28:32.000000000","message":"Remove, it is not being used.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"64510a909f5260ced538cf539524e27c9a30001d","unresolved":true,"context_lines":[{"line_number":189,"context_line":"    _extra_keys \u003d [\u0027name\u0027, \u0027export_location\u0027, \u0027export_locations\u0027, \u0027status\u0027,"},{"line_number":190,"context_line":"                   \u0027host\u0027, \u0027share_server_id\u0027, \u0027share_network_id\u0027,"},{"line_number":191,"context_line":"                   \u0027availability_zone\u0027, \u0027access_rules_status\u0027, \u0027share_type_id\u0027,"},{"line_number":192,"context_line":"                   \u0027share_network_status\u0027]"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    @property"},{"line_number":195,"context_line":"    def name(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"d522b653_6cfab833","line":192,"range":{"start_line":192,"start_character":20,"end_line":192,"end_character":40},"updated":"2021-03-14 20:28:45.000000000","message":"No longer required","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"64510a909f5260ced538cf539524e27c9a30001d","unresolved":true,"context_lines":[{"line_number":229,"context_line":"        proxified_properties \u003d (\u0027status\u0027, \u0027host\u0027, \u0027share_server_id\u0027,"},{"line_number":230,"context_line":"                                \u0027share_network_id\u0027, \u0027availability_zone\u0027,"},{"line_number":231,"context_line":"                                \u0027share_type_id\u0027, \u0027share_type\u0027,"},{"line_number":232,"context_line":"                                \u0027share_network_status\u0027)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        if item in proxified_properties:"},{"line_number":235,"context_line":"            return getattr(self.instance, item, None)"}],"source_content_type":"text/x-python","patch_set":13,"id":"164590fd_41053d3b","line":232,"range":{"start_line":232,"start_character":33,"end_line":232,"end_character":53},"updated":"2021-03-14 20:28:45.000000000","message":"This isn\u0027t set in the instance anymore.","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"64510a909f5260ced538cf539524e27c9a30001d","unresolved":true,"context_lines":[{"line_number":1016,"context_line":"    def share_network_name(self):"},{"line_number":1017,"context_line":"        return self.share_network[\u0027name\u0027]"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"    @property"},{"line_number":1020,"context_line":"    def share_network_status(self):"},{"line_number":1021,"context_line":"        return self.share_network[\u0027status\u0027]"},{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":""},{"line_number":1024,"context_line":"class ShareServer(BASE, ManilaBase):"}],"source_content_type":"text/x-python","patch_set":13,"id":"18152bdc_28ddc021","line":1021,"range":{"start_line":1019,"start_character":3,"end_line":1021,"end_character":43},"updated":"2021-03-14 20:28:45.000000000","message":"Isn\u0027t being used anymore, so we can drop this?","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"64510a909f5260ced538cf539524e27c9a30001d","unresolved":true,"context_lines":[{"line_number":1077,"context_line":"    def backend_details(self):"},{"line_number":1078,"context_line":"        return {model[\u0027key\u0027]: model[\u0027value\u0027]"},{"line_number":1079,"context_line":"                for model in self._backend_details}"},{"line_number":1080,"context_line":""},{"line_number":1081,"context_line":"    @property"},{"line_number":1082,"context_line":"    def share_network_status(self):"},{"line_number":1083,"context_line":"        return self.share_network_subnet[\u0027share_network\u0027][\u0027status\u0027]"},{"line_number":1084,"context_line":""},{"line_number":1085,"context_line":"    _extra_keys \u003d [\u0027backend_details\u0027]"},{"line_number":1086,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"96e88987_d5c7fc75","line":1083,"range":{"start_line":1080,"start_character":0,"end_line":1083,"end_character":67},"updated":"2021-03-14 20:28:45.000000000","message":"same as above","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"}],"manila/policies/share_network.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":107,"context_line":"            }"},{"line_number":108,"context_line":"        ]),"},{"line_number":109,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":110,"context_line":"        name\u003dBASE_POLICY_NAME % \u0027update_security_service\u0027,"},{"line_number":111,"context_line":"        check_str\u003dbase.RULE_DEFAULT,"},{"line_number":112,"context_line":"        description\u003d\"Update security service from share network.\","},{"line_number":113,"context_line":"        operations\u003d["},{"line_number":114,"context_line":"            {"},{"line_number":115,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"},{"line_number":116,"context_line":"                \u0027path\u0027: \u0027/share-networks/{share_network_id}/action\u0027"},{"line_number":117,"context_line":"            }"},{"line_number":118,"context_line":"        ]),"},{"line_number":119,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":120,"context_line":"        name\u003dBASE_POLICY_NAME % \u0027reset_status\u0027,"},{"line_number":121,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":122,"context_line":"        description\u003d\"Reset share network`s status.\","},{"line_number":123,"context_line":"        operations\u003d["},{"line_number":124,"context_line":"            {"},{"line_number":125,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"},{"line_number":126,"context_line":"                \u0027path\u0027: \u0027/share-networks/{share_network_id}/action\u0027"},{"line_number":127,"context_line":"            }"},{"line_number":128,"context_line":"        ]),"},{"line_number":129,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":130,"context_line":"        name\u003dBASE_POLICY_NAME % \u0027get_all_share_networks\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ed834286_bdb50e44","line":127,"range":{"start_line":110,"start_character":1,"end_line":127,"end_character":13},"updated":"2021-03-03 19:07:23.000000000","message":"use secure-rbac as default for this.","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":107,"context_line":"            }"},{"line_number":108,"context_line":"        ]),"},{"line_number":109,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":110,"context_line":"        name\u003dBASE_POLICY_NAME % \u0027update_security_service\u0027,"},{"line_number":111,"context_line":"        check_str\u003dbase.RULE_DEFAULT,"},{"line_number":112,"context_line":"        description\u003d\"Update security service from share network.\","},{"line_number":113,"context_line":"        operations\u003d["},{"line_number":114,"context_line":"            {"},{"line_number":115,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"},{"line_number":116,"context_line":"                \u0027path\u0027: \u0027/share-networks/{share_network_id}/action\u0027"},{"line_number":117,"context_line":"            }"},{"line_number":118,"context_line":"        ]),"},{"line_number":119,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":120,"context_line":"        name\u003dBASE_POLICY_NAME % \u0027reset_status\u0027,"},{"line_number":121,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":122,"context_line":"        description\u003d\"Reset share network`s status.\","},{"line_number":123,"context_line":"        operations\u003d["},{"line_number":124,"context_line":"            {"},{"line_number":125,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"},{"line_number":126,"context_line":"                \u0027path\u0027: \u0027/share-networks/{share_network_id}/action\u0027"},{"line_number":127,"context_line":"            }"},{"line_number":128,"context_line":"        ]),"},{"line_number":129,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":130,"context_line":"        name\u003dBASE_POLICY_NAME % \u0027get_all_share_networks\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"285023a6_60e61eb9","line":127,"range":{"start_line":110,"start_character":1,"end_line":127,"end_character":13},"in_reply_to":"ed834286_bdb50e44","updated":"2021-03-09 21:39:52.000000000","message":"Will do after it got merged.","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"}],"manila/share/access.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6e24c45201f0918da0466d5d7036bdee4e616faa","unresolved":true,"context_lines":[{"line_number":94,"context_line":"                context, share_instance_id, updates, with_share_data\u003dTrue)"},{"line_number":95,"context_line":"            return share_instance"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @locked_access_rules_operation"},{"line_number":98,"context_line":"    def update_share_instances_access_rules_status("},{"line_number":99,"context_line":"            self, context, status, share_instance_ids):"},{"line_number":100,"context_line":"        \"\"\"Update the access_rules_status of all share instances."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        :param status: Force a state change on all share instances regardless"}],"source_content_type":"text/x-python","patch_set":10,"id":"f43e033e_580e5f4c","line":99,"range":{"start_line":97,"start_character":4,"end_line":99,"end_character":55},"updated":"2021-03-11 22:51:07.000000000","message":"this lock isn\u0027t really useful.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":94,"context_line":"                context, share_instance_id, updates, with_share_data\u003dTrue)"},{"line_number":95,"context_line":"            return share_instance"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @locked_access_rules_operation"},{"line_number":98,"context_line":"    def update_share_instances_access_rules_status("},{"line_number":99,"context_line":"            self, context, status, share_instance_ids):"},{"line_number":100,"context_line":"        \"\"\"Update the access_rules_status of all share instances."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        :param status: Force a state change on all share instances regardless"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a6b9d67_b07bf411","line":99,"range":{"start_line":97,"start_character":4,"end_line":99,"end_character":55},"in_reply_to":"f43e033e_580e5f4c","updated":"2021-03-12 20:28:32.000000000","message":"Forgot that, thanks. Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}],"manila/share/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":2655,"context_line":""},{"line_number":2656,"context_line":"    def _share_network_update_initial_checks(self, context, share_network):"},{"line_number":2657,"context_line":""},{"line_number":2658,"context_line":"        if share_network[\u0027status\u0027] !\u003d constants.STATUS_NETWORK_ACTIVE:"},{"line_number":2659,"context_line":"            msg \u003d _(\u0027Share network %(share_net_id)s status must be active, \u0027"},{"line_number":2660,"context_line":"                    \u0027but current status is: %(share_net_status)s.\u0027) % {"},{"line_number":2661,"context_line":"                        \u0027share_net_id\u0027: share_network[\u0027id\u0027],"},{"line_number":2662,"context_line":"                        \u0027share_net_status\u0027: share_network[\u0027status\u0027]}"},{"line_number":2663,"context_line":"            raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2664,"context_line":""},{"line_number":2665,"context_line":"        share_servers \u003d set()"},{"line_number":2666,"context_line":"        for subnet in share_network[\u0027share_network_subnets\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9c3fa171_39b403a5","line":2663,"range":{"start_line":2658,"start_character":6,"end_line":2663,"end_character":59},"updated":"2021-03-03 19:07:23.000000000","message":"Duplicated check from the versioned api modules, you can drop it from there when you move all the complex checks to this module.","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":2655,"context_line":""},{"line_number":2656,"context_line":"    def _share_network_update_initial_checks(self, context, share_network):"},{"line_number":2657,"context_line":""},{"line_number":2658,"context_line":"        if share_network[\u0027status\u0027] !\u003d constants.STATUS_NETWORK_ACTIVE:"},{"line_number":2659,"context_line":"            msg \u003d _(\u0027Share network %(share_net_id)s status must be active, \u0027"},{"line_number":2660,"context_line":"                    \u0027but current status is: %(share_net_status)s.\u0027) % {"},{"line_number":2661,"context_line":"                        \u0027share_net_id\u0027: share_network[\u0027id\u0027],"},{"line_number":2662,"context_line":"                        \u0027share_net_status\u0027: share_network[\u0027status\u0027]}"},{"line_number":2663,"context_line":"            raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2664,"context_line":""},{"line_number":2665,"context_line":"        share_servers \u003d set()"},{"line_number":2666,"context_line":"        for subnet in share_network[\u0027share_network_subnets\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9613a2a3_ce9e649a","line":2663,"range":{"start_line":2658,"start_character":6,"end_line":2663,"end_character":59},"in_reply_to":"9c3fa171_39b403a5","updated":"2021-03-09 21:39:52.000000000","message":"Remove from api modules, and now it is only here.","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":2726,"context_line":"        # Start with a call to check if all backends can really support this"},{"line_number":2727,"context_line":"        # update operation. If all of them return success, we are good to"},{"line_number":2728,"context_line":"        # proceed."},{"line_number":2729,"context_line":"        for backend_host in backend_hosts:"},{"line_number":2730,"context_line":"            if (not self.share_rpcapi."},{"line_number":2731,"context_line":"                    check_update_share_network_security_service("},{"line_number":2732,"context_line":"                        context, backend_host, share_network[\u0027id\u0027],"},{"line_number":2733,"context_line":"                        new_security_service[\u0027id\u0027],"},{"line_number":2734,"context_line":"                        current_security_service_id\u003dcurr_sec_serv_id)):"},{"line_number":2735,"context_line":"                msg \u003d _("},{"line_number":2736,"context_line":"                    \u0027The share network %(share_net_id)s cannot be updated \u0027"},{"line_number":2737,"context_line":"                    \u0027since at least one of its resources does not support \u0027"},{"line_number":2738,"context_line":"                    \u0027this operation.\u0027) % {"},{"line_number":2739,"context_line":"                        \u0027share_net_id\u0027: share_network[\u0027id\u0027]}"},{"line_number":2740,"context_line":"                raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2741,"context_line":""},{"line_number":2742,"context_line":"        self.db.share_network_update("},{"line_number":2743,"context_line":"            context, share_network[\u0027id\u0027],"},{"line_number":2744,"context_line":"            {\u0027status\u0027: constants.STATUS_NETWORK_CHANGE})"},{"line_number":2745,"context_line":""},{"line_number":2746,"context_line":"        # NOTE(dviroel): We want to change the status for all share servers to"},{"line_number":2747,"context_line":"        # identify when all modifications are made, and update share network"}],"source_content_type":"text/x-python","patch_set":5,"id":"84b68975_16e034c2","line":2744,"range":{"start_line":2729,"start_character":0,"end_line":2744,"end_character":56},"updated":"2021-03-03 19:07:23.000000000","message":"As discussed in the collab review, can we find a way to avoid this synchronous call?","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":2726,"context_line":"        # Start with a call to check if all backends can really support this"},{"line_number":2727,"context_line":"        # update operation. If all of them return success, we are good to"},{"line_number":2728,"context_line":"        # proceed."},{"line_number":2729,"context_line":"        for backend_host in backend_hosts:"},{"line_number":2730,"context_line":"            if (not self.share_rpcapi."},{"line_number":2731,"context_line":"                    check_update_share_network_security_service("},{"line_number":2732,"context_line":"                        context, backend_host, share_network[\u0027id\u0027],"},{"line_number":2733,"context_line":"                        new_security_service[\u0027id\u0027],"},{"line_number":2734,"context_line":"                        current_security_service_id\u003dcurr_sec_serv_id)):"},{"line_number":2735,"context_line":"                msg \u003d _("},{"line_number":2736,"context_line":"                    \u0027The share network %(share_net_id)s cannot be updated \u0027"},{"line_number":2737,"context_line":"                    \u0027since at least one of its resources does not support \u0027"},{"line_number":2738,"context_line":"                    \u0027this operation.\u0027) % {"},{"line_number":2739,"context_line":"                        \u0027share_net_id\u0027: share_network[\u0027id\u0027]}"},{"line_number":2740,"context_line":"                raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2741,"context_line":""},{"line_number":2742,"context_line":"        self.db.share_network_update("},{"line_number":2743,"context_line":"            context, share_network[\u0027id\u0027],"},{"line_number":2744,"context_line":"            {\u0027status\u0027: constants.STATUS_NETWORK_CHANGE})"},{"line_number":2745,"context_line":""},{"line_number":2746,"context_line":"        # NOTE(dviroel): We want to change the status for all share servers to"},{"line_number":2747,"context_line":"        # identify when all modifications are made, and update share network"}],"source_content_type":"text/x-python","patch_set":5,"id":"059eb7ad_faf780ea","line":2744,"range":{"start_line":2729,"start_character":0,"end_line":2744,"end_character":56},"in_reply_to":"84b68975_16e034c2","updated":"2021-03-09 21:39:52.000000000","message":"As discussed in collab review and in its etherpad, we decided to use asynchronous calls and wait the backend-host to update an new database table. When starting a security service update, this table will be used to check if all backend hosts support the operation. To start the check operation, two new apis were added to share-network resource, \u0027update-check\u0027 and \u0027add-check\u0027 must be used before actually starting an update. Thanks for the help on elaborating this solution.","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"637af3d95d3e1531d1e26c004f8e8bf87d89ebe7","unresolved":true,"context_lines":[{"line_number":2709,"context_line":"    def _share_network_update_initial_checks(self, context, share_network,"},{"line_number":2710,"context_line":"                                             new_security_service,"},{"line_number":2711,"context_line":"                                             current_security_service\u003dNone):"},{"line_number":2712,"context_line":"        if share_network[\u0027status\u0027] !\u003d constants.STATUS_NETWORK_ACTIVE:"},{"line_number":2713,"context_line":"            msg \u003d _(\u0027Share network %(share_net_id)s status must be active, \u0027"},{"line_number":2714,"context_line":"                    \u0027but current status is: %(share_net_status)s.\u0027) % {"},{"line_number":2715,"context_line":"                        \u0027share_net_id\u0027: share_network[\u0027id\u0027],"},{"line_number":2716,"context_line":"                        \u0027share_net_status\u0027: share_network[\u0027status\u0027]}"},{"line_number":2717,"context_line":"            raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2718,"context_line":""},{"line_number":2719,"context_line":"        if not current_security_service:"},{"line_number":2720,"context_line":"            # Since we are adding a new security service, we can\u0027t have one"}],"source_content_type":"text/x-python","patch_set":10,"id":"ece2bcde_010897ab","line":2717,"range":{"start_line":2712,"start_character":8,"end_line":2717,"end_character":59},"updated":"2021-03-11 20:08:01.000000000","message":"can reuse the method from common: https://review.opendev.org/c/openstack/manila/+/774728/10/manila/api/common.py@257","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":2709,"context_line":"    def _share_network_update_initial_checks(self, context, share_network,"},{"line_number":2710,"context_line":"                                             new_security_service,"},{"line_number":2711,"context_line":"                                             current_security_service\u003dNone):"},{"line_number":2712,"context_line":"        if share_network[\u0027status\u0027] !\u003d constants.STATUS_NETWORK_ACTIVE:"},{"line_number":2713,"context_line":"            msg \u003d _(\u0027Share network %(share_net_id)s status must be active, \u0027"},{"line_number":2714,"context_line":"                    \u0027but current status is: %(share_net_status)s.\u0027) % {"},{"line_number":2715,"context_line":"                        \u0027share_net_id\u0027: share_network[\u0027id\u0027],"},{"line_number":2716,"context_line":"                        \u0027share_net_status\u0027: share_network[\u0027status\u0027]}"},{"line_number":2717,"context_line":"            raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2718,"context_line":""},{"line_number":2719,"context_line":"        if not current_security_service:"},{"line_number":2720,"context_line":"            # Since we are adding a new security service, we can\u0027t have one"}],"source_content_type":"text/x-python","patch_set":10,"id":"ad95afdd_ea9c29cc","line":2717,"range":{"start_line":2712,"start_character":8,"end_line":2717,"end_character":59},"in_reply_to":"ece2bcde_010897ab","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"637af3d95d3e1531d1e26c004f8e8bf87d89ebe7","unresolved":true,"context_lines":[{"line_number":2732,"context_line":"            # Validations needed only for update operation"},{"line_number":2733,"context_line":"            if (current_security_service[\u0027type\u0027] !\u003d"},{"line_number":2734,"context_line":"                    new_security_service[\u0027type\u0027]):"},{"line_number":2735,"context_line":"                msg \u003d _(\"Cannot update different types of security service to \""},{"line_number":2736,"context_line":"                        \"%(sn_id)s\u0027 share network. The current security \""},{"line_number":2737,"context_line":"                        \"service type is \u0027%(ss_type)s\u0027 and the new security \""},{"line_number":2738,"context_line":"                        \"service type is \u0027%(new_ss_type)s\u0027.\") % {"},{"line_number":2739,"context_line":"                    \u0027ss_type\u0027: current_security_service[\u0027type\u0027],"},{"line_number":2740,"context_line":"                    \u0027new_ss_type\u0027: new_security_service[\u0027type\u0027],"},{"line_number":2741,"context_line":"                    \u0027sn_id\u0027: share_network[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"67661581_770aec20","line":2738,"range":{"start_line":2735,"start_character":25,"end_line":2738,"end_character":58},"updated":"2021-03-11 20:08:01.000000000","message":"A security service can only be replaced with one of the same type. The current security service type is \u0027%(ss_type)s\u0027 and the new security service type is \u0027%(new_ss_type)s\u0027","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":2732,"context_line":"            # Validations needed only for update operation"},{"line_number":2733,"context_line":"            if (current_security_service[\u0027type\u0027] !\u003d"},{"line_number":2734,"context_line":"                    new_security_service[\u0027type\u0027]):"},{"line_number":2735,"context_line":"                msg \u003d _(\"Cannot update different types of security service to \""},{"line_number":2736,"context_line":"                        \"%(sn_id)s\u0027 share network. The current security \""},{"line_number":2737,"context_line":"                        \"service type is \u0027%(ss_type)s\u0027 and the new security \""},{"line_number":2738,"context_line":"                        \"service type is \u0027%(new_ss_type)s\u0027.\") % {"},{"line_number":2739,"context_line":"                    \u0027ss_type\u0027: current_security_service[\u0027type\u0027],"},{"line_number":2740,"context_line":"                    \u0027new_ss_type\u0027: new_security_service[\u0027type\u0027],"},{"line_number":2741,"context_line":"                    \u0027sn_id\u0027: share_network[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"830ef149_6199bb76","line":2738,"range":{"start_line":2735,"start_character":25,"end_line":2738,"end_character":58},"in_reply_to":"67661581_770aec20","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"637af3d95d3e1531d1e26c004f8e8bf87d89ebe7","unresolved":true,"context_lines":[{"line_number":2742,"context_line":"                }"},{"line_number":2743,"context_line":"                raise exception.InvalidSecurityService(reason\u003dmsg)"},{"line_number":2744,"context_line":""},{"line_number":2745,"context_line":"            current_service_is_associated \u003d ("},{"line_number":2746,"context_line":"                self.db.share_network_security_service_association_get("},{"line_number":2747,"context_line":"                    context, share_network[\u0027id\u0027],"},{"line_number":2748,"context_line":"                    current_security_service[\u0027id\u0027]))"},{"line_number":2749,"context_line":""},{"line_number":2750,"context_line":"            if not current_service_is_associated:"},{"line_number":2751,"context_line":"                msg \u003d _(\"The specified current security service %(service)s \""},{"line_number":2752,"context_line":"                        \"is not associated to the share network %(network)s.\""},{"line_number":2753,"context_line":"                        ) % {"},{"line_number":2754,"context_line":"                    \u0027service\u0027: current_security_service[\u0027id\u0027],"},{"line_number":2755,"context_line":"                    \u0027network\u0027: share_network[\u0027id\u0027]"},{"line_number":2756,"context_line":"                }"},{"line_number":2757,"context_line":"                raise exception.InvalidSecurityService(reason\u003dmsg)"},{"line_number":2758,"context_line":""},{"line_number":2759,"context_line":"        share_servers \u003d set()"},{"line_number":2760,"context_line":"        for subnet in share_network[\u0027share_network_subnets\u0027]:"}],"source_content_type":"text/x-python","patch_set":10,"id":"3750a4c8_71e0d2b6","line":2757,"range":{"start_line":2745,"start_character":0,"end_line":2757,"end_character":66},"updated":"2021-03-11 20:08:01.000000000","message":"nit: Can we move this check above the type mismatch check?","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":2742,"context_line":"                }"},{"line_number":2743,"context_line":"                raise exception.InvalidSecurityService(reason\u003dmsg)"},{"line_number":2744,"context_line":""},{"line_number":2745,"context_line":"            current_service_is_associated \u003d ("},{"line_number":2746,"context_line":"                self.db.share_network_security_service_association_get("},{"line_number":2747,"context_line":"                    context, share_network[\u0027id\u0027],"},{"line_number":2748,"context_line":"                    current_security_service[\u0027id\u0027]))"},{"line_number":2749,"context_line":""},{"line_number":2750,"context_line":"            if not current_service_is_associated:"},{"line_number":2751,"context_line":"                msg \u003d _(\"The specified current security service %(service)s \""},{"line_number":2752,"context_line":"                        \"is not associated to the share network %(network)s.\""},{"line_number":2753,"context_line":"                        ) % {"},{"line_number":2754,"context_line":"                    \u0027service\u0027: current_security_service[\u0027id\u0027],"},{"line_number":2755,"context_line":"                    \u0027network\u0027: share_network[\u0027id\u0027]"},{"line_number":2756,"context_line":"                }"},{"line_number":2757,"context_line":"                raise exception.InvalidSecurityService(reason\u003dmsg)"},{"line_number":2758,"context_line":""},{"line_number":2759,"context_line":"        share_servers \u003d set()"},{"line_number":2760,"context_line":"        for subnet in share_network[\u0027share_network_subnets\u0027]:"}],"source_content_type":"text/x-python","patch_set":10,"id":"c9688b71_d43777c1","line":2757,"range":{"start_line":2745,"start_character":0,"end_line":2757,"end_character":66},"in_reply_to":"3750a4c8_71e0d2b6","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"637af3d95d3e1531d1e26c004f8e8bf87d89ebe7","unresolved":true,"context_lines":[{"line_number":2759,"context_line":"        share_servers \u003d set()"},{"line_number":2760,"context_line":"        for subnet in share_network[\u0027share_network_subnets\u0027]:"},{"line_number":2761,"context_line":"            if subnet[\u0027share_servers\u0027]:"},{"line_number":2762,"context_line":"                share_servers.update(subnet[\u0027share_servers\u0027])"},{"line_number":2763,"context_line":""},{"line_number":2764,"context_line":"        backend_hosts \u003d set()"},{"line_number":2765,"context_line":"        if share_servers:"}],"source_content_type":"text/x-python","patch_set":10,"id":"f2457b8f_f001b17f","line":2762,"range":{"start_line":2762,"start_character":30,"end_line":2762,"end_character":36},"updated":"2021-03-11 20:08:01.000000000","message":"add","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"773115e0752756da1f1debd904755ed1376a2e21","unresolved":true,"context_lines":[{"line_number":2759,"context_line":"        share_servers \u003d set()"},{"line_number":2760,"context_line":"        for subnet in share_network[\u0027share_network_subnets\u0027]:"},{"line_number":2761,"context_line":"            if subnet[\u0027share_servers\u0027]:"},{"line_number":2762,"context_line":"                share_servers.update(subnet[\u0027share_servers\u0027])"},{"line_number":2763,"context_line":""},{"line_number":2764,"context_line":"        backend_hosts \u003d set()"},{"line_number":2765,"context_line":"        if share_servers:"}],"source_content_type":"text/x-python","patch_set":10,"id":"c9774738_25f7d266","line":2762,"range":{"start_line":2762,"start_character":30,"end_line":2762,"end_character":36},"in_reply_to":"5071e2f1_85a97fd5","updated":"2021-03-12 21:19:51.000000000","message":"I see, thanks!","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":2759,"context_line":"        share_servers \u003d set()"},{"line_number":2760,"context_line":"        for subnet in share_network[\u0027share_network_subnets\u0027]:"},{"line_number":2761,"context_line":"            if subnet[\u0027share_servers\u0027]:"},{"line_number":2762,"context_line":"                share_servers.update(subnet[\u0027share_servers\u0027])"},{"line_number":2763,"context_line":""},{"line_number":2764,"context_line":"        backend_hosts \u003d set()"},{"line_number":2765,"context_line":"        if share_servers:"}],"source_content_type":"text/x-python","patch_set":10,"id":"5071e2f1_85a97fd5","line":2762,"range":{"start_line":2762,"start_character":30,"end_line":2762,"end_character":36},"in_reply_to":"f2457b8f_f001b17f","updated":"2021-03-12 20:28:32.000000000","message":"must be a \u0027update\u0027 since subnet[\u0027share_servers\u0027] can be a list.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"89813208a2fe8954665181a7e9a03f9beba4930d","unresolved":true,"context_lines":[{"line_number":2764,"context_line":"        backend_hosts \u003d set()"},{"line_number":2765,"context_line":"        if share_servers:"},{"line_number":2766,"context_line":"            if not share_network[\u0027security_service_update_support\u0027]:"},{"line_number":2767,"context_line":"                msg \u003d (\"The share network \u0027%(sn_id)s\u0027 doesn\u0027t support the \""},{"line_number":2768,"context_line":"                       \"security service addition or update with existing \""},{"line_number":2769,"context_line":"                       \"share servers.\") % {"},{"line_number":2770,"context_line":"                    \"sn_id\": share_network[\"id\"]"},{"line_number":2771,"context_line":"                }"},{"line_number":2772,"context_line":"                raise exception.InvalidShareNetwork(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"990f359c_d7ca6be6","line":2769,"range":{"start_line":2767,"start_character":24,"end_line":2769,"end_character":39},"updated":"2021-03-11 20:21:22.000000000","message":"Updating security services is not supported on this share network (%(sn_id)s) while it has shares. See the capability \"security_service_update_support\".","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":2764,"context_line":"        backend_hosts \u003d set()"},{"line_number":2765,"context_line":"        if share_servers:"},{"line_number":2766,"context_line":"            if not share_network[\u0027security_service_update_support\u0027]:"},{"line_number":2767,"context_line":"                msg \u003d (\"The share network \u0027%(sn_id)s\u0027 doesn\u0027t support the \""},{"line_number":2768,"context_line":"                       \"security service addition or update with existing \""},{"line_number":2769,"context_line":"                       \"share servers.\") % {"},{"line_number":2770,"context_line":"                    \"sn_id\": share_network[\"id\"]"},{"line_number":2771,"context_line":"                }"},{"line_number":2772,"context_line":"                raise exception.InvalidShareNetwork(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f03644f_d0cb3dff","line":2769,"range":{"start_line":2767,"start_character":24,"end_line":2769,"end_character":39},"in_reply_to":"990f359c_d7ca6be6","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"89813208a2fe8954665181a7e9a03f9beba4930d","unresolved":true,"context_lines":[{"line_number":2774,"context_line":"            # We can only handle \"active\" share servers for now"},{"line_number":2775,"context_line":"            for share_server in share_servers:"},{"line_number":2776,"context_line":"                if share_server[\u0027status\u0027] !\u003d constants.STATUS_ACTIVE:"},{"line_number":2777,"context_line":"                    msg \u003d _(\u0027Share server %(server_id)s status must be active \u0027"},{"line_number":2778,"context_line":"                            \u0027but current status is: %(server_status)s.\u0027) % {"},{"line_number":2779,"context_line":"                        \u0027server_id\u0027: share_server[\u0027id\u0027],"},{"line_number":2780,"context_line":"                        \u0027server_status\u0027: share_server[\u0027status\u0027]}"},{"line_number":2781,"context_line":"                    raise exception.InvalidShareNetwork(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5798e600_c366a861","line":2778,"range":{"start_line":2777,"start_character":29,"end_line":2778,"end_character":70},"updated":"2021-03-11 20:21:22.000000000","message":"Not appropriate for end users, log it if you must - no need to send this message to end users.\n\n Some resources associated with the share network are not currently available.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":2774,"context_line":"            # We can only handle \"active\" share servers for now"},{"line_number":2775,"context_line":"            for share_server in share_servers:"},{"line_number":2776,"context_line":"                if share_server[\u0027status\u0027] !\u003d constants.STATUS_ACTIVE:"},{"line_number":2777,"context_line":"                    msg \u003d _(\u0027Share server %(server_id)s status must be active \u0027"},{"line_number":2778,"context_line":"                            \u0027but current status is: %(server_status)s.\u0027) % {"},{"line_number":2779,"context_line":"                        \u0027server_id\u0027: share_server[\u0027id\u0027],"},{"line_number":2780,"context_line":"                        \u0027server_status\u0027: share_server[\u0027status\u0027]}"},{"line_number":2781,"context_line":"                    raise exception.InvalidShareNetwork(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"ca3ecfe6_da14a5a6","line":2778,"range":{"start_line":2777,"start_character":29,"end_line":2778,"end_character":70},"in_reply_to":"5798e600_c366a861","updated":"2021-03-12 20:28:32.000000000","message":"ahh, forgot this one. You are right, this is not appropriate for end users.\nWill provide this fix in the next PS","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"f4247154621ff110da46ff827f94a34642d2ff13","unresolved":false,"context_lines":[{"line_number":2774,"context_line":"            # We can only handle \"active\" share servers for now"},{"line_number":2775,"context_line":"            for share_server in share_servers:"},{"line_number":2776,"context_line":"                if share_server[\u0027status\u0027] !\u003d constants.STATUS_ACTIVE:"},{"line_number":2777,"context_line":"                    msg \u003d _(\u0027Share server %(server_id)s status must be active \u0027"},{"line_number":2778,"context_line":"                            \u0027but current status is: %(server_status)s.\u0027) % {"},{"line_number":2779,"context_line":"                        \u0027server_id\u0027: share_server[\u0027id\u0027],"},{"line_number":2780,"context_line":"                        \u0027server_status\u0027: share_server[\u0027status\u0027]}"},{"line_number":2781,"context_line":"                    raise exception.InvalidShareNetwork(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":10,"id":"72bf17ec_e05876a0","line":2778,"range":{"start_line":2777,"start_character":29,"end_line":2778,"end_character":70},"in_reply_to":"ca3ecfe6_da14a5a6","updated":"2021-03-12 21:48:44.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"89813208a2fe8954665181a7e9a03f9beba4930d","unresolved":true,"context_lines":[{"line_number":2790,"context_line":""},{"line_number":2791,"context_line":"            shares \u003d self.get_all("},{"line_number":2792,"context_line":"                context, search_opts\u003d{\u0027share_network_id\u0027: share_network[\u0027id\u0027]})"},{"line_number":2793,"context_line":"            for share in shares:"},{"line_number":2794,"context_line":"                if share[\u0027status\u0027] !\u003d constants.STATUS_AVAILABLE:"},{"line_number":2795,"context_line":"                    msg \u003d _(\u0027Share %(share_id)s status must be available, \u0027"},{"line_number":2796,"context_line":"                            \u0027but current status is: %(share_status)s.\u0027) % {"},{"line_number":2797,"context_line":"                                \u0027share_id\u0027: share[\u0027id\u0027],"},{"line_number":2798,"context_line":"                                \u0027share_status\u0027: share[\u0027status\u0027]}"},{"line_number":2799,"context_line":"                    raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2800,"context_line":""},{"line_number":2801,"context_line":"                share_instance \u003d share[\u0027instance\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"c829aba9_6cba6a0e","line":2798,"range":{"start_line":2793,"start_character":12,"end_line":2798,"end_character":64},"updated":"2021-03-11 20:21:22.000000000","message":"shares_not_available \u003d [share[\u0027id\u0027] for share in shares if share[\u0027status\u0027] !\u003d constants.AVAILABLE]\nmsg \u003d _(\"Some shares associated on share network %(sn_id)s are not available: %(share_ids)s\")","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":2790,"context_line":""},{"line_number":2791,"context_line":"            shares \u003d self.get_all("},{"line_number":2792,"context_line":"                context, search_opts\u003d{\u0027share_network_id\u0027: share_network[\u0027id\u0027]})"},{"line_number":2793,"context_line":"            for share in shares:"},{"line_number":2794,"context_line":"                if share[\u0027status\u0027] !\u003d constants.STATUS_AVAILABLE:"},{"line_number":2795,"context_line":"                    msg \u003d _(\u0027Share %(share_id)s status must be available, \u0027"},{"line_number":2796,"context_line":"                            \u0027but current status is: %(share_status)s.\u0027) % {"},{"line_number":2797,"context_line":"                                \u0027share_id\u0027: share[\u0027id\u0027],"},{"line_number":2798,"context_line":"                                \u0027share_status\u0027: share[\u0027status\u0027]}"},{"line_number":2799,"context_line":"                    raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2800,"context_line":""},{"line_number":2801,"context_line":"                share_instance \u003d share[\u0027instance\u0027]"}],"source_content_type":"text/x-python","patch_set":10,"id":"aecc7408_93946b0b","line":2798,"range":{"start_line":2793,"start_character":12,"end_line":2798,"end_character":64},"in_reply_to":"c829aba9_6cba6a0e","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1dcdd8c2369dad7274f8115a2adc4b8e558eae9c","unresolved":true,"context_lines":[{"line_number":2798,"context_line":"                                \u0027share_status\u0027: share[\u0027status\u0027]}"},{"line_number":2799,"context_line":"                    raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2800,"context_line":""},{"line_number":2801,"context_line":"                share_instance \u003d share[\u0027instance\u0027]"},{"line_number":2802,"context_line":"                # Access rules status must not be error"},{"line_number":2803,"context_line":"                if (share_instance[\u0027access_rules_status\u0027] !\u003d"},{"line_number":2804,"context_line":"                        constants.STATUS_ACTIVE):"},{"line_number":2805,"context_line":"                    msg \u003d _("},{"line_number":2806,"context_line":"                        \u0027Share instance %(instance_id)s access rules status \u0027"},{"line_number":2807,"context_line":"                        \u0027must be \"active\" when attempting to start a share \u0027"},{"line_number":2808,"context_line":"                        \u0027network update.\u0027) % {"},{"line_number":2809,"context_line":"                        \u0027instance_id\u0027: share_instance[\u0027id\u0027]"},{"line_number":2810,"context_line":"                    }"},{"line_number":2811,"context_line":"                    raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2812,"context_line":"                try:"},{"line_number":2813,"context_line":"                    self._check_is_share_busy(share)"},{"line_number":2814,"context_line":"                except exception.ShareBusyException as e:"}],"source_content_type":"text/x-python","patch_set":10,"id":"c7057b8a_8fa0833d","line":2811,"range":{"start_line":2801,"start_character":16,"end_line":2811,"end_character":67},"updated":"2021-03-11 21:45:23.000000000","message":"same logic as above - feels incorrect to bail out on the first share we encounter; rather if we can pool all of them, we can make a better error message for a human consumer.\nit\u0027s okay to loop three times, once for available status, once for access_rules_status and once for is_busy - still O(n). \n\nHowever, on the second one, the way we\u0027ve called \"share_instances\" in the past has been:\n\n\"Either the share or one of its replicas or migration copies\"","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":true,"context_lines":[{"line_number":2798,"context_line":"                                \u0027share_status\u0027: share[\u0027status\u0027]}"},{"line_number":2799,"context_line":"                    raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2800,"context_line":""},{"line_number":2801,"context_line":"                share_instance \u003d share[\u0027instance\u0027]"},{"line_number":2802,"context_line":"                # Access rules status must not be error"},{"line_number":2803,"context_line":"                if (share_instance[\u0027access_rules_status\u0027] !\u003d"},{"line_number":2804,"context_line":"                        constants.STATUS_ACTIVE):"},{"line_number":2805,"context_line":"                    msg \u003d _("},{"line_number":2806,"context_line":"                        \u0027Share instance %(instance_id)s access rules status \u0027"},{"line_number":2807,"context_line":"                        \u0027must be \"active\" when attempting to start a share \u0027"},{"line_number":2808,"context_line":"                        \u0027network update.\u0027) % {"},{"line_number":2809,"context_line":"                        \u0027instance_id\u0027: share_instance[\u0027id\u0027]"},{"line_number":2810,"context_line":"                    }"},{"line_number":2811,"context_line":"                    raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2812,"context_line":"                try:"},{"line_number":2813,"context_line":"                    self._check_is_share_busy(share)"},{"line_number":2814,"context_line":"                except exception.ShareBusyException as e:"}],"source_content_type":"text/x-python","patch_set":10,"id":"22d5b782_8ddf0a09","line":2811,"range":{"start_line":2801,"start_character":16,"end_line":2811,"end_character":67},"in_reply_to":"c7057b8a_8fa0833d","updated":"2021-03-12 20:28:32.000000000","message":"I agree with you. User can have the full list of ids once.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1dcdd8c2369dad7274f8115a2adc4b8e558eae9c","unresolved":true,"context_lines":[{"line_number":2998,"context_line":"            raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2999,"context_line":"        elif result is None:"},{"line_number":3000,"context_line":"            msg \u003d _("},{"line_number":3001,"context_line":"                \u0027The share network %(share_net_id)s cannot be updated \u0027"},{"line_number":3002,"context_line":"                \u0027since not all backend hosts finish their validation for \u0027"},{"line_number":3003,"context_line":"                \u0027this operation.\u0027) % {"},{"line_number":3004,"context_line":"                    \u0027share_net_id\u0027: share_network[\u0027id\u0027]}"},{"line_number":3005,"context_line":"            raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":3006,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1a2b1c09_044546f0","line":3003,"range":{"start_line":3001,"start_character":17,"end_line":3003,"end_character":31},"updated":"2021-03-11 21:45:23.000000000","message":"Not all of the validation has been completed yet. A validation check is in progress. This operation can be retried.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":2998,"context_line":"            raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":2999,"context_line":"        elif result is None:"},{"line_number":3000,"context_line":"            msg \u003d _("},{"line_number":3001,"context_line":"                \u0027The share network %(share_net_id)s cannot be updated \u0027"},{"line_number":3002,"context_line":"                \u0027since not all backend hosts finish their validation for \u0027"},{"line_number":3003,"context_line":"                \u0027this operation.\u0027) % {"},{"line_number":3004,"context_line":"                    \u0027share_net_id\u0027: share_network[\u0027id\u0027]}"},{"line_number":3005,"context_line":"            raise exception.InvalidShareNetwork(reason\u003dmsg)"},{"line_number":3006,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"c76cbd26_417ee44c","line":3003,"range":{"start_line":3001,"start_character":17,"end_line":3003,"end_character":31},"in_reply_to":"1a2b1c09_044546f0","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"773115e0752756da1f1debd904755ed1376a2e21","unresolved":true,"context_lines":[{"line_number":2818,"context_line":"                share[\u0027status\u0027] !\u003d constants.STATUS_AVAILABLE]"},{"line_number":2819,"context_line":""},{"line_number":2820,"context_line":"            if shares_not_available:"},{"line_number":2821,"context_line":"                msg \u003d _(\"Some shares associated on share network %(sn_id)s \""},{"line_number":2822,"context_line":"                        \"are not available: %(share_ids)s.\") % {"},{"line_number":2823,"context_line":"                    \u0027sn_id\u0027: share_network[\u0027id\u0027],"},{"line_number":2824,"context_line":"                    \u0027share_ids\u0027: shares_not_available,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a764c63_0755c64d","line":2821,"range":{"start_line":2821,"start_character":37,"end_line":2821,"end_character":50},"updated":"2021-03-12 21:19:51.000000000","message":"I apologize for my earlier suggestion, this sounds incorrect grammatically speaking. Shares are \"exported on\" share networks, or \"associated with\" them 😞\n\nI prefer the former - up to you if you want to fix this up right away though.","commit_id":"30743f80c7f3af8123db16996120180a9580908c"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"f4247154621ff110da46ff827f94a34642d2ff13","unresolved":true,"context_lines":[{"line_number":2818,"context_line":"                share[\u0027status\u0027] !\u003d constants.STATUS_AVAILABLE]"},{"line_number":2819,"context_line":""},{"line_number":2820,"context_line":"            if shares_not_available:"},{"line_number":2821,"context_line":"                msg \u003d _(\"Some shares associated on share network %(sn_id)s \""},{"line_number":2822,"context_line":"                        \"are not available: %(share_ids)s.\") % {"},{"line_number":2823,"context_line":"                    \u0027sn_id\u0027: share_network[\u0027id\u0027],"},{"line_number":2824,"context_line":"                    \u0027share_ids\u0027: shares_not_available,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9d1c59aa_08303577","line":2821,"range":{"start_line":2821,"start_character":37,"end_line":2821,"end_character":50},"in_reply_to":"9a764c63_0755c64d","updated":"2021-03-12 21:48:44.000000000","message":"I aldo prefer \u0027exported on\u0027, much better.\nmy fault too, did a c\u0026p and didn\u0027t notice that. Thanks","commit_id":"30743f80c7f3af8123db16996120180a9580908c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"773115e0752756da1f1debd904755ed1376a2e21","unresolved":true,"context_lines":[{"line_number":2832,"context_line":""},{"line_number":2833,"context_line":"            if shares_rules_not_available:"},{"line_number":2834,"context_line":"                msg \u003d _("},{"line_number":2835,"context_line":"                    \"Either the share or one of its replicas or migration \""},{"line_number":2836,"context_line":"                    \"copies associated on share network %(sn_id)s \""},{"line_number":2837,"context_line":"                    \"are not available: %(share_ids)s.\") % {"},{"line_number":2838,"context_line":"                    \u0027sn_id\u0027: share_network[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":12,"id":"a0f5e0bb_1ce21548","line":2835,"range":{"start_line":2835,"start_character":28,"end_line":2835,"end_character":51},"updated":"2021-03-12 21:19:51.000000000","message":"these shares or their","commit_id":"30743f80c7f3af8123db16996120180a9580908c"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"f4247154621ff110da46ff827f94a34642d2ff13","unresolved":false,"context_lines":[{"line_number":2832,"context_line":""},{"line_number":2833,"context_line":"            if shares_rules_not_available:"},{"line_number":2834,"context_line":"                msg \u003d _("},{"line_number":2835,"context_line":"                    \"Either the share or one of its replicas or migration \""},{"line_number":2836,"context_line":"                    \"copies associated on share network %(sn_id)s \""},{"line_number":2837,"context_line":"                    \"are not available: %(share_ids)s.\") % {"},{"line_number":2838,"context_line":"                    \u0027sn_id\u0027: share_network[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f871350_2f764e7a","line":2835,"range":{"start_line":2835,"start_character":28,"end_line":2835,"end_character":51},"in_reply_to":"a0f5e0bb_1ce21548","updated":"2021-03-12 21:48:44.000000000","message":"Done","commit_id":"30743f80c7f3af8123db16996120180a9580908c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d84e6af59abbc524b48c288d4997694e02cb8562","unresolved":true,"context_lines":[{"line_number":2868,"context_line":"                    new_security_service_id + \u0027_\u0027 + operation)"},{"line_number":2869,"context_line":""},{"line_number":2870,"context_line":"    @locked_security_service_update_operation"},{"line_number":2871,"context_line":"    def _security_service_update_validate_hosts("},{"line_number":2872,"context_line":"            self, context, share_network,"},{"line_number":2873,"context_line":"            backend_hosts, share_servers,"},{"line_number":2874,"context_line":"            new_security_service_id\u003dNone,"}],"source_content_type":"text/x-python","patch_set":13,"id":"e23d5fac_f802f2c0","line":2871,"range":{"start_line":2871,"start_character":8,"end_line":2871,"end_character":47},"updated":"2021-03-14 20:42:00.000000000","message":"missing unit tests","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d84e6af59abbc524b48c288d4997694e02cb8562","unresolved":true,"context_lines":[{"line_number":2934,"context_line":""},{"line_number":2935,"context_line":"            return None, current_hosts"},{"line_number":2936,"context_line":""},{"line_number":2937,"context_line":"    def check_share_network_security_service_update("},{"line_number":2938,"context_line":"            self, context, share_network, new_security_service,"},{"line_number":2939,"context_line":"            current_security_service\u003dNone, reset_operation\u003dFalse):"},{"line_number":2940,"context_line":"        share_servers, backend_hosts \u003d ("}],"source_content_type":"text/x-python","patch_set":13,"id":"b9ba8d93_c7ec66cb","line":2937,"range":{"start_line":2937,"start_character":8,"end_line":2937,"end_character":51},"updated":"2021-03-14 20:42:00.000000000","message":"missing unit tests","commit_id":"2bc27c5678945d92ffd6b885eeaf6f86c9f16f8c"}],"manila/share/driver.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":3213,"context_line":"        :raises: ShareBackendException."},{"line_number":3214,"context_line":"            A ShareBackendException should only be raised if the share server"},{"line_number":3215,"context_line":"            failed to update the security service, compromising all its access"},{"line_number":3216,"context_line":"            rules. By raising an exception, the share server and all its access"},{"line_number":3217,"context_line":"            rules will be set to \u0027error\u0027."},{"line_number":3218,"context_line":"        :return: None, or a dictionary of updates in the following format."},{"line_number":3219,"context_line":""},{"line_number":3220,"context_line":"        Example::"}],"source_content_type":"text/x-python","patch_set":5,"id":"c7fcc005_9187a769","line":3217,"range":{"start_line":3216,"start_character":61,"end_line":3217,"end_character":40},"updated":"2021-03-03 19:07:23.000000000","message":"share instances will be set to \"error\"","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6e24c45201f0918da0466d5d7036bdee4e616faa","unresolved":true,"context_lines":[{"line_number":3244,"context_line":""},{"line_number":3245,"context_line":"    def check_update_share_server_security_service("},{"line_number":3246,"context_line":"            self, context, share_server, network_info, share_instances,"},{"line_number":3247,"context_line":"            share_instance_rules, new_security_service,"},{"line_number":3248,"context_line":"            current_security_service\u003dNone):"},{"line_number":3249,"context_line":"        \"\"\"Check if the current share server security service is supported."},{"line_number":3250,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"86945616_5634fc59","line":3247,"range":{"start_line":3247,"start_character":12,"end_line":3247,"end_character":34},"updated":"2021-03-11 22:51:07.000000000","message":"not in docstring below","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":3244,"context_line":""},{"line_number":3245,"context_line":"    def check_update_share_server_security_service("},{"line_number":3246,"context_line":"            self, context, share_server, network_info, share_instances,"},{"line_number":3247,"context_line":"            share_instance_rules, new_security_service,"},{"line_number":3248,"context_line":"            current_security_service\u003dNone):"},{"line_number":3249,"context_line":"        \"\"\"Check if the current share server security service is supported."},{"line_number":3250,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"cc9b200e_0f827713","line":3247,"range":{"start_line":3247,"start_character":12,"end_line":3247,"end_character":34},"in_reply_to":"86945616_5634fc59","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}],"manila/share/manager.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":1977,"context_line":""},{"line_number":1978,"context_line":"    def _update_share_instance_access_rules_state(self, context,"},{"line_number":1979,"context_line":"                                                  share_instance_id, state):"},{"line_number":1980,"context_line":"        \"\"\"Update the access_rules_status for the share replica.\"\"\""},{"line_number":1981,"context_line":"        self.access_helper.get_and_update_share_instance_access_rules_status("},{"line_number":1982,"context_line":"            context, status\u003dstate, share_instance_id\u003dshare_instance_id)"},{"line_number":1983,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3b933d19_97af4cda","line":1980,"range":{"start_line":1980,"start_character":56,"end_line":1980,"end_character":63},"updated":"2021-03-03 19:07:23.000000000","message":"instance","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":1977,"context_line":""},{"line_number":1978,"context_line":"    def _update_share_instance_access_rules_state(self, context,"},{"line_number":1979,"context_line":"                                                  share_instance_id, state):"},{"line_number":1980,"context_line":"        \"\"\"Update the access_rules_status for the share replica.\"\"\""},{"line_number":1981,"context_line":"        self.access_helper.get_and_update_share_instance_access_rules_status("},{"line_number":1982,"context_line":"            context, status\u003dstate, share_instance_id\u003dshare_instance_id)"},{"line_number":1983,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"75d40c03_497bf2f5","line":1980,"range":{"start_line":1980,"start_character":56,"end_line":1980,"end_character":63},"in_reply_to":"3b933d19_97af4cda","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":5404,"context_line":"            context, src_share_server, dest_share_server, share_instances,"},{"line_number":5405,"context_line":"            snapshot_instances)"},{"line_number":5406,"context_line":""},{"line_number":5407,"context_line":"    def _check_share_network_update_finished(self, context, share_network):"},{"line_number":5408,"context_line":"        share_servers \u003d self.db.share_server_get_all_with_filters("},{"line_number":5409,"context_line":"            context, {\u0027share_network_id\u0027: share_network[\u0027id\u0027]}"},{"line_number":5410,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"0b50821a_cd0b8cbc","line":5407,"range":{"start_line":5407,"start_character":8,"end_line":5407,"end_character":44},"updated":"2021-03-03 19:07:23.000000000","message":"needs to be protected for race conditions","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":5404,"context_line":"            context, src_share_server, dest_share_server, share_instances,"},{"line_number":5405,"context_line":"            snapshot_instances)"},{"line_number":5406,"context_line":""},{"line_number":5407,"context_line":"    def _check_share_network_update_finished(self, context, share_network):"},{"line_number":5408,"context_line":"        share_servers \u003d self.db.share_server_get_all_with_filters("},{"line_number":5409,"context_line":"            context, {\u0027share_network_id\u0027: share_network[\u0027id\u0027]}"},{"line_number":5410,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa0c3dec_8178cced","line":5407,"range":{"start_line":5407,"start_character":8,"end_line":5407,"end_character":44},"in_reply_to":"0b50821a_cd0b8cbc","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":5460,"context_line":"            share_instances \u003d ("},{"line_number":5461,"context_line":"                self.db.share_instances_get_all_by_share_server("},{"line_number":5462,"context_line":"                    context, share_server[\u0027id\u0027], with_share_data\u003dTrue))"},{"line_number":5463,"context_line":"            share_instance_ids \u003d [x.id for x in share_instances]"},{"line_number":5464,"context_line":""},{"line_number":5465,"context_line":"            share_instances_rules \u003d []"},{"line_number":5466,"context_line":"            for share_instance_id in share_instance_ids:"}],"source_content_type":"text/x-python","patch_set":5,"id":"ca9d323b_021691c6","line":5463,"range":{"start_line":5463,"start_character":34,"end_line":5463,"end_character":38},"updated":"2021-03-03 19:07:23.000000000","message":"sn.id","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":5460,"context_line":"            share_instances \u003d ("},{"line_number":5461,"context_line":"                self.db.share_instances_get_all_by_share_server("},{"line_number":5462,"context_line":"                    context, share_server[\u0027id\u0027], with_share_data\u003dTrue))"},{"line_number":5463,"context_line":"            share_instance_ids \u003d [x.id for x in share_instances]"},{"line_number":5464,"context_line":""},{"line_number":5465,"context_line":"            share_instances_rules \u003d []"},{"line_number":5466,"context_line":"            for share_instance_id in share_instance_ids:"}],"source_content_type":"text/x-python","patch_set":5,"id":"d3dad2fe_c7a20008","line":5463,"range":{"start_line":5463,"start_character":34,"end_line":5463,"end_character":38},"in_reply_to":"ca9d323b_021691c6","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":5485,"context_line":"                    # At least one share server doesn\u0027t support this update"},{"line_number":5486,"context_line":"                    return False"},{"line_number":5487,"context_line":""},{"line_number":5488,"context_line":"            # NOTE(dviroel): We always do backend details update since it"},{"line_number":5489,"context_line":"            # should be the expected configuration for this share server. Any"},{"line_number":5490,"context_line":"            # issue with this operation should be fixed by the admin which will"},{"line_number":5491,"context_line":"            # guarantee that storage and backend_details configurations match."},{"line_number":5492,"context_line":"            self.db.share_server_backend_details_set("},{"line_number":5493,"context_line":"                context, share_server[\u0027id\u0027],"},{"line_number":5494,"context_line":"                {\u0027security_service_\u0027 + new_ss_type: jsonutils.dumps("},{"line_number":5495,"context_line":"                    backend_details_data)})"},{"line_number":5496,"context_line":"            try:"},{"line_number":5497,"context_line":"                updates \u003d self.driver.update_share_server_security_service("},{"line_number":5498,"context_line":"                    context, share_server, network_info,"}],"source_content_type":"text/x-python","patch_set":5,"id":"f782a6b6_3c0bfef3","line":5495,"range":{"start_line":5488,"start_character":0,"end_line":5495,"end_character":43},"updated":"2021-03-03 19:07:23.000000000","message":"Shouldn\u0027t this be in an else block?","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":5485,"context_line":"                    # At least one share server doesn\u0027t support this update"},{"line_number":5486,"context_line":"                    return False"},{"line_number":5487,"context_line":""},{"line_number":5488,"context_line":"            # NOTE(dviroel): We always do backend details update since it"},{"line_number":5489,"context_line":"            # should be the expected configuration for this share server. Any"},{"line_number":5490,"context_line":"            # issue with this operation should be fixed by the admin which will"},{"line_number":5491,"context_line":"            # guarantee that storage and backend_details configurations match."},{"line_number":5492,"context_line":"            self.db.share_server_backend_details_set("},{"line_number":5493,"context_line":"                context, share_server[\u0027id\u0027],"},{"line_number":5494,"context_line":"                {\u0027security_service_\u0027 + new_ss_type: jsonutils.dumps("},{"line_number":5495,"context_line":"                    backend_details_data)})"},{"line_number":5496,"context_line":"            try:"},{"line_number":5497,"context_line":"                updates \u003d self.driver.update_share_server_security_service("},{"line_number":5498,"context_line":"                    context, share_server, network_info,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9b7309f1_6b281e2f","line":5495,"range":{"start_line":5488,"start_character":0,"end_line":5495,"end_character":43},"in_reply_to":"f782a6b6_3c0bfef3","updated":"2021-03-09 21:39:52.000000000","message":"I don\u0027t think that is needed, because this code is unreacheable in a \u0027check_only\u0027 execution. See lines 5476-5786.","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":5500,"context_line":"                    new_security_service,"},{"line_number":5501,"context_line":"                    current_security_service\u003dcurrent_security_service) or {}"},{"line_number":5502,"context_line":"            except Exception:"},{"line_number":5503,"context_line":"                msg \u003d _(\"Security service update failed for share server %s.\""},{"line_number":5504,"context_line":"                        ) % share_server[\u0027id\u0027]"},{"line_number":5505,"context_line":"                LOG.error(msg)"},{"line_number":5506,"context_line":"                # Set share server to error. Security service configuration"}],"source_content_type":"text/x-python","patch_set":5,"id":"3692542b_777b2510","line":5503,"range":{"start_line":5503,"start_character":0,"end_line":5503,"end_character":77},"updated":"2021-03-03 19:07:23.000000000","message":"Some more details could be helpful here - like the security service IDs (old and new one in case of \"update\", just new one in case of adding a new security service)","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":5500,"context_line":"                    new_security_service,"},{"line_number":5501,"context_line":"                    current_security_service\u003dcurrent_security_service) or {}"},{"line_number":5502,"context_line":"            except Exception:"},{"line_number":5503,"context_line":"                msg \u003d _(\"Security service update failed for share server %s.\""},{"line_number":5504,"context_line":"                        ) % share_server[\u0027id\u0027]"},{"line_number":5505,"context_line":"                LOG.error(msg)"},{"line_number":5506,"context_line":"                # Set share server to error. Security service configuration"}],"source_content_type":"text/x-python","patch_set":5,"id":"5ccbef19_d555d868","line":5503,"range":{"start_line":5503,"start_character":0,"end_line":5503,"end_character":77},"in_reply_to":"3692542b_777b2510","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":5502,"context_line":"            except Exception:"},{"line_number":5503,"context_line":"                msg \u003d _(\"Security service update failed for share server %s.\""},{"line_number":5504,"context_line":"                        ) % share_server[\u0027id\u0027]"},{"line_number":5505,"context_line":"                LOG.error(msg)"},{"line_number":5506,"context_line":"                # Set share server to error. Security service configuration"},{"line_number":5507,"context_line":"                # must be fixed before restoring it to active again."},{"line_number":5508,"context_line":"                self.db.share_server_update("}],"source_content_type":"text/x-python","patch_set":5,"id":"7f2fe024_6c1eca4c","line":5505,"range":{"start_line":5505,"start_character":20,"end_line":5505,"end_character":25},"updated":"2021-03-03 19:07:23.000000000","message":"exception","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":5502,"context_line":"            except Exception:"},{"line_number":5503,"context_line":"                msg \u003d _(\"Security service update failed for share server %s.\""},{"line_number":5504,"context_line":"                        ) % share_server[\u0027id\u0027]"},{"line_number":5505,"context_line":"                LOG.error(msg)"},{"line_number":5506,"context_line":"                # Set share server to error. Security service configuration"},{"line_number":5507,"context_line":"                # must be fixed before restoring it to active again."},{"line_number":5508,"context_line":"                self.db.share_server_update("}],"source_content_type":"text/x-python","patch_set":5,"id":"26183a20_20d39614","line":5505,"range":{"start_line":5505,"start_character":20,"end_line":5505,"end_character":25},"in_reply_to":"7f2fe024_6c1eca4c","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":5513,"context_line":"                    # NOTE(dviroel): An already configured security service has"},{"line_number":5514,"context_line":"                    # failed on update operation. All shares access may be"},{"line_number":5515,"context_line":"                    # compromised. We will set all access rules to \u0027error\u0027."},{"line_number":5516,"context_line":"                    for share_instance_id in share_instance_ids:"},{"line_number":5517,"context_line":"                        (self.access_helper."},{"line_number":5518,"context_line":"                            get_and_update_share_instance_access_rules("},{"line_number":5519,"context_line":"                                context,"},{"line_number":5520,"context_line":"                                updates\u003d{\u0027state\u0027: constants.STATUS_ERROR},"},{"line_number":5521,"context_line":"                                share_instance_id\u003dshare_instance_id))"},{"line_number":5522,"context_line":"                    if share_instance_ids:"},{"line_number":5523,"context_line":"                        # Update share instance access rules status"},{"line_number":5524,"context_line":"                        (self.access_helper"}],"source_content_type":"text/x-python","patch_set":5,"id":"5d5d3480_3b019f00","line":5521,"range":{"start_line":5516,"start_character":64,"end_line":5521,"end_character":69},"updated":"2021-03-03 19:07:23.000000000","message":"No easy way to recover from this. Log that the access rules may be ineffective, and just set the instance access_rules_status to Error","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":5513,"context_line":"                    # NOTE(dviroel): An already configured security service has"},{"line_number":5514,"context_line":"                    # failed on update operation. All shares access may be"},{"line_number":5515,"context_line":"                    # compromised. We will set all access rules to \u0027error\u0027."},{"line_number":5516,"context_line":"                    for share_instance_id in share_instance_ids:"},{"line_number":5517,"context_line":"                        (self.access_helper."},{"line_number":5518,"context_line":"                            get_and_update_share_instance_access_rules("},{"line_number":5519,"context_line":"                                context,"},{"line_number":5520,"context_line":"                                updates\u003d{\u0027state\u0027: constants.STATUS_ERROR},"},{"line_number":5521,"context_line":"                                share_instance_id\u003dshare_instance_id))"},{"line_number":5522,"context_line":"                    if share_instance_ids:"},{"line_number":5523,"context_line":"                        # Update share instance access rules status"},{"line_number":5524,"context_line":"                        (self.access_helper"}],"source_content_type":"text/x-python","patch_set":5,"id":"163771e9_4920b81e","line":5521,"range":{"start_line":5516,"start_character":64,"end_line":5521,"end_character":69},"in_reply_to":"5d5d3480_3b019f00","updated":"2021-03-09 21:39:52.000000000","message":"ahh, missed the log here. Will do in a new PS.","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":5524,"context_line":"                        (self.access_helper"},{"line_number":5525,"context_line":"                            .update_share_instances_access_rules_status("},{"line_number":5526,"context_line":"                                context, constants.SHARE_INSTANCE_RULES_ERROR,"},{"line_number":5527,"context_line":"                                share_instance_ids))"},{"line_number":5528,"context_line":"                # Go to the next share server"},{"line_number":5529,"context_line":"                continue"},{"line_number":5530,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1fa769e4_f7dbd747","line":5527,"range":{"start_line":5527,"start_character":0,"end_line":5527,"end_character":52},"updated":"2021-03-03 19:07:23.000000000","message":"Need to also set share_instance_state to error.","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":5524,"context_line":"                        (self.access_helper"},{"line_number":5525,"context_line":"                            .update_share_instances_access_rules_status("},{"line_number":5526,"context_line":"                                context, constants.SHARE_INSTANCE_RULES_ERROR,"},{"line_number":5527,"context_line":"                                share_instance_ids))"},{"line_number":5528,"context_line":"                # Go to the next share server"},{"line_number":5529,"context_line":"                continue"},{"line_number":5530,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"a9b19381_aa3068a5","line":5527,"range":{"start_line":5527,"start_character":0,"end_line":5527,"end_character":52},"in_reply_to":"1fa769e4_f7dbd747","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":5533,"context_line":"                self.access_helper.process_driver_rule_updates("},{"line_number":5534,"context_line":"                    context, rules_updates, instance_id)"},{"line_number":5535,"context_line":""},{"line_number":5536,"context_line":"            msg \u003d _(\"Security service was successfully updated on share \""},{"line_number":5537,"context_line":"                    \"server %s.\") % share_server[\u0027id\u0027]"},{"line_number":5538,"context_line":"            LOG.debug(msg)"},{"line_number":5539,"context_line":"            self.db.share_server_update("},{"line_number":5540,"context_line":"                context, share_server[\u0027id\u0027],"},{"line_number":5541,"context_line":"                {\u0027status\u0027: constants.STATUS_ACTIVE})"}],"source_content_type":"text/x-python","patch_set":5,"id":"104ada88_fcd9dfd9","line":5538,"range":{"start_line":5536,"start_character":12,"end_line":5538,"end_character":26},"updated":"2021-03-03 19:07:23.000000000","message":"if not check_only?","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":5535,"context_line":""},{"line_number":5536,"context_line":"            msg \u003d _(\"Security service was successfully updated on share \""},{"line_number":5537,"context_line":"                    \"server %s.\") % share_server[\u0027id\u0027]"},{"line_number":5538,"context_line":"            LOG.debug(msg)"},{"line_number":5539,"context_line":"            self.db.share_server_update("},{"line_number":5540,"context_line":"                context, share_server[\u0027id\u0027],"},{"line_number":5541,"context_line":"                {\u0027status\u0027: constants.STATUS_ACTIVE})"}],"source_content_type":"text/x-python","patch_set":5,"id":"426f4419_cc73f607","line":5538,"range":{"start_line":5538,"start_character":16,"end_line":5538,"end_character":21},"updated":"2021-03-03 19:07:23.000000000","message":"info","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":true,"context_lines":[{"line_number":5533,"context_line":"                self.access_helper.process_driver_rule_updates("},{"line_number":5534,"context_line":"                    context, rules_updates, instance_id)"},{"line_number":5535,"context_line":""},{"line_number":5536,"context_line":"            msg \u003d _(\"Security service was successfully updated on share \""},{"line_number":5537,"context_line":"                    \"server %s.\") % share_server[\u0027id\u0027]"},{"line_number":5538,"context_line":"            LOG.debug(msg)"},{"line_number":5539,"context_line":"            self.db.share_server_update("},{"line_number":5540,"context_line":"                context, share_server[\u0027id\u0027],"},{"line_number":5541,"context_line":"                {\u0027status\u0027: constants.STATUS_ACTIVE})"}],"source_content_type":"text/x-python","patch_set":5,"id":"ffff54db_0fa0dae5","line":5538,"range":{"start_line":5536,"start_character":12,"end_line":5538,"end_character":26},"in_reply_to":"104ada88_fcd9dfd9","updated":"2021-03-09 21:39:52.000000000","message":"check_only execution can\u0027t reach this part of the code. It continues the \u0027share_servers for loop\u0027 or return False in case of one share server clains that do not support the update (see lines 5476-5486).","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":5535,"context_line":""},{"line_number":5536,"context_line":"            msg \u003d _(\"Security service was successfully updated on share \""},{"line_number":5537,"context_line":"                    \"server %s.\") % share_server[\u0027id\u0027]"},{"line_number":5538,"context_line":"            LOG.debug(msg)"},{"line_number":5539,"context_line":"            self.db.share_server_update("},{"line_number":5540,"context_line":"                context, share_server[\u0027id\u0027],"},{"line_number":5541,"context_line":"                {\u0027status\u0027: constants.STATUS_ACTIVE})"}],"source_content_type":"text/x-python","patch_set":5,"id":"0da4dbc0_1c4195f5","line":5538,"range":{"start_line":5538,"start_character":16,"end_line":5538,"end_character":21},"in_reply_to":"426f4419_cc73f607","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8cfd719e04729fbb91be361bb42def6f5b223b41","unresolved":true,"context_lines":[{"line_number":5438,"context_line":"    def _check_share_network_update_finished(self, context, share_network_id):"},{"line_number":5439,"context_line":"        share_servers \u003d self.db.share_server_get_all_with_filters("},{"line_number":5440,"context_line":"            context, {\u0027share_network_id\u0027: share_network_id}"},{"line_number":5441,"context_line":"        )"},{"line_number":5442,"context_line":""},{"line_number":5443,"context_line":"        if all([ss[\u0027status\u0027] !\u003d constants.STATUS_SERVER_NETWORK_CHANGE"},{"line_number":5444,"context_line":"                for ss in share_servers]):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9def6519_96cbe7e1","line":5441,"range":{"start_line":5441,"start_character":8,"end_line":5441,"end_character":9},"updated":"2021-03-11 22:59:20.000000000","message":"optimization: refresh share network as well, and check if it\u0027s already updated to \"active\"\nelse, you may be making a double update.","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":5438,"context_line":"    def _check_share_network_update_finished(self, context, share_network_id):"},{"line_number":5439,"context_line":"        share_servers \u003d self.db.share_server_get_all_with_filters("},{"line_number":5440,"context_line":"            context, {\u0027share_network_id\u0027: share_network_id}"},{"line_number":5441,"context_line":"        )"},{"line_number":5442,"context_line":""},{"line_number":5443,"context_line":"        if all([ss[\u0027status\u0027] !\u003d constants.STATUS_SERVER_NETWORK_CHANGE"},{"line_number":5444,"context_line":"                for ss in share_servers]):"}],"source_content_type":"text/x-python","patch_set":10,"id":"7dbb4c84_637be3b2","line":5441,"range":{"start_line":5441,"start_character":8,"end_line":5441,"end_character":9},"in_reply_to":"9def6519_96cbe7e1","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}],"manila/share/rpcapi.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"86aa7de6a46a4efb38b2836f3c225755bbdba7eb","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        1.20 - Add share_instance_id parameter for create_share_server() method"},{"line_number":80,"context_line":"        1.21 - Add share_server_migration_start, share_server_migration_check()"},{"line_number":81,"context_line":"            and share_server_get_progress()"},{"line_number":82,"context_line":"        1.22 - Add add_share_network_security_service() and"},{"line_number":83,"context_line":"            update_share_network_security_service()"},{"line_number":84,"context_line":"    \"\"\""},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"88bcc9ae_0dbd9018","line":82,"range":{"start_line":82,"start_character":19,"end_line":82,"end_character":53},"updated":"2021-03-03 19:07:23.000000000","message":"check_update_share_network_security_service","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"b3fd735c7fdb137055760691ac82196e6f4f3077","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        1.20 - Add share_instance_id parameter for create_share_server() method"},{"line_number":80,"context_line":"        1.21 - Add share_server_migration_start, share_server_migration_check()"},{"line_number":81,"context_line":"            and share_server_get_progress()"},{"line_number":82,"context_line":"        1.22 - Add add_share_network_security_service() and"},{"line_number":83,"context_line":"            update_share_network_security_service()"},{"line_number":84,"context_line":"    \"\"\""},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5821d493_5bf76657","line":82,"range":{"start_line":82,"start_character":19,"end_line":82,"end_character":53},"in_reply_to":"88bcc9ae_0dbd9018","updated":"2021-03-09 21:39:52.000000000","message":"Done","commit_id":"0ea00dd4e8700a27e6238c37f6dc541915975d22"}],"manila/share_group/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6e24c45201f0918da0466d5d7036bdee4e616faa","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        if share_network:"},{"line_number":122,"context_line":"            network_status \u003d share_network.get(\u0027status\u0027, None)"},{"line_number":123,"context_line":"            if (network_status and network_status !\u003d"},{"line_number":124,"context_line":"                    constants.STATUS_NETWORK_ACTIVE):"},{"line_number":125,"context_line":"                msg \u003d _(\u0027The provided share network is not in active status.\u0027)"},{"line_number":126,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        if (driver_handles_share_servers and"},{"line_number":129,"context_line":"                not (source_share_group_snapshot_id or share_network_id)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"63f83fc6_0452f3a8","line":126,"range":{"start_line":122,"start_character":12,"end_line":126,"end_character":56},"updated":"2021-03-11 22:51:07.000000000","message":"nit: This check is in common.py, can reuse it","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"c3749a33101d37085a427e7dc025e58b578d67fd","unresolved":false,"context_lines":[{"line_number":119,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        if share_network:"},{"line_number":122,"context_line":"            network_status \u003d share_network.get(\u0027status\u0027, None)"},{"line_number":123,"context_line":"            if (network_status and network_status !\u003d"},{"line_number":124,"context_line":"                    constants.STATUS_NETWORK_ACTIVE):"},{"line_number":125,"context_line":"                msg \u003d _(\u0027The provided share network is not in active status.\u0027)"},{"line_number":126,"context_line":"                raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        if (driver_handles_share_servers and"},{"line_number":129,"context_line":"                not (source_share_group_snapshot_id or share_network_id)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"6f0dff25_e96e5e84","line":126,"range":{"start_line":122,"start_character":12,"end_line":126,"end_character":56},"in_reply_to":"63f83fc6_0452f3a8","updated":"2021-03-12 20:28:32.000000000","message":"Done","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}],"releasenotes/notes/add-update-security-service-for-in-use-share-networks-c60d82898c71eb4a.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"32f455c0529a0e1fd59164c68f062e3939d220e8","unresolved":true,"context_lines":[{"line_number":9,"context_line":"    A boolean field called ``security_service_update_support`` was added to the"},{"line_number":10,"context_line":"    share server\u0027s model. This field defaults to ``False``, and all of the"},{"line_number":11,"context_line":"    already deployed share servers are going to get the default value even if"},{"line_number":12,"context_line":"    their backend support it. It is expected that administrators who want"},{"line_number":13,"context_line":"    these already deployed share servers on given to handle such operation to"},{"line_number":14,"context_line":"    change the field\u0027s value by a command added to the ``manila-manage``"},{"line_number":15,"context_line":"    operations."},{"line_number":16,"context_line":"    The scheduler will filter out backend that does not handle this request"},{"line_number":17,"context_line":"    during some operations."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"77f04652_0290a60d","line":15,"range":{"start_line":12,"start_character":30,"end_line":15,"end_character":15},"updated":"2021-03-11 22:10:52.000000000","message":"move this to the \n\"upgrades:\" section","commit_id":"320bd916e8cdd7c923c6a9d8ea72e8544b84c008"}]}
