)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2c884effda30ecaab0153025da7a65d4f07de5f4","unresolved":false,"context_lines":[{"line_number":10,"context_line":"driver. Provides support for full and incremental backup."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib8ea2f6698e23552dea2e093b8615a89f162c50d"},{"line_number":13,"context_line":"partially-implements: blueprint incremental-backup"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa98f980_0bd63c28","line":13,"updated":"2014-09-03 14:32:40.000000000","message":"Remove this.  We don\u0027t need to associate features like this in the drivers with the blueprint.  Makes it harder to close out the blueprints.\n\nThanks!","commit_id":"198737589af201b14a1ed34267c8c8b220dd5671"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7cc15a9abd918ac0cff289e9b6062ee20ae3247a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds the functions backup_volume and restore_backup to xiv_ds8k cinder driver."},{"line_number":10,"context_line":"Provides support for full backup."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib8ea2f6698e23552dea2e093b8615a89f162c50d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa98f980_49b96cca","line":11,"updated":"2014-09-10 04:30:23.000000000","message":"Can you create a blueprint and add it here for tracking purpose?","commit_id":"18938dc730bfc56a128b70b76878dd65d6e9b012"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"9bd115d20345bef5d22ae984762b2f05069ef0db","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Adds the functions backup_volume and restore_backup to xiv_ds8k cinder driver."},{"line_number":10,"context_line":"Provides support for full backup."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint xiv-ds8k-backup"},{"line_number":13,"context_line":"Change-Id: Ib8ea2f6698e23552dea2e093b8615a89f162c50d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a961159_f1959ee4","line":12,"updated":"2014-12-18 05:25:45.000000000","message":"bp doesn\u0027t seem to exist.","commit_id":"0a8aefd97633ecbcef8df0fba9206947aaddd89f"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"f67f7157eedf4a95f3638a9099457fb83dc7b7ea","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Adds the functions backup_volume and restore_backup to xiv_ds8k cinder driver."},{"line_number":10,"context_line":"Provides support for full backup."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint xiv-ds8k-backup"},{"line_number":13,"context_line":"Change-Id: Ib8ea2f6698e23552dea2e093b8615a89f162c50d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa81d914_9ced4bf2","line":12,"in_reply_to":"3a961159_1c4065a4","updated":"2015-01-29 16:53:08.000000000","message":"I\u0027ve had this before, if you figure it out, can you let me know, please?","commit_id":"0a8aefd97633ecbcef8df0fba9206947aaddd89f"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"61c023e519143264d6d1228d44c82915f3ceb2c5","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Adds the functions backup_volume and restore_backup to xiv_ds8k cinder driver."},{"line_number":10,"context_line":"Provides support for full backup."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint xiv-ds8k-backup"},{"line_number":13,"context_line":"Change-Id: Ib8ea2f6698e23552dea2e093b8615a89f162c50d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a961159_1c4065a4","line":12,"in_reply_to":"3a961159_f1959ee4","updated":"2014-12-18 20:42:19.000000000","message":"Hmm, the bp is available at https://blueprints.launchpad.net/cinder/+spec/xiv-ds8k-backup. I\u0027m not sure why the search doesn\u0027t find it.","commit_id":"0a8aefd97633ecbcef8df0fba9206947aaddd89f"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"9f7379ca19e5e26c90cde58af40f23a2b4955baf","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Adds the functions backup_volume and restore_backup to xiv_ds8k cinder driver."},{"line_number":10,"context_line":"Provides support for full backup."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint xiv-ds8k-backup"},{"line_number":13,"context_line":"Change-Id: Ib8ea2f6698e23552dea2e093b8615a89f162c50d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da86d52c_38c45e40","line":12,"in_reply_to":"fa81d914_9ced4bf2","updated":"2015-02-17 17:20:03.000000000","message":"I think this relates to changing the name of the blueprint","commit_id":"0a8aefd97633ecbcef8df0fba9206947aaddd89f"}],"cinder/tests/test_ibm_xiv_ds8k.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"56f815f823187428f2afa4c3cec87b933b2e532a","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        volume[\u0027easytier\u0027] \u003d new_type[\u0027extra_specs\u0027][\u0027easytier\u0027]"},{"line_number":173,"context_line":"        return True, volume"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def backup_volume(self, context, backup, backup_service, fullbackup\u003dNone):"},{"line_number":176,"context_line":"        if not self.volume_exists({\u0027name\u0027: backup[\u0027volume_id\u0027]}):"},{"line_number":177,"context_line":"            raise self.exception.VolumeNotFound(volume_id\u003dbackup[\u0027volume_id\u0027])"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_c6ff2da9","line":175,"updated":"2014-09-09 02:50:01.000000000","message":"fullbackup parameter needs to be removed as it doesn\u0027t exist in Juno.","commit_id":"dac2042096a097ae968cd577fc79c2157b8b5ebe"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"56f815f823187428f2afa4c3cec87b933b2e532a","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        if not self.volume_exists({\u0027name\u0027: backup[\u0027volume_id\u0027]}):"},{"line_number":177,"context_line":"            raise self.exception.VolumeNotFound(volume_id\u003dbackup[\u0027volume_id\u0027])"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def restore_backup(self, context, backup, backup_service, fullbackup\u003dNone):"},{"line_number":180,"context_line":"        if not self.volume_exists({\u0027name\u0027: backup[\u0027volume_id\u0027]}):"},{"line_number":181,"context_line":"            raise self.exception.VolumeNotFound(volume_id\u003dbackup[\u0027volume_id\u0027])"},{"line_number":182,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_e62b5131","line":179,"updated":"2014-09-09 02:50:01.000000000","message":"Same.","commit_id":"dac2042096a097ae968cd577fc79c2157b8b5ebe"}],"cinder/tests/unit/test_ibm_xiv_ds8k.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c25d3dbd461cb045f48a206d316fee9661196ca4","unresolved":false,"context_lines":[{"line_number":663,"context_line":"            ctxt, volume, new_type, diff, host"},{"line_number":664,"context_line":"        )"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD:cinder/tests/unit/test_ibm_xiv_ds8k.py"},{"line_number":667,"context_line":"    def test_create_consistencygroup(self):"},{"line_number":668,"context_line":"        \"\"\"Test that create_consistencygroup return successfully.\"\"\""},{"line_number":669,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_cfe9ed80","line":666,"updated":"2015-07-08 14:28:51.000000000","message":"Rebase problem?","commit_id":"5e9ea6d70e0b825af335ca54c9ea7f8102007830"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"3d91c539c8bb98b353afd4d3136a80b2a5db8487","unresolved":false,"context_lines":[{"line_number":663,"context_line":"            ctxt, volume, new_type, diff, host"},{"line_number":664,"context_line":"        )"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD:cinder/tests/unit/test_ibm_xiv_ds8k.py"},{"line_number":667,"context_line":"    def test_create_consistencygroup(self):"},{"line_number":668,"context_line":"        \"\"\"Test that create_consistencygroup return successfully.\"\"\""},{"line_number":669,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_f70f4886","line":666,"in_reply_to":"ba3cc151_cfe9ed80","updated":"2015-07-13 12:19:49.000000000","message":"Done","commit_id":"5e9ea6d70e0b825af335ca54c9ea7f8102007830"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c25d3dbd461cb045f48a206d316fee9661196ca4","unresolved":false,"context_lines":[{"line_number":854,"context_line":"        self.assertRaises(exception.VolumeBackendAPIException,"},{"line_number":855,"context_line":"                          self.driver.delete_cgsnapshot,"},{"line_number":856,"context_line":"                          ctxt, CG_SNAPSHOT)"},{"line_number":857,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":858,"context_line":"    def test_backup_volume(self):"},{"line_number":859,"context_line":"        \"\"\"Test backup volume succeeds\"\"\""},{"line_number":860,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_2ff9794e","line":857,"updated":"2015-07-08 14:28:51.000000000","message":"Here too.","commit_id":"5e9ea6d70e0b825af335ca54c9ea7f8102007830"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"3d91c539c8bb98b353afd4d3136a80b2a5db8487","unresolved":false,"context_lines":[{"line_number":854,"context_line":"        self.assertRaises(exception.VolumeBackendAPIException,"},{"line_number":855,"context_line":"                          self.driver.delete_cgsnapshot,"},{"line_number":856,"context_line":"                          ctxt, CG_SNAPSHOT)"},{"line_number":857,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":858,"context_line":"    def test_backup_volume(self):"},{"line_number":859,"context_line":"        \"\"\"Test backup volume succeeds\"\"\""},{"line_number":860,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_774578b1","line":857,"in_reply_to":"ba3cc151_2ff9794e","updated":"2015-07-13 12:19:49.000000000","message":"Done","commit_id":"5e9ea6d70e0b825af335ca54c9ea7f8102007830"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c25d3dbd461cb045f48a206d316fee9661196ca4","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        self.assertRaises(exception.VolumeNotFound,"},{"line_number":891,"context_line":"                          self.driver.restore_backup,"},{"line_number":892,"context_line":"                          context, backup, VOLUME, None)"},{"line_number":893,"context_line":"\u003e\u003e\u003e\u003e\u003e\u003e\u003e Add support for backups to xiv_ds8k driver:cinder/tests/test_ibm_xiv_ds8k.py"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_cfa00d45","line":893,"updated":"2015-07-08 14:28:51.000000000","message":"Here too.","commit_id":"5e9ea6d70e0b825af335ca54c9ea7f8102007830"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"3d91c539c8bb98b353afd4d3136a80b2a5db8487","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        self.assertRaises(exception.VolumeNotFound,"},{"line_number":891,"context_line":"                          self.driver.restore_backup,"},{"line_number":892,"context_line":"                          context, backup, VOLUME, None)"},{"line_number":893,"context_line":"\u003e\u003e\u003e\u003e\u003e\u003e\u003e Add support for backups to xiv_ds8k driver:cinder/tests/test_ibm_xiv_ds8k.py"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_371610a8","line":893,"in_reply_to":"ba3cc151_cfa00d45","updated":"2015-07-13 12:19:49.000000000","message":"Done","commit_id":"5e9ea6d70e0b825af335ca54c9ea7f8102007830"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"05fd66dd1716f47dd74d174a008f16ccb22e0fce","unresolved":false,"context_lines":[{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    def restore_backup(self, context, backup, volume, backup_service):"},{"line_number":268,"context_line":"        if not self.volume_exists({\u0027name\u0027: backup[\u0027volume_id\u0027]}):"},{"line_number":269,"context_line":"            raise self.exception.VolumeNotFound(volume_id\u003dbackup[\u0027volume_id\u0027])"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"class XIVDS8KVolumeDriverTest(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_11ec348e","line":269,"updated":"2015-07-13 13:50:09.000000000","message":"I hope the driver also raises BackupNotFound","commit_id":"00dccf8d4f8084385c92dcfda2ee2060841627b4"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"9d4774099dcd72c49920f8e11ee7f270c2b801a3","unresolved":false,"context_lines":[{"line_number":886,"context_line":""},{"line_number":887,"context_line":"        self.driver.do_setup(None)"},{"line_number":888,"context_line":"        backup \u003d {\u0027volume_id\u0027: VOLUME[\u0027name\u0027]}"},{"line_number":889,"context_line":"        self.assertRaises(exception.VolumeNotFound,"},{"line_number":890,"context_line":"                          self.driver.restore_backup,"},{"line_number":891,"context_line":"                          context, backup, VOLUME, None)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_85237d55","line":889,"updated":"2015-07-16 08:13:27.000000000","message":"BackupNotFound?\nSince it is restored from the backup, shall we take the backup as the base?","commit_id":"00dccf8d4f8084385c92dcfda2ee2060841627b4"}],"cinder/volume/drivers/ibm/xiv_ds8k.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"dac9c6a2c41db23d88d9aa697887cf0e690a6608","unresolved":false,"context_lines":[{"line_number":227,"context_line":""},{"line_number":228,"context_line":"        return self.xiv_ds8k_proxy.retype(ctxt, volume, new_type, diff, host)"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def backup_volume(self, context, backup, backup_service, fullbackup\u003dNone):"},{"line_number":231,"context_line":"        \"\"\"Create a new backup from an existing volume.\"\"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        return self.xiv_ds8k_proxy.backup_volume(context, backup,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_655d9ee9","line":230,"updated":"2014-09-08 21:44:04.000000000","message":"The incremental backup feature was delayed until Kilo.  This \"fullback\" parameter doesn\u0027t exist today.","commit_id":"dac2042096a097ae968cd577fc79c2157b8b5ebe"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b16c9c9b4983e23598206639dc3b91d2b7bedd4f","unresolved":false,"context_lines":[{"line_number":227,"context_line":""},{"line_number":228,"context_line":"        return self.xiv_ds8k_proxy.retype(ctxt, volume, new_type, diff, host)"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def backup_volume(self, context, backup, backup_service, fullbackup\u003dNone):"},{"line_number":231,"context_line":"        \"\"\"Create a new backup from an existing volume.\"\"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        return self.xiv_ds8k_proxy.backup_volume(context, backup,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_e687d110","line":230,"in_reply_to":"fa98f980_655d9ee9","updated":"2014-09-09 02:56:05.000000000","message":"Another thing is that \"fullbackup\" was actually removed from the driver interface in the latest patch set of the incremental backup. The driver is supposed to retrieve it from db instead. This is of course not final as it is delayed until Kilo. \n\nhttps://review.openstack.org/#/c/110068/15/cinder/volume/drivers/lvm.py","commit_id":"dac2042096a097ae968cd577fc79c2157b8b5ebe"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"dac9c6a2c41db23d88d9aa697887cf0e690a6608","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        return self.xiv_ds8k_proxy.backup_volume(context, backup,"},{"line_number":234,"context_line":"                                                 backup_service, fullbackup)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    def restore_backup(self, context, backup, backup_service, fullbackup\u003dNone):"},{"line_number":237,"context_line":"        \"\"\"Restore an existing backup to a new or existing volume.\"\"\""},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        return self.xiv_ds8k_proxy.restore_backup(context, backup,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_8571a279","line":236,"updated":"2014-09-08 21:44:04.000000000","message":"Same.","commit_id":"dac2042096a097ae968cd577fc79c2157b8b5ebe"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"17f7183e68f02d8fbcab12b73ad185bc9c870ea1","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                                                 backup_service)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    def restore_backup(self, context, backup, backup_service):"},{"line_number":237,"context_line":"        \"\"\"Restore an existing backup to a new or existing volume.\"\"\""},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        return self.xiv_ds8k_proxy.restore_backup(context, backup,"},{"line_number":240,"context_line":"                                                  backup_service)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_4e50920a","line":237,"updated":"2014-09-10 02:31:22.000000000","message":"The interface in cinder/volume/driver.py is as follows: \n\n    def restore_backup(self, context, backup, volume, backup_service):\n        \"\"\"Restore an existing backup to a new or existing volume.\"\"\"\n\nWhy don\u0027t you have volume as the input parameter?","commit_id":"18938dc730bfc56a128b70b76878dd65d6e9b012"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"ab4de41d39ae4368346f7f1747dbaf8ba873e08c","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def backup_volume(self, context, backup, backup_service):"},{"line_number":231,"context_line":"        \"\"\"Create a new backup from an existing volume.\"\"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        return self.xiv_ds8k_proxy.backup_volume(context, backup,"},{"line_number":234,"context_line":"                                                 backup_service)"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_6b3499df","line":232,"updated":"2014-12-05 22:28:46.000000000","message":"How does this work with configured backup services?","commit_id":"0a8aefd97633ecbcef8df0fba9206947aaddd89f"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"9f7379ca19e5e26c90cde58af40f23a2b4955baf","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def backup_volume(self, context, backup, backup_service):"},{"line_number":231,"context_line":"        \"\"\"Create a new backup from an existing volume.\"\"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        return self.xiv_ds8k_proxy.backup_volume(context, backup,"},{"line_number":234,"context_line":"                                                 backup_service)"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_78709640","line":232,"in_reply_to":"3a961159_ea596e5d","updated":"2015-02-17 17:20:03.000000000","message":"Hi Mike,\nSorry, I guess I missed this comment. \nI\u0027m not sure I understand the question. Basically the major work is on the backup driver. In the volume driver we just prepare the volume (snapshot) for the operation.","commit_id":"0a8aefd97633ecbcef8df0fba9206947aaddd89f"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"9f13ea3e0e370df1c49e8b3ee6a283cf0df2bed8","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def backup_volume(self, context, backup, backup_service):"},{"line_number":231,"context_line":"        \"\"\"Create a new backup from an existing volume.\"\"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        return self.xiv_ds8k_proxy.backup_volume(context, backup,"},{"line_number":234,"context_line":"                                                 backup_service)"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_ea596e5d","line":232,"in_reply_to":"3a961159_fcd399d2","updated":"2015-01-20 05:55:28.000000000","message":"If my backup service is ceph, swift, etc, how does this work with those services? Your blueprint just says \"run backup_service.backup on the attached snapshot\". That doesn\u0027t really help.","commit_id":"0a8aefd97633ecbcef8df0fba9206947aaddd89f"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"61c023e519143264d6d1228d44c82915f3ceb2c5","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def backup_volume(self, context, backup, backup_service):"},{"line_number":231,"context_line":"        \"\"\"Create a new backup from an existing volume.\"\"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        return self.xiv_ds8k_proxy.backup_volume(context, backup,"},{"line_number":234,"context_line":"                                                 backup_service)"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_fcd399d2","line":232,"in_reply_to":"5a890539_6b3499df","updated":"2014-12-18 20:42:19.000000000","message":"Hi Mike, \nI\u0027m not sure I understand the question. If you mean what does it do behind the scenes, then the answer is in the bp.\nAlon","commit_id":"0a8aefd97633ecbcef8df0fba9206947aaddd89f"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"0d915bc903ce23730a25d2a1e446d2b1e7121d8f","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def backup_volume(self, context, backup, backup_service):"},{"line_number":231,"context_line":"        \"\"\"Create a new backup from an existing volume.\"\"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        return self.xiv_ds8k_proxy.backup_volume(context, backup,"},{"line_number":234,"context_line":"                                                 backup_service)"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_cc002204","line":232,"in_reply_to":"ba3cc151_6602ea40","updated":"2015-07-08 12:12:46.000000000","message":"Indeed, all this does (and all it needs to do) is return an io proxy object for the volume. The backup manager does all of the work to make this work with different backends. While it would be nice to make this less opaque so that we can look for potential issues, this is certainly functionally enough (assuming the proxy works correctly)","commit_id":"0a8aefd97633ecbcef8df0fba9206947aaddd89f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"81dfad8eb10e285c8b66594e62cc9f1701245d7e","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def backup_volume(self, context, backup, backup_service):"},{"line_number":231,"context_line":"        \"\"\"Create a new backup from an existing volume.\"\"\""},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        return self.xiv_ds8k_proxy.backup_volume(context, backup,"},{"line_number":234,"context_line":"                                                 backup_service)"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_6602ea40","line":232,"in_reply_to":"da86d52c_78709640","updated":"2015-06-29 01:49:35.000000000","message":"I think you just need to set the \"backup_driver\" parameter to swift, ceph, tsm, or other backup service in cinder.conf.  By default it is swift.  That is how it works for other drivers.  I assume it is the same with this driver.\n\nAlon,\nDoes this sound right? Can you add a comment here to clarify?","commit_id":"0a8aefd97633ecbcef8df0fba9206947aaddd89f"}]}
