Agreed on all points. This was somewhat of an MVP to get us going, but it definitely could be improved.
Another thing we should probably do is pre-create an empty ovsdb rather than doing it with ovsdb-tool on boot. Anyways, this works well enough from us, so we may improve it but it's unlikely in the short term. Ethan On Wed, Nov 11, 2015 at 12:45 PM, Gurucharan Shetty <[email protected]> wrote: > Thanks Ethan for the initiative. > > A few comments: > > 1. Is there any reason you guys chose to keep ovsdb-server and > ovs-vswitchd into separate containers? > I think having atleast the ovsdb-server and ovs-vswitchd together in > the same container may make things easy. > > 2. You can also run your containers with --pid=host. That gives some > advantages. > > 3. A startup script inside the container instead of loading so many > things in docker run command may also make it easier. > > > On Tue, Nov 10, 2015 at 2:36 PM, Ethan J. Jackson <[email protected]> > wrote: > > Hi everyone, > > > > We're doing a project here at Berkeley which requires OVS/Docker > > integration on CoreOS. Melvin Walls (an undergrad working with me here) > > did the heavy lifting to get that setup, so I thought I'd forward it to > the > > list in case there's interest. > > > > The first (and most important) step, is to create a container of OVS. > > Melvin has done so here: https://hub.docker.com/r/melvinw/ubuntu-ovs/ > It'd > > be really cool if the community blessed one per release and put it on > > hub.docker.com. They have a way to bless certain containers as > "official" > > which would be awesome. > > > > Anyways once that's up getting OVS running is pretty easy: It's a bit > ugly > > but it works: > > > > mkdir -p /etc/ovs > > mkdir -p /var/run/ovs > > sudo modprobe openvswitch > > docker pull melvinw/ubuntu-ovs > > docker run -d \ > > --privileged --net=host --name=ovsdb \ > > -v /var/run/ovs:/usr/local/var/run/openvswitch:rw \ > > -v /etc/ovs:/usr/local/etc/openvswitch:rw \ > > melvinw/ubuntu-ovn /bin/bash -c " \ > > mkdir -p /usr/local/var/log/openvswitch \ > > /usr/local/var/lib/openvswitch \ > > /usr/local/var/lib/openvswitch/pki; \ > > ovsdb-tool create /usr/local/etc/openvswitch/conf.db \ > > /usr/local/share/openvswitch/vswitch.ovsschema; \ > > ovsdb-server \ > > --remote=punix:/usr/local/var/run/openvswitch/db.sock \ > > --remote=db:Open_vSwitch,Open_vSwitch,manager_options \ > > --log-file=/usr/local/var/log/openvswitch/ovsdb-server.log \ > > --pidfile" > > > > docker run -d \ > > --privileged --net=host --name=ovs \ > > -v /var/run/ovs:/usr/local/var/run/openvswitch:rw \ > > -v /etc/ovs:/usr/local/etc/openvswitch:rw \ > > melvinw/ubuntu-ovn /bin/bash -c " \ > > mkdir -p /usr/local/var/log/openvswitch \ > > /usr/local/var/lib/openvswitch \ > > /usr/local/var/lib/openvswitch/pki; \ > > ovs-vsctl --no-wait init; \ > > ovs-vswitchd --pidfile \ > > --log-file=/usr/local/var/log/openvswitch/ovs-vswitchd.log" > > > > The usual commands (ovs-vsctl, etc...) can be run by prefixing them with > > `docker exec ovs` > > > > Anyways, I hope that's helpful/interesting. > > > > Ethan > > _______________________________________________ > > dev mailing list > > [email protected] > > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
