def test_create_vm(self): lm = LogManager('./test-logs') ptm = PhysicalTopologyManager(root_dir=os.path.dirname(os.path.abspath(__file__)) + '/../..', log_manager=lm) root_cfg = HostDef('root', bridges={'br0': BridgeDef('br0', ip_addresses=[IP('10.0.0.240')])}, interfaces={'cmp1eth0': InterfaceDef('cmp1eth0', linked_bridge='br0')}) cmp1_cfg = HostDef('cmp1', interfaces={'eth0': InterfaceDef('eth0', ip_addresses=[IP('10.0.0.8')])}) cmp1_icfg= ImplementationDef('cmp1', 'PTM.ComputeHost', id='1') root_icfg = ImplementationDef('cmp1', 'PTM.RootHost') root = RootHost('root', ptm) cmp1 = ComputeHost(cmp1_cfg.name, ptm) log = lm.add_file_logger('test.log', 'test') root.set_logger(log) cmp1.set_logger(log) # Now configure the host with the definition and impl configs root.config_from_ptc_def(root_cfg, root_icfg) cmp1.config_from_ptc_def(cmp1_cfg, cmp1_icfg) root.link_interface(root.interfaces['cmp1eth0'], cmp1, cmp1.interfaces['eth0']) cmp1.create() cmp1.boot() root.net_up() cmp1.net_up() root.net_finalize() cmp1.net_finalize() vm1 = cmp1.create_vm("vm1") vm1.create_interface('eth0', ip_list=['10.1.1.2']) self.assertTrue('eth0' in vm1.interfaces) vm1.create() vm1.boot() vm1.net_up() vm1.net_finalize() self.assertTrue(LinuxCLI().grep_cmd('ip netns exec vm1 ip l', 'eth0')) vm1.net_down() vm1.shutdown() vm1.remove() cmp1.net_down() root.net_down() cmp1.shutdown() root.shutdown() cmp1.remove()