Moh Zah
Moh Zah

Reputation: 292

Mininet Cannot find required executable controller

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]

Upvotes: 6

Views: 23545

Answers (10)

user26666618
user26666618

Reputation: 1

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

Upvotes: 0

Girish
Girish

Reputation: 1

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

Upvotes: 0

apalom
apalom

Reputation: 26

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

Upvotes: 0

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

Upvotes: 8

David Szabo
David Szabo

Reputation: 11

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

Upvotes: 1

user1602017
user1602017

Reputation: 1169

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

Upvotes: 5

clm
clm

Reputation: 81

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.

Upvotes: 8

Milson
Milson

Reputation: 1575

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

Upvotes: 1

Juan Antonio
Juan Antonio

Reputation: 11

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.

Upvotes: 1

Moh Zah
Moh Zah

Reputation: 292

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

Upvotes: 1

Related Questions