2 # -*- coding: utf-8 -*-
4 from nepi.core.description import ExperimentDescription
5 from nepi.testbeds import netns
7 exp_desc = ExperimentDescription()
9 netns_provider = netns.TestbedFactoriesProvider(testbed_version)
10 netns_desc = exp_desc.add_testbed_description(netns_provider)
12 node1 = netns_desc.create("Node")
13 node2 = netns_desc.create("Node")
14 iface1 = netns_desc.create("NodeInterface")
15 iface1.set_attribute_value("up", True)
16 node1.connector("devs").connect(iface1.connector("node"))
17 ip1 = iface1.add_address()
18 ip1.set_attribute_value("Address", "10.0.0.1")
19 iface2 = netns_desc.create("NodeInterface")
20 iface2.set_attribute_value("up", True)
21 node2.connector("devs").connect(iface2.connector("node"))
22 ip2 = iface2.add_address()
23 ip2.set_attribute_value("Address", "10.0.0.2")
24 switch = netns_desc.create("Switch")
25 switch.set_attribute_value("up", True)
26 iface1.connector("switch").connect(switch.connector("devs"))
27 iface2.connector("switch").connect(switch.connector("devs"))
28 app = netns_desc.create("Application")
29 app.set_attribute_value("command", "ping -qc10 10.0.0.2")
30 app.connector("node").connect(node1.connector("apps"))
32 from nepi.util.parser.base import ExperimentParser
33 p = ExperimentParser()
34 data = p.to_data(exp_desc)
36 exp_desc2 = ExperimentDescription()
37 p.from_data(exp_desc2, data)
38 data2 = p.to_data(exp_desc2)
42 from nepi.util.parser._xml import XmlExperimentParser
43 p = XmlExperimentParser()
44 xml = p.to_xml(exp_desc)
46 exp_desc2 = ExperimentDescription()
47 p.from_xml(exp_desc2, xml)
48 xml2 = p.to_xml(exp_desc2)
52 #print experiment.xml_description