Skip to content

Commit

Permalink
Add ovs 2.5.2
Browse files Browse the repository at this point in the history
  • Loading branch information
sangyun-han committed Jul 22, 2017
1 parent fede885 commit f5ff0b8
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 0 deletions.
31 changes: 31 additions & 0 deletions 2.5.2/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
FROM socketplane/busybox:latest
MAINTAINER The SocketPlane Team <[email protected]>
ENV OVS_VERSION 2.5.2
ENV SUPERVISOR_STDOUT_VERSION 0.1.1
# Configure supervisord
RUN mkdir -p /var/log/supervisor/
ADD supervisord.conf /etc/
# Install supervisor_stdout
WORKDIR /opt
RUN mkdir -p /var/log/supervisor/
RUN mkdir -p /etc/openvswitch
RUN wget https://pypi.python.org/packages/source/s/supervisor-stdout/supervisor-stdout-$SUPERVISOR_STDOUT_VERSION.tar.gz --no-check-certificate && \
tar -xzvf supervisor-stdout-0.1.1.tar.gz && \
mv supervisor-stdout-$SUPERVISOR_STDOUT_VERSION supervisor-stdout && \
rm supervisor-stdout-0.1.1.tar.gz && \
cd supervisor-stdout && \
python setup.py install -q
# Get Open vSwitch
WORKDIR /
RUN wget https://s3-us-west-2.amazonaws.com/docker-ovs/openvswitch-$OVS_VERSION.tar.gz --no-check-certificate && \
tar -xzvf openvswitch-$OVS_VERSION.tar.gz &&\
mv openvswitch-$OVS_VERSION openvswitch &&\
cp -r openvswitch/* / &&\
rm -r openvswitch &&\
rm openvswitch-$OVS_VERSION.tar.gz
ADD configure-ovs.sh /usr/local/share/openvswitch/
# Create the database
RUN ovsdb-tool create /etc/openvswitch/conf.db /usr/local/share/openvswitch/vswitch.ovsschema
# Put the OVS Python modules on the Python Path
RUN cp -r /usr/local/share/openvswitch/python/ovs /usr/lib/python2.7/site-packages/ovs
CMD ["/usr/bin/supervisord"]
16 changes: 16 additions & 0 deletions 2.5.2/configure-ovs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh
ovs_version=$(ovs-vsctl -V | grep ovs-vsctl | awk '{print $4}')
ovs_db_version=$(ovsdb-tool schema-version /usr/local/share/openvswitch/vswitch.ovsschema)

# give ovsdb-server and vswitchd some space...
sleep 3
# begin configuring
ovs-vsctl --no-wait -- init
ovs-vsctl --no-wait -- set Open_vSwitch . db-version="${ovs_db_version}"
ovs-vsctl --no-wait -- set Open_vSwitch . ovs-version="${ovs_version}"
ovs-vsctl --no-wait -- set Open_vSwitch . system-type="docker-ovs"
ovs-vsctl --no-wait -- set Open_vSwitch . system-version="0.1"
ovs-vsctl --no-wait -- set Open_vSwitch . external-ids:system-id=`cat /proc/sys/kernel/random/uuid`
ovs-vsctl --no-wait -- set-manager ptcp:6640
ovs-appctl -t ovsdb-server ovsdb-server/add-remote db:Open_vSwitch,Open_vSwitch,manager_options

64 changes: 64 additions & 0 deletions 2.5.2/supervisord.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
[unix_http_server]
file = /var/run/supervisor.sock

[inet_http_server]
port = 9001

[supervisord]
nodaemon=true
logfile = /var/log/supervisor/supervisord.log
logfile_maxbytes = 200KB
logfile_backups = 1
pidfile = /var/run/supervisord.pid
childlogdir = /var/log/supervisor

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl = unix:///var/run/supervisor.sock

[program:ovsdb-server]
command=/usr/local/sbin/ovsdb-server /etc/openvswitch/conf.db --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=ptcp:6640 --pidfile=ovsdb-server.pid
priority=10
startsec=10
stderr_events_enabled=true
stdout_events_enabled=true

[program:ovs-vswitchd]
command=/usr/local/sbin/ovs-vswitchd -v --pidfile
priority=20
startsec=10
stderr_events_enabled=true
stdout_events_enabled=true

[program:ovsdb-server-vtep]
command=/usr/local/sbin/ovsdb-server /etc/openvswitch/conf.db /etc/openvswitch/vtep.db --remote=punix:/var/run/openvswitch/db.sock --pidfile=ovsdb-server.pid
autostart=false
priority=10
startsec=10
stderr_events_enabled=true
stdout_events_enabled=true

[program:ovs-vtep]
command=/usr/local/share/openvswitch/scripts/ovs-vtep --pidfile=/var/run/openvswitch/ovs-vtep.pid br-vtep
autostart=false
priority=30
startsec=10
stderr_events_enabled=true
stdout_events_enabled=true

[program:configure-ovs]
command=/usr/local/share/openvswitch/configure-ovs.sh
priority=30
startsecs=0
exitcodes=0
autorestart=false
stderr_events_enabled=true
stdout_events_enabled=true

[eventlistener:stdout]
command = supervisor_stdout
buffer_size = 100
events = PROCESS_LOG
result_handler = supervisor_stdout:event_handler

0 comments on commit f5ff0b8

Please sign in to comment.