Add a new testcase leveraging on xrally/kubernetes
[functest-kubernetes.git] / functest_kubernetes / rally / all-in-one.yaml
diff --git a/functest_kubernetes/rally/all-in-one.yaml b/functest_kubernetes/rally/all-in-one.yaml
new file mode 100644 (file)
index 0000000..134c9f5
--- /dev/null
@@ -0,0 +1,386 @@
+---
+version: 2
+title: All in one tasks for checking basic functionality of Kubernetes cluster
+subtasks:
+
+  - title: Run a single workload with listing existing kubernetes namespaces
+    scenario:
+      Kubernetes.list_namespaces: {}
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+
+  - title: Run a single workload with create/read/delete namespace
+    scenario:
+      Kubernetes.create_and_delete_namespace: {}
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+
+  - title: Run a single workload with create/read/delete pod
+    scenario:
+      Kubernetes.create_and_delete_pod:
+        image: kubernetes/pause
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/read/delete replication controller
+    scenario:
+      Kubernetes.create_and_delete_replication_controller:
+        image: kubernetes/pause
+        replicas: 2
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/scale/delete replication controller
+    scenario:
+      Kubernetes.create_scale_and_delete_replication_controller:
+        image: kubernetes/pause
+        replicas: 2
+        scale_replicas: 3
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/read/delete replicaset
+    scenario:
+      Kubernetes.create_and_delete_replicaset:
+        image: kubernetes/pause
+        replicas: 1
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/scale/delete replicaset
+    scenario:
+      Kubernetes.create_scale_and_delete_replicaset:
+        image: kubernetes/pause
+        replicas: 1
+        scale_replicas: 2
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title:
+      Run a single workload with create/read/delete pod with emptyDir volume
+    scenario:
+      Kubernetes.create_and_delete_pod_with_emptydir_volume:
+        image: kubernetes/pause
+        mount_path: /opt/check
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: >-
+      Run a single workload with create/read/check/delete pod with emptyDir
+      volume
+    scenario:
+      Kubernetes.create_and_delete_pod_with_emptydir_volume:
+        image: busybox
+        command:
+          - sleep
+          - "3600"
+        mount_path: /opt/check
+        check_cmd:
+          - ls
+          - /opt/check
+        error_regexp: No such file
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/read/delete pod with secret volume
+    scenario:
+      Kubernetes.create_and_delete_pod_with_secret_volume:
+        image: busybox
+        command:
+          - sleep
+          - "3600"
+        mount_path: /opt/check
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/check/delete pod with secret volume
+    scenario:
+      Kubernetes.create_and_delete_pod_with_secret_volume:
+        image: busybox
+        command:
+          - sleep
+          - "3600"
+        mount_path: /opt/check
+        check_cmd:
+          - ls
+          - /opt/check
+        error_regexp: No such file
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: >-
+      Run a single workload with create/read/check/delete pod with hostPath
+      volume
+    scenario:
+      Kubernetes.create_and_delete_pod_with_hostpath_volume:
+        image: busybox
+        command:
+          - sleep
+          - "3600"
+        mount_path: /opt/check
+        check_cmd:
+          - ls
+          - /opt/check
+        error_regexp: No such file
+        volume_type: Directory
+        volume_path: /tmp/
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title:
+      Run a single workload with create/read/delete pod with configMap volume
+    scenario:
+      Kubernetes.create_and_delete_pod_with_configmap_volume:
+        image: busybox
+        command:
+          - "sleep"
+          - "3600"
+        mount_path: /var/log/check.txt
+        subpath: check.txt
+        configmap_data:
+          check.txt: |
+            test
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: >-
+      Run a single workload with create/read/check/delete pod with configMap
+      volume
+    scenario:
+      Kubernetes.create_and_delete_pod_with_configmap_volume:
+        image: busybox
+        command:
+          - "sleep"
+          - "3600"
+        mount_path: /var/log/check.txt
+        subpath: check.txt
+        configmap_data:
+          check.txt: |
+            test
+        check_cmd:
+          - cat
+          - /var/log/check.txt
+        error_regexp: No such file
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/read/delete deployment
+    scenario:
+      Kubernetes.create_and_delete_deployment:
+        image: kubernetes/pause
+        replicas: 2
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/rollout/delete deployment
+    scenario:
+      Kubernetes.create_rollout_and_delete_deployment:
+        image: busybox
+        replicas: 1
+        command:
+          - sleep
+          - "3600"
+        env:
+          - name: "UPD"
+            value: "false"
+        changes:
+          env:
+            - name: "UPD"
+              value: "true"
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/read/delete statefulset
+    scenario:
+      Kubernetes.create_and_delete_statefulset:
+        image: kubernetes/pause
+        replicas: 2
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/scale/delete statefulset
+    scenario:
+      Kubernetes.create_scale_and_delete_statefulset:
+        image: kubernetes/pause
+        replicas: 1
+        scale_replicas: 2
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/read/delete job
+    scenario:
+      Kubernetes.create_and_delete_job:
+        image: busybox
+        command:
+          - echo
+          - "SUCCESS"
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/check/delete clusterIP service
+    scenario:
+      Kubernetes.create_check_and_delete_pod_with_cluster_ip_service:
+        image: gcr.io/google-samples/hello-go-gke:1.0
+        port: 80
+        protocol: TCP
+    runner:
+      constant:
+        concurrency: 1
+        times: 2
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/check/delete daemonset
+    scenario:
+      Kubernetes.create_check_and_delete_daemonset:
+        image: kubernetes/pause
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: >-
+      Run a single workload with create/check/delete clusterIP service with
+      custom endpoint
+    scenario:
+      Kubernetes.create_check_and_delete_pod_with_cluster_ip_service:
+        image: gcr.io/google-samples/hello-go-gke:1.0
+        port: 80
+        protocol: TCP
+        custom_endpoint: true
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true
+
+  - title: Run a single workload with create/check/delete NodePort service
+    scenario:
+      Kubernetes.create_check_and_delete_pod_with_node_port_service:
+        image: gcr.io/google-samples/hello-go-gke:1.0
+        port: 80
+        protocol: TCP
+        request_timeout: 10
+    runner:
+      constant:
+        concurrency: 1
+        times: 1
+    contexts:
+      namespaces:
+        count: 3
+        with_serviceaccount: true