Return instance of Guest from method write_instance_config
We expect an instance of Guest, so remove the TODO notice and return it. Change-Id: I9c55883cca03f7492ba100fd60d9f2e58aa71d95
This commit is contained in:
parent
c40b5fbc1d
commit
a6e946364e
|
@ -869,9 +869,24 @@ Active: 8381604 kB
|
|||
|
||||
@mock.patch.object(fakelibvirt.virConnect, "defineXML")
|
||||
def test_write_instance_config(self, mock_defineXML):
|
||||
xml = "<x><name>foo</name></x>"
|
||||
self.host.write_instance_config(xml)
|
||||
mock_defineXML.assert_called_once_with(xml)
|
||||
fake_dom_xml = """
|
||||
<domain type='kvm'>
|
||||
<uuid>cef19ce0-0ca2-11df-855d-b19fbce37686</uuid>
|
||||
<devices>
|
||||
<disk type='file'>
|
||||
<source file='filename'/>
|
||||
</disk>
|
||||
</devices>
|
||||
</domain>
|
||||
"""
|
||||
conn = self.host.get_connection()
|
||||
dom = fakelibvirt.Domain(conn,
|
||||
fake_dom_xml,
|
||||
False)
|
||||
mock_defineXML.return_value = dom
|
||||
guest = self.host.write_instance_config(fake_dom_xml)
|
||||
mock_defineXML.assert_called_once_with(fake_dom_xml)
|
||||
self.assertIsInstance(guest, libvirt_guest.Guest)
|
||||
|
||||
@mock.patch.object(fakelibvirt.virConnect, "nodeDeviceLookupByName")
|
||||
def test_device_lookup_by_name(self, mock_nodeDeviceLookupByName):
|
||||
|
|
|
@ -120,14 +120,12 @@ class Guest(object):
|
|||
:returns guest.Guest: Guest ready to be launched
|
||||
"""
|
||||
try:
|
||||
# TODO(sahid): Host.write_instance_config should return
|
||||
# an instance of Guest
|
||||
domain = host.write_instance_config(xml)
|
||||
guest = host.write_instance_config(xml)
|
||||
except Exception:
|
||||
with excutils.save_and_reraise_exception():
|
||||
LOG.error(_LE('Error defining a domain with XML: %s'),
|
||||
LOG.error(_LE('Error defining a guest with XML: %s'),
|
||||
encodeutils.safe_decode(xml))
|
||||
return cls(domain)
|
||||
return guest
|
||||
|
||||
def launch(self, pause=False):
|
||||
"""Starts a created guest.
|
||||
|
|
|
@ -855,9 +855,10 @@ class Host(object):
|
|||
|
||||
:param xml: XML domain definition of the guest.
|
||||
|
||||
:returns: a virDomain instance
|
||||
:returns: an instance of Guest
|
||||
"""
|
||||
return self.get_connection().defineXML(xml)
|
||||
domain = self.get_connection().defineXML(xml)
|
||||
return libvirt_guest.Guest(domain)
|
||||
|
||||
def device_lookup_by_name(self, name):
|
||||
"""Lookup a node device by its name.
|
||||
|
|
Loading…
Reference in New Issue