)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60b4a659384165872d1e58aaefa8ac684e33b22a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Marc Koderer \u003cmarc@koderer.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-02-02 09:53:24 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add check if copyoffload tool is available"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The copyoffload tool is optional and not always in place. This fixes a"},{"line_number":10,"context_line":"misleading error message during image clone creation when the tool is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a430d35_40ce7c5b","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":42},"updated":"2017-02-03 03:19:26.000000000","message":"Please add \"NetApp cDOT:\" at the beginning of the commit message","commit_id":"c7d09e81ac38ae4aaf8357702eadb6e5aa7f130e"}],"cinder/tests/unit/volume/drivers/netapp/dataontap/test_nfs_cmode.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60b4a659384165872d1e58aaefa8ac684e33b22a","unresolved":false,"context_lines":[{"line_number":1278,"context_line":"        self.assertFalse(copied)"},{"line_number":1279,"context_line":"        self.driver._copy_from_remote_cache.assert_not_called()"},{"line_number":1280,"context_line":""},{"line_number":1281,"context_line":"        self.driver.configuration.netapp_copyoffload_tool_path \u003d ("},{"line_number":1282,"context_line":"            \u0027copyoffload_tool_path\u0027)"},{"line_number":1283,"context_line":""},{"line_number":1284,"context_line":"    def test_copy_from_cache_workflow_local_location(self):"},{"line_number":1285,"context_line":"        local_share \u003d \u0027/share\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a430d35_c0e18cd2","line":1282,"range":{"start_line":1281,"start_character":1,"end_line":1282,"end_character":36},"updated":"2017-02-03 03:19:26.000000000","message":"Why reset it? Each test is independent isn\u0027t it?","commit_id":"c7d09e81ac38ae4aaf8357702eadb6e5aa7f130e"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"d6ee00866034b50a3351993a2896ee67bd0ebebb","unresolved":false,"context_lines":[{"line_number":1278,"context_line":"        self.assertFalse(copied)"},{"line_number":1279,"context_line":"        self.driver._copy_from_remote_cache.assert_not_called()"},{"line_number":1280,"context_line":""},{"line_number":1281,"context_line":"        self.driver.configuration.netapp_copyoffload_tool_path \u003d ("},{"line_number":1282,"context_line":"            \u0027copyoffload_tool_path\u0027)"},{"line_number":1283,"context_line":""},{"line_number":1284,"context_line":"    def test_copy_from_cache_workflow_local_location(self):"},{"line_number":1285,"context_line":"        local_share \u003d \u0027/share\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a430d35_52e72012","line":1282,"range":{"start_line":1281,"start_character":1,"end_line":1282,"end_character":36},"in_reply_to":"1a430d35_c0e18cd2","updated":"2017-02-03 12:57:44.000000000","message":"oh yeah - I thought it\u0027s set during setUpClass but it\u0027s not.. thanks!","commit_id":"c7d09e81ac38ae4aaf8357702eadb6e5aa7f130e"}],"cinder/volume/drivers/netapp/dataontap/nfs_cmode.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"85fb4b4337eab8b4ff75508afc5c0d2013bf76c2","unresolved":false,"context_lines":[{"line_number":523,"context_line":"                          \"cloning.\", volume[\u0027id\u0027])"},{"line_number":524,"context_line":"                copied \u003d True"},{"line_number":525,"context_line":"            elif (cache_copy and"},{"line_number":526,"context_line":"                  self.configuration.netapp_copyoffload_tool_path):"},{"line_number":527,"context_line":"                self._copy_from_remote_cache(volume, image_id, cache_copy)"},{"line_number":528,"context_line":"                copied \u003d True"},{"line_number":529,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_8c3507aa","line":526,"range":{"start_line":526,"start_character":17,"end_line":526,"end_character":65},"updated":"2017-02-01 12:39:01.000000000","message":"-1: I believe you should also check if the path is valid. Otherwise if the user adds a typo in the option it will be hard to detect the failure.","commit_id":"eff32a546b5d5e3be33fe7703080394da7407322"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"15e9faaa1e491d062ee642aa5c5447e2132a0e70","unresolved":false,"context_lines":[{"line_number":523,"context_line":"                          \"cloning.\", volume[\u0027id\u0027])"},{"line_number":524,"context_line":"                copied \u003d True"},{"line_number":525,"context_line":"            elif (cache_copy and"},{"line_number":526,"context_line":"                  self.configuration.netapp_copyoffload_tool_path):"},{"line_number":527,"context_line":"                self._copy_from_remote_cache(volume, image_id, cache_copy)"},{"line_number":528,"context_line":"                copied \u003d True"},{"line_number":529,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_83230405","line":526,"range":{"start_line":526,"start_character":17,"end_line":526,"end_character":65},"in_reply_to":"3a461143_760ec4e6","updated":"2017-02-03 10:48:16.000000000","message":"Agreed, good point.","commit_id":"eff32a546b5d5e3be33fe7703080394da7407322"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"8c7668bfed9863f1a4e4a9a07a0d6a1c6913858d","unresolved":false,"context_lines":[{"line_number":523,"context_line":"                          \"cloning.\", volume[\u0027id\u0027])"},{"line_number":524,"context_line":"                copied \u003d True"},{"line_number":525,"context_line":"            elif (cache_copy and"},{"line_number":526,"context_line":"                  self.configuration.netapp_copyoffload_tool_path):"},{"line_number":527,"context_line":"                self._copy_from_remote_cache(volume, image_id, cache_copy)"},{"line_number":528,"context_line":"                copied \u003d True"},{"line_number":529,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_760ec4e6","line":526,"range":{"start_line":526,"start_character":17,"end_line":526,"end_character":65},"in_reply_to":"3a461143_8c3507aa","updated":"2017-02-02 08:57:31.000000000","message":"Yes, this should be checked but in the initialization phase. It makes no sense to check it on every clone build. I opened a seperate bug for this: https://bugs.launchpad.net/cinder/+bug/1661180","commit_id":"eff32a546b5d5e3be33fe7703080394da7407322"}],"releasenotes/notes/bug-1660927-netapp-no-copyoffload-77fc3cf4f2cf2335.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60b4a659384165872d1e58aaefa8ac684e33b22a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes misleading error message when NetApp copyoffload tool is not in place"},{"line_number":5,"context_line":"    during image cloning."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a430d35_00b554cc","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":9},"updated":"2017-02-03 03:19:26.000000000","message":"Fixed","commit_id":"c7d09e81ac38ae4aaf8357702eadb6e5aa7f130e"}]}
