Mininet 找不到所需的可执行控制器

问题描述 投票:0回答:9

每当我想在 mininet 中运行 sshd.py 示例或我自己编写的一些客户代码时,我都会得到

*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 h4 h5 
*** Adding switches:
s1 
*** Adding links:
(h1, s1) (h2, s1) (h3, s1) (h4, s1) (h5, s1) 
*** Configuring hosts
h1 h2 h3 h4 h5 
*** Starting controller
Cannot find required executable controller.
Please make sure that it is installed and available in your $PATH:
(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)

虽然

$ sudo mn --test pingall
工作得很好!

我想我应该找到开放流控制器可执行文件并将其添加到路径中,但我不知道它位于哪里。但测试创建了一个控制器并且工作正常!

我尝试用

重新安装mininet
$ ~/mininet/util/install.sh -a or [-fnv]
python controller mininet
9个回答
8
投票

在 Ubuntu 上使用 mininet 时偶然发现了同样的问题。 构建 Mininet 对象时尝试显式指定控制器类,例如而不是

net = Mininet(topo)

from mininet.node import OVSController

net = Mininet(topo = topo, controller = OVSController)

这解决了我的问题。


7
投票

在 OVS 的最新版本中,ovs-controller 已重命名为 test-controller。

如果尚未安装 openvswitch-testcontroller,请使用以下命令:

 sudo apt-get install openvswitch-testcontroller

其次,创建到测试控制器的符号链接:

 sudo ln /usr/bin/ovs-testcontroller /usr/bin/controller 

这对我有用。

您也可以查看此链接:http://installfights.blogspot.com.co/2016/09/cannot-find-required-executable.html


5
投票

我希望这条消息是这样的

找不到所需的可执行“控制器”。

无论如何,只要你安装了ovs-controller,例如由类似 debian 平台上的“openvswitch-controller”包提供,您所要做的就是

sudo ln /usr/bin/ovs-controller /usr/bin/controller


1
投票

据我所知,安装存在问题。我尝试了 mininet 虚拟机,一切正常。


1
投票

我遇到了同样的问题,我通过安装新版本的 mininet (2.1.0) 解决了它。使用 2.0.0 版本我什么也做不了。


1
投票
ubuntu@ubuntu:~$ cd mininet/examples
ubuntu@ubuntu:~/mininet/examples$ dir
baresshd.py  hwintf.py       multipoll.py   scratchnetuser.py
consoles.py  limit.py        multitest.py   simpleperf.py
controllers2.py  linearbandwidth.py  popenpoll.py   sshd.py
controllers.py   milsontest.py       popen.py       tree1024.py
cpu.py       miniedit.py         README     treeping64.py
emptynet.py  multiping.py        scratchnet.py
ubuntu@ubuntu:~/mininet/examples$ nano sshd.py
ubuntu@ubuntu:~/mininet/examples$ sudo python sshd.py

你试过这个吗?

或者,如果您使用 sudo mn 命令,请尝试:

sudo mn --controller=remote

1
投票

我遇到了同样的问题,所以我删除了 mininet,然后使用“apt-get install mininet”再次安装,我下载了源代码并安装了 Mininet VM 中包含的所有内容。这解决了问题。

只需查看网站上的“选项 2:从源代码本机安装”: http://mininet.org/download/#option-1-mininet-vm-installation-easy-recommended


0
投票

刚刚在运行 MiniEdit 时在“SDN Hub 教程 VM 64 位与 Docker”(Ubuntu 14.04)上遇到了这个问题。奇怪的是,当我从这个伟大的tutorial运行我的第一个MiniEdit拓扑时没有出现任何问题。

但是当我关闭 MiniEdit、关闭 Mininet 客户端并继续运行另一个拓扑时,我收到“Mininet 找不到所需的可执行控制器”错误。

我会注意到,在使用 MiniEdit 时,Mininet 客户端明确指出:

NOTE: PLEASE REMEMBER TO EXIT THE CLI BEFORE YOU PRESS  THE STOP BUTTON. Not exiting will prevent MiniEdit from quitting and will prevent you from starting the network again during this sessoin.

在此 SDN Hub 教程虚拟机中,我使用的控制器文件是

/usr/bin/ovs-vsctl
。我需要创建一个指向名为
ln
的文件的软链接
/usr/bin/controller
,以便 MiniNet 查找控制器配置。我用命令做到了这一点:

sudo ln /usr/bin/ovs-vsctl /usr/bin/controller

最后,如果由于现有/剩余拓扑配置而出现错误,Mininet cleanup 是一个有用的命令。

sudo mn -c

0
投票

对我来说它没有显示“找不到所需的可执行控制器”。

首先我按照以下方式

第1步:

然后我安装了openvswitch-testcontroller

sudo apt-get install openvswitch-testcontroller

创建了一个符号链接:

sudo ln /usr/bin/ovs-testcontroller /usr/bin/controller

第二步:

尽管有上述命令,它还是显示了输出消息 https://user-images.githubusercontent.com/871503/27930643-09cd9322-62a0-11e7-8481-0919423e13f2.png

这将在之后修复,只需使用 sudo mn ur mininet 就可以了

sudo fusion -k 6653/tcp

© www.soinside.com 2019 - 2024. All rights reserved.