Merge pull request #520 from BlaineEXE/bp-multus-to-odf #14
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Multus integration tests | |
on: | |
push: | |
tags: | |
- v* | |
branches: | |
- master | |
- release-* | |
pull_request: | |
paths: | |
- cmd/rook/userfacing/** | |
- pkg/daemon/multus/** | |
- .github/workflows/multus.yaml | |
defaults: | |
run: | |
# reference: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell | |
shell: bash --noprofile --norc -eo pipefail -x {0} | |
# cancel the in-progress workflow when PR is refreshed. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
test-validation-tool: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
if: "!contains(github.event.pull_request.labels.*.name, 'skip-ci')" | |
env: | |
NUMBER_OF_COMPUTE_NODES: 5 | |
steps: | |
- name: Set up Go version | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" | |
- name: checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Create KinD Cluster | |
uses: helm/[email protected] | |
with: | |
config: tests/scripts/multus/kind-config.yaml | |
cluster_name: rook-multus-e2e | |
- name: Start tmate | |
if: runner.debug || contains(github.event.pull_request.labels.*.name, 'debug-ci') | |
run: | | |
kubectl apply -f tests/scripts/tmate-pod.yaml | |
sleep 3 # sometimes the next command errors b/c k8s hasn't had time to schedule the pod yet | |
kubectl -n tmate wait --for=condition=ready -l app=tmate pod --timeout=300s | |
sleep 1 # just in case tmate hasn't output its web/ssh links yet | |
kubectl -n tmate logs deploy/tmate | |
- name: Setup multus | |
run: ./tests/scripts/multus/setup-multus.sh | |
- name: Install public and cluster NADs in default namespace | |
run: kubectl create -f tests/scripts/multus/default-public-cluster-nads.yaml | |
- name: Quickly build Rook binary | |
run: go build -o rook cmd/rook/*.go | |
- name: Run multus validation test | |
run: | | |
export KUBECONFIG="/home/runner/.kube/config" | |
kubectl create namespace rook-ceph | |
./rook --log-level debug multus validation run \ | |
--namespace rook-ceph \ | |
--public-network default/public-net \ | |
--cluster-network default/cluster-net \ | |
--daemons-per-node 2 |