On Tue, Mar 26, 2024 at 7:09 PM Mark Michelson <mmich...@redhat.com> wrote:

> On 3/25/24 05:09, Ales Musil wrote:
> >
> >
> > On Mon, Mar 25, 2024 at 9:47 AM Dumitru Ceara <dce...@redhat.com
> > <mailto:dce...@redhat.com>> wrote:
> >
> >     On 3/22/24 19:34, Mark Michelson wrote:
> >      > On 3/21/24 19:15, Dumitru Ceara wrote:
> >      >> Most of the steps were inaccurate.  Instead, use latest Ubuntu,
> use
> >      >> OVS from the submodule inside the OVN repo.
> >      >>
> >      >> Signed-off-by: Dumitru Ceara <dce...@redhat.com
> >     <mailto:dce...@redhat.com>>
> >      >> ---
> >      >>   utilities/docker/Makefile          |  4 ++--
> >      >>   utilities/docker/debian/Dockerfile |  2 +-
> >      >>   utilities/docker/debian/build.sh   |  2 ++
> >      >>   utilities/docker/install_ovn.sh    | 31
> >     ++++++++++++++----------------
> >      >>   4 files changed, 19 insertions(+), 20 deletions(-)
> >      >>
> >      >> diff --git a/utilities/docker/Makefile
> b/utilities/docker/Makefile
> >      >> index 57e95651cb..aad9c3482c 100644
> >      >> --- a/utilities/docker/Makefile
> >      >> +++ b/utilities/docker/Makefile
> >      >> @@ -1,5 +1,5 @@
> >      >> -#export OVN_BRANCH=master
> >      >> -#export OVN_VERSION=2.12
> >      >> +#export OVN_BRANCH=main
> >      >> +#export OVN_VERSION=24.03.90
> >      >
> >      > Is this something that we should update with each major release
> >     of OVN?
> >      > If so, I could probably alter my release script to include
> updating
> >      > utilities/docker/Makefile as part of the release patches.
> >      >
> >
> >     It's just a comment and I guess the original intention was to show
> users
> >     how to set this up.  But, back to your question, if it's not a lot of
> >     work, automatically changing this on release would be nice.
> >
> >     Also, it might make sense to set up a CI job that actually runs this
> in
> >     CI, maybe periodically.  I can try to find some time to do that at
> some
> >     point in the future.  Wdyt?
> >
> >
> >
> > Hi Mark, Dumitru,
> >
> > from a different perspective, I would be interested to see if this is
> > still used by anyone. We have other methods of running OVN in containers
> > that are up to date and maintained. It might be the case of working
> > perfectly, still used and doesn't need any attention. But it would
> > probably still be useful to hear from the community if that's the case.
> > IMO we shouldn't run CI on something just for the sake of running CI.
> >
> > Does that make sense?
>
> First off, with regards to this patch, I think it can be merged as-is,
> with no further action. If we want to continue this discussion, we
> shouldn't let it hold up the patch.
>

 Yeah definitely, I don't want to block this at all, I was just curious.


> When it comes to your questions, Ales, they're really hard to answer :)
>
> Is anyone using utilities/docker? I have no idea. I'd be willing to bet
> most CMSes are using their own containerization methods instead of the
> in-tree method. However, I don't know if there are people that use it
> for development purposes. I know I tend to use ovn-fake-multinode during
> development/testing, but that's just me.
>
> When you mention having other methods of running OVN in containers, are
> you referring to the content in utilities/containers ?


I was mainly referring to ovn-fake-multinode in that case.



> I agree that when
> it comes to CI, we probably don't need the content in utilities/docker .
> But it appears to have been written to be a general-purpose method of
> creating versioned container builds of OVN, rather than specifically for
> CI. The content in utilities/docker is also quite out of date, I would
> imagine, since it hasn't been updated since adding cluster support in
> January 2020. There is also documentation throughout the tree that
> refers to the content in utilities/docker. If a new user were to
> download the OVN source and browse the documentation, they would try to
> use the Makefile in utilities/docker.
>

> In my opinion, the best thing to do is to merge the two containerization
> methods together into a single unified method. We can then use this for
> our CI, meaning we will keep it up to date and add necessary features as
> we see fit. This way we aren't keeping a "dead" method alive in the tree
> for no reason, and we won't be adding unnecessary CI either.
>
> What do you think?
>

I'm not sure merging is the right thing, as there is probably not one size
to fit them all. We could certainly change the documentation with reference
to the utilities/containers as a way to have reproducible builds.

Anyway let's proceed with the series as is and we can always follow up with
other ideas for this area.


>
> >
> >
> >      >>   #export DISTRO=debian
> >      >>   #export GITHUB_SRC=https://github.com/ovn-org/ovn.git
> >     <https://github.com/ovn-org/ovn.git>
> >      >>   #export DOCKER_REPO=ovn-org/ovn
> >      >> diff --git a/utilities/docker/debian/Dockerfile
> >      >> b/utilities/docker/debian/Dockerfile
> >      >> index 366ad6d4f3..a89ef46c9f 100644
> >      >> --- a/utilities/docker/debian/Dockerfile
> >      >> +++ b/utilities/docker/debian/Dockerfile
> >      >> @@ -1,4 +1,4 @@
> >      >> -FROM ubuntu:16.04
> >      >> +FROM ubuntu:22.04
> >      >>   MAINTAINER "Aliasgar Ginwala" <aginw...@ebay.com
> >     <mailto:aginw...@ebay.com>>
> >      >>     ARG OVN_BRANCH
> >      >> diff --git a/utilities/docker/debian/build.sh
> >      >> b/utilities/docker/debian/build.sh
> >      >> index 57ace5f505..6edb5b85e4 100755
> >      >> --- a/utilities/docker/debian/build.sh
> >      >> +++ b/utilities/docker/debian/build.sh
> >      >> @@ -12,6 +12,8 @@
> >      >>   # See the License for the specific language governing
> >     permissions and
> >      >>   # limitations under the License.
> >      >>   +set -e
> >      >> +
> >      >>   OVN_BRANCH=$1
> >      >>   GITHUB_SRC=$2
> >      >>   diff --git a/utilities/docker/install_ovn.sh
> >      >> b/utilities/docker/install_ovn.sh
> >      >> index 55c189aaee..5157da1497 100755
> >      >> --- a/utilities/docker/install_ovn.sh
> >      >> +++ b/utilities/docker/install_ovn.sh
> >      >> @@ -12,29 +12,26 @@
> >      >>   # See the License for the specific language governing
> >     permissions and
> >      >>   # limitations under the License.
> >      >>   +set -e
> >      >> +
> >      >>   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
> >     <https://github.com/openvswitch/ovs.git>
> >      >> -cd ovs;
> >      >> -mkdir _gcc;
> >      >> +# Get ovn source.
> >      >> +git clone --depth 1 -b $OVN_BRANCH $GITHUB_SRC
> >      >> +cd ovn
> >      >>   -# build and install
> >      >> +# Get OVS submodule, build and install OVS.
> >      >> +git submodule update --init
> >      >> +cd ovs
> >      >>   ./boot.sh
> >      >> -cd _gcc
> >      >> -../configure --localstatedir="/var" --sysconfdir="/etc"
> >      >> --prefix="/usr" \
> >      >> +./configure --localstatedir="/var" --sysconfdir="/etc"
> >     --prefix="/usr" \
> >      >>   --enable-ssl
> >      >> -cd ..; make -C _gcc install; cd ..
> >      >> -
> >      >> +make -j8 install
> >      >> +cd ..
> >      >>   -# get ovn source
> >      >> -git clone --depth 1 -b $OVN_BRANCH $GITHUB_SRC
> >      >> -cd ovn
> >      >> -
> >      >> -# build and install
> >      >> +# Build and install OVN.
> >      >>   ./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
> >      >> +--enable-ssl
> >      >> +make -j8 install
> >      >
> >
> >     _______________________________________________
> >     dev mailing list
> >     d...@openvswitch.org <mailto:d...@openvswitch.org>
> >     https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >     <https://mail.openvswitch.org/mailman/listinfo/ovs-dev>
> >
> >
> > Thanks,
> > Ales
> > --
> >
> > Ales Musil
> >
> > Senior Software Engineer - OVN Core
> >
> > Red Hat EMEA <https://www.redhat.com>
> >
> > amu...@redhat.com <mailto:amu...@redhat.com>
> >
> > <https://red.ht/sig>
> >
>
>
Thanks,
Ales
-- 

Ales Musil

Senior Software Engineer - OVN Core

Red Hat EMEA <https://www.redhat.com>

amu...@redhat.com
<https://red.ht/sig>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to