)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"01113cf303323d08cd1ada400556a07ef0ee7a47","unresolved":false,"context_lines":[{"line_number":16,"context_line":"vmdk volumes to fix the backup-restore for the VMDK driver."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: Ia1a20f93780593b1efbb74484c3fdd3ca3564290"},{"line_number":19,"context_line":"Depends-on: I66a30366ccdae74e13f7a0e35cd7bfdfed2785be"},{"line_number":20,"context_line":"Closes-bug: #1602660"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fad55976_34939da5","line":19,"updated":"2016-07-15 16:47:17.000000000","message":"I believe you need to get this connector patch merged first before merging the cinder patch.  So the cinder patch should be dependent on this patch instead.","commit_id":"199a45b40eb5488d05a7e816a11133c22f66e86d"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"c93210e693dfca2e9f50cf4f9e4c8ac5fb8a0669","unresolved":false,"context_lines":[{"line_number":16,"context_line":"vmdk volumes to fix the backup-restore for the VMDK driver."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: Ia1a20f93780593b1efbb74484c3fdd3ca3564290"},{"line_number":19,"context_line":"Depends-on: I66a30366ccdae74e13f7a0e35cd7bfdfed2785be"},{"line_number":20,"context_line":"Closes-bug: #1602660"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dada55a8_2bca0fa2","line":19,"in_reply_to":"fad55976_34939da5","updated":"2016-07-18 09:50:49.000000000","message":"Done\n\nI thought that since the Cinder patch is stand-alone (works without the os-brick patch), this patch should depend on the Cinder patch. But as you mentioned in the Cinder patch, it doesn\u0027t have any effect until we bump the os-brick version (with the new connector) in Cinder. Also it cannot close the Cinder bug until we bump the os-brick version in Cinder.","commit_id":"199a45b40eb5488d05a7e816a11133c22f66e86d"}],"os_brick/initiator/connector.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"3b245ec14492b657987b3ef83981287d77353ecb","unresolved":false,"context_lines":[{"line_number":3339,"context_line":"    def connect_volume(self, connection_properties):"},{"line_number":3340,"context_line":"        # Download the volume vmdk from vCenter server to a temporary file"},{"line_number":3341,"context_line":"        # and return its path."},{"line_number":3342,"context_line":"        self._load_config(connection_properties)"},{"line_number":3343,"context_line":"        session \u003d self._create_session()"},{"line_number":3344,"context_line":""},{"line_number":3345,"context_line":"        tmp_file_path \u003d self._create_temp_file("}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_8c17a344","line":3342,"updated":"2016-07-14 20:04:15.000000000","message":"AFAIK, it\u0027s acceptable to copy volume for connect. We can lost some data in such case","commit_id":"199a45b40eb5488d05a7e816a11133c22f66e86d"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"1925698cb6777c722a7332d220cc7a59ff9858b3","unresolved":false,"context_lines":[{"line_number":3339,"context_line":"    def connect_volume(self, connection_properties):"},{"line_number":3340,"context_line":"        # Download the volume vmdk from vCenter server to a temporary file"},{"line_number":3341,"context_line":"        # and return its path."},{"line_number":3342,"context_line":"        self._load_config(connection_properties)"},{"line_number":3343,"context_line":"        session \u003d self._create_session()"},{"line_number":3344,"context_line":""},{"line_number":3345,"context_line":"        tmp_file_path \u003d self._create_temp_file("}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_17e725ad","line":3342,"in_reply_to":"1aa78d24_8c17a344","updated":"2016-07-15 09:11:12.000000000","message":"I\u0027m not sure whether I understood your comment completely. \n\nThe volumes created by the VMDK driver can be attached only to VMs in vCenter server and cannot be attached locally to the backup node. Therefore, even if we copy the volume, we have to download the copy to the backup node for backing it up. We cannot even stream data between vCenter server and the backup node because some of the backup drivers expect file like handle with support for seek and tell.","commit_id":"199a45b40eb5488d05a7e816a11133c22f66e86d"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"3b245ec14492b657987b3ef83981287d77353ecb","unresolved":false,"context_lines":[{"line_number":3453,"context_line":"        session.wait_for_task(task)"},{"line_number":3454,"context_line":""},{"line_number":3455,"context_line":"    def disconnect_volume(self, connection_properties, device_info):"},{"line_number":3456,"context_line":"        tmp_file_path \u003d device_info[\u0027path\u0027]"},{"line_number":3457,"context_line":"        if not os.path.exists(tmp_file_path):"},{"line_number":3458,"context_line":"            msg \u003d _(\"Vmdk: %s not found.\") % tmp_file_path"},{"line_number":3459,"context_line":"            raise exception.NotFound(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_ec4bc75d","line":3456,"updated":"2016-07-14 20:04:15.000000000","message":"The same comment as for connect method","commit_id":"199a45b40eb5488d05a7e816a11133c22f66e86d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"08306f76c103090891b2ecc2585a3515e2480af0","unresolved":false,"context_lines":[{"line_number":3285,"context_line":"        pass"},{"line_number":3286,"context_line":""},{"line_number":3287,"context_line":"    def get_volume_paths(self, connection_properties):"},{"line_number":3288,"context_line":"        pass"},{"line_number":3289,"context_line":""},{"line_number":3290,"context_line":"    def get_search_path(self):"},{"line_number":3291,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_174eb26e","line":3288,"updated":"2016-07-26 20:10:11.000000000","message":"please return an empty list instead\n\nreturn []","commit_id":"cdd697a5342061f62543c4e43dcf1da7e4ee51f5"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"17c1220eb95ddb6c6465d85c07dc45b7e3f1ea2a","unresolved":false,"context_lines":[{"line_number":3285,"context_line":"        pass"},{"line_number":3286,"context_line":""},{"line_number":3287,"context_line":"    def get_volume_paths(self, connection_properties):"},{"line_number":3288,"context_line":"        pass"},{"line_number":3289,"context_line":""},{"line_number":3290,"context_line":"    def get_search_path(self):"},{"line_number":3291,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_c956add1","line":3288,"in_reply_to":"dada55a8_174eb26e","updated":"2016-08-09 11:53:10.000000000","message":"Done","commit_id":"cdd697a5342061f62543c4e43dcf1da7e4ee51f5"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"08306f76c103090891b2ecc2585a3515e2480af0","unresolved":false,"context_lines":[{"line_number":3288,"context_line":"        pass"},{"line_number":3289,"context_line":""},{"line_number":3290,"context_line":"    def get_search_path(self):"},{"line_number":3291,"context_line":"        pass"},{"line_number":3292,"context_line":""},{"line_number":3293,"context_line":"    def get_all_available_volumes(self, connection_properties\u003dNone):"},{"line_number":3294,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_ec03510e","line":3291,"updated":"2016-07-26 20:10:11.000000000","message":"this shouldn\u0027t do a pass.  It needs to return None.\n\nhttps://github.com/openstack/os-brick/blob/master/os_brick/initiator/connector.py#L2083","commit_id":"cdd697a5342061f62543c4e43dcf1da7e4ee51f5"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"17c1220eb95ddb6c6465d85c07dc45b7e3f1ea2a","unresolved":false,"context_lines":[{"line_number":3288,"context_line":"        pass"},{"line_number":3289,"context_line":""},{"line_number":3290,"context_line":"    def get_search_path(self):"},{"line_number":3291,"context_line":"        pass"},{"line_number":3292,"context_line":""},{"line_number":3293,"context_line":"    def get_all_available_volumes(self, connection_properties\u003dNone):"},{"line_number":3294,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_295ca9ec","line":3291,"in_reply_to":"dada55a8_ec03510e","updated":"2016-08-09 11:53:10.000000000","message":"Done","commit_id":"cdd697a5342061f62543c4e43dcf1da7e4ee51f5"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"08306f76c103090891b2ecc2585a3515e2480af0","unresolved":false,"context_lines":[{"line_number":3350,"context_line":"        vmdk_size \u003d connection_properties[\u0027vmdk_size\u0027]"},{"line_number":3351,"context_line":"        try:"},{"line_number":3352,"context_line":"            self._download_vmdk("},{"line_number":3353,"context_line":"                tmp_file_path, session, backing, vmdk_path, vmdk_size)"},{"line_number":3354,"context_line":"        finally:"},{"line_number":3355,"context_line":"            session.logout()"},{"line_number":3356,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_77c28e86","line":3353,"updated":"2016-07-26 20:10:11.000000000","message":"downloading an entire vmdk inside of this call seems to be painfully long and the wrong place for this.   There is no lock on connect_volume and it can get overwritten with multiple calls.","commit_id":"cdd697a5342061f62543c4e43dcf1da7e4ee51f5"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"17c1220eb95ddb6c6465d85c07dc45b7e3f1ea2a","unresolved":false,"context_lines":[{"line_number":3350,"context_line":"        vmdk_size \u003d connection_properties[\u0027vmdk_size\u0027]"},{"line_number":3351,"context_line":"        try:"},{"line_number":3352,"context_line":"            self._download_vmdk("},{"line_number":3353,"context_line":"                tmp_file_path, session, backing, vmdk_path, vmdk_size)"},{"line_number":3354,"context_line":"        finally:"},{"line_number":3355,"context_line":"            session.logout()"},{"line_number":3356,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_c9786df5","line":3353,"in_reply_to":"dada55a8_77c28e86","updated":"2016-08-09 11:53:10.000000000","message":"Walter, we use this connector only for backup-restore of Cinder volumes created by the VMDK driver. For attach/detach to/from Nova instance, we use vCenter APIs.\n\nOne option is to stream the data between the backup node and vCenter service. But some of the backup drivers expect file-like handle (with support for seek and tell), and therefore streaming is not possible.\n\nI didn\u0027t get the locking part. AFAIK, we do not allow concurrent backup restore operations. Btw, we use temporary files here.","commit_id":"cdd697a5342061f62543c4e43dcf1da7e4ee51f5"}]}
