On Mon, Jan 23, 2023 at 10:57 AM Dumitru Ceara <[email protected]> wrote:
>
> On 12/1/22 20:24, [email protected] wrote:
> > From: Numan Siddique <[email protected]>
> >
> > This patch adds a couple of jobs using ovn-fake-multinode.
> > It first builds 2 ovn-fake-multinode container images
> > - one with OVN 22.03
> > - one with present main.
> >
> > The first job deploys ovn-fake-multinode with the main
> > OVN and runs simple tests provided by ovn-fake-multinode [1].
> >
> > The second job deploys ovn-fake-multinode setup with the
> > central image using OVN 22.03 and chassis image using main OVN.
> > This job tests the scenario
> > - ovn-northd and OVN dbs are running the most recent LTS.
> > - ovn-controller is running the latest commit from the branch.
> >
> > [1] -
> > https://github.com/ovn-org/ovn-fake-multinode/blob/main/.ci/test_basic.sh
> >
> > Signed-off-by: Numan Siddique <[email protected]>
> > ---
>
> Hi Numan,
>
> I think this is a great idea! The series needs a rebase though. I left
> a few minor comments for now and I'll wait for the rebased version.
Hi Dumitru,
Thanks for the reviews. Sorry for the delay. I didn't get a chance
to spin up v2 sooner.
>
> Regards,
> Dumitru
>
> > .../workflows/ovn-fake-multinode-tests.yml | 151 ++++++++++++++++++
> > Makefile.am | 1 +
> > 2 files changed, 152 insertions(+)
> > create mode 100644 .github/workflows/ovn-fake-multinode-tests.yml
> >
> > diff --git a/.github/workflows/ovn-fake-multinode-tests.yml
> > b/.github/workflows/ovn-fake-multinode-tests.yml
> > new file mode 100644
> > index 000000000..3727b9835
> > --- /dev/null
> > +++ b/.github/workflows/ovn-fake-multinode-tests.yml
> > @@ -0,0 +1,151 @@
> > +name: System tests using ovn-fake-multinode
> > +
> > +on:
> > + push:
> > + pull_request:
> > + schedule:
> > + # Run Sunday at midnight
> > + - cron: '0 0 * * 0'
> > +
> > +concurrency:
> > + group: ${{ github.workflow }}-${{ github.event.pull_request.number ||
> > github.run_id }}
> > + cancel-in-progress: true
> > +
> > +jobs:
> > + build:
> > + env:
> > + RUNC_CMD: podman
> > + OS_IMAGE: "fedora:36"
>
> Should we use fedora:37 instead? We moved to 37 for the ovn-kubernetes job.
Ack. Done in v2.
>
> > + # https://github.com/actions/runner-images/issues/6282
> > + XDG_RUNTIME_DIR: ''
> > +
> > + name: Build ovn-fake-multinode image
> > + runs-on: ubuntu-20.04
> > + steps:
> > + - name: Check out ovn-fake-multi-node
> > + uses: actions/checkout@v3
> > + with:
> > + repository: 'ovn-org/ovn-fake-multinode'
> > + path: 'ovn-fake-multinode'
> > + ref: 'v0.1'
> > +
> > + - name: Check out ovn
> > + uses: actions/checkout@v3
> > + with:
> > + path: 'ovn-fake-multinode/ovn'
> > + submodules: recursive
> > +
> > + - name: Check out ovs master
> > + uses: actions/checkout@v3
> > + with:
> > + path: 'ovn-fake-multinode/ovs'
> > + repository: 'openvswitch/ovs'
> > + ref: 'master'
> > +
> > + - name: Install dependencies
> > + run: |
> > + sudo apt update
> > + sudo apt-get install -y podman
> > +
> > + - name: Build ovn-fake-multi-node main image
> > + run: |
> > + set -x
> > + cd ovn-fake-multinode
> > + sudo -E ./ovn_cluster.sh build
> > + mkdir -p /tmp/_output
> > + sudo podman save ovn/ovn-multi-node:latest >
> > /tmp/_output/ovn_main_image.tar
> > +
> > + - name: Build ovn-fake-multi-node 22.03 image
> > + run: |
> > + set -x
> > + cd ovn-fake-multinode/ovn
> > + git fetch origin
> > + git checkout -b branch-22.03 origin/branch-22.03
>
> Shouldn't we use actions/upload-artifact@v3 instead?
Ack. Done in v2.
>
> > + git status
> > + cd ..
> > + sudo -E ./ovn_cluster.sh build
> > + mkdir -p /tmp/_output
> > + sudo podman tag ovn/ovn-multi-node:latest ovn/ovn-multi-node:22.03
> > + sudo podman save ovn/ovn-multi-node:22.03 >
> > /tmp/_output/ovn_22_03_image.tar
> > +
> > + - uses: actions/upload-artifact@v3
> > + with:
> > + name: test-main-image
> > + path: /tmp/_output/ovn_main_image.tar
> > +
> > + - uses: actions/upload-artifact@v3
> > + with:
> > + name: test-22-03-image
> > + path: /tmp/_output/ovn_22_03_image.tar
> > +
> > + multinode-tests:
> > + runs-on: ubuntu-20.04
> > + timeout-minutes: 120
>
> I think 2 hours is probably too much. I'd expect these tests to pass
> quickly. Would something like 2 minutes suffice?
In v2 I changed to 5 minutes. I guess this should be fine. If you
think its better to have just 2 minutes let me know.
Numan
>
> > + env:
> > + RUNC_CMD: podman
> > + OS_IMAGE: "fedora:36"
> > + CENTRAL_IMAGE: ${{ matrix.cfg.central_image }}
> > + ENABLE_SSL: no
> > + # https://github.com/actions/runner-images/issues/6282
> > + XDG_RUNTIME_DIR: ''
> > +
> > + name: multinode tests ${{ join(matrix.cfg.*, ' ') }}
> > + needs: [build]
> > + strategy:
> > + fail-fast: false
> > + matrix:
> > + cfg:
> > + - { central_image: "ovn/ovn-multi-node:latest" }
> > + - { central_image: "ovn/ovn-multi-node:22.03" }
> > +
> > + steps:
> > +
> > + - name: Free up disk space
> > + run: sudo eatmydata apt-get remove --auto-remove -y aspnetcore-*
> > dotnet-* libmono-* mono-* msbuild php-* php7* ghc-* zulu-*
> > +
> > + - uses: actions/download-artifact@v3
> > + with:
> > + name: test-main-image
> > +
> > + - uses: actions/download-artifact@v3
> > + with:
> > + name: test-22-03-image
> > +
> > + - name: Load podman image
> > + run: |
> > + sudo podman load --input ovn_main_image.tar
> > + sudo podman load --input ovn_22_03_image.tar
> > +
> > + - name: Check out ovn-fake-multi-node
> > + uses: actions/checkout@v3
> > + with:
> > + repository: 'ovn-org/ovn-fake-multinode'
> > + path: 'ovn-fake-multinode'
> > + ref: 'v0.1'
> > +
> > + - name: Install dependencies
> > + run: |
> > + sudo apt update
> > + sudo apt-get install -y podman openvswitch-switch
> > + sudo systemctl start openvswitch-switch
> > + sudo ovs-vsctl show
> > +
> > + - name: Start basic cluster
> > + run: |
> > + pwd
> > + ls -l
> > + cd ovn-fake-multinode
> > + sudo -E ./ovn_cluster.sh start
> > + sudo podman exec -it ovn-central ovn-nbctl show
> > + sudo podman exec -it ovn-central ovn-appctl -t ovn-northd version
> > + sudo podman exec -it ovn-chassis-1 ovn-appctl -t ovn-controller
> > version
> > +
> > + - name: Run basic test script
> > + run: |
> > + cd ovn-fake-multinode
> > + sudo ./.ci/test_basic.sh
> > +
> > + - name: Stop cluster
> > + run: |
> > + cd ovn-fake-multinode
> > + sudo -E ./ovn_cluster.sh stop
> > diff --git a/Makefile.am b/Makefile.am
> > index 3b0df8393..6c3baa21c 100644
> > --- a/Makefile.am
> > +++ b/Makefile.am
> > @@ -93,6 +93,7 @@ EXTRA_DIST = \
> > .ci/ovn-kubernetes/Dockerfile \
> > .github/workflows/test.yml \
> > .github/workflows/ovn-kubernetes.yml \
> > + .github/workflows/ovn-fake-multinode-tests.yml \
> > boot.sh \
> > $(MAN_FRAGMENTS) \
> > $(MAN_ROOTS) \
>
> _______________________________________________
> 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