Esempio n. 1
0
 def test_migrate_network_to_block(self):
     conf = drive_config(diskType=DISK_TYPE.NETWORK, path='pool/volume')
     drive = Drive({}, self.log, **conf)
     self.assertTrue(drive.networkDev)
     # Migrate drive to block domain...
     drive.path = '/blockdomain/volume'
     drive.diskType = None
     self.assertTrue(drive.blockDev)
Esempio n. 2
0
 def test_migrate_from_block_to_network(self):
     conf = drive_config(path='/blockdomain/volume')
     drive = Drive({}, self.log, **conf)
     self.assertTrue(drive.blockDev)
     # Migrate drive to network disk...
     drive.path = "pool/volume"
     drive.diskType = DISK_TYPE.NETWORK
     self.assertFalse(drive.blockDev)
Esempio n. 3
0
 def test_migrate_from_block_to_network(self):
     conf = drive_config(path='/blockdomain/volume')
     drive = Drive({}, self.log, **conf)
     self.assertTrue(drive.blockDev)
     # Migrate drive to network disk...
     drive.path = "pool/volume"
     drive.diskType = DISK_TYPE.NETWORK
     self.assertFalse(drive.blockDev)
Esempio n. 4
0
 def test_migrate_network_to_block(self):
     conf = drive_config(diskType=DISK_TYPE.NETWORK, path='pool/volume')
     drive = Drive({}, self.log, **conf)
     self.assertTrue(drive.networkDev)
     # Migrate drive to block domain...
     drive.path = '/blockdomain/volume'
     drive.diskType = None
     self.assertTrue(drive.blockDev)
Esempio n. 5
0
 def test_migrate_from_block_to_file(self):
     conf = drive_config(path='/blockdomain/volume')
     drive = Drive({}, self.log, **conf)
     self.assertTrue(drive.blockDev)
     # Migrate drive to file domain...
     utils.isBlockDevice = lambda path: False
     drive.path = "/filedomain/volume"
     self.assertFalse(drive.blockDev)
Esempio n. 6
0
 def test_migrate_from_block_to_file(self):
     conf = drive_config(path='/blockdomain/volume')
     drive = Drive({}, self.log, **conf)
     self.assertTrue(drive.blockDev)
     # Migrate drive to file domain...
     utils.isBlockDevice = lambda path: False
     drive.path = "/filedomain/volume"
     self.assertFalse(drive.blockDev)
Esempio n. 7
0
 def test_migrate_from_block_to_network(self):
     conf = drive_config(path='/blockdomain/volume')
     drive = Drive({}, self.log, **conf)
     self.assertTrue(drive.blockDev)
     # Migrate drive to netowrk (not sure we will support this)...
     drive.path = "rbd:pool/volume"
     drive.volumeInfo = {'volType': 'network'}
     self.assertFalse(drive.blockDev)
Esempio n. 8
0
 def test_migrate_from_block_to_network(self):
     conf = drive_config(path='/blockdomain/volume')
     drive = Drive({}, self.log, **conf)
     self.assertTrue(drive.blockDev)
     # Migrate drive to netowrk (not sure we will support this)...
     drive.path = "rbd:pool/volume"
     drive.volumeInfo = {'volType': 'network'}
     self.assertFalse(drive.blockDev)
Esempio n. 9
0
 def check_leases(self, conf):
     drive = Drive({}, self.log, **conf)
     leases = list(drive.getLeasesXML())
     self.assertEqual(1, len(leases))
     xml = """
     <lease>
         <key>vol_id</key>
         <lockspace>dom_id</lockspace>
         <target offset="0" path="path" />
     </lease>
     """
     self.assertXMLEqual(vmxml.format_xml(leases[0]), xml)
Esempio n. 10
0
 def check_leases(self, conf):
     drive = Drive({}, self.log, **conf)
     leases = list(drive.getLeasesXML())
     self.assertEqual(1, len(leases))
     xml = """
     <lease>
         <key>vol_id</key>
         <lockspace>dom_id</lockspace>
         <target offset="0" path="path" />
     </lease>
     """
     self.assertXMLEqual(vmxml.format_xml(leases[0]), xml)
Esempio n. 11
0
    def test_ide_drive(self, interface, index, expected_name):
        conf = drive_config(
            device='disk',
            iface=interface,
            index=index,
        )

        drive = Drive({}, self.log, **conf)
        self.assertEqual(drive.name, expected_name)
Esempio n. 12
0
 def check(self, vm_conf, device_conf, xml, is_block_device=False):
     drive = Drive(vm_conf, self.log, **device_conf)
     # Patch to skip the block device checking.
     if is_block_device is not None:
         drive._blockDev = is_block_device
     self.assertXMLEqual(vmxml.format_xml(drive.getXML()), xml)
Esempio n. 13
0
 def check_no_leases(self, conf):
     drive = Drive({}, self.log, **conf)
     leases = list(drive.getLeasesXML())
     self.assertEqual([], leases)
Esempio n. 14
0
 def test_no_replica(self):
     conf = drive_config()
     drive = Drive({}, self.log, **conf)
     self.assertEqual(drive.replicaChunked, False)
Esempio n. 15
0
 def test_replica(self, diskType, format, chunked):
     conf = drive_config(diskReplicate=replica(diskType, format=format))
     drive = Drive({}, self.log, **conf)
     self.assertEqual(drive.replicaChunked, chunked)
Esempio n. 16
0
 def check_no_leases(self, conf):
     drive = Drive({}, self.log, **conf)
     leases = list(drive.getLeasesXML())
     self.assertEqual([], leases)
Esempio n. 17
0
 def test_chunked(self, device, blockDev, format, chunked):
     conf = drive_config(device=device, format=format)
     drive = Drive({}, self.log, **conf)
     drive._blockDev = blockDev
     self.assertEqual(drive.chunked, chunked)
Esempio n. 18
0
 def check(self, vm_conf, device_conf, xml, is_block_device=False):
     drive = Drive(vm_conf, self.log, **device_conf)
     # Patch to skip the block device checking.
     drive._blockDev = is_block_device
     self.assertXMLEqual(drive.getReplicaXML().toxml(), xml)
Esempio n. 19
0
 def test_network_disk(self):
     # This is undocumented interface used by glusterfs
     conf = drive_config(volumeInfo={'volType': 'network'})
     drive = Drive({}, self.log, **conf)
     self.assertTrue(drive.networkDev)
     self.assertFalse(drive.blockDev)
Esempio n. 20
0
 def check(self, shared, expected):
     conf = drive_config()
     if shared:
         conf['shared'] = shared
     drive = Drive({}, self.log, **conf)
     self.assertEqual(drive.extSharedState, expected)
Esempio n. 21
0
 def test_max_size(self):
     conf = drive_config(format='cow')
     drive = Drive({}, self.log, **conf)
     size = utils.round(self.CAPACITY * drive.VOLWM_COW_OVERHEAD,
                        constants.MEGAB)
     self.assertEqual(drive.getMaxVolumeSize(self.CAPACITY), size)
Esempio n. 22
0
 def test_next_size_limit(self, cursize):
     conf = drive_config(format='cow')
     drive = Drive({}, self.log, **conf)
     self.assertEqual(drive.getNextVolumeSize(cursize, self.CAPACITY),
                      drive.getMaxVolumeSize(self.CAPACITY))
Esempio n. 23
0
 def test_next_size(self, cursize):
     conf = drive_config(format='cow')
     drive = Drive({}, self.log, **conf)
     self.assertEqual(drive.getNextVolumeSize(cursize, self.CAPACITY),
                      cursize + drive.volExtensionChunk)
Esempio n. 24
0
 def test_chunked(self, device, blockDev, format, chunked):
     conf = drive_config(device=device, format=format)
     drive = Drive({}, self.log, **conf)
     drive._blockDev = blockDev
     self.assertEqual(drive.chunked, chunked)
Esempio n. 25
0
 def check(self, vm_conf, device_conf, xml, is_block_device=False):
     drive = Drive(vm_conf, self.log, **device_conf)
     # Patch to skip the block device checking.
     drive._blockDev = is_block_device
     self.assertXMLEqual(drive.getXML().toxml(), xml)
Esempio n. 26
0
 def check(self, **kw):
     conf = drive_config(**kw)
     drive = Drive({}, self.log, **conf)
     self.assertRaises(ValueError, drive.getXML)
Esempio n. 27
0
 def test_floppy(self):
     conf = drive_config(device='floppy')
     drive = Drive({}, self.log, **conf)
     self.assertFalse(drive.networkDev)
     self.assertFalse(drive.blockDev)
Esempio n. 28
0
 def test_network_disk(self):
     conf = drive_config(diskType=DISK_TYPE.NETWORK)
     drive = Drive({}, self.log, **conf)
     self.assertTrue(drive.networkDev)
     self.assertFalse(drive.blockDev)
Esempio n. 29
0
 def test_file_disk(self):
     conf = drive_config(device='disk')
     drive = Drive({}, self.log, **conf)
     self.assertFalse(drive.networkDev)
     self.assertFalse(drive.blockDev)
Esempio n. 30
0
 def test_next_size_limit(self, cursize):
     conf = drive_config(format='cow')
     drive = Drive({}, self.log, **conf)
     self.assertEqual(drive.getNextVolumeSize(cursize, self.CAPACITY),
                      drive.getMaxVolumeSize(self.CAPACITY))
Esempio n. 31
0
 def check(self, vm_conf, device_conf, xml, is_block_device=False):
     drive = Drive(vm_conf, self.log, **device_conf)
     # Patch to skip the block device checking.
     if is_block_device is not None:
         drive._blockDev = is_block_device
     self.assertXMLEqual(vmxml.format_xml(drive.getXML()), xml)
Esempio n. 32
0
 def test_replica(self, diskType, format):
     conf = drive_config(diskReplicate=replica(diskType, format=format))
     drive = Drive({}, self.log, **conf)
     drive._blockDev = False
     self.assertEqual(drive.chunked, False)
Esempio n. 33
0
 def test_next_size(self, cursize):
     conf = drive_config(format='cow')
     drive = Drive({}, self.log, **conf)
     self.assertEqual(drive.getNextVolumeSize(cursize, self.CAPACITY),
                      cursize + drive.volExtensionChunk)
Esempio n. 34
0
 def test_replica(self, diskType, format):
     conf = drive_config(diskReplicate=replica(diskType, format=format))
     drive = Drive({}, self.log, **conf)
     drive._blockDev = False
     self.assertEqual(drive.chunked, False)
Esempio n. 35
0
 def test_max_size(self):
     conf = drive_config(format='cow')
     drive = Drive({}, self.log, **conf)
     size = utils.round(self.CAPACITY * drive.VOLWM_COW_OVERHEAD,
                        constants.MEGAB)
     self.assertEqual(drive.getMaxVolumeSize(self.CAPACITY), size)
Esempio n. 36
0
 def test_capacity_limit(self, cursize):
     conf = drive_config(format='cow')
     drive = Drive({}, self.log, **conf)
     self.assertEqual(drive.getNextVolumeSize(cursize, self.CAPACITY),
                      self.CAPACITY / constants.MEGAB)