From 036fe9b7fb1d09d82b03e3bbfe579b74457e8153 Mon Sep 17 00:00:00 2001 From: Oleg Bondarev Date: Thu, 22 Dec 2016 18:02:32 +0400 Subject: [PATCH] Add ability to deploy certain OVS version With this patch one can deploy any OpenVSwitch version specified in ccp.yaml. Corresponding tarball will be downloaded from http://openvswitch.org/releases/, compiled and installed Change-Id: I760512da59258b16749b144e9a980c88526fce54 --- docker/openvswitch-base/Dockerfile.j2 | 15 ++++++++++++++- service/files/defaults.yaml | 6 ++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/docker/openvswitch-base/Dockerfile.j2 b/docker/openvswitch-base/Dockerfile.j2 index 6d5b668..85d07db 100644 --- a/docker/openvswitch-base/Dockerfile.j2 +++ b/docker/openvswitch-base/Dockerfile.j2 @@ -1,7 +1,20 @@ FROM {{ image_spec("base-tools") }} MAINTAINER {{ maintainer }} +{% if ovs_version == "system" %} RUN apt-get -y install --no-install-recommends \ openvswitch-switch \ && apt-get clean - +{% else %} +RUN apt-get update && \ + apt-get -y install --no-install-recommends gcc libc6-dev libssl-dev libcap-ng-dev make module-init-tools && \ + curl -Lo openvswitch-{{ ovs_version }}.tar.gz {{ url.ovs }}/openvswitch-{{ ovs_version }}.tar.gz && \ + tar -xvzf openvswitch-{{ ovs_version }}.tar.gz && \ + rm -rf openvswitch-{{ ovs_version }}.tar.gz && \ + cd openvswitch-{{ ovs_version }} && \ + ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc && \ + make && make install && make clean && \ + rm -rf openvswitch-{{ ovs_version }} && \ + apt-get purge -y gcc libc6-dev libssl-dev libcap-ng-dev && \ + apt-get clean +{% endif %} diff --git a/service/files/defaults.yaml b/service/files/defaults.yaml index 6454662..34f52d7 100644 --- a/service/files/defaults.yaml +++ b/service/files/defaults.yaml @@ -66,3 +66,9 @@ sources: openstack/networking-calico: git_url: https://github.com/openstack/networking-calico.git git_ref: master + +versions: + ovs_version: "system" + +url: + ovs: http://openvswitch.org/releases