[ovs-dev] [PATCH v2 1/2 ovn] OVN: Fix container build.

Numan Siddique nusiddiq at redhat.com
Fri Sep 20 05:13:11 UTC 2019


On Fri, Sep 20, 2019 at 2:15 AM <amginwal at gmail.com> wrote:

> From: Aliasgar Ginwala <aginwala at ebay.com>
>
> Current code changes in ovs/ovn split replaced openvswitch with ovn and
> caused container patches to break.
> Also, as per ff4439d, one should build ovn specifying ovs source.
> This patch fixes the same.
>
> Signed-off-by: Aliasgar Ginwala <aginwala at ebay.com>
>

Thanks. I  applied this series to master.

Numan


> ---
>  utilities/automake.mk              |  1 -
>  utilities/docker/create_ovn_dbs.sh | 18 ------------------
>  utilities/docker/debian/Dockerfile | 12 +++++-------
>  utilities/docker/debian/build.sh   | 20 +++++++++++++++++---
>  utilities/docker/start-ovn         | 26 +++++++++++++-------------
>  5 files changed, 35 insertions(+), 42 deletions(-)
>  delete mode 100755 utilities/docker/create_ovn_dbs.sh
>
> diff --git a/utilities/automake.mk b/utilities/automake.mk
> index ab0f6003a..197cc7011 100644
> --- a/utilities/automake.mk
> +++ b/utilities/automake.mk
> @@ -35,7 +35,6 @@ EXTRA_DIST += \
>      utilities/checkpatch.py \
>      utilities/docker/Makefile \
>      utilities/docker/start-ovn \
> -    utilities/docker/create_ovn_dbs.sh \
>      utilities/docker/ovn_default_nb_port \
>      utilities/docker/ovn_default_sb_port \
>      utilities/docker/ovn_default_northd_host \
> diff --git a/utilities/docker/create_ovn_dbs.sh
> b/utilities/docker/create_ovn_dbs.sh
> deleted file mode 100755
> index 43ab367d6..000000000
> --- a/utilities/docker/create_ovn_dbs.sh
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -#!/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.
> -
> -ovsdb-tool create /etc/openvswitch/ovnnb_db.db \
> -/usr/share/openvswitch/ovn-nb.ovsschema
> -ovsdb-tool create /etc/openvswitch/ovnsb_db.db \
> -/usr/share/openvswitch/ovn-sb.ovsschema
> diff --git a/utilities/docker/debian/Dockerfile
> b/utilities/docker/debian/Dockerfile
> index fe72c3a33..30504480d 100644
> --- a/utilities/docker/debian/Dockerfile
> +++ b/utilities/docker/debian/Dockerfile
> @@ -9,14 +9,12 @@ ARG DISTRO
>  copy $DISTRO/build.sh /build.sh
>  RUN /build.sh $KERNEL_VERSION $OVN_BRANCH $GITHUB_SRC
>
> -COPY create_ovn_dbs.sh /etc/openvswitch/create_ovn_dbs.sh
> -RUN /etc/openvswitch/create_ovn_dbs.sh
> -
> -COPY ovn_default_nb_port /etc/openvswitch/ovn_default_nb_port
> -COPY ovn_default_sb_port /etc/openvswitch/ovn_default_sb_port
> -COPY ovn_default_northd_host /etc/openvswitch/ovn_default_northd_host
> +COPY ovn_default_nb_port /etc/ovn/ovn_default_nb_port
> +COPY ovn_default_sb_port /etc/ovn/ovn_default_sb_port
> +COPY ovn_default_northd_host /etc/ovn/ovn_default_northd_host
>
>  COPY start-ovn /bin/start-ovn
>  VOLUME ["/var/log/openvswitch", \
> -"/var/lib/openvswitch", "/var/run/openvswitch", "/etc/openvswitch"]
> +"/var/lib/openvswitch", "/var/run/openvswitch", "/etc/openvswitch", \
> +"/var/log/ovn", "/var/lib/ovn", "/var/run/ovn", "/etc/ovn"]
>  ENTRYPOINT ["start-ovn"]
> diff --git a/utilities/docker/debian/build.sh
> b/utilities/docker/debian/build.sh
> index fd26a8aa8..3c404bc39 100755
> --- a/utilities/docker/debian/build.sh
> +++ b/utilities/docker/debian/build.sh
> @@ -25,20 +25,34 @@ dh-autoreconf openssl"
>  apt-get update
>  apt-get install -y ${linux} ${build_deps}
>
> -# get the source
> +# 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" \
> +--with-linux=/lib/modules/$KERNEL_VERSION/build --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" \
> ---with-linux=/lib/modules/$KERNEL_VERSION/build --enable-ssl
> +--with-linux=/lib/modules/$KERNEL_VERSION/build --enable-ssl \
> +--with-ovs-source=/build/ovs/ --with-ovs-build=/build/ovs/_gcc
>  make -j8; make install
>
>  # remove deps to make the container light weight.
>  apt-get remove --purge -y ${build_deps}
>  apt-get autoremove -y --purge
> -cd ..; rm -rf ovn
> +cd ..; rm -rf ovn; rm -rf ovs
>  basic_utils="vim kmod net-tools uuid-runtime iproute2"
>  apt-get install -y ${basic_utils}
> diff --git a/utilities/docker/start-ovn b/utilities/docker/start-ovn
> index 7f87e65a3..7457836fe 100755
> --- a/utilities/docker/start-ovn
> +++ b/utilities/docker/start-ovn
> @@ -13,28 +13,28 @@
>  # limitations under the License.
>
>  case $1 in
> -        "ovn-nb-tcp") source /etc/openvswitch/ovn_default_nb_port
> -                      /usr/share/openvswitch/scripts/ovn-ctl start_ovsdb
> +        "ovn-nb-tcp") source /etc/ovn/ovn_default_nb_port
> +                      /usr/share/ovn/scripts/ovn-ctl start_ovsdb
>                        ovn-nbctl set-connection ptcp:$nb_db_port
> -                      /usr/share/openvswitch/scripts/ovn-ctl stop_ovsdb
> -                      /usr/share/openvswitch/scripts/ovn-ctl run_nb_ovsdb
> +                      /usr/share/ovn/scripts/ovn-ctl stop_ovsdb
> +                      /usr/share/ovn/scripts/ovn-ctl run_nb_ovsdb
>          ;;
> -        "ovn-sb-tcp") source /etc/openvswitch/ovn_default_sb_port
> -                      /usr/share/openvswitch/scripts/ovn-ctl start_ovsdb
> +        "ovn-sb-tcp") source /etc/ovn/ovn_default_sb_port
> +                      /usr/share/ovn/scripts/ovn-ctl start_ovsdb
>                        ovn-sbctl set-connection ptcp:$sb_db_port
> -                      /usr/share/openvswitch/scripts/ovn-ctl stop_ovsdb
> -                      /usr/share/openvswitch/scripts/ovn-ctl run_sb_ovsdb
> +                      /usr/share/ovn/scripts/ovn-ctl stop_ovsdb
> +                      /usr/share/ovn/scripts/ovn-ctl run_sb_ovsdb
>          ;;
> -        "ovn-northd-tcp") source /etc/openvswitch/ovn_default_northd_host
> -                          source /etc/openvswitch/ovn_default_nb_port
> -                          source /etc/openvswitch/ovn_default_sb_port
> +        "ovn-northd-tcp") source /etc/ovn/ovn_default_northd_host
> +                          source /etc/ovn/ovn_default_nb_port
> +                          source /etc/ovn/ovn_default_sb_port
>                            ovn-northd --pidfile \
>                            --ovnnb-db="tcp:$northd_host:$nb_db_port" \
>                            --ovnsb-db="tcp:$northd_host:$sb_db_port" \
> -                          --log-file=/var/log/openvswitch/ovn-northd.log
> +                          --log-file=/var/log/ovn/ovn-northd.log
>          ;;
>          "ovn-controller") ovn-controller --pidfile \
> -
> --log-file=/var/log/openvswitch/ovn-controller.log
> +                          --log-file=/var/log/ovn/ovn-controller.log
>          ;;
>          *) echo "$0 [ovn-nb-tcp|ovn-sb-tcp|ovn-northd-tcp|ovn-controller]"
>  esac
> --
> 2.20.1 (Apple Git-117)
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list