jpetazzo / pipework

Software-Defined Networking tools for LXC (LinuX Containers)
Apache License 2.0
4.22k stars 727 forks source link

Missing bridge-utils dependency #39

Closed ruphin closed 10 years ago

ruphin commented 10 years ago

On a vanilla Ubuntu install with Docker 0.9, pipework produces the following error:

pipework: line 152: brctl: command not found

The brctl command is part of the bridge-utils package in Ubuntu, which was a dependency of LXC. With Docker 0.9 no longer depending on LXC, it is no longer installed. I recommend putting up a message in the Readme notifying Docker 0.9 users that Pipework requires bridge-utils.

jpetazzo commented 10 years ago

Ah, wait, that shouldn't happen — pipework should be able to operate without brctl. It is supposed to degrade gracefully to ip link. I guess something is wrong here.

Thanks for reporting this!

chatterplug commented 10 years ago

I also get this error (but the line number is now 149). I tried executing the ip link command directly and it fails. I'm not sure what this means.

$ sudo ip link set br1 type bridge
Cannot find device "br1"
bcicen commented 10 years ago

chatter, can you post the output of running your pipework command?

chatterplug commented 10 years ago

Here it is:

$ pipework br1 $(docker inspect --format='{{.ID}}' mongo) 192.168.1.1/16
/usr/bin/pipework: line 149: brctl: command not found
kikitux commented 10 years ago

you need to have bridge-utils package installed

sudo apt-get update

sudo apt-get install bridge-utils

On Sat, May 24, 2014 at 2:30 PM, chatterplug notifications@github.comwrote:

Here it is:

$ pipework br1 $(docker inspect --format='{{.ID}}' mongo) 192.168.1.1/16 /usr/bin/pipework http://192.168.1.1/16/usr/bin/pipework: line 149: brctl: command not found

— Reply to this email directly or view it on GitHubhttps://github.com/jpetazzo/pipework/issues/39#issuecomment-44075457 .

bcicen commented 10 years ago

kikitux is correct, you are specifying a bridge interface that does not exist, pipework is trying to create it for you.