From ce8eba753077addae793b6f961c8064d007289fe Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 11:24:27 +0900 Subject: [PATCH 01/17] Create basic-sanity-ubuntu-24.yml --- .github/workflows/basic-sanity-ubuntu-24.yml | 48 ++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/basic-sanity-ubuntu-24.yml diff --git a/.github/workflows/basic-sanity-ubuntu-24.yml b/.github/workflows/basic-sanity-ubuntu-24.yml new file mode 100644 index 000000000..7443dde21 --- /dev/null +++ b/.github/workflows/basic-sanity-ubuntu-24.yml @@ -0,0 +1,48 @@ +name: Sanity-CI-Ubuntu-24 +on: + pull_request: + branches: [ "main" ] + workflow_dispatch: + inputs: + testName: + description: 'Test Run-Name' + required: true + default: 'Sanity-BuildCI-u24' + workflow_run: + workflows: ["Build-CI"] + types: + - completed +jobs: + build: + name: basic-sanity-ubuntu-24 + runs-on: ubuntu-24.04 + permissions: + packages: write + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - uses: actions/setup-python@v2 + - uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - run: | + cd cicd/sconnect/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/tcplb/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - From 684910a6845598a1e109c53b15684671a5e122e4 Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 11:35:36 +0900 Subject: [PATCH 02/17] Create advanced-lb-sanity-ubuntu-24.yml --- .../advanced-lb-sanity-ubuntu-24.yml | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/advanced-lb-sanity-ubuntu-24.yml diff --git a/.github/workflows/advanced-lb-sanity-ubuntu-24.yml b/.github/workflows/advanced-lb-sanity-ubuntu-24.yml new file mode 100644 index 000000000..30673de08 --- /dev/null +++ b/.github/workflows/advanced-lb-sanity-ubuntu-24.yml @@ -0,0 +1,83 @@ +name: Adv-LB-Sanity-CI-Ubuntu-24 + +on: + #push: + # branches: + # - main + #pull_request: + # branches: [ "main" ] + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + tags: + description: 'Advanced LB Sanity ubuntu 24' + +jobs: + build: + name: advanced-lb-sanity-ubuntu-24 + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-python@v2 + - uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - run: | + cd cicd/k8slbsim/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/onearml2/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/ulcltcplb/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/ulclsctplb/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/tcptunlb/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/sctptunlb/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/wrrtcplb1/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/wrrtcplb2/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/nat64tcp/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - From 8dca52b60b9dca0c4c6ff0685cf35f4e7279109b Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 11:58:38 +0900 Subject: [PATCH 03/17] Update advanced-lb-sanity-ubuntu-24.yml --- .github/workflows/advanced-lb-sanity-ubuntu-24.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/advanced-lb-sanity-ubuntu-24.yml b/.github/workflows/advanced-lb-sanity-ubuntu-24.yml index 30673de08..d3105d1fa 100644 --- a/.github/workflows/advanced-lb-sanity-ubuntu-24.yml +++ b/.github/workflows/advanced-lb-sanity-ubuntu-24.yml @@ -27,6 +27,8 @@ jobs: - uses: actions/setup-go@v3 with: go-version: '>=1.18.0' + - run: sudo apt-get update + - run: sudo apt-get -y install linux-tools-$(uname -r) bridge-utils iperf iproute2 nodejs socat ethtool lksctp-tools - run: | cd cicd/k8slbsim/ ./config.sh From ba7dc837dc65b88548769909a61609c1cd228a3c Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:09:49 +0900 Subject: [PATCH 04/17] Update test-scenario.yml --- .github/workflows/test-scenario.yml | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/.github/workflows/test-scenario.yml b/.github/workflows/test-scenario.yml index e1488dfa0..b7bf5c2b2 100644 --- a/.github/workflows/test-scenario.yml +++ b/.github/workflows/test-scenario.yml @@ -15,6 +15,7 @@ on: options: - ubuntu-20.04 - ubuntu-22.04 + - ubuntu-24-04 jobs: build: @@ -29,25 +30,7 @@ jobs: with: go-version: '>=1.18.0' - run: sudo apt-get update - - run: if [[ ${{ github.event.inputs.runsOn }} == 'ubuntu-22.04' ]]; then sudo apt-get -y install clang-13 lksctp-tools; else sudo apt-get -y install clang-10; fi - - run: sudo apt-get -y install llvm libelf-dev gcc-multilib libpcap-dev linux-tools-$(uname -r) elfutils dwarves git libbsd-dev bridge-utils unzip build-essential bison flex iperf iproute2 nodejs socat - - run: | - git clone --recurse-submodules https://github.com/loxilb-io/iproute2 iproute2-main - cd iproute2-main/libbpf/src/ - sudo make install - mkdir build - DESTDIR=build OBJDIR=build make install - cd - - cd iproute2-main/ - export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:`pwd`/libbpf/src/ && LIBBPF_FORCE=on LIBBPF_DIR=`pwd`/libbpf/src/build ./configure && make && sudo cp -f tc/tc /usr/local/sbin/ntc && cd - - - run: loxilb-ebpf/utils/mkllb_bpffs.sh - - run: sudo -E env "PATH=$PATH" make - - run: docker pull ghcr.io/loxilb-io/loxilb:latest - - run: docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dit -v /dev/log:/dev/log --name loxilb ghcr.io/loxilb-io/loxilb:latest - - run: pwd && ls && sudo -E env "PATH=$PATH" make docker-cp - - run: docker exec -dit loxilb mkllb_bpffs - - run: id=`docker ps -f name=loxilb | cut -d " " -f 1 | grep -iv "CONTAINER"` && docker commit $id ghcr.io/loxilb-io/loxilb:latest - - run: docker stop loxilb && docker rm loxilb + - run: sudo apt-get -y install lksctp-tools linux-tools-$(uname -r) bridge-utils iperf iproute2 nodejs socat - run: | cd cicd/${{ github.event.inputs.testName }}/ ./config.sh From 73e4ada085a30ab19061d6ba6cb3196e7d952526 Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 12:12:52 +0900 Subject: [PATCH 05/17] Create cluster-sanity-ubuntu-24.yml --- .../workflows/cluster-sanity-ubuntu-24.yml | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/cluster-sanity-ubuntu-24.yml diff --git a/.github/workflows/cluster-sanity-ubuntu-24.yml b/.github/workflows/cluster-sanity-ubuntu-24.yml new file mode 100644 index 000000000..37a1d0a40 --- /dev/null +++ b/.github/workflows/cluster-sanity-ubuntu-24.yml @@ -0,0 +1,43 @@ +name: Cluster-Sanity-CI-Ubuntu-24 + +on: + workflow_dispatch: + inputs: + userInput: + description: 'Enter string to print at end' + required: true + default: 'Finished' + tags: + description: 'Cluster Sanity Ubuntu 24' + +jobs: + build: + name: cluster-sanity-ubuntu-24 + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-python@v2 + - uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - run: sudo apt-get update + - run: sudo apt-get -y install linux-tools-$(uname -r) bridge-utils unzip iperf iproute2 nodejs socat lksctp-tools + - run: | + cd cicd/cluster1/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + cd cicd/cluster2/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + cd cicd/cluster3/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: echo ${{ github.event.inputs.userInput }} From 870bdeaa697b66d8887d0b41a2932f6e85e141c6 Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 14:27:36 +0900 Subject: [PATCH 06/17] Create ipsec-sanity-ubuntu-24.yml --- .github/workflows/ipsec-sanity-ubuntu-24.yml | 54 ++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/ipsec-sanity-ubuntu-24.yml diff --git a/.github/workflows/ipsec-sanity-ubuntu-24.yml b/.github/workflows/ipsec-sanity-ubuntu-24.yml new file mode 100644 index 000000000..4bf33e52e --- /dev/null +++ b/.github/workflows/ipsec-sanity-ubuntu-24.yml @@ -0,0 +1,54 @@ +name: IPsec-Sanity-CI-Ubuntu-24 + +on: + push: + branches: + - main + pull_request: + branches: [ "main" ] + workflow_dispatch: + inputs: + userInput: + description: 'Enter string to print at end' + required: true + default: 'Finished' + tags: + description: 'IPSec Sanity Ubuntu 24' + +jobs: + build: + name: ipsec-sanity-ubuntu-24 + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-python@v2 + - uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - run: | + cd cicd/ipsec1/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/ipsec2/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/ipsec3/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/ipsec-e2e/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: echo ${{ github.event.inputs.userInput }} From a9220fda70f63f3cc641220f45d8908b0b0a311c Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 14:29:02 +0900 Subject: [PATCH 07/17] Update test-scenario.yml --- .github/workflows/test-scenario.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-scenario.yml b/.github/workflows/test-scenario.yml index b7bf5c2b2..9781d2a54 100644 --- a/.github/workflows/test-scenario.yml +++ b/.github/workflows/test-scenario.yml @@ -15,7 +15,7 @@ on: options: - ubuntu-20.04 - ubuntu-22.04 - - ubuntu-24-04 + - ubuntu-24.04 jobs: build: From ff0b08bcae73dfadaca8bca75844a800a31b8c6e Mon Sep 17 00:00:00 2001 From: Nikhil Malik Date: Tue, 13 Aug 2024 14:57:29 +0900 Subject: [PATCH 08/17] CICD workflow files added for Ubuntu24.04 --- .github/workflows/k3s-calico-ubuntu-24.yml | 45 ++++++++++ .github/workflows/k3s-sctpmh-ubuntu-24.yml | 52 ++++++++++++ .../workflows/liveness-sanity-ubuntu-24.yml | 85 +++++++++++++++++++ .github/workflows/nat66-sanity-ubuntu-24.yml | 49 +++++++++++ .github/workflows/scale-sanity-ubuntu-24.yml | 37 ++++++++ .github/workflows/sctp-sanity-ubuntu-24.yml | 55 ++++++++++++ .github/workflows/tcp-sanity-ubuntu-24.yml | 67 +++++++++++++++ .github/workflows/udp-sanity-ubuntu-24.yml | 37 ++++++++ 8 files changed, 427 insertions(+) create mode 100644 .github/workflows/k3s-calico-ubuntu-24.yml create mode 100644 .github/workflows/k3s-sctpmh-ubuntu-24.yml create mode 100644 .github/workflows/liveness-sanity-ubuntu-24.yml create mode 100644 .github/workflows/nat66-sanity-ubuntu-24.yml create mode 100644 .github/workflows/scale-sanity-ubuntu-24.yml create mode 100644 .github/workflows/sctp-sanity-ubuntu-24.yml create mode 100644 .github/workflows/tcp-sanity-ubuntu-24.yml create mode 100644 .github/workflows/udp-sanity-ubuntu-24.yml diff --git a/.github/workflows/k3s-calico-ubuntu-24.yml b/.github/workflows/k3s-calico-ubuntu-24.yml new file mode 100644 index 000000000..889d44897 --- /dev/null +++ b/.github/workflows/k3s-calico-ubuntu-24.yml @@ -0,0 +1,45 @@ +name: K3s-Calico-Sanity-CI-Ubuntu-24 +on: + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' + workflow_dispatch: + inputs: + testName: + description: 'Test Run-Name' + required: true + default: 'k3s-calico-ubuntu-24' +jobs: + build: + name: k3s-calico-sanity + runs-on: ubuntu-24.04 + steps: + - run: | + echo "KUBECONFIG=--kubeconfig=/etc/rancher/k3s/k3s.yaml" >> $GITHUB_ENV + - uses: actions/checkout@v2 + with: + submodules: recursive + - run: sudo apt-get -y install lksctp-tools + - run: curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.22.9+k3s1 INSTALL_K3S_EXEC="server --disable traefik --disable servicelb --disable-cloud-controller --kubelet-arg cloud-provider=external --flannel-backend=none --cluster-cidr=10.42.0.0/16" K3S_KUBECONFIG_MODE="644" sh - + - run: | + sleep 10 + kubectl "${{ env.KUBECONFIG }}" create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/tigera-operator.yaml + - run: | + sleep 10 + kubectl "${{ env.KUBECONFIG }}" create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/custom-resources.yaml + - run: | + sleep 10 + kubectl "${{ env.KUBECONFIG }}" taint nodes --all node.cloudprovider.kubernetes.io/uninitialized=false:NoSchedule- + sleep 60 + kubectl "${{ env.KUBECONFIG }}" get nodes + kubectl "${{ env.KUBECONFIG }}" get pods -A + wget https://github.com/loxilb-io/loxi-ccm/raw/master/manifests/loxi-ccm-k3s.yaml + kubectl "${{ env.KUBECONFIG }}" apply -f ./loxi-ccm-k3s.yaml + sleep 60 + kubectl "${{ env.KUBECONFIG }}" get pods -A + - run: | + cd cicd/k3s-calico/ + ./config.sh "${{ env.KUBECONFIG }}" + ./validation.sh "${{ env.KUBECONFIG }}" + ./rmconfig.sh "${{ env.KUBECONFIG }}" + cd - diff --git a/.github/workflows/k3s-sctpmh-ubuntu-24.yml b/.github/workflows/k3s-sctpmh-ubuntu-24.yml new file mode 100644 index 000000000..aae69f2b4 --- /dev/null +++ b/.github/workflows/k3s-sctpmh-ubuntu-24.yml @@ -0,0 +1,52 @@ +name: K3s-SCTPMH-Sanity-CI-Ubuntu-24 +on: + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' + workflow_dispatch: + inputs: + testName: + description: 'Test Run-Name' + required: true + default: 'k3s-sctpmh-ubuntu-24' +jobs: + build: + name: k3s-sctpmh-sanity-ubuntu-24 + runs-on: ubuntu-24.04 + steps: + - run: | + for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done + sudo apt-get update + sudo apt-get install ca-certificates curl gnupg + sudo install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + sudo chmod a+r /etc/apt/keyrings/docker.gpg + echo \ + "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ + "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + sudo apt-get update + sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + - run: sudo apt-get -y install bridge-utils iproute2 lksctp-tools iputils-ping net-tools + - run: | + echo "KUBECONFIG=--kubeconfig=/etc/rancher/k3s/k3s.yaml" >> $GITHUB_ENV + - uses: actions/checkout@v2 + with: + submodules: recursive + - run: curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --disable traefik --disable servicelb --disable-cloud-controller --kubelet-arg cloud-provider=external" K3S_KUBECONFIG_MODE="644" sh - + - run: | + sleep 10 + kubectl "${{ env.KUBECONFIG }}" taint nodes --all node.cloudprovider.kubernetes.io/uninitialized=false:NoSchedule- + sleep 60 + kubectl "${{ env.KUBECONFIG }}" get nodes + kubectl "${{ env.KUBECONFIG }}" get pods -A + wget https://github.com/loxilb-io/loxi-ccm/raw/master/manifests/loxi-ccm-k3s.yaml + kubectl "${{ env.KUBECONFIG }}" apply -f ./loxi-ccm-k3s.yaml + sleep 60 + kubectl "${{ env.KUBECONFIG }}" get pods -A + - run: | + cd cicd/k3s-sctpmh/ + ./config.sh "${{ env.KUBECONFIG }}" + ./validation.sh "${{ env.KUBECONFIG }}" + ./rmconfig.sh "${{ env.KUBECONFIG }}" + cd - diff --git a/.github/workflows/liveness-sanity-ubuntu-24.yml b/.github/workflows/liveness-sanity-ubuntu-24.yml new file mode 100644 index 000000000..786862533 --- /dev/null +++ b/.github/workflows/liveness-sanity-ubuntu-24.yml @@ -0,0 +1,85 @@ +name: Liveness-LB-Sanity-CI-Ubuntu-24 + +on: + #push: + # branches: + # - main + #pull_request: + # branches: [ "main" ] + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + tags: + description: 'Liveness LB Sanity Ubuntu 24' + +jobs: + build: + name: liveness-lb-sanity-ubuntu-24 + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-python@v2 + - uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - run: sudo apt-get update + - run: sudo apt-get -y install linux-tools-$(uname -r) bridge-utils iperf iproute2 nodejs socat ethtool lksctp-tools + - run: | + cd cicd/tcplbmon/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/udplbmon/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/sctplbmon/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/tcplbmon6/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/tcplbepmod/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/lbtimeout/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/lb6timeout/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/httpsep/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/http2ep/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - diff --git a/.github/workflows/nat66-sanity-ubuntu-24.yml b/.github/workflows/nat66-sanity-ubuntu-24.yml new file mode 100644 index 000000000..0e0262ae9 --- /dev/null +++ b/.github/workflows/nat66-sanity-ubuntu-24.yml @@ -0,0 +1,49 @@ +name: NAT66-LB-Sanity-CI-Ubuntu-24 + +on: + push: + branches: + - main + pull_request: + branches: [ "main" ] + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + tags: + description: 'NAT66 LB Sanity Ubuntu 24' + +jobs: + build: + name: nat66-lb-sanity-ubuntu-24 + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-python@v2 + - uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - run: sudo apt-get update + - run: sudo apt-get -y install linux-tools-$(uname -r) bridge-utils iperf iproute2 nodejs socat ethtool + - run: | + cd cicd/nat66tcp/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/nat66udp/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/nat66sctp/ + #./config.sh + #./validation.sh + #./rmconfig.sh + cd - diff --git a/.github/workflows/scale-sanity-ubuntu-24.yml b/.github/workflows/scale-sanity-ubuntu-24.yml new file mode 100644 index 000000000..3cf9418ae --- /dev/null +++ b/.github/workflows/scale-sanity-ubuntu-24.yml @@ -0,0 +1,37 @@ +name: Scale-Sanity-CI-Ubuntu-24 + +on: + push: + branches: + - main + pull_request: + branches: [ "main" ] + workflow_dispatch: + inputs: + userInput: + description: 'Enter string to print at end' + required: true + default: 'Finished' + tags: + description: 'Scale Sanity Ubuntu 24' + +jobs: + build: + name: scale-sanity-ubuntu-24 + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-python@v2 + - uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - run: sudo apt-get update + - run: sudo apt-get -y install linux-tools-$(uname -r) bridge-utils iperf iproute2 nodejs socat lksctp-tools + - run: | + cd cicd/tcpepscale/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - diff --git a/.github/workflows/sctp-sanity-ubuntu-24.yml b/.github/workflows/sctp-sanity-ubuntu-24.yml new file mode 100644 index 000000000..4814b656e --- /dev/null +++ b/.github/workflows/sctp-sanity-ubuntu-24.yml @@ -0,0 +1,55 @@ +name: SCTP-LB-Sanity-CI-Ubuntu-24 + +on: + #push: + # branches: + # - main + #pull_request: + # branches: [ "main" ] + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + tags: + description: 'SCTP LB Sanity Ubuntu 24' + +jobs: + build: + name: sctp-lb-sanity-ubuntu-24 + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-python@v2 + - uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - run: sudo apt-get update + - run: sudo apt-get -y install linux-tools-$(uname -r) iperf iproute2 nodejs socat ethtool lksctp-tools + - run: | + cd cicd/sctplb/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/sctponearm/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/sctplbdsr/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/sctplblc/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - diff --git a/.github/workflows/tcp-sanity-ubuntu-24.yml b/.github/workflows/tcp-sanity-ubuntu-24.yml new file mode 100644 index 000000000..7e82012f0 --- /dev/null +++ b/.github/workflows/tcp-sanity-ubuntu-24.yml @@ -0,0 +1,67 @@ +name: TCP-LB-Sanity-CI-Ubuntu-24 + +on: + push: + branches: + - main + pull_request: + branches: [ "main" ] + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + tags: + description: 'TCP LB Sanity Ubuntu 24' + +jobs: + build: + name: tcp-lb-sanity-ubuntu-24 + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-python@v2 + - uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - run: sudo apt-get update + - run: sudo apt-get -y install linux-tools-$(uname -r) bridge-utils iperf iproute2 nodejs socat ethtool + - run: | + cd cicd/tcplb/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/tcplbmark/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/tcplbdsr1/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/tcplbdsr2/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/tcplbl3dsr/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - + - run: | + cd cicd/tcplbhash/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - diff --git a/.github/workflows/udp-sanity-ubuntu-24.yml b/.github/workflows/udp-sanity-ubuntu-24.yml new file mode 100644 index 000000000..7a80313da --- /dev/null +++ b/.github/workflows/udp-sanity-ubuntu-24.yml @@ -0,0 +1,37 @@ +name: UDP-LB-Sanity-CI-Ubuntu-24 + +on: + push: + branches: + - main + pull_request: + branches: [ "main" ] + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + tags: + description: 'UDP LB Sanity Ubuntu 24' + +jobs: + build: + name: udp-lb-sanity-ubuntu-24 + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: actions/setup-python@v2 + - uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - run: sudo apt-get update + - run: sudo apt-get -y install linux-tools-$(uname -r) elfutils dwarves git libbsd-dev bridge-utils unzip build-essential bison flex iperf iproute2 nodejs socat ethtool + - run: | + cd cicd/udplb/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - From e430978636a6b1805b09a55a1157454df94c064f Mon Sep 17 00:00:00 2001 From: Nikhil Malik Date: Tue, 13 Aug 2024 15:13:43 +0900 Subject: [PATCH 09/17] Update perf.yml --- .github/workflows/perf.yml | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/.github/workflows/perf.yml b/.github/workflows/perf.yml index 9c3c55cf1..4988105fa 100644 --- a/.github/workflows/perf.yml +++ b/.github/workflows/perf.yml @@ -23,7 +23,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, ubuntu-22.04] + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] steps: - uses: actions/checkout@v2 with: @@ -33,24 +33,7 @@ jobs: with: go-version: '>=1.18.0' - run: sudo apt-get update - - run: if [[ ${{ matrix.os }} == 'ubuntu-22.04' ]]; then sudo apt-get -y install clang-13 lksctp-tools; else sudo apt-get -y install clang-10; fi - - run: sudo apt-get -y install llvm libelf-dev gcc-multilib libpcap-dev linux-tools-$(uname -r) elfutils dwarves git libbsd-dev bridge-utils unzip build-essential bison flex iperf iproute2 nodejs socat iperf3 - - run: | - git clone --recurse-submodules https://github.com/loxilb-io/iproute2 iproute2-main - cd iproute2-main/libbpf/src/ - sudo make install - mkdir build - DESTDIR=build OBJDIR=build make install - cd - - cd iproute2-main/ - export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:`pwd`/libbpf/src/ && LIBBPF_FORCE=on LIBBPF_DIR=`pwd`/libbpf/src/build ./configure && make && sudo cp -f tc/tc /usr/local/sbin/ntc && cd - - - run: loxilb-ebpf/utils/mkllb_bpffs.sh - - run: sudo -E env "PATH=$PATH" make - - run: docker pull ghcr.io/loxilb-io/loxilb:latest - - run: docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dit -v /dev/log:/dev/log --name loxilb ghcr.io/loxilb-io/loxilb:latest - - run: pwd && ls && sudo -E env "PATH=$PATH" make docker-cp-ebpf - - run: id=`docker ps -f name=loxilb | cut -d " " -f 1 | grep -iv "CONTAINER"` && docker commit $id ghcr.io/loxilb-io/loxilb:latest - - run: docker stop loxilb && docker rm loxilb + - run: sudo apt-get -y install lksctp-tools linux-tools-$(uname -r) bridge-utils iperf iproute2 nodejs socat iperf3 - run: | cd cicd/tcpsctpperf ./config.sh From 8f84d3a1a4a5b049625643315259369f203c28e3 Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 15:15:50 +0900 Subject: [PATCH 10/17] Update data-store-CI.yml --- .github/workflows/data-store-CI.yml | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/.github/workflows/data-store-CI.yml b/.github/workflows/data-store-CI.yml index 9f5624376..5d34407f0 100644 --- a/.github/workflows/data-store-CI.yml +++ b/.github/workflows/data-store-CI.yml @@ -23,13 +23,14 @@ on: options: - ubuntu-20.04 - ubuntu-22.04 + - ubuntu-24.04 jobs: build: name: data-store runs-on: ${{ github.event.inputs.runsOn }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: recursive - uses: actions/setup-python@v2 @@ -37,24 +38,7 @@ jobs: with: go-version: '>=1.18.0' - run: sudo apt-get update - - run: if [[ ${{ github.event.inputs.runsOn }} == 'ubuntu-22.04' ]]; then sudo apt-get -y install clang-13 lksctp-tools; else sudo apt-get -y install clang-10; fi - - run: sudo apt-get -y install llvm libelf-dev gcc-multilib libpcap-dev linux-tools-$(uname -r) elfutils dwarves git libbsd-dev bridge-utils unzip build-essential bison flex iperf iproute2 nodejs socat - - run: | - git clone --recurse-submodules https://github.com/loxilb-io/iproute2 iproute2-main - cd iproute2-main/libbpf/src/ - sudo make install - mkdir build - DESTDIR=build OBJDIR=build make install - cd - - cd iproute2-main/ - export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:`pwd`/libbpf/src/ && LIBBPF_FORCE=on LIBBPF_DIR=`pwd`/libbpf/src/build ./configure && make && sudo cp -f tc/tc /usr/local/sbin/ntc && cd - - - run: loxilb-ebpf/utils/mkllb_bpffs.sh - - run: sudo -E env "PATH=$PATH" make - - run: docker pull ghcr.io/loxilb-io/loxilb:latest - - run: docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dit -v /dev/log:/dev/log --name loxilb ghcr.io/loxilb-io/loxilb:latest - - run: pwd && ls && sudo -E env "PATH=$PATH" make docker-cp - - run: id=`docker ps -f name=loxilb | cut -d " " -f 1 | grep -iv "CONTAINER"` && docker commit $id ghcr.io/loxilb-io/loxilb:latest - - run: docker stop loxilb && docker rm loxilb + - run: sudo apt-get -y install lksctp-tools linux-tools-$(uname -r) bridge-utils iperf iproute2 nodejs socat - run: | cd cicd/data-store/ ./test.sh ${{ github.event.inputs.testName }} From 6c6147fe3c7aa33c8e1b46e8d2d06a9a67842051 Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 15:40:44 +0900 Subject: [PATCH 11/17] Update sctp-sanity-ubuntu-24.yml --- .github/workflows/sctp-sanity-ubuntu-24.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sctp-sanity-ubuntu-24.yml b/.github/workflows/sctp-sanity-ubuntu-24.yml index 4814b656e..fd0a40d3f 100644 --- a/.github/workflows/sctp-sanity-ubuntu-24.yml +++ b/.github/workflows/sctp-sanity-ubuntu-24.yml @@ -1,11 +1,11 @@ name: SCTP-LB-Sanity-CI-Ubuntu-24 on: - #push: - # branches: - # - main - #pull_request: - # branches: [ "main" ] + push: + branches: + - main + pull_request: + branches: [ "main" ] workflow_dispatch: inputs: logLevel: From dbdff34906c2ed933ea56a1a239e6a369c10a9fe Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 15:54:46 +0900 Subject: [PATCH 12/17] Update sctp-sanity-ubuntu-22.yml --- .github/workflows/sctp-sanity-ubuntu-22.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sctp-sanity-ubuntu-22.yml b/.github/workflows/sctp-sanity-ubuntu-22.yml index 32cb151fa..e67075a3c 100644 --- a/.github/workflows/sctp-sanity-ubuntu-22.yml +++ b/.github/workflows/sctp-sanity-ubuntu-22.yml @@ -1,11 +1,11 @@ name: SCTP-LB-Sanity-CI-Ubuntu-22 on: - #push: - # branches: - # - main - #pull_request: - # branches: [ "main" ] + push: + branches: + - main + pull_request: + branches: [ "main" ] workflow_dispatch: inputs: logLevel: From 5d481307c08c75fc4364a2f807218dc87faaaadb Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 15:57:06 +0900 Subject: [PATCH 13/17] Update advanced-lb-sanity-ubuntu-24.yml --- .github/workflows/advanced-lb-sanity-ubuntu-24.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/advanced-lb-sanity-ubuntu-24.yml b/.github/workflows/advanced-lb-sanity-ubuntu-24.yml index d3105d1fa..438eb7ba8 100644 --- a/.github/workflows/advanced-lb-sanity-ubuntu-24.yml +++ b/.github/workflows/advanced-lb-sanity-ubuntu-24.yml @@ -1,11 +1,11 @@ name: Adv-LB-Sanity-CI-Ubuntu-24 on: - #push: - # branches: - # - main - #pull_request: - # branches: [ "main" ] + push: + branches: + - main + pull_request: + branches: [ "main" ] workflow_dispatch: inputs: logLevel: From b18b47913b8071aed3ab3c430a679fef1ed71af3 Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:25:24 +0900 Subject: [PATCH 14/17] Update advanced-lb-sanity-ubuntu-22.yml --- .../advanced-lb-sanity-ubuntu-22.yml | 30 ++++--------------- 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/.github/workflows/advanced-lb-sanity-ubuntu-22.yml b/.github/workflows/advanced-lb-sanity-ubuntu-22.yml index 4b77bbdd7..3ae864ae7 100644 --- a/.github/workflows/advanced-lb-sanity-ubuntu-22.yml +++ b/.github/workflows/advanced-lb-sanity-ubuntu-22.yml @@ -1,11 +1,11 @@ name: Adv-LB-Sanity-CI-Ubuntu-22 on: - #push: - # branches: - # - main - #pull_request: - # branches: [ "main" ] + push: + branches: + - main + pull_request: + branches: [ "main" ] workflow_dispatch: inputs: logLevel: @@ -28,25 +28,7 @@ jobs: with: go-version: '>=1.18.0' - run: sudo apt-get update - - run: sudo apt-get -y install clang-13 llvm libelf-dev gcc-multilib libpcap-dev linux-tools-$(uname -r) elfutils dwarves git libbsd-dev bridge-utils unzip build-essential bison flex iperf iproute2 nodejs socat ethtool lksctp-tools - - run: | - git clone --recurse-submodules https://github.com/loxilb-io/iproute2 iproute2-main - cd iproute2-main/libbpf/src/ - sudo make install - mkdir build - DESTDIR=build OBJDIR=build make install - cd - - cd iproute2-main/ - export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:`pwd`/libbpf/src/ && LIBBPF_FORCE=on LIBBPF_DIR=`pwd`/libbpf/src/build ./configure && make && sudo cp -f tc/tc /usr/local/sbin/ntc && cd - - - run: loxilb-ebpf/utils/mkllb_bpffs.sh - - run: sudo -E env "PATH=$PATH" make - - run: sudo -E env "PATH=$PATH" make test - - run: docker pull ghcr.io/loxilb-io/loxilb:latest - - run: docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dit -v /dev/log:/dev/log --name loxilb ghcr.io/loxilb-io/loxilb:latest - - run: pwd && ls && sudo -E env "PATH=$PATH" make docker-cp - - run: docker exec -dit loxilb mkllb_bpffs - - run: id=`docker ps -f name=loxilb | cut -d " " -f 1 | grep -iv "CONTAINER"` && docker commit $id ghcr.io/loxilb-io/loxilb:latest - - run: docker stop loxilb && docker rm loxilb + - run: sudo apt-get -y install linux-tools-$(uname -r) bridge-utils iperf iproute2 nodejs socat ethtool lksctp-tools - run: | cd cicd/k8slbsim/ ./config.sh From 41c31fe255c4ef43e626841839dca35f6f5d221d Mon Sep 17 00:00:00 2001 From: Nikhil Malik Date: Wed, 14 Aug 2024 14:44:16 +0900 Subject: [PATCH 15/17] Ubuntu24 CICD workflow files trigger after build --- .../advanced-lb-sanity-ubuntu-22.yml | 14 ++++++---- .../advanced-lb-sanity-ubuntu-24.yml | 14 ++++++---- .github/workflows/basic-sanity-ubuntu-24.yml | 9 ++++-- .../workflows/cluster-sanity-ubuntu-22.yml | 28 +++++++------------ .../workflows/cluster-sanity-ubuntu-24.yml | 9 ++++++ .github/workflows/ipsec-sanity-ubuntu-24.yml | 15 ++++++---- .github/workflows/k3s-calico-ubuntu-24.yml | 6 ++++ .github/workflows/k3s-sctpmh-ubuntu-24.yml | 6 ++++ .../workflows/liveness-sanity-ubuntu-24.yml | 14 ++++++---- .github/workflows/nat66-sanity-ubuntu-24.yml | 14 ++++++---- .github/workflows/scale-sanity-ubuntu-24.yml | 14 ++++++---- .github/workflows/sctp-sanity-ubuntu-24.yml | 14 ++++++---- .github/workflows/tcp-sanity-ubuntu-24.yml | 14 ++++++---- .github/workflows/udp-sanity-ubuntu-24.yml | 14 ++++++---- 14 files changed, 118 insertions(+), 67 deletions(-) diff --git a/.github/workflows/advanced-lb-sanity-ubuntu-22.yml b/.github/workflows/advanced-lb-sanity-ubuntu-22.yml index 3ae864ae7..f3f895327 100644 --- a/.github/workflows/advanced-lb-sanity-ubuntu-22.yml +++ b/.github/workflows/advanced-lb-sanity-ubuntu-22.yml @@ -1,11 +1,9 @@ name: Adv-LB-Sanity-CI-Ubuntu-22 on: - push: - branches: - - main - pull_request: - branches: [ "main" ] + schedule: + # Runs "At 18:00 UTC every day-of-week" + - cron: '0 18 * * *' workflow_dispatch: inputs: logLevel: @@ -14,11 +12,17 @@ on: default: 'warning' tags: description: 'Advanced LB Sanity ubuntu 22' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: advanced-lb-sanity-ubuntu-22 runs-on: ubuntu-22.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v2 with: diff --git a/.github/workflows/advanced-lb-sanity-ubuntu-24.yml b/.github/workflows/advanced-lb-sanity-ubuntu-24.yml index 438eb7ba8..7f3aace88 100644 --- a/.github/workflows/advanced-lb-sanity-ubuntu-24.yml +++ b/.github/workflows/advanced-lb-sanity-ubuntu-24.yml @@ -1,11 +1,9 @@ name: Adv-LB-Sanity-CI-Ubuntu-24 on: - push: - branches: - - main - pull_request: - branches: [ "main" ] + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' workflow_dispatch: inputs: logLevel: @@ -14,11 +12,17 @@ on: default: 'warning' tags: description: 'Advanced LB Sanity ubuntu 24' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: advanced-lb-sanity-ubuntu-24 runs-on: ubuntu-24.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/basic-sanity-ubuntu-24.yml b/.github/workflows/basic-sanity-ubuntu-24.yml index 7443dde21..529ebec2c 100644 --- a/.github/workflows/basic-sanity-ubuntu-24.yml +++ b/.github/workflows/basic-sanity-ubuntu-24.yml @@ -1,5 +1,8 @@ name: Sanity-CI-Ubuntu-24 on: + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' pull_request: branches: [ "main" ] workflow_dispatch: @@ -9,15 +12,15 @@ on: required: true default: 'Sanity-BuildCI-u24' workflow_run: - workflows: ["Build-CI"] + workflows: ["Docker-Multi-Arch"] types: - completed jobs: build: name: basic-sanity-ubuntu-24 runs-on: ubuntu-24.04 - permissions: - packages: write + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/cluster-sanity-ubuntu-22.yml b/.github/workflows/cluster-sanity-ubuntu-22.yml index 95eca4ad7..7de20a5e0 100644 --- a/.github/workflows/cluster-sanity-ubuntu-22.yml +++ b/.github/workflows/cluster-sanity-ubuntu-22.yml @@ -1,6 +1,9 @@ name: Cluster-Sanity-CI-Ubuntu-22 on: + schedule: + # Runs "At 18:00 UTC every day-of-week" + - cron: '0 18 * * *' workflow_dispatch: inputs: userInput: @@ -9,11 +12,17 @@ on: default: 'Finished' tags: description: 'Cluster Sanity Ubuntu 22' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: cluster-sanity-ubuntu-22 runs-on: ubuntu-22.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v2 with: @@ -23,24 +32,7 @@ jobs: with: go-version: '>=1.18.0' - run: sudo apt-get update - - run: sudo apt-get -y install clang-13 llvm libelf-dev gcc-multilib libpcap-dev linux-tools-$(uname -r) elfutils dwarves git libbsd-dev bridge-utils unzip build-essential bison flex iperf iproute2 nodejs socat lksctp-tools - - run: | - git clone --recurse-submodules https://github.com/loxilb-io/iproute2 iproute2-main - cd iproute2-main/libbpf/src/ - sudo make install - mkdir build - DESTDIR=build OBJDIR=build make install - cd - - cd iproute2-main/ - export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:`pwd`/libbpf/src/ && LIBBPF_FORCE=on LIBBPF_DIR=`pwd`/libbpf/src/build ./configure && make && sudo cp -f tc/tc /usr/local/sbin/ntc && cd - - - run: loxilb-ebpf/utils/mkllb_bpffs.sh - - run: sudo -E env "PATH=$PATH" make - - run: sudo -E env "PATH=$PATH" make test - - run: docker pull ghcr.io/loxilb-io/loxilb:latest - - run: docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dit -v /dev/log:/dev/log --name loxilb ghcr.io/loxilb-io/loxilb:latest - - run: pwd && ls && sudo -E env "PATH=$PATH" make docker-cp - - run: id=`docker ps -f name=loxilb | cut -d " " -f 1 | grep -iv "CONTAINER"` && docker commit $id ghcr.io/loxilb-io/loxilb:latest - - run: docker stop loxilb && docker rm loxilb + - run: sudo apt-get -y install lksctp-tools - run: | cd cicd/cluster1/ ./config.sh diff --git a/.github/workflows/cluster-sanity-ubuntu-24.yml b/.github/workflows/cluster-sanity-ubuntu-24.yml index 37a1d0a40..49a363002 100644 --- a/.github/workflows/cluster-sanity-ubuntu-24.yml +++ b/.github/workflows/cluster-sanity-ubuntu-24.yml @@ -1,6 +1,9 @@ name: Cluster-Sanity-CI-Ubuntu-24 on: + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' workflow_dispatch: inputs: userInput: @@ -9,11 +12,17 @@ on: default: 'Finished' tags: description: 'Cluster Sanity Ubuntu 24' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: cluster-sanity-ubuntu-24 runs-on: ubuntu-22.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/ipsec-sanity-ubuntu-24.yml b/.github/workflows/ipsec-sanity-ubuntu-24.yml index 4bf33e52e..bbeb2282c 100644 --- a/.github/workflows/ipsec-sanity-ubuntu-24.yml +++ b/.github/workflows/ipsec-sanity-ubuntu-24.yml @@ -1,11 +1,9 @@ name: IPsec-Sanity-CI-Ubuntu-24 on: - push: - branches: - - main - pull_request: - branches: [ "main" ] + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' workflow_dispatch: inputs: userInput: @@ -14,11 +12,16 @@ on: default: 'Finished' tags: description: 'IPSec Sanity Ubuntu 24' - + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: ipsec-sanity-ubuntu-24 runs-on: ubuntu-24.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/k3s-calico-ubuntu-24.yml b/.github/workflows/k3s-calico-ubuntu-24.yml index 889d44897..10f9a7278 100644 --- a/.github/workflows/k3s-calico-ubuntu-24.yml +++ b/.github/workflows/k3s-calico-ubuntu-24.yml @@ -9,10 +9,16 @@ on: description: 'Test Run-Name' required: true default: 'k3s-calico-ubuntu-24' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: k3s-calico-sanity runs-on: ubuntu-24.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - run: | echo "KUBECONFIG=--kubeconfig=/etc/rancher/k3s/k3s.yaml" >> $GITHUB_ENV diff --git a/.github/workflows/k3s-sctpmh-ubuntu-24.yml b/.github/workflows/k3s-sctpmh-ubuntu-24.yml index aae69f2b4..7ace91b0b 100644 --- a/.github/workflows/k3s-sctpmh-ubuntu-24.yml +++ b/.github/workflows/k3s-sctpmh-ubuntu-24.yml @@ -9,10 +9,16 @@ on: description: 'Test Run-Name' required: true default: 'k3s-sctpmh-ubuntu-24' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: k3s-sctpmh-sanity-ubuntu-24 runs-on: ubuntu-24.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - run: | for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done diff --git a/.github/workflows/liveness-sanity-ubuntu-24.yml b/.github/workflows/liveness-sanity-ubuntu-24.yml index 786862533..3a61c5fce 100644 --- a/.github/workflows/liveness-sanity-ubuntu-24.yml +++ b/.github/workflows/liveness-sanity-ubuntu-24.yml @@ -1,11 +1,9 @@ name: Liveness-LB-Sanity-CI-Ubuntu-24 on: - #push: - # branches: - # - main - #pull_request: - # branches: [ "main" ] + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' workflow_dispatch: inputs: logLevel: @@ -14,11 +12,17 @@ on: default: 'warning' tags: description: 'Liveness LB Sanity Ubuntu 24' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: liveness-lb-sanity-ubuntu-24 runs-on: ubuntu-24.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/nat66-sanity-ubuntu-24.yml b/.github/workflows/nat66-sanity-ubuntu-24.yml index 0e0262ae9..9b52b87e4 100644 --- a/.github/workflows/nat66-sanity-ubuntu-24.yml +++ b/.github/workflows/nat66-sanity-ubuntu-24.yml @@ -1,11 +1,9 @@ name: NAT66-LB-Sanity-CI-Ubuntu-24 on: - push: - branches: - - main - pull_request: - branches: [ "main" ] + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' workflow_dispatch: inputs: logLevel: @@ -14,11 +12,17 @@ on: default: 'warning' tags: description: 'NAT66 LB Sanity Ubuntu 24' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: nat66-lb-sanity-ubuntu-24 runs-on: ubuntu-24.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/scale-sanity-ubuntu-24.yml b/.github/workflows/scale-sanity-ubuntu-24.yml index 3cf9418ae..fff77c7a4 100644 --- a/.github/workflows/scale-sanity-ubuntu-24.yml +++ b/.github/workflows/scale-sanity-ubuntu-24.yml @@ -1,11 +1,9 @@ name: Scale-Sanity-CI-Ubuntu-24 on: - push: - branches: - - main - pull_request: - branches: [ "main" ] + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' workflow_dispatch: inputs: userInput: @@ -14,11 +12,17 @@ on: default: 'Finished' tags: description: 'Scale Sanity Ubuntu 24' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: scale-sanity-ubuntu-24 runs-on: ubuntu-24.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/sctp-sanity-ubuntu-24.yml b/.github/workflows/sctp-sanity-ubuntu-24.yml index fd0a40d3f..82b74b01f 100644 --- a/.github/workflows/sctp-sanity-ubuntu-24.yml +++ b/.github/workflows/sctp-sanity-ubuntu-24.yml @@ -1,11 +1,9 @@ name: SCTP-LB-Sanity-CI-Ubuntu-24 on: - push: - branches: - - main - pull_request: - branches: [ "main" ] + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' workflow_dispatch: inputs: logLevel: @@ -14,11 +12,17 @@ on: default: 'warning' tags: description: 'SCTP LB Sanity Ubuntu 24' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: sctp-lb-sanity-ubuntu-24 runs-on: ubuntu-24.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/tcp-sanity-ubuntu-24.yml b/.github/workflows/tcp-sanity-ubuntu-24.yml index 7e82012f0..e0c78eb56 100644 --- a/.github/workflows/tcp-sanity-ubuntu-24.yml +++ b/.github/workflows/tcp-sanity-ubuntu-24.yml @@ -1,11 +1,9 @@ name: TCP-LB-Sanity-CI-Ubuntu-24 on: - push: - branches: - - main - pull_request: - branches: [ "main" ] + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' workflow_dispatch: inputs: logLevel: @@ -14,11 +12,17 @@ on: default: 'warning' tags: description: 'TCP LB Sanity Ubuntu 24' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: tcp-lb-sanity-ubuntu-24 runs-on: ubuntu-24.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/udp-sanity-ubuntu-24.yml b/.github/workflows/udp-sanity-ubuntu-24.yml index 7a80313da..e27944396 100644 --- a/.github/workflows/udp-sanity-ubuntu-24.yml +++ b/.github/workflows/udp-sanity-ubuntu-24.yml @@ -1,11 +1,9 @@ name: UDP-LB-Sanity-CI-Ubuntu-24 on: - push: - branches: - - main - pull_request: - branches: [ "main" ] + schedule: + # Runs "At 11:00 UTC every day-of-week" + - cron: '0 11 * * *' workflow_dispatch: inputs: logLevel: @@ -14,11 +12,17 @@ on: default: 'warning' tags: description: 'UDP LB Sanity Ubuntu 24' + workflow_run: + workflows: ["Docker-Multi-Arch"] + types: + - completed jobs: build: name: udp-lb-sanity-ubuntu-24 runs-on: ubuntu-24.04 + if: github.repository == 'loxilb-io/loxilb' + && github.event.inputs.tagName == '' steps: - uses: actions/checkout@v4 with: From 08a0434c750058a16d5ab549c098b0a085054b8a Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Wed, 14 Aug 2024 14:58:06 +0900 Subject: [PATCH 16/17] Update k3s-calico-ubuntu-24.yml --- .github/workflows/k3s-calico-ubuntu-24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/k3s-calico-ubuntu-24.yml b/.github/workflows/k3s-calico-ubuntu-24.yml index 10f9a7278..f6e492b55 100644 --- a/.github/workflows/k3s-calico-ubuntu-24.yml +++ b/.github/workflows/k3s-calico-ubuntu-24.yml @@ -9,7 +9,7 @@ on: description: 'Test Run-Name' required: true default: 'k3s-calico-ubuntu-24' - workflow_run: + workflow_run: workflows: ["Docker-Multi-Arch"] types: - completed From ec23d9ff9cadc153606d64412c281dc8711874a6 Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Wed, 14 Aug 2024 14:58:46 +0900 Subject: [PATCH 17/17] Update k3s-sctpmh-ubuntu-24.yml --- .github/workflows/k3s-sctpmh-ubuntu-24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/k3s-sctpmh-ubuntu-24.yml b/.github/workflows/k3s-sctpmh-ubuntu-24.yml index 7ace91b0b..f09818d7d 100644 --- a/.github/workflows/k3s-sctpmh-ubuntu-24.yml +++ b/.github/workflows/k3s-sctpmh-ubuntu-24.yml @@ -9,7 +9,7 @@ on: description: 'Test Run-Name' required: true default: 'k3s-sctpmh-ubuntu-24' - workflow_run: + workflow_run: workflows: ["Docker-Multi-Arch"] types: - completed