On Tue, Dec 20, 2022 at 4:44 PM Dumitru Ceara <[email protected]> wrote:
> On 12/20/22 16:30, Dumitru Ceara wrote: > > One example is to allow us to change the ovn-kubernetes code that > > decides what e2e tests are run. That's needed on older stable branches > > that don't support all the features that newer OVN versions do. > > > > Currently, on the main branch, there's no custom change required but on > > older branches (branch-22.09 -> branch-22.03) the affinity timeout > > related tests should be disabled because the OVN feature didn't exist > > there. An upcoming patch does that. > > > > Signed-off-by: Dumitru Ceara <[email protected]> > > --- > > .ci/ovn-kubernetes/Dockerfile | 10 +++++++++- > > .ci/ovn-kubernetes/custom.patch | 0 > > .ci/ovn-kubernetes/prepare.sh | 20 ++++++++++++++++++++ > > .github/workflows/ovn-kubernetes.yml | 7 +++++++ > > Makefile.am | 2 ++ > > 5 files changed, 38 insertions(+), 1 deletion(-) > > create mode 100644 .ci/ovn-kubernetes/custom.patch > > create mode 100755 .ci/ovn-kubernetes/prepare.sh > > > > diff --git a/.ci/ovn-kubernetes/Dockerfile > b/.ci/ovn-kubernetes/Dockerfile > > index e74b620be8..7edf86a13a 100644 > > --- a/.ci/ovn-kubernetes/Dockerfile > > +++ b/.ci/ovn-kubernetes/Dockerfile > > @@ -47,9 +47,17 @@ RUN GO111MODULE=on go install > github.com/ovn-org/libovsdb/cmd/modelgen@${LIBOVSD > <http://github.com/ovn-org/libovsdb/cmd/modelgen@$%7BLIBOVSD> > > # Clone OVN Kubernetes and build the binary based on the commit passed > as argument > > WORKDIR /root > > RUN git clone https://github.com/ovn-org/ovn-kubernetes.git > > -WORKDIR /root/ovn-kubernetes/go-controller > > +WORKDIR /root/ovn-kubernetes > > RUN git checkout ${OVNKUBE_COMMIT} && git log -n 1 > > > > +# Copy the ovn-kubernetes scripts from the OVN sources and apply any > > +# custom changes if needed. > > +RUN mkdir -p /tmp/ovn/.ci/ovn-kubernetes > > +COPY .ci/ovn-kubernetes /tmp/ovn/.ci/ovn-kubernetes > > +WORKDIR /tmp/ovn > > +RUN .ci/ovn-kubernetes/prepare.sh /root/ovn-kubernetes > > + > > +WORKDIR /root/ovn-kubernetes/go-controller > > # Make sure we use the OVN NB/SB schema from the local code. > > COPY --from=ovnbuilder /tmp/ovn/ovn-nb.ovsschema > pkg/nbdb/ovn-nb.ovsschema > > COPY --from=ovnbuilder /tmp/ovn/ovn-sb.ovsschema > pkg/sbdb/ovn-sb.ovsschema > > diff --git a/.ci/ovn-kubernetes/custom.patch > b/.ci/ovn-kubernetes/custom.patch > > new file mode 100644 > > index 0000000000..e69de29bb2 > > diff --git a/.ci/ovn-kubernetes/prepare.sh > b/.ci/ovn-kubernetes/prepare.sh > > new file mode 100755 > > index 0000000000..8fc9652afd > > --- /dev/null > > +++ b/.ci/ovn-kubernetes/prepare.sh > > @@ -0,0 +1,20 @@ > > +#!/bin/bash > > + > > +set -ev > > + > > +ovnk8s_path=$1 > > +topdir=$PWD > > + > > +pushd ${ovnk8s_path} > > + > > +# Add here any custom operations that need to performed on the > > +# ovn-kubernetes cloned repo, e.g., custom patches. > > + > > +# git apply --allow-empty is too new so not all git versions from major > > +# distros support it, just check if the custom patch file is not empty > > +# before applying it. > > +[ -s ${topdir}/.ci/ovn-kubernetes/custom.patch ] && \ > > + git apply -v ${topdir}/.ci/ovn-kubernetes/custom.patch > > + > > +popd # ${ovnk8s_path} > > +exit 0 > > diff --git a/.github/workflows/ovn-kubernetes.yml > b/.github/workflows/ovn-kubernetes.yml > > index 344937e53a..070d96bcb3 100644 > > --- a/.github/workflows/ovn-kubernetes.yml > > +++ b/.github/workflows/ovn-kubernetes.yml > > @@ -91,12 +91,19 @@ jobs: > > go-version: ${{ env.GO_VERSION }} > > id: go > > > > + - name: Check out ovn > > + uses: actions/checkout@v2 > > + > > This should be actions/checkout@v3, I will fix it in v2 after v1 gets > some review time. > > > - name: Check out ovn-kubernetes > > uses: actions/checkout@v3 > > with: > > path: src/github.com/ovn-org/ovn-kubernetes > > repository: ovn-org/ovn-kubernetes > > > > + - name: Prepare > > + run: | > > + .ci/ovn-kubernetes/prepare.sh src/ > github.com/ovn-org/ovn-kubernetes > > + > > - name: Set up environment > > run: | > > export GOPATH=$(go env GOPATH) > > diff --git a/Makefile.am b/Makefile.am > > index 3b0df83938..8c60d4a719 100644 > > --- a/Makefile.am > > +++ b/Makefile.am > > @@ -91,6 +91,8 @@ EXTRA_DIST = \ > > .ci/osx-build.sh \ > > .ci/osx-prepare.sh \ > > .ci/ovn-kubernetes/Dockerfile \ > > + .ci/ovn-kubernetes/prepare.sh \ > > + .ci/ovn-kubernetes/custom.patch \ > > .github/workflows/test.yml \ > > .github/workflows/ovn-kubernetes.yml \ > > boot.sh \ > > > > _______________________________________________ > > dev mailing list > > [email protected] > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > Looks good to me, thanks. Acked-by: Ales Musil <[email protected]> -- Ales Musil Senior Software Engineer - OVN Core Red Hat EMEA <https://www.redhat.com> [email protected] IM: amusil <https://red.ht/sig> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
