diff --git a/tests/testdriver.xml b/tests/testdriver.xml index 4ee0d0b05..d4a5d04de 100644 --- a/tests/testdriver.xml +++ b/tests/testdriver.xml @@ -1115,10 +1115,28 @@ ba - plainbridge + plainbridge-portgroups b1b9d7c6-f620-048f-71ee-ca3ba1ac3e98 + + + + + + + + + + + + + + + + + + diff --git a/tests/xmlparse-xml/network-multi-in.xml b/tests/xmlparse-xml/network-multi-in.xml index a1e645fb4..f820cec29 100644 --- a/tests/xmlparse-xml/network-multi-in.xml +++ b/tests/xmlparse-xml/network-multi-in.xml @@ -22,4 +22,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/tests/xmlparse-xml/network-multi-out.xml b/tests/xmlparse-xml/network-multi-out.xml index 51ac06a1f..36224308b 100644 --- a/tests/xmlparse-xml/network-multi-out.xml +++ b/tests/xmlparse-xml/network-multi-out.xml @@ -24,6 +24,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/tests/xmlparse.py b/tests/xmlparse.py index 980df270d..403024e1d 100644 --- a/tests/xmlparse.py +++ b/tests/xmlparse.py @@ -1135,6 +1135,11 @@ class XMLParseTest(unittest.TestCase): check("mode", "nat", "route") check("dev", None, "eth22") + self.assertEquals(len(net.portgroups), 2) + check = self._make_checker(net.portgroups[0]) + check("name", "engineering", "foo") + check("default", True, False) + self.assertEqual(len(net.ips), 4) check = self._make_checker(net.ips[0]) check("address", "192.168.7.1", "192.168.8.1") diff --git a/virtinst/network.py b/virtinst/network.py index e2ffa1201..c3baf630f 100644 --- a/virtinst/network.py +++ b/virtinst/network.py @@ -82,6 +82,13 @@ class _NetworkForward(XMLBuilder): return Network.pretty_forward_desc(self.mode, self.dev) +class _NetworkPortgroup(XMLBuilder): + _XML_ROOT_NAME = "portgroup" + + name = XMLProperty("./@name") + default = XMLProperty("./@default", is_yesno=True) + + class Network(XMLBuilder): """ Top level class for object XML @@ -172,6 +179,7 @@ class Network(XMLBuilder): delay = XMLProperty("./bridge/@delay", is_int=True) macaddr = XMLProperty("./mac/@address") + portgroups = XMLChildProperty(_NetworkPortgroup) ips = XMLChildProperty(_NetworkIP) routes = XMLChildProperty(_NetworkRoute) @@ -184,6 +192,7 @@ class Network(XMLBuilder): self._add_child(route) return route + ################## # build routines # ##################