]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Export cinder volumes only if the status is 'in-use'
authorMitsuhiro Tanino <mitsuhiro.tanino@hds.com>
Tue, 14 Oct 2014 16:41:41 +0000 (12:41 -0400)
committerMitsuhiro Tanino <mitsuhiro.tanino@hds.com>
Tue, 14 Oct 2014 20:11:24 +0000 (16:11 -0400)
Currently, cinder volumes are exported both 'in-use' and 'available'
after restarting cinder-volume service.
This behavior was introduced following commit.

  commit ffefe18334a9456250e1b6ff88b7b47fb366f374
  Author: Zhiteng Huang <zhithuang@ebaysf.com>
  Date: Sat Aug 23 18:32:57 2014 +0000

If the volumes are attached to nova instances, they should be exported
via tgtd after restarting cinder-volume.
But the volumes which are not attached to instances must not be exported
because everyone can connect these volumes.

This patch changes volume export behavior that exports a volume only if
the volume status is 'in-use'.

Change-Id: I4c598c240b9290c81bd8001e5a0720c8c329aeb9
Signed-off-by: Mitsuhiro Tanino <mitsuhiro.tanino@hds.com>
Closes-bug: #1381106

cinder/volume/manager.py

index a4ec45123f9e0ca28a0481abc77e82aedfbcc80a..8859807bd8cb1a511f5b9fec73d8e01d263e7675 100644 (file)
@@ -272,7 +272,8 @@ class VolumeManager(manager.SchedulerDependentManager):
                     self._count_allocated_capacity(ctxt, volume)
 
                     try:
-                        self.driver.ensure_export(ctxt, volume)
+                        if volume['status'] in ['in-use']:
+                            self.driver.ensure_export(ctxt, volume)
                     except Exception as export_ex:
                         LOG.error(_("Failed to re-export volume %s: "
                                     "setting to error state"), volume['id'])