[virt-tools-list] [PATCHv2] virtinst: Add address type configuration for network device
Li Zhang
zhlcindy at linux.vnet.ibm.com
Tue Mar 6 10:17:04 UTC 2012
Address type can be set as spapr-vio for newtwork
device on pseries guest.So address type configuration
for network device should be added.
Signed-off-by: Li Zhang <zhlcindy at linux.vnet.ibm.com>
---
tests/xmlconfig-xml/boot-many-devices.xml | 6 ++++++
tests/xmlconfig.py | 5 +++++
virtinst/Guest.py | 3 ++-
virtinst/VirtualNetworkInterface.py | 5 +++++
4 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/tests/xmlconfig-xml/boot-many-devices.xml b/tests/xmlconfig-xml/boot-many-devices.xml
index c9c5632..043e291 100644
--- a/tests/xmlconfig-xml/boot-many-devices.xml
+++ b/tests/xmlconfig-xml/boot-many-devices.xml
@@ -52,6 +52,12 @@
<interface type='user'>
<mac address='11:11:11:11:11:11'/>
</interface>
+ <interface type='network'>
+ <source network='default'/>
+ <mac address='22:22:22:22:22:22'/>
+ <model type='spapr-vlan'/>
+ <address type='spapr-vio'/>
+ </interface>
<input type='mouse' bus='ps2'/>
<graphics type='sdl' display=':3.4' xauth='/tmp/.Xauthority'/>
<graphics type='vnc' port='-1' keymap='en-us'/>
diff --git a/tests/xmlconfig.py b/tests/xmlconfig.py
index e6838c3..1dd447d 100644
--- a/tests/xmlconfig.py
+++ b/tests/xmlconfig.py
@@ -731,8 +731,13 @@ class TestXMLConfig(unittest.TestCase):
net1.model = "e1000"
net2 = VirtualNetworkInterface(type="user",
macaddr="11:11:11:11:11:11")
+ net3 = VirtualNetworkInterface(type=virtinst.VirtualNetworkInterface.TYPE_VIRTUAL,
+ macaddr="22:22:22:22:22:22", network="default")
+ net3.model = "spapr-vlan"
+ net3.set_address("spapr-vio")
g.nics.append(net1)
g.nics.append(net2)
+ g.nics.append(net3)
# Character devices
cdev1 = VirtualCharDevice.get_dev_instance(g.conn,
diff --git a/virtinst/Guest.py b/virtinst/Guest.py
index 8e6496c..cd529aa 100644
--- a/virtinst/Guest.py
+++ b/virtinst/Guest.py
@@ -881,7 +881,8 @@ class Guest(XMLBuilderDomain.XMLBuilderDomain):
# Build XML
for dev in devs:
xml = _util.xml_append(xml, get_dev_xml(dev))
- if dev.address.type == "spapr-vio":
+ if (dev.address.type == "spapr-vio" and
+ dev.virtual_device_type == virtinst.VirtualDevice.VIRTUAL_DEV_DISK):
xml = _util.xml_append(xml, get_vscsi_ctrl_xml())
return xml
diff --git a/virtinst/VirtualNetworkInterface.py b/virtinst/VirtualNetworkInterface.py
index 4b0761d..37a51e6 100644
--- a/virtinst/VirtualNetworkInterface.py
+++ b/virtinst/VirtualNetworkInterface.py
@@ -360,6 +360,7 @@ class VirtualNetworkInterface(VirtualDevice.VirtualDevice):
src_xml = ""
model_xml = ""
target_xml = ""
+ addr_xml = ""
if self.type == self.TYPE_BRIDGE:
src_xml = " <source bridge='%s'/>\n" % self.bridge
elif self.type == self.TYPE_VIRTUAL:
@@ -372,6 +373,9 @@ class VirtualNetworkInterface(VirtualDevice.VirtualDevice):
if self.model:
model_xml = " <model type='%s'/>\n" % self.model
+ if self.address:
+ addr_xml = self.indent(self.address.get_xml_config(), 6)
+
if self.target_dev:
target_xml = " <target dev='%s'/>\n" % self.target_dev
@@ -380,6 +384,7 @@ class VirtualNetworkInterface(VirtualDevice.VirtualDevice):
xml += " <mac address='%s'/>\n" % self.macaddr
xml += target_xml
xml += model_xml
+ xml += addr_xml
xml += " </interface>"
return xml
--
1.7.5.4
More information about the virt-tools-list
mailing list