feat: Add a k6-loadgen chaos fault #926
Workflow file for this run
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: E2E | |
on: | |
pull_request: | |
branches: [master] | |
types: [opened, synchronize, reopened] | |
paths-ignore: | |
- '**.md' | |
- '**.yml' | |
- '**.yaml' | |
jobs: | |
# Helm_Install_Generic_Tests: | |
# runs-on: ubuntu-18.04 | |
# steps: | |
# - uses: actions/checkout@v2 | |
# with: | |
# ref: ${{ github.event.pull_request.head.sha }} | |
# - name: Generate go binary and build docker image | |
# run: make build-amd64 | |
# #Install and configure a kind cluster | |
# - name: Installing KinD cluster for the test | |
# uses: engineerd/[email protected] | |
# with: | |
# version: "v0.7.0" | |
# config: "build/kind-cluster/kind-config.yaml" | |
# - name: Configuring and testing the Installation | |
# run: | | |
# kubectl taint nodes kind-control-plane node-role.kubernetes.io/master- | |
# kind get kubeconfig --internal >$HOME/.kube/config | |
# kubectl cluster-info --context kind-kind | |
# kubectl get nodes | |
# - name: Load docker image | |
# run: /usr/local/bin/kind load docker-image litmuschaos/go-runner:ci | |
# - name: Deploy a sample application for chaos injection | |
# run: | | |
# kubectl apply -f https://raw.githubusercontent.com/litmuschaos/chaos-ci-lib/master/app/nginx.yml | |
# kubectl wait --for=condition=Ready pods --all --namespace default --timeout=90s | |
# - name: Setting up kubeconfig ENV for Github Chaos Action | |
# run: echo ::set-env name=KUBE_CONFIG_DATA::$(base64 -w 0 ~/.kube/config) | |
# env: | |
# ACTIONS_ALLOW_UNSECURE_COMMANDS: true | |
# - name: Setup Litmus | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# INSTALL_LITMUS: true | |
# - name: Running Litmus pod delete chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: pod-delete | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# - name: Running container kill chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: container-kill | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# CONTAINER_RUNTIME: containerd | |
# - name: Running node-cpu-hog chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: node-cpu-hog | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# - name: Running node-memory-hog chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: node-memory-hog | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# - name: Running pod-cpu-hog chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: pod-cpu-hog | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# TARGET_CONTAINER: nginx | |
# TOTAL_CHAOS_DURATION: 60 | |
# CPU_CORES: 1 | |
# - name: Running pod-memory-hog chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: pod-memory-hog | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# TARGET_CONTAINER: nginx | |
# TOTAL_CHAOS_DURATION: 60 | |
# MEMORY_CONSUMPTION: 500 | |
# - name: Running pod network corruption chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: pod-network-corruption | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# TARGET_CONTAINER: nginx | |
# TOTAL_CHAOS_DURATION: 60 | |
# NETWORK_INTERFACE: eth0 | |
# CONTAINER_RUNTIME: containerd | |
# - name: Running pod network duplication chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: pod-network-duplication | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# TARGET_CONTAINER: nginx | |
# TOTAL_CHAOS_DURATION: 60 | |
# NETWORK_INTERFACE: eth0 | |
# CONTAINER_RUNTIME: containerd | |
# - name: Running pod-network-latency chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: pod-network-latency | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# TARGET_CONTAINER: nginx | |
# TOTAL_CHAOS_DURATION: 60 | |
# NETWORK_INTERFACE: eth0 | |
# NETWORK_LATENCY: 60000 | |
# CONTAINER_RUNTIME: containerd | |
# - name: Running pod-network-loss chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: pod-network-loss | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# TARGET_CONTAINER: nginx | |
# TOTAL_CHAOS_DURATION: 60 | |
# NETWORK_INTERFACE: eth0 | |
# NETWORK_PACKET_LOSS_PERCENTAGE: 100 | |
# CONTAINER_RUNTIME: containerd | |
# - name: Running pod autoscaler chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: pod-autoscaler | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# TOTAL_CHAOS_DURATION: 60 | |
# - name: Running node-io-stress chaos experiment | |
# if: always() | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# EXPERIMENT_NAME: node-io-stress | |
# EXPERIMENT_IMAGE: litmuschaos/go-runner | |
# EXPERIMENT_IMAGE_TAG: ci | |
# IMAGE_PULL_POLICY: IfNotPresent | |
# JOB_CLEANUP_POLICY: delete | |
# TOTAL_CHAOS_DURATION: 120 | |
# FILESYSTEM_UTILIZATION_PERCENTAGE: 10 | |
# - name: Uninstall Litmus | |
# uses: litmuschaos/github-chaos-actions@master | |
# env: | |
# LITMUS_CLEANUP: true | |
# - name: Deleting KinD cluster | |
# if: always() | |
# run: kind delete cluster | |
Pod_Level_In_Serial_Mode: | |
runs-on: ubuntu-latest | |
steps: | |
# Install golang | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: 1.18 | |
- uses: actions/checkout@v2 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Generating Go binary and Building docker image | |
run: | | |
make build-amd64 | |
#Install and configure a kind cluster | |
- name: Installing Prerequisites (K3S Cluster) | |
env: | |
KUBECONFIG: /etc/rancher/k3s/k3s.yaml | |
run: | | |
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.21.11+k3s1 sh -s - --docker --write-kubeconfig-mode 664 | |
kubectl wait node --all --for condition=ready --timeout=90s | |
kubectl get nodes | |
- uses: actions/checkout@v2 | |
with: | |
repository: 'litmuschaos/litmus-e2e' | |
ref: 'master' | |
- name: Running Pod level experiment with affected percentage 100 and in series mode | |
env: | |
GO_EXPERIMENT_IMAGE: litmuschaos/go-runner:ci | |
EXPERIMENT_IMAGE_PULL_POLICY: IfNotPresent | |
KUBECONFIG: /etc/rancher/k3s/k3s.yaml | |
run: | | |
make build-litmus | |
make app-deploy | |
make pod-affected-perc-ton-series | |
- name: Deleting K3S cluster | |
if: always() | |
run: /usr/local/bin/k3s-uninstall.sh | |
Pod_Level_In_Parallel_Mode: | |
runs-on: ubuntu-latest | |
steps: | |
# Install golang | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: 1.18 | |
- uses: actions/checkout@v2 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Generating Go binary and Building docker image | |
run: | | |
make build-amd64 | |
#Install and configure a kind cluster | |
- name: Installing Prerequisites (K3S Cluster) | |
env: | |
KUBECONFIG: /etc/rancher/k3s/k3s.yaml | |
run: | | |
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.21.11+k3s1 sh -s - --docker --write-kubeconfig-mode 664 | |
kubectl wait node --all --for condition=ready --timeout=90s | |
kubectl get nodes | |
- uses: actions/checkout@v2 | |
with: | |
repository: 'litmuschaos/litmus-e2e' | |
ref: 'master' | |
- name: Running Pod level experiment with affected percentage 100 and in parallel mode | |
env: | |
GO_EXPERIMENT_IMAGE: litmuschaos/go-runner:ci | |
EXPERIMENT_IMAGE_PULL_POLICY: IfNotPresent | |
KUBECONFIG: /etc/rancher/k3s/k3s.yaml | |
run: | | |
make build-litmus | |
make app-deploy | |
make pod-affected-perc-ton-parallel | |
- name: Deleting K3S cluster | |
if: always() | |
run: /usr/local/bin/k3s-uninstall.sh | |
Node_Level_Tests: | |
runs-on: ubuntu-latest | |
steps: | |
# Install golang | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: 1.18 | |
- uses: actions/checkout@v2 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Generating Go binary and Building docker image | |
run: | | |
make build-amd64 | |
- name: Create KinD Cluster | |
run: kind create cluster --config build/kind-cluster/kind-config.yaml | |
- name: Configuring and testing the Installation | |
run: | | |
kubectl taint nodes kind-control-plane node-role.kubernetes.io/control-plane- | |
kubectl cluster-info --context kind-kind | |
kubectl wait node --all --for condition=ready --timeout=90s | |
kubectl get nodes | |
- name: Load image on the nodes of the cluster | |
run: | | |
kind load docker-image --name=kind litmuschaos/go-runner:ci | |
- uses: actions/checkout@v2 | |
with: | |
repository: 'litmuschaos/litmus-e2e' | |
ref: 'master' | |
- name: Setup litmus and deploy application | |
env: | |
KUBECONFIG: /home/runner/.kube/config | |
run: | | |
make build-litmus | |
make app-deploy | |
- name: Running Node Drain experiments | |
env: | |
GO_EXPERIMENT_IMAGE: litmuschaos/go-runner:ci | |
EXPERIMENT_IMAGE_PULL_POLICY: IfNotPresent | |
KUBECONFIG: /home/runner/.kube/config | |
run: make node-drain | |
- name: Running Node Taint experiments | |
if: always() | |
env: | |
GO_EXPERIMENT_IMAGE: litmuschaos/go-runner:ci | |
EXPERIMENT_IMAGE_PULL_POLICY: IfNotPresent | |
KUBECONFIG: /home/runner/.kube/config | |
run: make node-taint | |
- name: Deleting KinD cluster | |
if: always() | |
run: kind delete cluster |