Merge "Fix libvirt Connection.get_disks method"
This commit is contained in:
@@ -693,6 +693,66 @@ class LibvirtConnTestCase(test.TestCase):
|
||||
devices = conn.get_all_block_devices()
|
||||
self.assertEqual(devices, ['/path/to/dev/1', '/path/to/dev/3'])
|
||||
|
||||
def test_get_disks(self):
|
||||
xml = [
|
||||
# NOTE(vish): id 0 is skipped
|
||||
None,
|
||||
"""
|
||||
<domain type='kvm'>
|
||||
<devices>
|
||||
<disk type='file'>
|
||||
<source file='filename'/>
|
||||
<target dev='vda' bus='virtio'/>
|
||||
</disk>
|
||||
<disk type='block'>
|
||||
<source dev='/path/to/dev/1'/>
|
||||
<target dev='vdb' bus='virtio'/>
|
||||
</disk>
|
||||
</devices>
|
||||
</domain>
|
||||
""",
|
||||
"""
|
||||
<domain type='kvm'>
|
||||
<devices>
|
||||
<disk type='file'>
|
||||
<source file='filename'/>
|
||||
<target dev='vda' bus='virtio'/>
|
||||
</disk>
|
||||
</devices>
|
||||
</domain>
|
||||
""",
|
||||
"""
|
||||
<domain type='kvm'>
|
||||
<devices>
|
||||
<disk type='file'>
|
||||
<source file='filename'/>
|
||||
<target dev='vda' bus='virtio'/>
|
||||
</disk>
|
||||
<disk type='block'>
|
||||
<source dev='/path/to/dev/3'/>
|
||||
<target dev='vdb' bus='virtio'/>
|
||||
</disk>
|
||||
</devices>
|
||||
</domain>
|
||||
""",
|
||||
]
|
||||
|
||||
def fake_lookup(id):
|
||||
return FakeVirtDomain(xml[id])
|
||||
|
||||
def fake_lookup_name(name):
|
||||
return FakeVirtDomain(xml[1])
|
||||
|
||||
self.mox.StubOutWithMock(connection.LibvirtConnection, '_conn')
|
||||
connection.LibvirtConnection._conn.listDomainsID = lambda: range(4)
|
||||
connection.LibvirtConnection._conn.lookupByID = fake_lookup
|
||||
connection.LibvirtConnection._conn.lookupByName = fake_lookup_name
|
||||
|
||||
self.mox.ReplayAll()
|
||||
conn = connection.LibvirtConnection(False)
|
||||
devices = conn.get_disks(conn.list_instances()[0])
|
||||
self.assertEqual(devices, ['vda', 'vdb'])
|
||||
|
||||
@test.skip_if(missing_libvirt(), "Test requires libvirt")
|
||||
def test_snapshot_in_ami_format(self):
|
||||
self.flags(image_service='nova.image.fake.FakeImageService')
|
||||
|
||||
Reference in New Issue
Block a user