Mininet OVS-Controller не может быть загружен и запущен

Когда я когда-либо пытаюсь войти в SSH на свою виртуальную станцию VM с терминала Host, он показывает ошибку отказа в разрешении и даже с терминала VM, где размещается Mininet, используя команду:

sudo mn --topo single,3 --mac --switch ovsk --controller remote` 

он показывает следующую ошибку:

 ubuntu@ubuntu:~$ sudo mn *** Creating network *** Adding controller *** Adding hosts: h1 h2 *** Adding links: (h1, s1) (h2, s1) *** Configuring hosts h1 h2 *** Starting controller Cannot find required executable ovs-controller. Please make sure that it is installed and availabe in your $PATH: (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin/:/bin) ubuntu@ubuntu:~$ 

Поэтому я не могу продолжать использовать сеть SDN! Как это можно исправить вручную и почему эта ошибка происходит!

У меня была такая же проблема, когда я обновился до Open vSwitch 2.1. В примечаниях к выпуску ovs (NEWS) я нашел следующее:

  - ovs-controller has been renamed test-controller. It is no longer packaged or installed by default, because too many users assumed incorrectly that ovs-controller was a necessary or desirable part of an Open vSwitch deployment. 

Я также нашел test-controller в ./tests/test-controller (дистрибутив источника), поэтому я просто попробовал

 sudo cp tests/test-controller /usr/bin/ovs-controller 

и это отлично работает для меня! Я тоже использую Mininet 2.1, но для этого я должен был сделать выше. Вот результат:

 $ sudo mn --controller=ovsc *** Creating network *** Adding controller *** Adding hosts: h1 h2 *** Adding switches: s1 *** Adding links: (h1, s1) (h2, s1) *** Configuring hosts h1 h2 *** Starting controller *** Starting 1 switches s1 *** Starting CLI: mininet> pingall *** Ping: testing ping reachability h1 -> h2 h2 -> h1 *** Results: 0% dropped (2/2 received) mininet> 

Интересно, что они препятствуют использованию test-controller , и тем более, что Mininet, похоже, полагается на него. Возможно, для этой цели есть более эффективный исполняемый файл?

Дайте мне знать, если это сработает для вас!

Как указатель csl выше, вам нужно установить controller openvswitch отдельно. В ubuntu это то, что сработало для меня:

 sudo apt-get install openvswitch-testcontroller sudo cp /usr/bin/ovs-testcontroller /usr/bin/ovs-controller 

Чистым способом установки было бы использование обновлений пакета Ubuntu. Это облегчит будущую модернизацию OVS и удаление. Пример приведен в http://gregorygee.wordpress.com/2013/10/24/another-way-to-upgrade-open-vswitch-in-mininet/ .

Если вы установили Open vSwitch из источника и хотите его удалить, просто вернитесь в исходный каталог и запустите «make uninstall».

BTW, я обнаружил, что если у вас не было установки Open vSwitch в вашей системе до установки из исходного кода, то установка Open vSwitch не будет включать сценарии запуска системы, поэтому вам придется устанавливать их вручную. Лучше всего попробовать и установить Open vSwtich с помощью упаковочных скриптов.