apiVersion: litmuschaos.io/v1alpha1
description:
  message: |
    Give IO disk stress on a node belonging to a deployment
kind: ChaosExperiment
metadata:
  name: node-io-stress
  labels:
    name: node-io-stress
    app.kubernetes.io/part-of: litmus
    app.kubernetes.io/component: chaosexperiment
    app.kubernetes.io/version: latest
spec:
  definition:
    scope: Cluster
    permissions:
      - apiGroups:
          - ""
          - "batch"
          - "litmuschaos.io"
        resources:
          - "jobs"
          - "pods"
          - "pods/log"
          - "pods/exec"
          - "events"
          - "chaosengines"
          - "chaosexperiments"
          - "chaosresults"
        verbs:
          - "create"
          - "list"
          - "get"
          - "patch"
          - "update"
          - "delete"
          - "deletecollection"
      - apiGroups:
          - ""
        resources: 
          - "nodes"
        verbs:
          - "get"
          - "list"
    image: "litmuschaos/go-runner:latest"
    imagePullPolicy: Always
    args:
    - -c
    - ./experiments -name node-io-stress
    command:
    - /bin/bash
    env:

    - name: TOTAL_CHAOS_DURATION
      value: '120'

    ## specify the size as percentage of free space on the file system
    ## default value 90 (in percentage)
    - name: FILESYSTEM_UTILIZATION_PERCENTAGE
      value: '10'

    ## we can specify the size in Gigabyte (Gb) also in place of percentage of free space
    ## NOTE: for selecting this option FILESYSTEM_UTILIZATION_PERCENTAGE should be empty
    - name: FILESYSTEM_UTILIZATION_BYTES
      value: ''

    ## Number of core of CPU
    - name: CPU
      value: '1'      

    ## Total number of workers default value is 4
    - name: NUMBER_OF_WORKERS
      value: '4'

    ## Total number of vm workers
    - name: VM_WORKERS
      value: '1'

    ## enter the comma separated target nodes name
    - name: TARGET_NODES
      value: ''    

    # Period to wait before and after injection of chaos in sec
    - name: RAMP_TIME
      value: ''

    # Provide the LIB here
    # Only litmus supported
    - name: LIB
      value: 'litmus'

    # provide lib image
    - name: LIB_IMAGE
      value: 'litmuschaos/go-runner:latest' 

    ## percentage of total nodes to target
    - name: NODES_AFFECTED_PERC
      value: ''

    ## it defines the sequence of chaos execution for multiple target nodes
    ## supported values: serial, parallel
    - name: SEQUENCE
      value: 'parallel'
      
    labels:
      name: node-io-stress
      app.kubernetes.io/part-of: litmus
      app.kubernetes.io/component: experiment-job
      app.kubernetes.io/version: latest
