[ovs-dev] [PATCH ovn 2/3] Refactor install scripts for ovn container
amginwal at gmail.com
amginwal at gmail.com
Sat Oct 26 01:45:54 UTC 2019
From: Aliasgar Ginwala <aginwala at ebay.com>
Signed-off-by: Aliasgar Ginwala <aginwala at 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 --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
--
2.20.1 (Apple Git-117)
More information about the dev
mailing list