diff mbox series

[ovs-dev,v2,1/2] CI: Add a couple of jobs using ovn-fake-multinode.

Message ID 20230315152503.2750599-1-numans@ovn.org
State Changes Requested
Headers show
Series [ovs-dev,v2,1/2] CI: Add a couple of jobs using ovn-fake-multinode. | expand

Checks

Context Check Description
ovsrobot/apply-robot warning apply and check: warning
ovsrobot/github-robot-_Build_and_Test success github build: passed
ovsrobot/github-robot-_ovn-kubernetes success github build: passed
ovsrobot/github-robot-_System_tests_using_ovn-fake-multinode fail github build: failed

Commit Message

Numan Siddique March 15, 2023, 3:25 p.m. UTC
From: Numan Siddique <numans@ovn.org>

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 <numans@ovn.org>
---
 .../workflows/ovn-fake-multinode-tests.yml    | 153 ++++++++++++++++++
 Makefile.am                                   |   1 +
 2 files changed, 154 insertions(+)
 create mode 100644 .github/workflows/ovn-fake-multinode-tests.yml

Comments

0-day Robot March 15, 2023, 4:39 p.m. UTC | #1
Bleep bloop.  Greetings Numan Siddique, I am a robot and I have tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


checkpatch:
WARNING: Line is 88 characters long (recommended limit is 79)
#45 FILE: .github/workflows/ovn-fake-multinode-tests.yml:11:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}

WARNING: Line is 84 characters long (recommended limit is 79)
#89 FILE: .github/workflows/ovn-fake-multinode-tests.yml:55:
        sudo podman save ovn/ovn-multi-node:latest > /tmp/_output/ovn_main_image.tar

WARNING: Line is 84 characters long (recommended limit is 79)
#105 FILE: .github/workflows/ovn-fake-multinode-tests.yml:71:
        sudo podman save ovn/ovn-multi-node:22.03 > /tmp/_output/ovn_22_03_image.tar

WARNING: Line is 129 characters long (recommended limit is 79)
#142 FILE: .github/workflows/ovn-fake-multinode-tests.yml:108:
      run: sudo eatmydata apt-get remove --auto-remove -y aspnetcore-* dotnet-* libmono-* mono-* msbuild php-* php7* ghc-* zulu-*

Lines checked: 203, Warnings: 4, Errors: 0


Please check this out.  If you feel there has been an error, please email aconole@redhat.com

Thanks,
0-day Robot
Ales Musil March 24, 2023, 7:37 a.m. UTC | #2
On Wed, Mar 15, 2023 at 4:25 PM <numans@ovn.org> wrote:

> From: Numan Siddique <numans@ovn.org>
>
> 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 <numans@ovn.org>
>
---
>  .../workflows/ovn-fake-multinode-tests.yml    | 153 ++++++++++++++++++
>  Makefile.am                                   |   1 +
>  2 files changed, 154 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 0000000000..b32007f236
> --- /dev/null
> +++ b/.github/workflows/ovn-fake-multinode-tests.yml
> @@ -0,0 +1,153 @@
> +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:37"
> +      # 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
> +        sudo -E ./ovn_cluster.sh build
> +        mkdir -p /tmp/_output
> +        sudo podman save ovn/ovn-multi-node:latest >
> /tmp/_output/ovn_main_image.tar
> +      working-directory: ovn-fake-multinode
> +
> +    - name: Checkout ovn branch-22.03
> +      uses: actions/checkout@v3
> +      with:
> +        path: 'ovn-fake-multinode/ovn'
> +        submodules: recursive
> +        ref: 'branch-22.03'
> +
> +    - name: Build ovn-fake-multi-node 22.03 image
> +      run: |
> +        set -x
> +        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
> +      working-directory: ovn-fake-multinode
> +
> +    - 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: 5
> +    env:
> +      RUNC_CMD: podman
> +      OS_IMAGE: "fedora:37"
> +      CENTRAL_IMAGE: ${{ matrix.cfg.central_image }}
> +      # Disable SSL for now. Revisit this if required.
> +      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: |
> +        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
> +      working-directory: ovn-fake-multinode
> +
> +    - name: Run basic test script
> +      run: |
> +        sudo ./.ci/test_basic.sh
> +      working-directory: ovn-fake-multinode
> +
> +    - name: Stop cluster
> +      run: |
> +        sudo -E ./ovn_cluster.sh stop
> +      working-directory: ovn-fake-multinode
> diff --git a/Makefile.am b/Makefile.am
> index 8c60d4a719..6d84888a29 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -95,6 +95,7 @@ EXTRA_DIST = \
>         .ci/ovn-kubernetes/custom.patch \
>         .github/workflows/test.yml \
>         .github/workflows/ovn-kubernetes.yml \
> +       .github/workflows/ovn-fake-multinode-tests.yml \
>         boot.sh \
>         $(MAN_FRAGMENTS) \
>         $(MAN_ROOTS) \
> --
> 2.39.1
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Hi Numan,

the patch looks good to me however it fails during checkout of branch-23.03
[0].
Can you please check it out?

https://github.com/ovsrobot/ovn/actions/runs/4428108041/jobs/7766704569

Thanks,
Ales
Numan Siddique March 24, 2023, 2:39 p.m. UTC | #3
On Fri, Mar 24, 2023 at 3:37 AM Ales Musil <amusil@redhat.com> wrote:
>
> On Wed, Mar 15, 2023 at 4:25 PM <numans@ovn.org> wrote:
>
> > From: Numan Siddique <numans@ovn.org>
> >
> > 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 <numans@ovn.org>
> >
> ---
> >  .../workflows/ovn-fake-multinode-tests.yml    | 153 ++++++++++++++++++
> >  Makefile.am                                   |   1 +
> >  2 files changed, 154 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 0000000000..b32007f236
> > --- /dev/null
> > +++ b/.github/workflows/ovn-fake-multinode-tests.yml
> > @@ -0,0 +1,153 @@
> > +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:37"
> > +      # 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
> > +        sudo -E ./ovn_cluster.sh build
> > +        mkdir -p /tmp/_output
> > +        sudo podman save ovn/ovn-multi-node:latest >
> > /tmp/_output/ovn_main_image.tar
> > +      working-directory: ovn-fake-multinode
> > +
> > +    - name: Checkout ovn branch-22.03
> > +      uses: actions/checkout@v3
> > +      with:
> > +        path: 'ovn-fake-multinode/ovn'
> > +        submodules: recursive
> > +        ref: 'branch-22.03'
> > +
> > +    - name: Build ovn-fake-multi-node 22.03 image
> > +      run: |
> > +        set -x
> > +        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
> > +      working-directory: ovn-fake-multinode
> > +
> > +    - 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: 5
> > +    env:
> > +      RUNC_CMD: podman
> > +      OS_IMAGE: "fedora:37"
> > +      CENTRAL_IMAGE: ${{ matrix.cfg.central_image }}
> > +      # Disable SSL for now. Revisit this if required.
> > +      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: |
> > +        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
> > +      working-directory: ovn-fake-multinode
> > +
> > +    - name: Run basic test script
> > +      run: |
> > +        sudo ./.ci/test_basic.sh
> > +      working-directory: ovn-fake-multinode
> > +
> > +    - name: Stop cluster
> > +      run: |
> > +        sudo -E ./ovn_cluster.sh stop
> > +      working-directory: ovn-fake-multinode
> > diff --git a/Makefile.am b/Makefile.am
> > index 8c60d4a719..6d84888a29 100644
> > --- a/Makefile.am
> > +++ b/Makefile.am
> > @@ -95,6 +95,7 @@ EXTRA_DIST = \
> >         .ci/ovn-kubernetes/custom.patch \
> >         .github/workflows/test.yml \
> >         .github/workflows/ovn-kubernetes.yml \
> > +       .github/workflows/ovn-fake-multinode-tests.yml \
> >         boot.sh \
> >         $(MAN_FRAGMENTS) \
> >         $(MAN_ROOTS) \
> > --
> > 2.39.1
> >
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >
> >
> Hi Numan,
>
> the patch looks good to me however it fails during checkout of branch-23.03
> [0].
> Can you please check it out?
>

Hi Ales,

Looks to me github CI issue.  I pushed the patch to my local repo and
the build was successful -
https://github.com/numansiddique/ovn/actions/runs/4511944868

But the tests couldn't run due to some timeout issue.  (Looks like
some issue with GH CI again).

I can repost the patches again if you prefer.

Thanks
Numan

> https://github.com/ovsrobot/ovn/actions/runs/4428108041/jobs/7766704569
>
> Thanks,
> Ales
>
> --
>
> Ales Musil
>
> Senior Software Engineer - OVN Core
>
> Red Hat EMEA <https://www.redhat.com>
>
> amusil@redhat.com    IM: amusil
> <https://red.ht/sig>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
diff mbox series

Patch

diff --git a/.github/workflows/ovn-fake-multinode-tests.yml b/.github/workflows/ovn-fake-multinode-tests.yml
new file mode 100644
index 0000000000..b32007f236
--- /dev/null
+++ b/.github/workflows/ovn-fake-multinode-tests.yml
@@ -0,0 +1,153 @@ 
+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:37"
+      # 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
+        sudo -E ./ovn_cluster.sh build
+        mkdir -p /tmp/_output
+        sudo podman save ovn/ovn-multi-node:latest > /tmp/_output/ovn_main_image.tar
+      working-directory: ovn-fake-multinode
+
+    - name: Checkout ovn branch-22.03
+      uses: actions/checkout@v3
+      with:
+        path: 'ovn-fake-multinode/ovn'
+        submodules: recursive
+        ref: 'branch-22.03'
+
+    - name: Build ovn-fake-multi-node 22.03 image
+      run: |
+        set -x
+        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
+      working-directory: ovn-fake-multinode
+
+    - 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: 5
+    env:
+      RUNC_CMD: podman
+      OS_IMAGE: "fedora:37"
+      CENTRAL_IMAGE: ${{ matrix.cfg.central_image }}
+      # Disable SSL for now. Revisit this if required.
+      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: |
+        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
+      working-directory: ovn-fake-multinode
+
+    - name: Run basic test script
+      run: |
+        sudo ./.ci/test_basic.sh
+      working-directory: ovn-fake-multinode
+
+    - name: Stop cluster
+      run: |
+        sudo -E ./ovn_cluster.sh stop
+      working-directory: ovn-fake-multinode
diff --git a/Makefile.am b/Makefile.am
index 8c60d4a719..6d84888a29 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -95,6 +95,7 @@  EXTRA_DIST = \
 	.ci/ovn-kubernetes/custom.patch \
 	.github/workflows/test.yml \
 	.github/workflows/ovn-kubernetes.yml \
+	.github/workflows/ovn-fake-multinode-tests.yml \
 	boot.sh \
 	$(MAN_FRAGMENTS) \
 	$(MAN_ROOTS) \