On Thu, Apr 17, 2014 at 11:35AM, Jose A. Lopes wrote:
> On Apr 16 15:19, Ilias Tsitsimpis wrote:
> > Fix the unittest that have been broken when we lifted the Disk objects
> > from the Instances.
> > 
> > Signed-off-by: Ilias Tsitsimpis <[email protected]>
> > ---
> >  lib/config.py                             |  2 +-
> >  test/data/instance-disks.txt              | 66 +---------------------------
> >  test/hs/Test/Ganeti/Objects.hs            |  2 +-
> >  test/py/cmdlib/cluster_unittest.py        | 16 ++++---
> >  test/py/cmdlib/cmdlib_unittest.py         | 13 +++---
> >  test/py/cmdlib/instance_unittest.py       | 72 
> > ++++++++++++++++++-------------
> >  test/py/cmdlib/testsupport/config_mock.py |  7 ++-
> >  test/py/ganeti.config_unittest.py         | 25 ++++++-----
> >  test/py/ganeti.rpc_unittest.py            | 26 ++++++++---
> >  9 files changed, 103 insertions(+), 126 deletions(-)
> > 
> > diff --git a/lib/config.py b/lib/config.py
> > index 0dd8650..629e5ba 100644
> > --- a/lib/config.py
> > +++ b/lib/config.py
> > @@ -1105,7 +1105,7 @@ class ConfigWriter(object):
> >            result.append("Instance '%s' has invalid disk '%s'" %
> >                          (instance.name, disk_uuid))
> >  
> > -      instance_disks = self._UnlockedGetInstanceDisks(instance)
> > +      instance_disks = self._UnlockedGetInstanceDisks(instance.uuid)
> >        # gather the drbd ports for duplicate checks
> >        for (idx, dsk) in enumerate(instance_disks):
> >          if dsk.dev_type in constants.DTS_DRBD:
> > diff --git a/test/data/instance-disks.txt b/test/data/instance-disks.txt
> > index 67568c2..51cf1a1 100644
> > --- a/test/data/instance-disks.txt
> > +++ b/test/data/instance-disks.txt
> > @@ -2,71 +2,7 @@
> >     "beparams": {},
> >     "ctime": 1372838883.9710441,
> >     "disk_template": "drbd",
> > -   "disks": [
> > -     {
> > -       "children": [
> > -         {
> > -           "dev_type": "plain",
> > -           "logical_id": [
> > -             "xenvg",
> > -             "df9ff3f6-a833-48ff-8bd5-bff2eaeab759.disk0_data"
> > -           ],
> > -           "params": {},
> > -           "physical_id": [
> > -             "xenvg",
> > -             "df9ff3f6-a833-48ff-8bd5-bff2eaeab759.disk0_data"
> > -           ],
> > -           "size": 1024,
> > -           "uuid": "eaff6322-1bfb-4d59-b306-4535730917cc",
> > -           "serial_no": 1,
> > -           "ctime": 1372838946.2599809,
> > -           "mtime": 1372838946.2599809
> > -         },
> > -         {
> > -           "dev_type": "plain",
> > -           "logical_id": [
> > -             "xenvg",
> > -             "df9ff3f6-a833-48ff-8bd5-bff2eaeab759.disk0_meta"
> > -           ],
> > -           "params": {},
> > -           "physical_id": [
> > -             "xenvg",
> > -             "df9ff3f6-a833-48ff-8bd5-bff2eaeab759.disk0_meta"
> > -           ],
> > -           "size": 128,
> > -           "uuid": "bf512e95-2a49-4cb3-8d1f-30a503f6bf1b",
> > -           "serial_no": 1,
> > -           "ctime": 1372838946.2599809,
> > -           "mtime": 1372838946.2599809
> > -         }
> > -       ],
> > -       "dev_type": "drbd",
> > -       "iv_name": "disk/0",
> > -       "logical_id": [
> > -         "60e687a0-21fc-4577-997f-ccd08925fa65",
> > -         "c739c7f3-79d8-4e20-ac68-662e16577d2e",
> > -         11000,
> > -         0,
> > -         0,
> > -         "9bdb15fb7ab6bb4610a313d654ed4d0d2433713e"
> > -       ],
> > -       "mode": "rw",
> > -       "params": {},
> > -       "physical_id": [
> > -         "172.16.241.3",
> > -         11000,
> > -         "172.16.241.2",
> > -         11000,
> > -         0,
> > -         "9bdb15fb7ab6bb4610a313d654ed4d0d2433713e"
> > -       ],
> > -       "size": 1024,
> > -       "uuid": "5d61e205-bf89-4ba8-a319-589b7bb7419e",
> > -       "serial_no": 1,
> > -       "ctime": 1372838946.2599809,
> > -       "mtime": 1372838946.2599809
> > -     }
> > -   ],
> > +   "disks": ["5d61e205-bf89-4ba8-a319-589b7bb7419e"],
> >     "disks_active": true,
> >     "hvparams": {},
> >     "hypervisor": "xen-pvm",
> > diff --git a/test/hs/Test/Ganeti/Objects.hs b/test/hs/Test/Ganeti/Objects.hs
> > index 8653fc5..0eefca9 100644
> > --- a/test/hs/Test/Ganeti/Objects.hs
> > +++ b/test/hs/Test/Ganeti/Objects.hs
> > @@ -132,7 +132,7 @@ instance Arbitrary Instance where
> >        -- nics
> >        <*> arbitrary
> >        -- disks
> > -      <*> vectorOf 5 genDisk
> > +      <*> vectorOf 5 arbitrary
> >        -- disk template
> >        <*> arbitrary
> >        -- disks active
> > diff --git a/test/py/cmdlib/cluster_unittest.py 
> > b/test/py/cmdlib/cluster_unittest.py
> > index 1de19da..8a2699f 100644
> > --- a/test/py/cmdlib/cluster_unittest.py
> > +++ b/test/py/cmdlib/cluster_unittest.py
> > @@ -1550,22 +1550,25 @@ class 
> > TestLUClusterVerifyGroupVerifyInstance(TestLUClusterVerifyGroupMethods):
> >      self.master_img.volumes = ["/".join(disk.logical_id)
> >                                 for inst in [self.running_inst,
> >                                              self.diskless_inst]
> > -                               for disk in inst.disks]
> > +                               for disk in
> > +                                 self.cfg.GetInstanceDisks(inst.uuid)]
> > +    drbd_inst_disks = self.cfg.GetInstanceDisks(self.drbd_inst.uuid)
> >      self.master_img.volumes.extend(
> > -      ["/".join(disk.logical_id) for disk in 
> > self.drbd_inst.disks[0].children])
> > +      ["/".join(disk.logical_id) for disk in drbd_inst_disks[0].children])
> >      self.master_img.instances = [self.running_inst.uuid]
> >      self.node1_img = \
> >        cluster.LUClusterVerifyGroup.NodeImage(uuid=self.node1.uuid)
> >      self.node1_img.volumes = \
> > -      ["/".join(disk.logical_id) for disk in 
> > self.drbd_inst.disks[0].children]
> > +      ["/".join(disk.logical_id) for disk in drbd_inst_disks[0].children]
> >      self.node_imgs = {
> >        self.master_uuid: self.master_img,
> >        self.node1.uuid: self.node1_img
> >      }
> > +    running_inst_disks = self.cfg.GetInstanceDisks(self.running_inst.uuid)
> >      self.diskstatus = {
> >        self.master_uuid: [
> >          (True, objects.BlockDevStatus(ldisk_status=constants.LDS_OKAY))
> > -        for _ in self.running_inst.disks
> > +        for _ in running_inst_disks
> >        ]
> >      }
> >  
> > @@ -1633,7 +1636,10 @@ class 
> > TestLUClusterVerifyGroupVerifyInstance(TestLUClusterVerifyGroupMethods):
> >    @withLockedLU
> >    def testExclusiveStorageWithValidInstance(self, lu):
> >      self.master.ndparams[constants.ND_EXCLUSIVE_STORAGE] = True
> > -    self.running_inst.disks[0].spindles = 1
> > +    running_inst_disks = self.cfg.GetInstanceDisks(self.running_inst.uuid)
> > +    running_inst_disks[0].spindles = 1
> > +    feedback_fn = lambda _: None
> > +    self.cfg.Update(running_inst_disks[0], feedback_fn)
> >      lu._VerifyInstance(self.running_inst, self.node_imgs, self.diskstatus)
> >      self.mcpu.assertLogIsEmpty()
> >  
> > diff --git a/test/py/cmdlib/cmdlib_unittest.py 
> > b/test/py/cmdlib/cmdlib_unittest.py
> > index 499bf2a..354e83c 100755
> > --- a/test/py/cmdlib/cmdlib_unittest.py
> > +++ b/test/py/cmdlib/cmdlib_unittest.py
> > @@ -591,6 +591,10 @@ class _FakeConfigForComputeIPolicyInstanceViolation:
> >    def GetInstanceNodes(self, instance_uuid):
> >      return ("pnode_uuid", )
> >  
> > +  def GetInstanceDisks(self, _):
> > +    disks = [objects.Disk(size=512, spindles=13, uuid="disk_uuid")]
> > +    return disks
> 
> return [objects.Disk(size=512, spindles=13, uuid="disk_uuid")]

ACK. Should I send an interdiff (given that it is a trivial change)?

Thanks,
Ilias

> Rest LGTM.
> 
> Thanks,
> Jose
> 
> > +
> >  
> >  class TestComputeIPolicyInstanceViolation(unittest.TestCase):
> >    def test(self):
> > @@ -599,18 +603,17 @@ class 
> > TestComputeIPolicyInstanceViolation(unittest.TestCase):
> >        constants.BE_VCPUS: 2,
> >        constants.BE_SPINDLE_USE: 4,
> >        }
> > -    disks = [objects.Disk(size=512, spindles=13)]
> >      cfg = _FakeConfigForComputeIPolicyInstanceViolation(beparams, False)
> > -    instance = objects.Instance(beparams=beparams, disks=disks, nics=[],
> > -                                primary_node="pnode_uuid",
> > +    instance = objects.Instance(beparams=beparams, disks=["disk_uuid"],
> > +                                nics=[], primary_node="pnode_uuid",
> >                                  disk_template=constants.DT_PLAIN)
> >      stub = _StubComputeIPolicySpecViolation(2048, 2, 1, 0, [512], 4,
> >                                              constants.DT_PLAIN)
> >      ret = common.ComputeIPolicyInstanceViolation(NotImplemented, instance,
> >                                                   cfg, _compute_fn=stub)
> >      self.assertEqual(ret, [])
> > -    instance2 = objects.Instance(beparams={}, disks=disks, nics=[],
> > -                                 primary_node="pnode_uuid",
> > +    instance2 = objects.Instance(beparams={}, disks=["disk_uuid"],
> > +                                 nics=[], primary_node="pnode_uuid",
> >                                   disk_template=constants.DT_PLAIN)
> >      ret = common.ComputeIPolicyInstanceViolation(NotImplemented, instance2,
> >                                                   cfg, _compute_fn=stub)
> > diff --git a/test/py/cmdlib/instance_unittest.py 
> > b/test/py/cmdlib/instance_unittest.py
> > index 67be24b..9504546 100644
> > --- a/test/py/cmdlib/instance_unittest.py
> > +++ b/test/py/cmdlib/instance_unittest.py
> > @@ -32,6 +32,7 @@ import operator
> >  
> >  from ganeti import backend
> >  from ganeti import compat
> > +from ganeti import config
> >  from ganeti import constants
> >  from ganeti import errors
> >  from ganeti import ht
> > @@ -1054,7 +1055,7 @@ class TestGenerateDiskTemplate(CmdlibTestCase):
> >        self.assertTrue(disk.children is None)
> >  
> >      self._CheckIvNames(result, base_index, base_index + len(disk_info))
> > -    instance._UpdateIvNames(base_index, result)
> > +    config._UpdateIvNames(base_index, result)
> >      self._CheckIvNames(result, base_index, base_index + len(disk_info))
> >  
> >      return result
> > @@ -1220,7 +1221,7 @@ class TestGenerateDiskTemplate(CmdlibTestCase):
> >        self.assertEqual(disk.children[1].size, constants.DRBD_META_SIZE)
> >  
> >      self._CheckIvNames(result, 0, len(disk_info))
> > -    instance._UpdateIvNames(0, result)
> > +    config._UpdateIvNames(0, result)
> >      self._CheckIvNames(result, 0, len(disk_info))
> >  
> >      self.assertEqual(map(operator.attrgetter("logical_id"), result), [
> > @@ -1238,7 +1239,8 @@ class _DiskPauseTracker:
> >      self.history = []
> >  
> >    def __call__(self, (disks, instance), pause):
> > -    assert not (set(disks) - set(instance.disks))
> > +    disk_uuids = [d.uuid for d in disks]
> > +    assert not (set(disk_uuids) - set(instance.disks))
> >  
> >      self.history.extend((i.logical_id, i.size, pause)
> >                          for i in disks)
> > @@ -1247,13 +1249,17 @@ class _DiskPauseTracker:
> >  
> >  
> >  class _ConfigForDiskWipe:
> > -  def __init__(self, exp_node_uuid):
> > +  def __init__(self, exp_node_uuid, disks):
> >      self._exp_node_uuid = exp_node_uuid
> > +    self._disks = disks
> >  
> >    def GetNodeName(self, node_uuid):
> >      assert node_uuid == self._exp_node_uuid
> >      return "name.of.expected.node"
> >  
> > +  def GetInstanceDisks(self, _):
> > +    return self._disks
> > +
> >  
> >  class _RpcForDiskWipe:
> >    def __init__(self, exp_node, pause_cb, wipe_cb):
> > @@ -1311,20 +1317,20 @@ class TestWipeDisks(unittest.TestCase):
> >    def testPauseFailure(self):
> >      node_name = "node1372.example.com"
> >  
> > -    lu = _FakeLU(rpc=_RpcForDiskWipe(node_name, self._FailingPauseCb,
> > -                                     NotImplemented),
> > -                 cfg=_ConfigForDiskWipe(node_name))
> > -
> >      disks = [
> > -      objects.Disk(dev_type=constants.DT_PLAIN),
> > -      objects.Disk(dev_type=constants.DT_PLAIN),
> > -      objects.Disk(dev_type=constants.DT_PLAIN),
> > +      objects.Disk(dev_type=constants.DT_PLAIN, uuid="disk0"),
> > +      objects.Disk(dev_type=constants.DT_PLAIN, uuid="disk1"),
> > +      objects.Disk(dev_type=constants.DT_PLAIN, uuid="disk2"),
> >        ]
> >  
> > +    lu = _FakeLU(rpc=_RpcForDiskWipe(node_name, self._FailingPauseCb,
> > +                                     NotImplemented),
> > +                 cfg=_ConfigForDiskWipe(node_name, disks))
> > +
> >      inst = objects.Instance(name="inst21201",
> >                              primary_node=node_name,
> >                              disk_template=constants.DT_PLAIN,
> > -                            disks=disks)
> > +                            disks=[d.uuid for d in disks])
> >  
> >      self.assertRaises(errors.OpExecError, instance.WipeDisks, lu, inst)
> >  
> > @@ -1337,21 +1343,22 @@ class TestWipeDisks(unittest.TestCase):
> >      node_uuid = "node13445-uuid"
> >      pt = _DiskPauseTracker()
> >  
> > -    lu = _FakeLU(rpc=_RpcForDiskWipe(node_uuid, pt, self._FailingWipeCb),
> > -                 cfg=_ConfigForDiskWipe(node_uuid))
> > -
> >      disks = [
> >        objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk0",
> > -                   size=100 * 1024),
> > +                   size=100 * 1024, uuid="disk0"),
> >        objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk1",
> > -                   size=500 * 1024),
> > -      objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk2", 
> > size=256),
> > +                   size=500 * 1024, uuid="disk1"),
> > +      objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk2",
> > +                   size=256, uuid="disk2"),
> >        ]
> >  
> > +    lu = _FakeLU(rpc=_RpcForDiskWipe(node_uuid, pt, self._FailingWipeCb),
> > +                 cfg=_ConfigForDiskWipe(node_uuid, disks))
> > +
> >      inst = objects.Instance(name="inst562",
> >                              primary_node=node_uuid,
> >                              disk_template=constants.DT_PLAIN,
> > -                            disks=disks)
> > +                            disks=[d.uuid for d in disks])
> >  
> >      try:
> >        instance.WipeDisks(lu, inst)
> > @@ -1376,23 +1383,25 @@ class TestWipeDisks(unittest.TestCase):
> >      progresst = _DiskWipeProgressTracker(start_offset)
> >  
> >      lu = _FakeLU(rpc=_RpcForDiskWipe(node_name, pauset, progresst),
> > -                 cfg=_ConfigForDiskWipe(node_name))
> > +                 cfg=_ConfigForDiskWipe(node_name, disks))
> >  
> >      instance = objects.Instance(name="inst3560",
> >                                  primary_node=node_name,
> >                                  disk_template=constants.DT_PLAIN,
> > -                                disks=disks)
> > +                                disks=[d.uuid for d in disks])
> >  
> >      return (lu, instance, pauset, progresst)
> >  
> >    def testNormalWipe(self):
> >      disks = [
> > -      objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk0", 
> > size=1024),
> > +      objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk0",
> > +                   size=1024, uuid="disk0"),
> >        objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk1",
> > -                   size=500 * 1024),
> > -      objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk2", 
> > size=128),
> > +                   size=500 * 1024, uuid="disk1"),
> > +      objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk2",
> > +                   size=128, uuid="disk2"),
> >        objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk3",
> > -                   size=constants.MAX_WIPE_CHUNK),
> > +                   size=constants.MAX_WIPE_CHUNK, uuid="disk3"),
> >        ]
> >  
> >      (lu, inst, pauset, progresst) = self._PrepareWipeTest(0, disks)
> > @@ -1418,9 +1427,9 @@ class TestWipeDisks(unittest.TestCase):
> >      for start_offset in [0, 280, 8895, 1563204]:
> >        disks = [
> >          objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk0",
> > -                     size=128),
> > +                     size=128, uuid="disk0"),
> >          objects.Disk(dev_type=constants.DT_PLAIN, logical_id="disk1",
> > -                     size=start_offset + (100 * 1024)),
> > +                     size=start_offset + (100 * 1024), uuid="disk1"),
> >          ]
> >  
> >        (lu, inst, pauset, progresst) = \
> > @@ -2325,9 +2334,12 @@ class TestLUInstanceSetParams(CmdlibTestCase):
> >      self.ExecOpCode(op)
> >  
> >    def testConvertDRBDToPlain(self):
> > -    self.inst.disks = [self.cfg.CreateDisk(dev_type=constants.DT_DRBD8,
> > -                                           primary_node=self.master,
> > -                                           secondary_node=self.snode)]
> > +    for disk_uuid in self.inst.disks:
> > +      self.cfg.RemoveInstanceDisk(self.inst.uuid, disk_uuid)
> > +    disk = self.cfg.CreateDisk(dev_type=constants.DT_DRBD8,
> > +                               primary_node=self.master,
> > +                               secondary_node=self.snode)
> > +    self.cfg.AddInstanceDisk(self.inst.uuid, disk)
> >      self.inst.disk_template = constants.DT_DRBD8
> >      self.rpc.call_blockdev_shutdown.return_value = \
> >        self.RpcResultsBuilder() \
> > diff --git a/test/py/cmdlib/testsupport/config_mock.py 
> > b/test/py/cmdlib/testsupport/config_mock.py
> > index b91b329..5c1f6e9 100644
> > --- a/test/py/cmdlib/testsupport/config_mock.py
> > +++ b/test/py/cmdlib/testsupport/config_mock.py
> > @@ -258,11 +258,13 @@ class ConfigMock(config.ConfigWriter):
> >                              osparams_private=osparams_private,
> >                              admin_state=admin_state,
> >                              nics=nics,
> > -                            disks=disks,
> > +                            disks=[],
> >                              disk_template=disk_template,
> >                              disks_active=disks_active,
> >                              network_port=network_port)
> >      self.AddInstance(inst, None)
> > +    for disk in disks:
> > +        self.AddInstanceDisk(inst.uuid, disk)
> >      return inst
> >  
> >    def AddNewNetwork(self,
> > @@ -552,7 +554,8 @@ class ConfigMock(config.ConfigWriter):
> >        nodegroups={},
> >        nodes={},
> >        instances={},
> > -      networks={})
> > +      networks={},
> > +      disks={})
> >  
> >      master_node_uuid = self._GetUuid()
> >  
> > diff --git a/test/py/ganeti.config_unittest.py 
> > b/test/py/ganeti.config_unittest.py
> > index 0c50cc4..b0ca943 100755
> > --- a/test/py/ganeti.config_unittest.py
> > +++ b/test/py/ganeti.config_unittest.py
> > @@ -36,7 +36,6 @@ from ganeti import utils
> >  from ganeti import netutils
> >  from ganeti import compat
> >  from ganeti import serializer
> > -from ganeti.cmdlib import instance
> >  
> >  from ganeti.config import TemporaryReservationManager
> >  
> > @@ -157,12 +156,15 @@ class TestConfigRunner(unittest.TestCase):
> >      inst = self._create_instance(cfg)
> >      disks = [
> >        objects.Disk(dev_type=constants.DT_PLAIN, size=128,
> > -                   logical_id=("myxenvg", "disk25494")),
> > +                   logical_id=("myxenvg", "disk25494"),
> > +                   uuid="disk0"),
> >        objects.Disk(dev_type=constants.DT_PLAIN, size=512,
> > -                   logical_id=("myxenvg", "disk29071")),
> > +                   logical_id=("myxenvg", "disk29071"),
> > +                   uuid="disk1"),
> >        ]
> > -    inst.disks = disks
> >      cfg.AddInstance(inst, "my-job")
> > +    for disk in disks:
> > +      cfg.AddInstanceDisk(inst.uuid, disk)
> >  
> >      # Plain disks
> >      all_nodes = cfg.GetInstanceNodes(inst.uuid)
> > @@ -191,14 +193,17 @@ class TestConfigRunner(unittest.TestCase):
> >                                 12300, 0, 0, "secret"),
> >                     children=[
> >                       objects.Disk(dev_type=constants.DT_PLAIN, size=786432,
> > -                                  logical_id=("myxenvg", "disk0")),
> > +                                  logical_id=("myxenvg", "disk0"),
> > +                                  uuid="data0"),
> >                       objects.Disk(dev_type=constants.DT_PLAIN, size=128,
> > -                                  logical_id=("myxenvg", "meta0"))
> > +                                  logical_id=("myxenvg", "meta0"),
> > +                                  uuid="meta0")
> >                     ],
> > -                   iv_name="disk/0")
> > +                   iv_name="disk/0", uuid="disk0")
> >        ]
> > -    inst.disks = disks
> >      cfg.AddInstance(inst, "my-job")
> > +    for disk in disks:
> > +      cfg.AddInstanceDisk(inst.uuid, disk)
> >  
> >      # Drbd Disks
> >      all_nodes = cfg.GetInstanceNodes(inst.uuid)
> > @@ -614,7 +619,7 @@ class TestCheckInstanceDiskIvNames(unittest.TestCase):
> >    def testNoError(self):
> >      disks = self._MakeDisks(["disk/0", "disk/1"])
> >      self.assertEqual(config._CheckInstanceDiskIvNames(disks), [])
> > -    instance._UpdateIvNames(0, disks)
> > +    config._UpdateIvNames(0, disks)
> >      self.assertEqual(config._CheckInstanceDiskIvNames(disks), [])
> >  
> >    def testWrongNames(self):
> > @@ -625,7 +630,7 @@ class TestCheckInstanceDiskIvNames(unittest.TestCase):
> >        ])
> >  
> >      # Fix names
> > -    instance._UpdateIvNames(0, disks)
> > +    config._UpdateIvNames(0, disks)
> >      self.assertEqual(config._CheckInstanceDiskIvNames(disks), [])
> >  
> >  
> > diff --git a/test/py/ganeti.rpc_unittest.py b/test/py/ganeti.rpc_unittest.py
> > index 82cf05c..0bf0412 100755
> > --- a/test/py/ganeti.rpc_unittest.py
> > +++ b/test/py/ganeti.rpc_unittest.py
> > @@ -716,6 +716,16 @@ class _FakeConfigForRpcRunner:
> >  
> >    def __init__(self, cluster=NotImplemented):
> >      self._cluster = cluster
> > +    self._disks = [
> > +      objects.Disk(dev_type=constants.DT_PLAIN, size=4096,
> > +                   logical_id=("vg", "disk6120"),
> > +                   uuid="disk_uuid_1"),
> > +      objects.Disk(dev_type=constants.DT_PLAIN, size=1024,
> > +                   logical_id=("vg", "disk8508"),
> > +                   uuid="disk_uuid_2"),
> > +      ]
> > +    for disk in self._disks:
> > +      disk.UpgradeConfig()
> >  
> >    def GetNodeInfo(self, name):
> >      return objects.Node(name=name)
> > @@ -732,6 +742,9 @@ class _FakeConfigForRpcRunner:
> >    def GetInstanceSecondaryNodes(self, _):
> >      return []
> >  
> > +  def GetInstanceDisks(self, _):
> > +    return self._disks
> > +
> >  
> >  class TestRpcRunner(unittest.TestCase):
> >    def testUploadFile(self):
> > @@ -813,12 +826,8 @@ class TestRpcRunner(unittest.TestCase):
> >            }),
> >          ],
> >        disk_template=constants.DT_PLAIN,
> > -      disks=[
> > -        objects.Disk(dev_type=constants.DT_PLAIN, size=4096,
> > -                     logical_id=("vg", "disk6120")),
> > -        objects.Disk(dev_type=constants.DT_PLAIN, size=1024,
> > -                     logical_id=("vg", "disk8508")),
> > -        ])
> > +      disks=["disk_uuid_1", "disk_uuid_2"]
> > +      )
> >      inst.UpgradeConfig()
> >  
> >      cfg = _FakeConfigForRpcRunner(cluster=cluster)
> > @@ -898,6 +907,7 @@ class TestRpcRunner(unittest.TestCase):
> >        "logical_id": ("vg", "disk6120"),
> >        "params": constants.DISK_DT_DEFAULTS[inst.disk_template],
> >        "serial_no": 1,
> > +      "uuid": "disk_uuid_1",
> >        }, {
> >        "dev_type": constants.DT_PLAIN,
> >        "dynamic_params": {},
> > @@ -905,9 +915,11 @@ class TestRpcRunner(unittest.TestCase):
> >        "logical_id": ("vg", "disk8508"),
> >        "params": constants.DISK_DT_DEFAULTS[inst.disk_template],
> >        "serial_no": 1,
> > +      "uuid": "disk_uuid_2",
> >        }])
> >  
> > -    self.assertTrue(compat.all(disk.params == {} for disk in inst.disks),
> > +    inst_disks = cfg.GetInstanceDisks(inst.uuid)
> > +    self.assertTrue(compat.all(disk.params == {} for disk in inst_disks),
> >                      msg="Configuration objects were modified")
> >  
> >  
> > -- 
> > 1.9.1
> > 

Attachment: signature.asc
Description: Digital signature

Reply via email to