)]}'
{"etc/manila/rootwrap.d/share.filters":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4e87257b8c7ba4a406d68891c4971980b8c69fe5","unresolved":false,"context_lines":[{"line_number":188,"context_line":"# manila/utils.py: \u0027tee\u0027, \u0027%s\u0027"},{"line_number":189,"context_line":"tee: CommandFilter, tee, root"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"# manila/share/drivers/container.py: lvs -o lv_size --noheadings --nosuffix --units g \u003cdevice\u003e"},{"line_number":192,"context_line":"lvs: CommandFilter, lvs, root"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"# manila/share/drivers/container.py: lvrename --autobackup n \u003cold_name\u003e \u003cnew_name\u003e"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9fdfeff1_616919f6","line":191,"range":{"start_line":191,"start_character":23,"end_line":191,"end_character":35},"updated":"2019-03-01 07:42:25.000000000","message":"manila/share/drivers/container/storage_helper.py","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"08f47795283acff460bc73e40d63154ab4487fb0","unresolved":false,"context_lines":[{"line_number":188,"context_line":"# manila/utils.py: \u0027tee\u0027, \u0027%s\u0027"},{"line_number":189,"context_line":"tee: CommandFilter, tee, root"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"# manila/share/drivers/container.py: lvs -o lv_size --noheadings --nosuffix --units g \u003cdevice\u003e"},{"line_number":192,"context_line":"lvs: CommandFilter, lvs, root"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"# manila/share/drivers/container.py: lvrename --autobackup n \u003cold_name\u003e \u003cnew_name\u003e"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9fdfeff1_674cbf9d","line":191,"range":{"start_line":191,"start_character":23,"end_line":191,"end_character":35},"in_reply_to":"9fdfeff1_616919f6","updated":"2019-03-01 17:44:48.000000000","message":"Done","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4e87257b8c7ba4a406d68891c4971980b8c69fe5","unresolved":false,"context_lines":[{"line_number":191,"context_line":"# manila/share/drivers/container.py: lvs -o lv_size --noheadings --nosuffix --units g \u003cdevice\u003e"},{"line_number":192,"context_line":"lvs: CommandFilter, lvs, root"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"# manila/share/drivers/container.py: lvrename --autobackup n \u003cold_name\u003e \u003cnew_name\u003e"},{"line_number":195,"context_line":"lvrename: CommandFilter, lvrename, root"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9fdfeff1_217791d6","line":194,"range":{"start_line":194,"start_character":23,"end_line":194,"end_character":32},"updated":"2019-03-01 07:42:25.000000000","message":"manila/share/drivers/container/storage_helper.py","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"08f47795283acff460bc73e40d63154ab4487fb0","unresolved":false,"context_lines":[{"line_number":191,"context_line":"# manila/share/drivers/container.py: lvs -o lv_size --noheadings --nosuffix --units g \u003cdevice\u003e"},{"line_number":192,"context_line":"lvs: CommandFilter, lvs, root"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"# manila/share/drivers/container.py: lvrename --autobackup n \u003cold_name\u003e \u003cnew_name\u003e"},{"line_number":195,"context_line":"lvrename: CommandFilter, lvrename, root"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9fdfeff1_874f6390","line":194,"range":{"start_line":194,"start_character":23,"end_line":194,"end_character":32},"in_reply_to":"9fdfeff1_217791d6","updated":"2019-03-01 17:44:48.000000000","message":"Done","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"}],"manila/share/drivers/container/container_helper.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4e87257b8c7ba4a406d68891c4971980b8c69fe5","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            self._inner_execute(cmd)"},{"line_number":136,"context_line":"        except Exception:"},{"line_number":137,"context_line":"            raise exception.ShareBackendException("},{"line_number":138,"context_line":"                msg\u003d\"Could update OVS information %s.\" % name)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        LOG.info(\"Container %s has been successfully renamed.\", name)"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_81b75d85","line":138,"range":{"start_line":138,"start_character":26,"end_line":138,"end_character":27},"updated":"2019-03-01 07:42:25.000000000","message":"not","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"08f47795283acff460bc73e40d63154ab4487fb0","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            self._inner_execute(cmd)"},{"line_number":136,"context_line":"        except Exception:"},{"line_number":137,"context_line":"            raise exception.ShareBackendException("},{"line_number":138,"context_line":"                msg\u003d\"Could update OVS information %s.\" % name)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        LOG.info(\"Container %s has been successfully renamed.\", name)"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_27423769","line":138,"range":{"start_line":138,"start_character":26,"end_line":138,"end_character":27},"in_reply_to":"9fdfeff1_81b75d85","updated":"2019-03-01 17:44:48.000000000","message":"Done","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4e87257b8c7ba4a406d68891c4971980b8c69fe5","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        except Exception:"},{"line_number":137,"context_line":"            raise exception.ShareBackendException("},{"line_number":138,"context_line":"                msg\u003d\"Could update OVS information %s.\" % name)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        LOG.info(\"Container %s has been successfully renamed.\", name)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def find_container_veth(self, name):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_01a36d44","line":139,"range":{"start_line":139,"start_character":0,"end_line":139,"end_character":0},"updated":"2019-03-01 07:42:25.000000000","message":"If the ovs interface rename fails, can you revert the name of the container?","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"08f47795283acff460bc73e40d63154ab4487fb0","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        except Exception:"},{"line_number":137,"context_line":"            raise exception.ShareBackendException("},{"line_number":138,"context_line":"                msg\u003d\"Could update OVS information %s.\" % name)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        LOG.info(\"Container %s has been successfully renamed.\", name)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def find_container_veth(self, name):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_029361a4","line":139,"range":{"start_line":139,"start_character":0,"end_line":139,"end_character":0},"in_reply_to":"9fdfeff1_01a36d44","updated":"2019-03-01 17:44:48.000000000","message":"Done","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"}],"manila/share/drivers/container/driver.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"cf5fc456f6eb4720cb13c7f91aded0928039f5f0","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        }"},{"line_number":117,"context_line":"        super(ContainerShareDriver, self)._update_share_stats(data)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def create_share(self, context, share, share_server\u003dNone):"},{"line_number":120,"context_line":"        LOG.debug(\"Create share on server \u0027%s\u0027.\", share_server[\"id\"])"},{"line_number":121,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":122,"context_line":"        share_name \u003d share.share_id"},{"line_number":123,"context_line":"        self.storage.provide_storage(share_name, share[\u0027size\u0027])"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        location \u003d self._create_and_mount_share_links("},{"line_number":126,"context_line":"            share, server_id, share_name)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        return location"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_29e761af","line":126,"range":{"start_line":119,"start_character":7,"end_line":126,"end_character":41},"updated":"2019-02-18 20:09:00.000000000","message":"Shouldn\u0027t these changes be part of a separate patch?","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"bc1ea3769cffd36a1dd325cf82102a25ec8a11e3","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        }"},{"line_number":117,"context_line":"        super(ContainerShareDriver, self)._update_share_stats(data)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def create_share(self, context, share, share_server\u003dNone):"},{"line_number":120,"context_line":"        LOG.debug(\"Create share on server \u0027%s\u0027.\", share_server[\"id\"])"},{"line_number":121,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":122,"context_line":"        share_name \u003d share.share_id"},{"line_number":123,"context_line":"        self.storage.provide_storage(share_name, share[\u0027size\u0027])"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        location \u003d self._create_and_mount_share_links("},{"line_number":126,"context_line":"            share, server_id, share_name)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        return location"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_de4e7295","line":126,"range":{"start_line":119,"start_character":7,"end_line":126,"end_character":41},"in_reply_to":"9fdfeff1_29e761af","updated":"2019-02-19 16:47:44.000000000","message":"Done","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"cf5fc456f6eb4720cb13c7f91aded0928039f5f0","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        return location"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    @utils.synchronized(\u0027container_driver_delete_share_lock\u0027, external\u003dTrue)"},{"line_number":131,"context_line":"    def delete_share(self, context, share, share_server\u003dNone):"},{"line_number":132,"context_line":"        LOG.debug(\"Deleting share %(share)s on server \u0027%(server)s\u0027.\","},{"line_number":133,"context_line":"                  {\"server\": share_server[\"id\"],"},{"line_number":134,"context_line":"                   \"share\": self._get_share_name(share)})"},{"line_number":135,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":136,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        self._delete_and_umount_share_links(share, server_id, share_name,"},{"line_number":139,"context_line":"                                            swallow_exception\u003dTrue)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        self.storage.remove_storage(share_name)"},{"line_number":142,"context_line":"        LOG.debug(\"Deletion of share %s is completed!\", share_name)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def _get_share_name(self, share):"},{"line_number":145,"context_line":"        if share.get(\u0027export_location\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_89976dec","line":142,"range":{"start_line":131,"start_character":8,"end_line":142,"end_character":67},"updated":"2019-02-18 20:09:00.000000000","message":"Shouldn\u0027t these cnanges be part of a separate patch?","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"bc1ea3769cffd36a1dd325cf82102a25ec8a11e3","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        return location"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    @utils.synchronized(\u0027container_driver_delete_share_lock\u0027, external\u003dTrue)"},{"line_number":131,"context_line":"    def delete_share(self, context, share, share_server\u003dNone):"},{"line_number":132,"context_line":"        LOG.debug(\"Deleting share %(share)s on server \u0027%(server)s\u0027.\","},{"line_number":133,"context_line":"                  {\"server\": share_server[\"id\"],"},{"line_number":134,"context_line":"                   \"share\": self._get_share_name(share)})"},{"line_number":135,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":136,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        self._delete_and_umount_share_links(share, server_id, share_name,"},{"line_number":139,"context_line":"                                            swallow_exception\u003dTrue)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        self.storage.remove_storage(share_name)"},{"line_number":142,"context_line":"        LOG.debug(\"Deletion of share %s is completed!\", share_name)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def _get_share_name(self, share):"},{"line_number":145,"context_line":"        if share.get(\u0027export_location\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_9e48ea87","line":142,"range":{"start_line":131,"start_character":8,"end_line":142,"end_character":67},"in_reply_to":"9fdfeff1_89976dec","updated":"2019-02-19 16:47:44.000000000","message":"Done","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"cf5fc456f6eb4720cb13c7f91aded0928039f5f0","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        else:"},{"line_number":148,"context_line":"            return share.share_id"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def extend_share(self, share, new_size, share_server\u003dNone):"},{"line_number":151,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":152,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":153,"context_line":"        self.container.execute("},{"line_number":154,"context_line":"            server_id,"},{"line_number":155,"context_line":"            [\"umount\", \"/shares/%s\" % share_name]"},{"line_number":156,"context_line":"        )"},{"line_number":157,"context_line":"        self.storage.extend_share(share_name, new_size, share_server)"},{"line_number":158,"context_line":"        lv_device \u003d self.storage._get_lv_device(share_name)"},{"line_number":159,"context_line":"        self.container.execute("},{"line_number":160,"context_line":"            server_id,"},{"line_number":161,"context_line":"            [\"mount\", lv_device, \"/shares/%s\" % share_name]"},{"line_number":162,"context_line":"        )"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    def ensure_share(self, context, share, share_server\u003dNone):"},{"line_number":165,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_69bb2975","line":162,"range":{"start_line":150,"start_character":4,"end_line":162,"end_character":9},"updated":"2019-02-18 20:09:00.000000000","message":"again, belongs in a separate patch","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"bc1ea3769cffd36a1dd325cf82102a25ec8a11e3","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        else:"},{"line_number":148,"context_line":"            return share.share_id"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def extend_share(self, share, new_size, share_server\u003dNone):"},{"line_number":151,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":152,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":153,"context_line":"        self.container.execute("},{"line_number":154,"context_line":"            server_id,"},{"line_number":155,"context_line":"            [\"umount\", \"/shares/%s\" % share_name]"},{"line_number":156,"context_line":"        )"},{"line_number":157,"context_line":"        self.storage.extend_share(share_name, new_size, share_server)"},{"line_number":158,"context_line":"        lv_device \u003d self.storage._get_lv_device(share_name)"},{"line_number":159,"context_line":"        self.container.execute("},{"line_number":160,"context_line":"            server_id,"},{"line_number":161,"context_line":"            [\"mount\", lv_device, \"/shares/%s\" % share_name]"},{"line_number":162,"context_line":"        )"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    def ensure_share(self, context, share, share_server\u003dNone):"},{"line_number":165,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_3e5d3e48","line":162,"range":{"start_line":150,"start_character":4,"end_line":162,"end_character":9},"in_reply_to":"9fdfeff1_69bb2975","updated":"2019-02-19 16:47:44.000000000","message":"Done","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"cf5fc456f6eb4720cb13c7f91aded0928039f5f0","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    def ensure_share(self, context, share, share_server\u003dNone):"},{"line_number":165,"context_line":"        pass"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def update_access(self, context, share, access_rules, add_rules,"},{"line_number":168,"context_line":"                      delete_rules, share_server\u003dNone):"},{"line_number":169,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":170,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":171,"context_line":"        LOG.debug(\"Updating access to share %(share)s at \""},{"line_number":172,"context_line":"                  \"share server %(share_server)s.\","},{"line_number":173,"context_line":"                  {\"share_server\": share_server[\"id\"],"},{"line_number":174,"context_line":"                   \"share\": self._get_share_name(share)})"},{"line_number":175,"context_line":"        self._get_helper(share).update_access(server_id, share_name,"},{"line_number":176,"context_line":"                                              access_rules, add_rules,"},{"line_number":177,"context_line":"                                              delete_rules)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def get_network_allocations_number(self):"},{"line_number":180,"context_line":"        return 1"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_e9ae392e","line":177,"range":{"start_line":167,"start_character":1,"end_line":177,"end_character":57},"updated":"2019-02-18 20:09:00.000000000","message":"ditto","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"bc1ea3769cffd36a1dd325cf82102a25ec8a11e3","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    def ensure_share(self, context, share, share_server\u003dNone):"},{"line_number":165,"context_line":"        pass"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def update_access(self, context, share, access_rules, add_rules,"},{"line_number":168,"context_line":"                      delete_rules, share_server\u003dNone):"},{"line_number":169,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":170,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":171,"context_line":"        LOG.debug(\"Updating access to share %(share)s at \""},{"line_number":172,"context_line":"                  \"share server %(share_server)s.\","},{"line_number":173,"context_line":"                  {\"share_server\": share_server[\"id\"],"},{"line_number":174,"context_line":"                   \"share\": self._get_share_name(share)})"},{"line_number":175,"context_line":"        self._get_helper(share).update_access(server_id, share_name,"},{"line_number":176,"context_line":"                                              access_rules, add_rules,"},{"line_number":177,"context_line":"                                              delete_rules)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def get_network_allocations_number(self):"},{"line_number":180,"context_line":"        return 1"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_5e5a8250","line":177,"range":{"start_line":167,"start_character":1,"end_line":177,"end_character":57},"in_reply_to":"9fdfeff1_e9ae392e","updated":"2019-02-19 16:47:44.000000000","message":"Done","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"cf5fc456f6eb4720cb13c7f91aded0928039f5f0","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                  msg_helper)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    @utils.synchronized(\"container_driver_teardown_lock\", external\u003dTrue)"},{"line_number":247,"context_line":"    def _teardown_server(self, *args, **kwargs):"},{"line_number":248,"context_line":"        server_id \u003d self._get_container_name(kwargs[\"server_details\"][\"id\"])"},{"line_number":249,"context_line":"        self.container.stop_container(server_id)"},{"line_number":250,"context_line":"        veth \u003d self.container.find_container_veth(server_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_6949e98c","line":247,"range":{"start_line":247,"start_character":3,"end_line":247,"end_character":48},"updated":"2019-02-18 20:09:00.000000000","message":"ditto","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"bc1ea3769cffd36a1dd325cf82102a25ec8a11e3","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                  msg_helper)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    @utils.synchronized(\"container_driver_teardown_lock\", external\u003dTrue)"},{"line_number":247,"context_line":"    def _teardown_server(self, *args, **kwargs):"},{"line_number":248,"context_line":"        server_id \u003d self._get_container_name(kwargs[\"server_details\"][\"id\"])"},{"line_number":249,"context_line":"        self.container.stop_container(server_id)"},{"line_number":250,"context_line":"        veth \u003d self.container.find_container_veth(server_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_1e54fa20","line":247,"range":{"start_line":247,"start_character":3,"end_line":247,"end_character":48},"in_reply_to":"9fdfeff1_6949e98c","updated":"2019-02-19 16:47:44.000000000","message":"Done","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"cf5fc456f6eb4720cb13c7f91aded0928039f5f0","unresolved":false,"context_lines":[{"line_number":364,"context_line":"    def get_share_server_network_info("},{"line_number":365,"context_line":"            self, context, share_server, identifier, driver_options):"},{"line_number":366,"context_line":"        name \u003d self._get_correct_container_old_name(identifier)"},{"line_number":367,"context_line":"        return [self.container.fetch_container_address(name, \"inet\")]"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def manage_server(self, context, share_server, identifier, driver_options):"},{"line_number":370,"context_line":"        new_name \u003d self._get_container_name(share_server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_4948a586","line":367,"range":{"start_line":367,"start_character":61,"end_line":367,"end_character":67},"updated":"2019-02-18 20:09:00.000000000","message":"why are you hard-coding IPv4 here?","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"bc1ea3769cffd36a1dd325cf82102a25ec8a11e3","unresolved":false,"context_lines":[{"line_number":364,"context_line":"    def get_share_server_network_info("},{"line_number":365,"context_line":"            self, context, share_server, identifier, driver_options):"},{"line_number":366,"context_line":"        name \u003d self._get_correct_container_old_name(identifier)"},{"line_number":367,"context_line":"        return [self.container.fetch_container_address(name, \"inet\")]"},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"    def manage_server(self, context, share_server, identifier, driver_options):"},{"line_number":370,"context_line":"        new_name \u003d self._get_container_name(share_server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_d978cc90","line":367,"range":{"start_line":367,"start_character":61,"end_line":367,"end_character":67},"in_reply_to":"9fdfeff1_4948a586","updated":"2019-02-19 16:47:44.000000000","message":"was hardcoded (by you) before https://github.com/openstack/manila/blob/1efbf6f0c6275e43fff86ff33e7a0e2cf66876be/manila/share/drivers/container/protocol_helper.py#L52","commit_id":"6df73a4876f544359af8bd5b4252fd58af8b3e6f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4e87257b8c7ba4a406d68891c4971980b8c69fe5","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                \"driver mode of operation.\")"},{"line_number":345,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":346,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":347,"context_line":"        size \u003d int(float(self.storage.get_size(share_name)))"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        self._delete_and_umount_share_links(share, server_id, share_name)"},{"line_number":350,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_a14ce19d","line":347,"range":{"start_line":347,"start_character":15,"end_line":347,"end_character":19},"updated":"2019-03-01 07:42:25.000000000","message":"you want the ceiling value, not the floor..","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"08f47795283acff460bc73e40d63154ab4487fb0","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                \"driver mode of operation.\")"},{"line_number":345,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":346,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":347,"context_line":"        size \u003d int(float(self.storage.get_size(share_name)))"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        self._delete_and_umount_share_links(share, server_id, share_name)"},{"line_number":350,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_e2f97d7f","line":347,"range":{"start_line":347,"start_character":15,"end_line":347,"end_character":19},"in_reply_to":"9fdfeff1_a14ce19d","updated":"2019-03-01 17:44:48.000000000","message":"Done","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4e87257b8c7ba4a406d68891c4971980b8c69fe5","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":347,"context_line":"        size \u003d int(float(self.storage.get_size(share_name)))"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        self._delete_and_umount_share_links(share, server_id, share_name)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        new_share_name \u003d share.share_id"},{"line_number":352,"context_line":"        self.storage.rename_storage(share_name, new_share_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_05413839","line":349,"range":{"start_line":349,"start_character":13,"end_line":349,"end_character":43},"updated":"2019-03-01 07:42:25.000000000","message":"This is confusing to read and took me a while to understand that you\u0027re clearing the CIFS export, unmounting the lvm device and deleting the mount point folder... \n\n \n\ncan you clarify what\u0027s happening here: \"share_links\" doesn\u0027t mean much. An appropriate name would be \"remove_export_and_unmount_share_from_container\"","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"08f47795283acff460bc73e40d63154ab4487fb0","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":347,"context_line":"        size \u003d int(float(self.storage.get_size(share_name)))"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        self._delete_and_umount_share_links(share, server_id, share_name)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        new_share_name \u003d share.share_id"},{"line_number":352,"context_line":"        self.storage.rename_storage(share_name, new_share_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_82caf116","line":349,"range":{"start_line":349,"start_character":13,"end_line":349,"end_character":43},"in_reply_to":"9fdfeff1_05413839","updated":"2019-03-01 17:44:48.000000000","message":"Done","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4e87257b8c7ba4a406d68891c4971980b8c69fe5","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        self.container.rename_container(old_name, new_name)"},{"line_number":374,"context_line":"        return {\u0027id\u0027: share_server[\u0027id\u0027]}"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    def _get_correct_container_old_name(self, name):"},{"line_number":377,"context_line":"        if not self.container.container_exists(name):"},{"line_number":378,"context_line":"            return self._get_container_name(name)"},{"line_number":379,"context_line":"        return name"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_a5870c61","line":376,"range":{"start_line":376,"start_character":8,"end_line":376,"end_character":39},"updated":"2019-03-01 07:42:25.000000000","message":"Add a docstring as hint..","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"08f47795283acff460bc73e40d63154ab4487fb0","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        self.container.rename_container(old_name, new_name)"},{"line_number":374,"context_line":"        return {\u0027id\u0027: share_server[\u0027id\u0027]}"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    def _get_correct_container_old_name(self, name):"},{"line_number":377,"context_line":"        if not self.container.container_exists(name):"},{"line_number":378,"context_line":"            return self._get_container_name(name)"},{"line_number":379,"context_line":"        return name"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_a2f9354e","line":376,"range":{"start_line":376,"start_character":8,"end_line":376,"end_character":39},"in_reply_to":"9fdfeff1_a5870c61","updated":"2019-03-01 17:44:48.000000000","message":"added a comment","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"42b0eeb32f72a2aee574b57356499be205bbfee6","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                \"driver mode of operation.\")"},{"line_number":340,"context_line":"        server_id \u003d self._get_container_name(share_server[\"id\"])"},{"line_number":341,"context_line":"        share_name \u003d self._get_share_name(share)"},{"line_number":342,"context_line":"        size \u003d math.ceil(float(self.storage.get_size(share_name)))"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        self._delete_export_and_umount_storage(share, server_id, share_name)"},{"line_number":345,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_bda2b43d","line":342,"range":{"start_line":342,"start_character":15,"end_line":342,"end_character":66},"updated":"2019-03-01 17:51:53.000000000","message":"We still need int()","commit_id":"91129eefc3f4b589e0ffc121e3440221195dd6cc"}],"manila/share/drivers/container/storage_helper.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4e87257b8c7ba4a406d68891c4971980b8c69fe5","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def get_size(self, share_name):"},{"line_number":137,"context_line":"        device \u003d self._get_lv_device(share_name)"},{"line_number":138,"context_line":"        size \u003d self._execute("},{"line_number":139,"context_line":"            \"lvs\", \"-o\", \"lv_size\", \"--noheadings\", \"--nosuffix\","},{"line_number":140,"context_line":"            \"--units\", \"g\", device, run_as_root\u003dTrue)"},{"line_number":141,"context_line":"        return size[0]"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_657da46b","line":140,"range":{"start_line":138,"start_character":0,"end_line":140,"end_character":53},"updated":"2019-03-01 07:42:25.000000000","message":"please debug log the result","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"08f47795283acff460bc73e40d63154ab4487fb0","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def get_size(self, share_name):"},{"line_number":137,"context_line":"        device \u003d self._get_lv_device(share_name)"},{"line_number":138,"context_line":"        size \u003d self._execute("},{"line_number":139,"context_line":"            \"lvs\", \"-o\", \"lv_size\", \"--noheadings\", \"--nosuffix\","},{"line_number":140,"context_line":"            \"--units\", \"g\", device, run_as_root\u003dTrue)"},{"line_number":141,"context_line":"        return size[0]"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fdfeff1_22422569","line":140,"range":{"start_line":138,"start_character":0,"end_line":140,"end_character":53},"in_reply_to":"9fdfeff1_657da46b","updated":"2019-03-01 17:44:48.000000000","message":"Done","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"}],"releasenotes/notes/container-manage-unmanage-share-servers-880d889828ee7ce3.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4e87257b8c7ba4a406d68891c4971980b8c69fe5","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added managing and unmanaging of share servers functionality"},{"line_number":4,"context_line":"    to the Container Driver, allowing for shares to be managed"},{"line_number":5,"context_line":"    and unmanaged in ``driver_handles_share_servers`` driver"},{"line_number":6,"context_line":"    mode."},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9fdfeff1_216d5131","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":51},"updated":"2019-03-01 07:42:25.000000000","message":"this driver only supports DHSS\u003dTrue","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"08f47795283acff460bc73e40d63154ab4487fb0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added managing and unmanaging of share servers functionality"},{"line_number":4,"context_line":"    to the Container Driver, allowing for shares to be managed"},{"line_number":5,"context_line":"    and unmanaged in ``driver_handles_share_servers`` driver"},{"line_number":6,"context_line":"    mode."},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9fdfeff1_7d3a0c98","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":51},"in_reply_to":"9fdfeff1_216d5131","updated":"2019-03-01 17:44:48.000000000","message":"Done","commit_id":"e70314ce0aec71c7f00223b0c13db988720c7817"}]}
