[ovs-dev] OVS on coreos.

Baohua Yang yangbaohua at gmail.com
Wed Nov 11 02:45:51 UTC 2015


hi ethan.
   sure it should work.
   Just some thoughts from the isolation perspective.


On Wed, Nov 11, 2015 at 10:19 AM, Ethan J. Jackson <ejj at eecs.berkeley.edu>
wrote:

> Well, since OVS is in upstream linux, all you really need are ovsdb-server
> and ovs-vswitchd to get up and running.  It can go ahead and connect to the
> kernel module that's already there and forward packets.   At least this has
> worked for us with CoreOS without any additional modification.
>
> Getting OVS going with DPDK support would be quite a bit more involved
> actually.  You would need support for attaching the host NICs to the
> ovs-vswitchd container through DPDK.  It's certainly feasible, but I'm not
> sure there's a lot of overlap between the use cases for OVS DPDK and OVS as
> a container.
>
> Ethan
>
> On Tue, Nov 10, 2015 at 5:58 PM, Baohua Yang <yangbaohua at gmail.com> wrote:
>
>> thanks ethan!
>> seems we've put the ovsdb-server and ovs-vswitchd (user-face) part into a
>> container, which are basically userspace apps.
>> But it still requires host support on the datapath module.
>> more interesting is to put the whole ovs, including the datapath into
>> container.
>> there's some userspace one (through dpdk?), right?
>>
>> On Wed, Nov 11, 2015 at 6:36 AM, Ethan J. Jackson <ejj at eecs.berkeley.edu>
>> 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
>>> dev at openvswitch.org
>>> http://openvswitch.org/mailman/listinfo/dev
>>>
>>
>>
>>
>> --
>> Best wishes!
>> Baohua
>>
>
>


-- 
Best wishes!
Baohua



More information about the dev mailing list