On Tue, Apr 30, 2013 at 11:38 AM, Thomas Thrainer <[email protected]>wrote:

> Right now the DRBD8 class has multiple responsibilities: a) it
> reprensents a device which can be set up, grown, etc. and b) it
> represents the whole DRBD system on a node which has a usermode helper,
> which knows how to shut down _all_ devices, etc. Therefore, the DRBD8Dev
> class will only be responsible for a device, whereas the soon to be
> extraced DRBD8 class is responsible for the DRBD system.
>
> Signed-off-by: Thomas Thrainer <[email protected]>
> ---
>  lib/backend.py                        |  6 +++---
>  lib/block/bdev.py                     |  2 +-
>  lib/block/drbd.py                     | 10 +++++-----
>  lib/block/drbd_info.py                |  2 +-
>  lib/bootstrap.py                      |  2 +-
>  lib/cmdlib.py                         |  2 +-
>  lib/watcher/nodemaint.py              |  4 ++--
>  test/py/ganeti.block.drbd_unittest.py | 14 +++++++-------
>  8 files changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/lib/backend.py b/lib/backend.py
> index a4f1e71..147f35c 100644
> --- a/lib/backend.py
> +++ b/lib/backend.py
> @@ -841,7 +841,7 @@ def VerifyNode(what, cluster_name):
>
>    if constants.NV_DRBDLIST in what and vm_capable:
>      try:
> -      used_minors = drbd.DRBD8.GetUsedDevs()
> +      used_minors = drbd.DRBD8Dev.GetUsedDevs()
>      except errors.BlockDeviceError, err:
>        logging.warning("Can't get used minors list", exc_info=True)
>        used_minors = str(err)
> @@ -850,7 +850,7 @@ def VerifyNode(what, cluster_name):
>    if constants.NV_DRBDHELPER in what and vm_capable:
>      status = True
>      try:
> -      payload = drbd.DRBD8.GetUsermodeHelper()
> +      payload = drbd.DRBD8Dev.GetUsermodeHelper()
>      except errors.BlockDeviceError, err:
>        logging.error("Can't get DRBD usermode helper: %s", str(err))
>        status = False
> @@ -3692,7 +3692,7 @@ def GetDrbdUsermodeHelper():
>
>    """
>    try:
> -    return drbd.DRBD8.GetUsermodeHelper()
> +    return drbd.DRBD8Dev.GetUsermodeHelper()
>    except errors.BlockDeviceError, err:
>      _Fail(str(err))
>
> diff --git a/lib/block/bdev.py b/lib/block/bdev.py
> index cf3b9a8..f533918 100644
> --- a/lib/block/bdev.py
> +++ b/lib/block/bdev.py
> @@ -1719,7 +1719,7 @@ def _VolumeLogName(kind, es_name, volume):
>
>  DEV_MAP = {
>    constants.LD_LV: LogicalVolume,
> -  constants.LD_DRBD8: drbd.DRBD8,
> +  constants.LD_DRBD8: drbd.DRBD8Dev,
>    constants.LD_BLOCKDEV: PersistentBlockDevice,
>    constants.LD_RBD: RADOSBlockDevice,
>    constants.LD_EXT: ExtStorageDevice,
>

FYI: We should check how these constants map to the storage types. I think
they could be merged/reused. But nothing to do in this patch.


> diff --git a/lib/block/drbd.py b/lib/block/drbd.py
> index b69a821..3912f3d 100644
> --- a/lib/block/drbd.py
> +++ b/lib/block/drbd.py
> @@ -42,7 +42,7 @@ from ganeti.block import drbd_cmdgen
>  _DEVICE_READ_SIZE = 128 * 1024
>
>
> -class DRBD8(base.BlockDev):
> +class DRBD8Dev(base.BlockDev):
>    """DRBD v8.x block device.
>
>    This implements the local host part of the DRBD device, i.e. it
> @@ -78,7 +78,7 @@ class DRBD8(base.BlockDev):
>        if not _CanReadDevice(children[1].dev_path):
>          logging.info("drbd%s: Ignoring unreadable meta device",
> self._aminor)
>          children = []
> -    super(DRBD8, self).__init__(unique_id, children, size, params)
> +    super(DRBD8Dev, self).__init__(unique_id, children, size, params)
>      self.major = self._DRBD_MAJOR
>
>      drbd_info = DRBD8Info.CreateFromFile()
> @@ -471,7 +471,7 @@ class DRBD8(base.BlockDev):
>        logging.info(err)
>        return [err]
>
> -    children_result = super(DRBD8, self).SetSyncParams(params)
> +    children_result = super(DRBD8Dev, self).SetSyncParams(params)
>      children_result.extend(self._SetMinorSyncParams(self.minor, params))
>      return children_result
>
> @@ -486,7 +486,7 @@ class DRBD8(base.BlockDev):
>        logging.info("Not attached during PauseSync")
>        return False
>
> -    children_result = super(DRBD8, self).PauseResumeSync(pause)
> +    children_result = super(DRBD8Dev, self).PauseResumeSync(pause)
>
>      if pause:
>        cmd = self._cmd_gen.GenPauseSyncCmd(self.minor)
> @@ -704,7 +704,7 @@ class DRBD8(base.BlockDev):
>        - anyway, set the device parameters
>
>      """
> -    super(DRBD8, self).Assemble()
> +    super(DRBD8Dev, self).Assemble()
>
>      self.Attach()
>      if self.minor is None:
> diff --git a/lib/block/drbd_info.py b/lib/block/drbd_info.py
> index ef6eda2..9ebc7bd 100644
> --- a/lib/block/drbd_info.py
> +++ b/lib/block/drbd_info.py
> @@ -326,7 +326,7 @@ class BaseShowInfo(object):
>      This returns, if available, the local backing device (as a path)
>      and the local and remote (ip, port) information from a string
>      containing the output of the `drbdsetup show` command as returned
> -    by DRBD8._GetShowData.
> +    by DRBD8Dev._GetShowData.
>
>      This will return a dict with keys:
>        - local_dev
> diff --git a/lib/bootstrap.py b/lib/bootstrap.py
> index d648c77..fba3315 100644
> --- a/lib/bootstrap.py
> +++ b/lib/bootstrap.py
> @@ -470,7 +470,7 @@ def InitCluster(cluster_name, mac_prefix, # pylint:
> disable=R0913, R0914
>
>    if drbd_helper is not None:
>      try:
> -      curr_helper = drbd.DRBD8.GetUsermodeHelper()
> +      curr_helper = drbd.DRBD8Dev.GetUsermodeHelper()
>      except errors.BlockDeviceError, err:
>        raise errors.OpPrereqError("Error while checking drbd helper"
>                                   " (specify --no-drbd-storage if you are
> not"
> diff --git a/lib/cmdlib.py b/lib/cmdlib.py
> index 553e645..5750b50 100644
> --- a/lib/cmdlib.py
> +++ b/lib/cmdlib.py
> @@ -11596,7 +11596,7 @@ class LUInstanceReplaceDisks(LogicalUnit):
>        self.op.remote_node = _ExpandNodeName(self.cfg, self.op.remote_node)
>
>        # Warning: do not remove the locking of the new secondary here
> -      # unless DRBD8.AddChildren is changed to work in parallel;
> +      # unless DRBD8Dev.AddChildren is changed to work in parallel;
>        # currently it doesn't since parallel invocations of
>        # FindUnusedMinor will conflict
>        self.needed_locks[locking.LEVEL_NODE] = [self.op.remote_node]
> diff --git a/lib/watcher/nodemaint.py b/lib/watcher/nodemaint.py
> index da8f095..ed4157e 100644
> --- a/lib/watcher/nodemaint.py
> +++ b/lib/watcher/nodemaint.py
> @@ -80,7 +80,7 @@ class NodeMaintenance(object):
>      """Get list of used DRBD minors.
>
>      """
> -    return drbd.DRBD8.GetUsedDevs()
> +    return drbd.DRBD8Dev.GetUsedDevs()
>
>    @classmethod
>    def DoMaintenance(cls, role):
> @@ -124,7 +124,7 @@ class NodeMaintenance(object):
>          # pylint: disable=W0212
>          # using the private method as is, pending enhancements to the DRBD
>          # interface
> -        drbd.DRBD8._ShutdownAll(minor)
> +        drbd.DRBD8Dev._ShutdownAll(minor)
>
>    def Exec(self):
>      """Check node status versus cluster desired state.
> diff --git a/test/py/ganeti.block.drbd_unittest.py b/test/py/
> ganeti.block.drbd_unittest.py
> index 757a286..ace363f 100755
> --- a/test/py/ganeti.block.drbd_unittest.py
> +++ b/test/py/ganeti.block.drbd_unittest.py
> @@ -82,7 +82,7 @@ class TestDRBD8(testutils.GanetiTestCase):
>
>
>  class TestDRBD8Runner(testutils.GanetiTestCase):
> -  """Testing case for drbd.DRBD8"""
> +  """Testing case for drbd.DRBD8Dev"""
>
>    @staticmethod
>    def _has_disk(data, dname, mname):
> @@ -257,7 +257,7 @@ class TestDRBD8Runner(testutils.GanetiTestCase):
>
>
>  class TestDRBD8Status(testutils.GanetiTestCase):
> -  """Testing case for DRBD8 /proc status"""
> +  """Testing case for DRBD8Dev /proc status"""
>
>    def setUp(self):
>      """Read in txt data"""
> @@ -295,7 +295,7 @@ class TestDRBD8Status(testutils.GanetiTestCase):
>    def testHelper(self):
>      """Test reading usermode_helper in /sys."""
>      sys_drbd_helper =
> testutils.TestDataFilename("sys_drbd_usermode_helper.txt")
> -    drbd_helper = drbd.DRBD8.GetUsermodeHelper(filename=sys_drbd_helper)
> +    drbd_helper =
> drbd.DRBD8Dev.GetUsermodeHelper(filename=sys_drbd_helper)
>      self.failUnlessEqual(drbd_helper, "/bin/true")
>
>    def testHelperIOErrors(self):
> @@ -303,7 +303,7 @@ class TestDRBD8Status(testutils.GanetiTestCase):
>      temp_file = self._CreateTempFile()
>      os.unlink(temp_file)
>      self.failUnlessRaises(errors.BlockDeviceError,
> -                          drbd.DRBD8.GetUsermodeHelper,
> filename=temp_file)
> +                          drbd.DRBD8Dev.GetUsermodeHelper,
> filename=temp_file)
>
>    def testMinorNotFound(self):
>      """Test not-found-minor in /proc"""
> @@ -405,7 +405,7 @@ class TestDRBD8Construction(testutils.GanetiTestCase):
>    def testConstructionWith80Data(self, mock_create_from_file):
>      mock_create_from_file.return_value = self.proc80_info
>
> -    inst = drbd.DRBD8(self.test_unique_id, [], 123, {})
> +    inst = drbd.DRBD8Dev(self.test_unique_id, [], 123, {})
>      self.assertEqual(inst._show_info_cls, drbd_info.DRBD83ShowInfo)
>      self.assertTrue(isinstance(inst._cmd_gen,
> drbd_cmdgen.DRBD83CmdGenerator))
>
> @@ -413,7 +413,7 @@ class TestDRBD8Construction(testutils.GanetiTestCase):
>    def testConstructionWith83Data(self, mock_create_from_file):
>      mock_create_from_file.return_value = self.proc83_info
>
> -    inst = drbd.DRBD8(self.test_unique_id, [], 123, {})
> +    inst = drbd.DRBD8Dev(self.test_unique_id, [], 123, {})
>      self.assertEqual(inst._show_info_cls, drbd_info.DRBD83ShowInfo)
>      self.assertTrue(isinstance(inst._cmd_gen,
> drbd_cmdgen.DRBD83CmdGenerator))
>
> @@ -421,7 +421,7 @@ class TestDRBD8Construction(testutils.GanetiTestCase):
>    def testConstructionWith84Data(self, mock_create_from_file):
>      mock_create_from_file.return_value = self.proc84_info
>
> -    inst = drbd.DRBD8(self.test_unique_id, [], 123, {})
> +    inst = drbd.DRBD8Dev(self.test_unique_id, [], 123, {})
>      self.assertEqual(inst._show_info_cls, drbd_info.DRBD84ShowInfo)
>      self.assertTrue(isinstance(inst._cmd_gen,
> drbd_cmdgen.DRBD84CmdGenerator))
>
> --
> 1.8.2.1
>
>

Reply via email to