Skip to content

Run only DSE read_only_fs tests #1378

Run only DSE read_only_fs tests

Run only DSE read_only_fs tests #1378

Workflow file for this run

name: Kind Integration Tests
on:
push:
branches:
- master
pull_request:
branches: [master]
jobs:
build_docker_images:
name: Build Docker Images
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Set version value
id: vars
run: |
echo "version=$(make version)" >> $GITHUB_OUTPUT
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
id: docker_build
uses: docker/build-push-action@v6
with:
file: Dockerfile
context: .
push: false
tags: k8ssandra/cass-operator:v${{ steps.vars.outputs.version }}
platforms: linux/amd64
outputs: type=docker,dest=/tmp/k8ssandra-cass-operator.tar
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Build and push
uses: docker/build-push-action@v6
with:
file: logger.Dockerfile
push: false
tags: k8ssandra/system-logger:v${{ steps.vars.outputs.version }}
outputs: type=docker,dest=/tmp/k8ssandra-system-logger.tar
platforms: linux/amd64
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Upload cass-operator image
uses: actions/upload-artifact@v4
with:
name: cass-operator
path: /tmp/k8ssandra-cass-operator.tar
- name: Upload system-logger image
uses: actions/upload-artifact@v4
with:
name: system-logger
path: /tmp/k8ssandra-system-logger.tar
kind_smoke_tests:
needs: build_docker_images
strategy:
matrix:
version:
- "6.8.50"
- "6.9.2"
integration_test:
- smoke_test_read_only_fs
include:
- version: 6.8.50
serverImage: datastax/dse-mgmtapi-6_8:6.8.50-ubi8 # DSE 6.8.50
serverType: dse
- version: 6.9.2
serverImage: datastax/dse-mgmtapi-6_8:6.9.2-ubi # DSE 6.9.2
serverType: dse
- version: 1.0.0
serverImage: datastax/hcd:1.0.0-ubi # HCD 1.0.0
serverType: hcd
exclude:
- version: 3.11.17
integration_test: "smoke_test_read_only_fs"
- version: 4.0.13
integration_test: "smoke_test_read_only_fs"
fail-fast: true
runs-on: ubuntu-latest
env:
CGO_ENABLED: 0
M_INTEG_DIR: ${{ matrix.integration_test }}
M_SERVER_VERSION: ${{ matrix.version }}
M_SERVER_IMAGE: ${{ matrix.serverImage }}
M_SERVER_TYPE: ${{ matrix.serverType }}
steps:
- uses: actions/checkout@v4
if: github.event_name == 'pull_request'
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/checkout@v4
if: github.event_name != 'pull_request'
- uses: ./.github/actions/run-integ-test
with:
integration_test: ${{ matrix.integration_test }}
- name: Archive k8s logs
uses: actions/upload-artifact@v4
with:
name: k8s-logs-smoke_test-${{ matrix.version }}
path: ./build/kubectl_dump
name: TopoLVM kind installation with volumeExpansion
needs: build_docker_images

Check failure on line 104 in .github/workflows/kindIntegTest.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/kindIntegTest.yml

Invalid workflow file

You have an error in your yaml syntax on line 104
strategy:
matrix:
version:
- "4.1.6"
integration_test:
- pvc_expansion
fail-fast: true
runs-on: ubuntu-latest
env:
CGO_ENABLED: 0
M_INTEG_DIR: ${{ matrix.integration_test }}
M_SERVER_VERSION: ${{ matrix.version }}
steps:
- name: Install necessary tools for LVM setup
run: |
sudo apt-get update
sudo apt-get install -y lvm2 xfsprogs thin-provisioning-tools
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
repository: topolvm/topolvm
path: topolvm
ref: topolvm-chart-v15.2.0
- name: Create LVM from TopoLVM's example setup
run: |
cd topolvm/example
mkdir -p build
mkdir -p bin
make start-lvmd
make KIND=$(type -a -P kind) launch-kind
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
cache: true
- name: Install TopoLVM controller
run: |
make cert-manager
helm repo add topolvm https://topolvm.github.io/topolvm
helm repo update
kubectl create namespace topolvm-system
kubectl label namespace topolvm-system topolvm.io/webhook=ignore
kubectl label namespace kube-system topolvm.io/webhook=ignore
helm install --namespace=topolvm-system topolvm topolvm/topolvm -f topolvm/example/values.yaml
kubectl wait --for=condition=available --timeout=120s -n topolvm-system deployments/topolvm-controller
kubectl wait --for=condition=ready --timeout=120s -n topolvm-system -l="app.kubernetes.io/component=controller,app.kubernetes.io/name=topolvm" pod
kubectl wait --for=condition=ready --timeout=120s -n topolvm-system certificate/topolvm-mutatingwebhook
- name: Link tools
shell: bash
run: |
mkdir bin
ln -s /usr/local/bin/kustomize bin/kustomize
- name: Download cass-operator image
uses: actions/download-artifact@v4
with:
name: cass-operator
path: /tmp
- name: Download system-logger image
uses: actions/download-artifact@v4
with:
name: system-logger
path: /tmp
- name: Load Docker images
shell: bash
id: load
run: |
echo "operator_img=$(docker load --input /tmp/k8ssandra-cass-operator.tar | cut -f 3 -d' ')" >> $GITHUB_OUTPUT
echo "logger_img=$(docker load --input /tmp/k8ssandra-system-logger.tar | cut -f 3 -d' ')" >> $GITHUB_OUTPUT
- name: Load image on the nodes of the cluster
shell: bash
run: |
kind load docker-image --name=topolvm-example ${{ steps.load.outputs.operator_img }}
kind load docker-image --name=topolvm-example ${{ steps.load.outputs.logger_img }}
- name: Run integration test
shell: bash
run: |
IMG=${{ steps.load.outputs.operator_img }} LOG_IMG=${{ steps.load.outputs.logger_img }} make integ-test
- name: Archive k8s logs
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: k8s-logs-topolvm-test-${{ matrix.version }}
path: ./build/kubectl_dump