2

我想自动化设置Mininet虚拟机、通过 SSH 连接到 VM、在 VM 中启动 Mininet 以及初始化拓扑的过程。我需要会话保持打开状态,以便我可以使用创建的网络向 Mininet 发出命令。一切正常,包括初始化网络,但是一旦 bash 脚本结束,Mininet 就会破坏拓扑并退出虚拟机。我的代码的相关部分如下:

vboxmanage startvm "Mininet-VM_1" --type=headless

ssh -t -Y -l mininet -p 2222 localhost << HERPDERP

    # Start the network
    sudo mn --controller=remote,ip=$ip --custom /home/mininet/sf_mininet_vm/mininet/topo_basic.py --topo clos_tree --switch ovsk --link tc

HERPDERP

我尝试过的事情:

  1. 以;结束此处的文档s0 bash
  2. s0 $SHELL以;结尾
  3. 删除此处文档末尾的分隔符(在黑暗中拍摄)。

(1) 和 (2) 退出 Mininet 并在 VM 中给我留下提示,但由于某种原因我无法从它发出命令。(3) 什么都不做。

4

1 回答 1

0

如果您在文件中有该 python 拓扑,则只需使用即可运行该拓扑

sudo -E python <nameofthefile>

例如,如果你在文件Pkt_Topo_with_loop.py中有你的拓扑,你可以用它sudo -E python Pkt_Topo_with_loop.py来启动 mininet。因此,您将在 bash 脚本中包含该行以进行自动化。

于 2015-07-23T14:13:08.700 回答