diff mbox series

[ovs-dev,ovn,2/3] Refactor install scripts for ovn container

Message ID 20191026014555.4993-2-amginwal@gmail.com
State Accepted
Commit 334129018102c8188832679284b223939bee565c
Headers show
Series [ovs-dev,ovn,1/3] Skip using with-linux for ovn container build scripts | expand

Commit Message

aginwala aginwala Oct. 26, 2019, 1:45 a.m. UTC
From: Aliasgar Ginwala <aginwala@ebay.com>

Signed-off-by: Aliasgar Ginwala <aginwala@ebay.com>
---
 utilities/automake.mk              |  3 ++-
 utilities/docker/Makefile          |  2 +-
 utilities/docker/debian/Dockerfile |  1 +
 utilities/docker/debian/build.sh   | 24 +-----------------
 utilities/docker/install_ovn.sh    | 40 ++++++++++++++++++++++++++++++
 5 files changed, 45 insertions(+), 25 deletions(-)
 create mode 100755 utilities/docker/install_ovn.sh
diff mbox series

Patch

diff --git a/utilities/automake.mk b/utilities/automake.mk
index 197cc7011..0b7e38dc0 100644
--- a/utilities/automake.mk
+++ b/utilities/automake.mk
@@ -39,7 +39,8 @@  EXTRA_DIST += \
     utilities/docker/ovn_default_sb_port \
     utilities/docker/ovn_default_northd_host \
     utilities/docker/debian/Dockerfile \
-    utilities/docker/debian/build.sh
+    utilities/docker/debian/build.sh \
+    utilities/docker/install_ovn.sh
 
 CLEANFILES += \
     utilities/ovn-ctl.8 \
diff --git a/utilities/docker/Makefile b/utilities/docker/Makefile
index 304723f8f..57e95651c 100644
--- a/utilities/docker/Makefile
+++ b/utilities/docker/Makefile
@@ -9,7 +9,7 @@ 
 #   make push
 
 REPO = ${DOCKER_REPO}
-tag = ${OVN_VERSION}_${KERNEL_VERSION}
+tag = ${OVN_VERSION}_${DISTRO}_${OVN_BRANCH}
 
 build: ;docker build -t ${REPO}:${tag} --build-arg DISTRO=${DISTRO} \
 --build-arg OVN_BRANCH=${OVN_BRANCH} \
diff --git a/utilities/docker/debian/Dockerfile b/utilities/docker/debian/Dockerfile
index 9c35f6b16..366ad6d4f 100644
--- a/utilities/docker/debian/Dockerfile
+++ b/utilities/docker/debian/Dockerfile
@@ -6,6 +6,7 @@  ARG GITHUB_SRC
 ARG DISTRO
 
 copy $DISTRO/build.sh /build.sh
+copy install_ovn.sh /install_ovn.sh
 RUN /build.sh $OVN_BRANCH $GITHUB_SRC
 
 COPY ovn_default_nb_port /etc/ovn/ovn_default_nb_port
diff --git a/utilities/docker/debian/build.sh b/utilities/docker/debian/build.sh
index 8e492bf76..0d0c8cfd8 100755
--- a/utilities/docker/debian/build.sh
+++ b/utilities/docker/debian/build.sh
@@ -23,29 +23,7 @@  dh-autoreconf openssl"
 apt-get update
 apt-get install -y ${build_deps}
 
-# get ovs source always from master as its needed as dependency
-mkdir /build; cd /build
-git clone --depth 1 -b master https://github.com/openvswitch/ovs.git
-cd ovs;
-mkdir _gcc;
-
-# build and install
-./boot.sh
-cd _gcc
-../configure --localstatedir="/var" --sysconfdir="/etc" --prefix="/usr" \
---enable-ssl
-cd ..; make -C _gcc install; cd ..
-
-
-# get ovn source
-git clone --depth 1 -b $OVN_BRANCH $GITHUB_SRC
-cd ovn
-
-# build and install
-./boot.sh
-./configure --localstatedir="/var" --sysconfdir="/etc" --prefix="/usr" \
---enable-ssl --with-ovs-source=/build/ovs/ --with-ovs-build=/build/ovs/_gcc
-make -j8; make install
+./install_ovn.sh $OVN_BRANCH $GITHUB_SRC
 
 # remove deps to make the container light weight.
 apt-get remove --purge -y ${build_deps}
diff --git a/utilities/docker/install_ovn.sh b/utilities/docker/install_ovn.sh
new file mode 100755
index 000000000..55c189aae
--- /dev/null
+++ b/utilities/docker/install_ovn.sh
@@ -0,0 +1,40 @@ 
+#!/bin/sh
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+OVN_BRANCH=$1
+GITHUB_SRC=$2
+
+# get ovs source always from master as its needed as dependency
+mkdir /build; cd /build
+git clone --depth 1 -b master https://github.com/openvswitch/ovs.git
+cd ovs;
+mkdir _gcc;
+
+# build and install
+./boot.sh
+cd _gcc
+../configure --localstatedir="/var" --sysconfdir="/etc" --prefix="/usr" \
+--enable-ssl
+cd ..; make -C _gcc install; cd ..
+
+
+# get ovn source
+git clone --depth 1 -b $OVN_BRANCH $GITHUB_SRC
+cd ovn
+
+# build and install
+./boot.sh
+./configure --localstatedir="/var" --sysconfdir="/etc" --prefix="/usr" \
+--enable-ssl --with-ovs-source=/build/ovs/ --with-ovs-build=/build/ovs/_gcc
+make -j8; make install