Mininet Cannot find required executable controller
Asked Answered
R

10

6

Whenever I want to run sshd.py example in mininet or some custome code I have written myself I get

*** 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)

Though $ sudo mn --test pingall works fine!

I guess I should find the open flow controller executable and add it to the path but I don't know where is it located. but the test create a controller and works fine!

I have tried to reinstalling mininet with

$ ~/mininet/util/install.sh -a or [-fnv]
Rehearse answered 27/6, 2013 at 10:46 Comment(0)
I
8

Stumbled upon the same issue with mininet on Ubuntu. Try to explicitly specify the controller class when constructing a Mininet object, e.g. instead of

net = Mininet(topo)

do

from mininet.node import OVSController

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

That solved the problem in my case.

Islander answered 20/7, 2013 at 15:13 Comment(0)
S
8

In the newst versions of OVS, the ovs-controller was renamed to test-controller.

First install the openvswitch-testcontroller if you haven't with the following command:

 sudo apt-get install openvswitch-testcontroller

Second, create a symbolic link to the test-controller:

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

That works for me.

You also, can review this link: http://installfights.blogspot.com.co/2016/09/cannot-find-required-executable.html

Shirline answered 15/11, 2017 at 16:18 Comment(0)
R
5

I wish the message was like

Cannot find required executable "controller".

Anyway, as long as you have ovs-controller installed e.g. provided by 'openvswitch-controller' package on debian like platform, all you have to do is

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

Reconnoiter answered 19/7, 2014 at 22:33 Comment(0)
R
1

There is a problem with installation as far as I perceived. I tried the mininet VM and everything works fine in it.

Rehearse answered 4/7, 2013 at 12:22 Comment(0)
L
1

I had the same problem and I solved it by installing the new version of mininet (2.1.0). With the 2.0.0 version I couldn't do anything.

Lagasse answered 29/10, 2013 at 11:49 Comment(0)
S
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

Have you tried this?

OR, if you using sudo mn command then try :

sudo mn --controller=remote
Statue answered 10/2, 2014 at 22:33 Comment(0)
P
1

I had the same problem, so I removed mininet and instead installing again with "apt-get install mininet", I downloaded the source and installed everything that is included in the Mininet VM. This solved the problem.

Just check out the "Option 2: Native Installation from Source" on the website: http://mininet.org/download/#option-1-mininet-vm-installation-easy-recommended

Purtenance answered 22/10, 2016 at 17:40 Comment(0)
C
0

Just ran into this issue on the "SDN Hub tutorial VM 64-bit with Docker" (Ubuntu 14.04) when running MiniEdit. Curiously, when I ran my first MiniEdit topology from this great tutorial there were no problems.

But when I closed MiniEdit, closed the Mininet client, and moved on to run another topology, I got "Mininet Cannot find required executable controller" error.

I'll note that, when working with MiniEdit, the Mininet Client explicitly states:

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.

In this SDN Hub tutorial VM that I'm working with the controller file is /usr/bin/ovs-vsctl. I needed to create a softlink ln to a file called /usr/bin/controller for MiniNet to find the controller configuration. I did this with the command:

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

Finally, Mininet cleanup is a useful command if there are errors in due to existing/leftover topology configurations.

sudo mn -c
Conducive answered 17/6, 2020 at 17:47 Comment(0)
H
0

For me It did not Show "Cannot find required executable controller".

First i follwed the following ways

Step1:

Then i installed openvswitch-testcontroller

sudo apt-get install openvswitch-testcontroller

created a symbolic link:

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

Step2:

Despite Above Commands it showed the output message https://user-images.githubusercontent.com/871503/27930643-09cd9322-62a0-11e7-8481-0919423e13f2.png

This will fix after that just use sudo mn ur mininet is good to go

sudo fuser -k 6653/tcp

Hydrometeor answered 9/11, 2023 at 8:23 Comment(0)
C
0

this problem is: not exist ovs-controller file in folder /usr/bin obtain this file and copy in the folder and try again-

Commutation answered 6/8 at 19:7 Comment(1)
As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.Whalen

© 2022 - 2024 — McMap. All rights reserved.