Virtualbox Plugin Trouble with Docker Plugin - Docker Uninstall failure and more

  • Edit: Siehe 2. Posting von mir, der das Problem zumindest eingegrenzt hat.


    Hallo,


    ich habe ein böses Problem seit dem die OMV Version 2.0.7 veröffentlicht wurde.


    Und zwar kann ich meine VM nicht mehr starten, ohne dass das gesamte OVM System mit einen "Linux Bluescreen" abschmiert und neustarten.
    Nach ein wenig probieren, fand ich heraus das die Netzwerkbrücke zum eth0 (also zur Netzwerkkarte worüber alles mit OMV läuft) nicht mehr benutz werden kann. Sobald ich auf NAT oder das Netzwerk abschalte, funktioniert die VM wieder.
    Was ist da los? :x
    Ich habe das Plugin bereits per apt-get purge deinstallieren lassen und neu eingerichtet - das Problem bleibt :( - In der Netzwerkkarten Übersicht wird auch nun dieser Adapter angezeigt: vethc0ec6dc - was ist das? Network-only adapter der vm?


    Supportprotokoll kann ich leider nicht verschicken, auch wegen den 10.000 Zeilen limit im Forum ^^"

  • Hi.
    Ich habe das Problem gefunden.


    Das Docker und Virtualbox Plugin sind NICHT kompatibel zueinander, wenn eine Netzwerkbrücke verwendet wird!


    Docker installiert eine Docker0 und die vethc0ec6dc Netzwerkkarte. Dabei muss irgendwas im System schief gehen, weil anschließend die VM nicht mehr auf die Eth0 (original Netzwerkkarte) zugreifen kann, während Docker keine Probleme damit hat.


    Bei der Deinstallation des Docker Plugin gab es einige Fehlermeldungen. Siehe hier: http://pastebin.com/4SpjZg9T


    Auch apt-get purge openmediavault-docker funktioniert nicht. Es reicht aber immerhin aus, das dabei die vethc0ec6dc Netzwerkkarte deinstalliert wird. Die Docker Netzkarte verschwindet auch, wird aber bei mir noch im VM System Auswahlmenü der Netzwerkkarten angezeigt.


    Wie auch immer, sobald die Docker Netzwerkkarten nicht mehr relevant sind, startet auch VM wieder.


    Nun, irgendwas an den Plugins ist nicht ok. Bitte prüfen.
    -
    Hier nun im "schlechten" English:
    The Docker Plugin and Virtualbox Plugin are incompatibel if you use a network bridge on eth0 in your VM.


    The Docker plugin install 2 virtual networkcards: Docker0 and vethc0ec6dc. This make an isue in the vm plugin.


    So if you uninstall the Docker Plugin i became errors. See: http://pastebin.com/4SpjZg9T
    After "apt-get purge openmediavault-docker" the virtual network cards are succesfull uninstalled but the docker plugin was still "enable" in the omv extensions menü. igonore it.
    VM will now start normaly again.


    So the docker und vm plugin must be checked what the problem here.

  • I reproduced the error in a VM. The problem is that when docker is installed, it creates a virtual bridge named docker0. If you try to bridge a VM in VirtualBox to eth0, the VM and OMV will become unresponsive. This is because Docker has already bonded to eth0 as a bridge. You cannot bridge more than once to the same NIC.


    I have tried a few workarounds to solve the issue. One important note is that Docker does not support DHCP allocation.
    Change Docker0 to use a static IP in the subnet range and allocate addresses from unused static IPs. See the documentation here. This is the most complex way to do this.
    Bind either Docker or VirtualBox to use a seperate NIC. i.e. eth1. This way is easier. Especially if you set VirtualBox bridge to use eth1. To bind Docker to eth1 see this link.
    During my testing, DockerUI or ShipYard had issues loading the pages. I will continue to test it.
    I'll work on finding a best practice to implement the Docker plugin with the dev. Until then, I do not recommend running both plugins since Docker is still being tested.


    Thanks! :)

    ShadowZero -- OMV Fan since 0.3

  • I have not even looked at the plugin. It is very alpha. There is probably issues in the postrm file. Maybe Aaron has looked at it.


    The postrm file had an apt-get command that I removed once and it was added back. You can't use apt commands in the plugins. I updated the plugin but this doesn't help the current problem.


    To remove, do the following:


    rm -f /var/lib/dpkg/info/openmediavault-docker.postrm
    apt-get purge openmediavault-docker
    rm /etc/nginx/openmediavault-webgui.d/openmediavault-docker-site.conf
    docker stop dockerui
    docker rm dockerui
    docker rmi dockerui/dockerui
    service nginx reload

    omv 5.6.13 usul | 64 bit | 5.11 proxmox kernel | omvextrasorg 5.6.2 | kvm plugin 5.1.6
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!


  • The postrm file had an apt-get command that I removed once and it was added back. You can't use apt commands in the plugins. I updated the plugin but this doesn't help the current problem.


    Sorry, I didn't know this ... how to remove ? with dpkg command ?


    For this problem with the bridge between docker0 and ethX and same thing with VirtualBox I will have look ...

  • When the package is listed as a dependency and the plugin installs it, it will be removed when the plugin is uninstalled. No need for any manual uninstall commands. If the plugin did not install it, it is not removed because it is assumed that the user wants it still.

    omv 5.6.13 usul | 64 bit | 5.11 proxmox kernel | omvextrasorg 5.6.2 | kvm plugin 5.1.6
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • Thank you for the explanation ! I'll change it !


    For the network plugin, one interface can only be in one bridge ... so if you use Virtualbox and one of your VM used bridge mode ofr network you will have problem ... (some fix to virtualbox for no crash will be published)


    Like said @tekkb you can use another interface (a new one) ...
    May be the easiest way is to install virtualbox in a container ... with this : https://registry.hub.docker.com/u/esben/vboxinsidedocker/ then : https://registry.hub.docker.com/u/clue/phpvirtualbox/ and https://registry.hub.docker.com/u/clue/vboxwebsrv/ after that, virtualbox is a docker plugin ... not a simple plugin ...

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!