)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"c1bdcf046e4a42c88c45c775407758ea065fb775","unresolved":false,"context_lines":[{"line_number":12,"context_line":"backend. This change addresses this by retrieving the ID from"},{"line_number":13,"context_line":"private storage first."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Also, removed an unused parameter from share shrink function and"},{"line_number":16,"context_line":"added filesystem check to delete snapshot function to ensure"},{"line_number":17,"context_line":"the proper error is displayed if the filesystem is unmounted."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dab17558_82ef0d1d","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":61},"updated":"2016-05-16 13:17:55.000000000","message":"Completely unrelated change.","commit_id":"a8ed8fc7ef16862c1ce8140f8dd1aac5784d5d36"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"9c5b749f9b82966fdd29709b66c6259e672b939b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"backend. This change addresses this by retrieving the ID from"},{"line_number":13,"context_line":"private storage first."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Also, removed an unused parameter from share shrink function and"},{"line_number":16,"context_line":"added filesystem check to delete snapshot function to ensure"},{"line_number":17,"context_line":"the proper error is displayed if the filesystem is unmounted."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"dab17558_b17b53f4","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":61},"in_reply_to":"dab17558_82ef0d1d","updated":"2016-05-17 09:04:08.000000000","message":"+1 Yeah sounds like two patches for me","commit_id":"a8ed8fc7ef16862c1ce8140f8dd1aac5784d5d36"}],"manila/share/drivers/hitachi/hds_hnas.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"c1bdcf046e4a42c88c45c775407758ea065fb775","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        try:"},{"line_number":157,"context_line":"            self._ensure_share(share_id)"},{"line_number":158,"context_line":"        except exception.HNASItemNotFoundException:"},{"line_number":159,"context_line":"            raise exception.ShareResourceNotFound(share_id\u003dshare[\u0027id\u0027])"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        host_list \u003d []"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_62494960","line":159,"range":{"start_line":159,"start_character":59,"end_line":159,"end_character":70},"updated":"2016-05-16 13:17:55.000000000","message":"this?","commit_id":"a8ed8fc7ef16862c1ce8140f8dd1aac5784d5d36"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"6251433ba95744eea34f8d83d77724d1f766b324","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        try:"},{"line_number":157,"context_line":"            self._ensure_share(share_id)"},{"line_number":158,"context_line":"        except exception.HNASItemNotFoundException:"},{"line_number":159,"context_line":"            raise exception.ShareResourceNotFound(share_id\u003dshare[\u0027id\u0027])"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        host_list \u003d []"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_baff9a32","line":159,"range":{"start_line":159,"start_character":59,"end_line":159,"end_character":70},"in_reply_to":"dab17558_62494960","updated":"2016-05-17 13:45:01.000000000","message":"this is correct, I believe the API ID should be used here for indexing.","commit_id":"a8ed8fc7ef16862c1ce8140f8dd1aac5784d5d36"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"c1bdcf046e4a42c88c45c775407758ea065fb775","unresolved":false,"context_lines":[{"line_number":434,"context_line":"        LOG.debug(\"Shrinking share in HNAS: %(shr_id)s.\","},{"line_number":435,"context_line":"                  {\u0027shr_id\u0027: share[\u0027id\u0027]})"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"        self._shrink_share(share_id, new_size)"},{"line_number":438,"context_line":"        LOG.info(_LI(\"Share %(shr_id)s successfully shrunk to \""},{"line_number":439,"context_line":"                     \"%(shr_size)sG.\"),"},{"line_number":440,"context_line":"                 {\u0027shr_id\u0027: share[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_e279b983","line":437,"range":{"start_line":437,"start_character":8,"end_line":437,"end_character":46},"updated":"2016-05-16 13:17:55.000000000","message":"This part should have been separate bugfix.","commit_id":"a8ed8fc7ef16862c1ce8140f8dd1aac5784d5d36"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"6251433ba95744eea34f8d83d77724d1f766b324","unresolved":false,"context_lines":[{"line_number":434,"context_line":"        LOG.debug(\"Shrinking share in HNAS: %(shr_id)s.\","},{"line_number":435,"context_line":"                  {\u0027shr_id\u0027: share[\u0027id\u0027]})"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"        self._shrink_share(share_id, new_size)"},{"line_number":438,"context_line":"        LOG.info(_LI(\"Share %(shr_id)s successfully shrunk to \""},{"line_number":439,"context_line":"                     \"%(shr_size)sG.\"),"},{"line_number":440,"context_line":"                 {\u0027shr_id\u0027: share[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_f56f755d","line":437,"range":{"start_line":437,"start_character":8,"end_line":437,"end_character":46},"in_reply_to":"dab17558_e279b983","updated":"2016-05-17 13:45:01.000000000","message":"Done","commit_id":"a8ed8fc7ef16862c1ce8140f8dd1aac5784d5d36"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"9c5b749f9b82966fdd29709b66c6259e672b939b","unresolved":false,"context_lines":[{"line_number":608,"context_line":"        :param snapshot_id: ID of snapshot."},{"line_number":609,"context_line":"        \"\"\""},{"line_number":610,"context_line":""},{"line_number":611,"context_line":"        self._check_fs_mounted()"},{"line_number":612,"context_line":""},{"line_number":613,"context_line":"        path \u003d \u0027/snapshots/\u0027 + share_id + \u0027/\u0027 + snapshot_id"},{"line_number":614,"context_line":"        self.hnas.tree_delete(path)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_f1331b60","line":611,"updated":"2016-05-17 09:04:08.000000000","message":"Why is this important for a delete? Not sure if I understand why this is needed.","commit_id":"a8ed8fc7ef16862c1ce8140f8dd1aac5784d5d36"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"6251433ba95744eea34f8d83d77724d1f766b324","unresolved":false,"context_lines":[{"line_number":608,"context_line":"        :param snapshot_id: ID of snapshot."},{"line_number":609,"context_line":"        \"\"\""},{"line_number":610,"context_line":""},{"line_number":611,"context_line":"        self._check_fs_mounted()"},{"line_number":612,"context_line":""},{"line_number":613,"context_line":"        path \u003d \u0027/snapshots/\u0027 + share_id + \u0027/\u0027 + snapshot_id"},{"line_number":614,"context_line":"        self.hnas.tree_delete(path)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_89a6d60c","line":611,"in_reply_to":"dab17558_f1331b60","updated":"2016-05-17 13:45:01.000000000","message":"The filesystem stores several shares and snapshots. In order to properly delete a single snapshot that is stored in this filesystem, it is better to check if it is mounted first. If it is not, the proper error message is thrown.","commit_id":"a8ed8fc7ef16862c1ce8140f8dd1aac5784d5d36"},{"author":{"_account_id":17097,"name":"Tiago Pasqualini da Silva","email":"t.pasqualini@luizalabs.com","username":"tiago.pasqualini"},"change_message_id":"7de4ecfda599c43d1f09bd65b04b3949d39c57c5","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        if host_list:"},{"line_number":179,"context_line":"            LOG.debug(\"Share %(share)s has the rules: %(rules)s\","},{"line_number":180,"context_line":"                      {\u0027share\u0027: share_id, \u0027rules\u0027: \u0027, \u0027.join(host_list)})"},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            LOG.debug(\"Share %(share)s has no rules.\", {\u0027share\u0027: share_id})"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_b7c03ee1","line":180,"range":{"start_line":180,"start_character":32,"end_line":180,"end_character":40},"updated":"2016-05-17 19:49:55.000000000","message":"And this one too...","commit_id":"88ea071a217360ecc63f176f03d8122c2c4bc71e"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"79fc3991821c2953c4f4d22f7cab6d1e783a317b","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        if host_list:"},{"line_number":179,"context_line":"            LOG.debug(\"Share %(share)s has the rules: %(rules)s\","},{"line_number":180,"context_line":"                      {\u0027share\u0027: share_id, \u0027rules\u0027: \u0027, \u0027.join(host_list)})"},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            LOG.debug(\"Share %(share)s has no rules.\", {\u0027share\u0027: share_id})"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_f3c9b179","line":180,"range":{"start_line":180,"start_character":32,"end_line":180,"end_character":40},"in_reply_to":"dab17558_b7c03ee1","updated":"2016-05-19 20:29:42.000000000","message":"Hi Tiago, this is a separate issue: https://bugs.launchpad.net/manila/+bug/1583785","commit_id":"88ea071a217360ecc63f176f03d8122c2c4bc71e"},{"author":{"_account_id":17097,"name":"Tiago Pasqualini da Silva","email":"t.pasqualini@luizalabs.com","username":"tiago.pasqualini"},"change_message_id":"04dc338b0f38032e161fe2e8ae30061fef206b52","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            LOG.debug(\"Share %(share)s has the rules: %(rules)s\","},{"line_number":180,"context_line":"                      {\u0027share\u0027: share_id, \u0027rules\u0027: \u0027, \u0027.join(host_list)})"},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            LOG.debug(\"Share %(share)s has no rules.\", {\u0027share\u0027: share_id})"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def create_share(self, context, share, share_server\u003dNone):"},{"line_number":185,"context_line":"        \"\"\"Creates share."}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_97753afb","line":182,"range":{"start_line":182,"start_character":65,"end_line":182,"end_character":73},"updated":"2016-05-17 19:49:25.000000000","message":"If on line 159 the id must be the API id, this one should be changed to the API id as well, right?","commit_id":"88ea071a217360ecc63f176f03d8122c2c4bc71e"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"49985d41230fc0b2d19e2a810212f6fa7a024160","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            LOG.debug(\"Share %(share)s has the rules: %(rules)s\","},{"line_number":180,"context_line":"                      {\u0027share\u0027: share_id, \u0027rules\u0027: \u0027, \u0027.join(host_list)})"},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            LOG.debug(\"Share %(share)s has no rules.\", {\u0027share\u0027: share_id})"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def create_share(self, context, share, share_server\u003dNone):"},{"line_number":185,"context_line":"        \"\"\"Creates share."}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_d372ad48","line":182,"range":{"start_line":182,"start_character":65,"end_line":182,"end_character":73},"in_reply_to":"dab17558_97753afb","updated":"2016-05-19 20:31:19.000000000","message":"The current change affects the system, which is completely broken for managed shares, it cannot be worked around. This inconsistency between IDs does not affect the system.","commit_id":"88ea071a217360ecc63f176f03d8122c2c4bc71e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eb1694f48cf0ebeea454f39f7b9a636e65b02a55","unresolved":false,"context_lines":[{"line_number":412,"context_line":""},{"line_number":413,"context_line":"        output \u003d self._manage_existing(share[\u0027id\u0027], hnas_share_id)"},{"line_number":414,"context_line":"        self.private_storage.update("},{"line_number":415,"context_line":"            share[\u0027id\u0027], {\u0027hnas_id\u0027: hnas_share_id})"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"        LOG.info(_LI(\"Share %(shr_path)s was successfully managed with ID \""},{"line_number":418,"context_line":"                     \"%(shr_id)s.\"),"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_e801f005","line":415,"range":{"start_line":415,"start_character":37,"end_line":415,"end_character":50},"updated":"2016-05-25 01:49:54.000000000","message":"You should be logging this here.. It would be helpful to log both share_id (from Manila\u0027s DB) and hnas_share_id *wherever* they differ.. maybe log the hnas_share_id in the _get_hnas_share_id method?","commit_id":"3ff0d23721d8fe697cb08bf5d54050b52b4655de"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"9cc1db4b8f4cce14eb8b590bcaf7a16aa132f296","unresolved":false,"context_lines":[{"line_number":412,"context_line":""},{"line_number":413,"context_line":"        output \u003d self._manage_existing(share[\u0027id\u0027], hnas_share_id)"},{"line_number":414,"context_line":"        self.private_storage.update("},{"line_number":415,"context_line":"            share[\u0027id\u0027], {\u0027hnas_id\u0027: hnas_share_id})"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"        LOG.info(_LI(\"Share %(shr_path)s was successfully managed with ID \""},{"line_number":418,"context_line":"                     \"%(shr_id)s.\"),"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_41855957","line":415,"range":{"start_line":415,"start_character":37,"end_line":415,"end_character":50},"in_reply_to":"bab6814e_e801f005","updated":"2016-05-25 13:24:20.000000000","message":"Done","commit_id":"3ff0d23721d8fe697cb08bf5d54050b52b4655de"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eb1694f48cf0ebeea454f39f7b9a636e65b02a55","unresolved":false,"context_lines":[{"line_number":460,"context_line":"        hnas_id \u003d self.private_storage.get(share_id, \u0027hnas_id\u0027)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"        if hnas_id is None:"},{"line_number":463,"context_line":"            hnas_id \u003d share_id"},{"line_number":464,"context_line":"        return hnas_id"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    def _create_share(self, share_id, share_size):"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_c81d0c68","line":463,"range":{"start_line":463,"start_character":22,"end_line":463,"end_character":30},"updated":"2016-05-25 01:49:54.000000000","message":"else:\n\n    LOG.debug -\u003e share_id and hnas_id","commit_id":"3ff0d23721d8fe697cb08bf5d54050b52b4655de"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"9cc1db4b8f4cce14eb8b590bcaf7a16aa132f296","unresolved":false,"context_lines":[{"line_number":460,"context_line":"        hnas_id \u003d self.private_storage.get(share_id, \u0027hnas_id\u0027)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"        if hnas_id is None:"},{"line_number":463,"context_line":"            hnas_id \u003d share_id"},{"line_number":464,"context_line":"        return hnas_id"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    def _create_share(self, share_id, share_size):"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_8e0f7087","line":463,"range":{"start_line":463,"start_character":22,"end_line":463,"end_character":30},"in_reply_to":"bab6814e_c81d0c68","updated":"2016-05-25 13:24:20.000000000","message":"Done","commit_id":"3ff0d23721d8fe697cb08bf5d54050b52b4655de"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eb1694f48cf0ebeea454f39f7b9a636e65b02a55","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        \"\"\"Creates share."},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        Creates a virtual-volume, adds a quota limit and exports it."},{"line_number":470,"context_line":"        :param share_id: manila API ID of share that will be created."},{"line_number":471,"context_line":"        :param share_size: Size limit of share."},{"line_number":472,"context_line":"        :returns: Returns a path of /shares/share_id if the export was"},{"line_number":473,"context_line":"            created successfully."}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_25a2014c","line":470,"range":{"start_line":470,"start_character":25,"end_line":470,"end_character":36},"updated":"2016-05-25 01:49:54.000000000","message":"you mean \u0027ID of the share within manila\u0027s database\u0027..","commit_id":"3ff0d23721d8fe697cb08bf5d54050b52b4655de"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"9cc1db4b8f4cce14eb8b590bcaf7a16aa132f296","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        \"\"\"Creates share."},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        Creates a virtual-volume, adds a quota limit and exports it."},{"line_number":470,"context_line":"        :param share_id: manila API ID of share that will be created."},{"line_number":471,"context_line":"        :param share_size: Size limit of share."},{"line_number":472,"context_line":"        :returns: Returns a path of /shares/share_id if the export was"},{"line_number":473,"context_line":"            created successfully."}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_0eeee0b3","line":470,"range":{"start_line":470,"start_character":25,"end_line":470,"end_character":36},"in_reply_to":"bab6814e_25a2014c","updated":"2016-05-25 13:24:20.000000000","message":"Done","commit_id":"3ff0d23721d8fe697cb08bf5d54050b52b4655de"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eb1694f48cf0ebeea454f39f7b9a636e65b02a55","unresolved":false,"context_lines":[{"line_number":573,"context_line":"    def _manage_existing(self, share_id, hnas_share_id):"},{"line_number":574,"context_line":"        \"\"\"Manages a share that exists on backend."},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        :param share_id: manila API ID of share that will be managed."},{"line_number":577,"context_line":"        :param hnas_share_id: HNAS ID of share that will be managed."},{"line_number":578,"context_line":"        :returns: Returns a dict with size of share managed"},{"line_number":579,"context_line":"            and its location (your path in file-system)."}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_45b6258b","line":576,"range":{"start_line":576,"start_character":25,"end_line":576,"end_character":38},"updated":"2016-05-25 01:49:54.000000000","message":"same","commit_id":"3ff0d23721d8fe697cb08bf5d54050b52b4655de"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"9cc1db4b8f4cce14eb8b590bcaf7a16aa132f296","unresolved":false,"context_lines":[{"line_number":573,"context_line":"    def _manage_existing(self, share_id, hnas_share_id):"},{"line_number":574,"context_line":"        \"\"\"Manages a share that exists on backend."},{"line_number":575,"context_line":""},{"line_number":576,"context_line":"        :param share_id: manila API ID of share that will be managed."},{"line_number":577,"context_line":"        :param hnas_share_id: HNAS ID of share that will be managed."},{"line_number":578,"context_line":"        :returns: Returns a dict with size of share managed"},{"line_number":579,"context_line":"            and its location (your path in file-system)."}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_6e2b2cec","line":576,"range":{"start_line":576,"start_character":25,"end_line":576,"end_character":38},"in_reply_to":"bab6814e_45b6258b","updated":"2016-05-25 13:24:20.000000000","message":"Done","commit_id":"3ff0d23721d8fe697cb08bf5d54050b52b4655de"},{"author":{"_account_id":17097,"name":"Tiago Pasqualini da Silva","email":"t.pasqualini@luizalabs.com","username":"tiago.pasqualini"},"change_message_id":"ee264f2a4175e1c703611674ac8311fb73c7d889","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            share[\u0027id\u0027], {\u0027hnas_id\u0027: hnas_share_id})"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"        LOG.debug(\"HNAS ID %(hnas_id)s has been saved to private storage for \""},{"line_number":418,"context_line":"                  \"Share ID %(share_id)\", {\u0027hnas_id\u0027: hnas_share_id,"},{"line_number":419,"context_line":"                                           \u0027share_id\u0027: share[\u0027id\u0027]})"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"        LOG.info(_LI(\"Share %(shr_path)s was successfully managed with ID \""}],"source_content_type":"text/x-python","patch_set":5,"id":"9abb7d3a_6c4e9670","line":418,"range":{"start_line":418,"start_character":28,"end_line":418,"end_character":39},"updated":"2016-05-30 18:24:20.000000000","message":"%(share_id)s. The \u0027s\u0027 is missing.","commit_id":"1bcab93bbd1b2f4e41c6d7a39123029d57353b00"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"67fdb153c36ee002496433366bf96d78bbf0a52c","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            share[\u0027id\u0027], {\u0027hnas_id\u0027: hnas_share_id})"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"        LOG.debug(\"HNAS ID %(hnas_id)s has been saved to private storage for \""},{"line_number":418,"context_line":"                  \"Share ID %(share_id)\", {\u0027hnas_id\u0027: hnas_share_id,"},{"line_number":419,"context_line":"                                           \u0027share_id\u0027: share[\u0027id\u0027]})"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"        LOG.info(_LI(\"Share %(shr_path)s was successfully managed with ID \""}],"source_content_type":"text/x-python","patch_set":5,"id":"9abb7d3a_cc92229f","line":418,"range":{"start_line":418,"start_character":28,"end_line":418,"end_character":39},"in_reply_to":"9abb7d3a_6c4e9670","updated":"2016-05-30 18:25:16.000000000","message":"eagle eye ;)","commit_id":"1bcab93bbd1b2f4e41c6d7a39123029d57353b00"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"15c3c8df2c2885eeda90af898675bc28a50daecb","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            share[\u0027id\u0027], {\u0027hnas_id\u0027: hnas_share_id})"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"        LOG.debug(\"HNAS ID %(hnas_id)s has been saved to private storage for \""},{"line_number":418,"context_line":"                  \"Share ID %(share_id)\", {\u0027hnas_id\u0027: hnas_share_id,"},{"line_number":419,"context_line":"                                           \u0027share_id\u0027: share[\u0027id\u0027]})"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"        LOG.info(_LI(\"Share %(shr_path)s was successfully managed with ID \""}],"source_content_type":"text/x-python","patch_set":5,"id":"9abb7d3a_6cd4d61f","line":418,"range":{"start_line":418,"start_character":28,"end_line":418,"end_character":39},"in_reply_to":"9abb7d3a_cc92229f","updated":"2016-05-30 18:28:50.000000000","message":"Thanks a lot for spotting this!","commit_id":"1bcab93bbd1b2f4e41c6d7a39123029d57353b00"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"7c7ac9c056200d695a20c0a389c2988821915b48","unresolved":false,"context_lines":[{"line_number":279,"context_line":""},{"line_number":280,"context_line":"        hnas_src_share_id \u003d self._get_hnas_share_id(snapshot[\u0027share_id\u0027])"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        path \u003d self._create_share_from_snapshot(share, hnas_src_share_id,"},{"line_number":283,"context_line":"                                                snapshot)"},{"line_number":284,"context_line":"        uri \u003d self.hnas_evs_ip + \":\" + path"},{"line_number":285,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9abb7d3a_7c4ec43b","line":282,"range":{"start_line":282,"start_character":55,"end_line":282,"end_character":73},"updated":"2016-06-01 19:42:32.000000000","message":"guideline is to put args on separate lines when they don\u0027t fit on one line. In this case, I\u0027d just fit them all on a 2nd line.  It\u0027s just a guideline, tho.","commit_id":"081fc4860b7ba3a87020d2ddae006f667616fed0"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"7c7ac9c056200d695a20c0a389c2988821915b48","unresolved":false,"context_lines":[{"line_number":595,"context_line":"                     \"quota limit, please set it before manage.\") % share_id)"},{"line_number":596,"context_line":"            raise exception.ManageInvalidShare(reason\u003dmsg)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        path \u003d self.hnas_evs_ip + os.path.join(\u0027:/shares\u0027, hnas_share_id)"},{"line_number":599,"context_line":""},{"line_number":600,"context_line":"        return {\u0027size\u0027: share_size, \u0027export_locations\u0027: [path]}"},{"line_number":601,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9abb7d3a_9cec48bc","line":598,"range":{"start_line":598,"start_character":15,"end_line":598,"end_character":73},"updated":"2016-06-01 19:42:32.000000000","message":"I\u0027d \u0027:\u0027.join((ip, os.path.join(a,b))). More pythonic, but matter of preference.","commit_id":"081fc4860b7ba3a87020d2ddae006f667616fed0"}],"manila/tests/share/drivers/hitachi/test_hds_hnas.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"41a01c701068b39eb9bafecd77923d57def528ae","unresolved":false,"context_lines":[{"line_number":306,"context_line":"    def test_delete_snapshot(self):"},{"line_number":307,"context_line":"        self.mock_object(hds_hnas.HDSHNASDriver, \"_get_hnas_share_id\","},{"line_number":308,"context_line":"                         mock.Mock(return_value\u003dshare[\u0027id\u0027]))"},{"line_number":309,"context_line":"        self.mock_object(hds_hnas.HDSHNASDriver, \"_check_fs_mounted\")"},{"line_number":310,"context_line":"        self.mock_object(ssh.HNASSSHBackend, \"tree_delete\", mock.Mock())"},{"line_number":311,"context_line":"        self.mock_object(ssh.HNASSSHBackend, \"delete_directory\", mock.Mock())"},{"line_number":312,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_b15d8aee","line":309,"range":{"start_line":309,"start_character":8,"end_line":309,"end_character":69},"updated":"2016-05-13 14:40:26.000000000","message":"Aaaaand assssseeeertion where?","commit_id":"45cd22e6e0ed407a817d2c5b1d72093dde320b96"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"c42f5a3730814c077d462524e47010b5422573a0","unresolved":false,"context_lines":[{"line_number":306,"context_line":"    def test_delete_snapshot(self):"},{"line_number":307,"context_line":"        self.mock_object(hds_hnas.HDSHNASDriver, \"_get_hnas_share_id\","},{"line_number":308,"context_line":"                         mock.Mock(return_value\u003dshare[\u0027id\u0027]))"},{"line_number":309,"context_line":"        self.mock_object(hds_hnas.HDSHNASDriver, \"_check_fs_mounted\")"},{"line_number":310,"context_line":"        self.mock_object(ssh.HNASSSHBackend, \"tree_delete\", mock.Mock())"},{"line_number":311,"context_line":"        self.mock_object(ssh.HNASSSHBackend, \"delete_directory\", mock.Mock())"},{"line_number":312,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_4320cfb0","line":309,"range":{"start_line":309,"start_character":8,"end_line":309,"end_character":69},"in_reply_to":"dab17558_b15d8aee","updated":"2016-05-13 15:44:07.000000000","message":"Oops! indeed! thanks!","commit_id":"45cd22e6e0ed407a817d2c5b1d72093dde320b96"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eb1694f48cf0ebeea454f39f7b9a636e65b02a55","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def test_delete_share(self):"},{"line_number":253,"context_line":"        self.mock_object(hds_hnas.HDSHNASDriver, \"_get_hnas_share_id\","},{"line_number":254,"context_line":"                         mock.Mock(return_value\u003d\u0027hnas_id\u0027))"},{"line_number":255,"context_line":"        self.mock_object(hds_hnas.HDSHNASDriver, \"_check_fs_mounted\","},{"line_number":256,"context_line":"                         mock.Mock())"},{"line_number":257,"context_line":"        self.mock_object(ssh.HNASSSHBackend, \"nfs_export_del\", mock.Mock())"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_883ae4cb","line":254,"range":{"start_line":254,"start_character":48,"end_line":254,"end_character":57},"updated":"2016-05-25 01:49:54.000000000","message":"this could be share[\u0027id\u0027] too.. but updating all these tests seem to suggest that hnas_id will always be different from share[\u0027id\u0027]","commit_id":"3ff0d23721d8fe697cb08bf5d54050b52b4655de"}],"releasenotes/notes/hnas_allow_managed_fix-4ec7794e2035d3f2.yaml":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"41a01c701068b39eb9bafecd77923d57def528ae","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed error when allowing access to a managed share in"},{"line_number":4,"context_line":"    HDS HNAS driver. "}],"source_content_type":"text/x-yaml","patch_set":1,"id":"dab17558_31f99ac9","line":4,"range":{"start_line":4,"start_character":20,"end_line":4,"end_character":21},"updated":"2016-05-13 14:40:26.000000000","message":"Please, remove that redundant space.","commit_id":"45cd22e6e0ed407a817d2c5b1d72093dde320b96"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"c42f5a3730814c077d462524e47010b5422573a0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed error when allowing access to a managed share in"},{"line_number":4,"context_line":"    HDS HNAS driver. "}],"source_content_type":"text/x-yaml","patch_set":1,"id":"dab17558_e3174352","line":4,"range":{"start_line":4,"start_character":20,"end_line":4,"end_character":21},"in_reply_to":"dab17558_31f99ac9","updated":"2016-05-13 15:44:07.000000000","message":"Done","commit_id":"45cd22e6e0ed407a817d2c5b1d72093dde320b96"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"c56abe50b170172e52de7160a99fafa1210688c4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed error when allowing access to a managed share in"},{"line_number":4,"context_line":"    HDS HNAS driver."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"dab17558_534dd4c2","line":4,"range":{"start_line":3,"start_character":4,"end_line":4,"end_character":20},"updated":"2016-05-17 06:27:34.000000000","message":"This is not just fix \"allowing access to a managed share\", and include \"shrink_share\", \"delete_snapshot\". How about separate it.","commit_id":"a8ed8fc7ef16862c1ce8140f8dd1aac5784d5d36"}]}
