apiVersion: api/v1
kind: Plan
name: perftest-sysbench-partition-001
schedule: ""
tags: []
testbed:
  generateName: perftest-sysbench-partition-001
  resourcePool: benchbot_external
  reclaimPolicy:
    gcStrategy:
      onFailure:
        artifact:
          monitor: true
          log: true
      onSuccess:
        artifact:
          monitor: true
          log: true
  items:
    - name: tiup
      type: WORKLOAD_NODE # 测试资源类型: WORKLOAD_NODE
      spec:
          artifact:
              artifactPaths: # NOTE: 测试结束后会打包的目录, 每个目录一个 tarball 传到 minio
                  - /tiup/data/prometheus-9090
                  - /home/root/.tiup/logs
          container:
              name: node
              image: hub.pingcap.net/qa/base-image
              imagePullPolicy: Always
              storageClassName: fast-disks
              resources:
                  requests:
                      memory: 16Gi
                      cpu: "12"
                      storage: 1500Gi

              securityContext:
                  capabilities:
                      add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
              nodeSelector: # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
                  kubernetes.io/hostname: 172.16.5.73
              volumeMount: # NOTE: 额外挂载一个 nvme 盘的目录
                  mountPath: "/tiup"
    - name: lb
      type: LOADBALANCER
      spec:
          selector:
              workload-app: tidb
          port: 4000
    - name: tidb-1
      type: WORKLOAD_NODE # 测试资源类型: WORKLOAD_NODE
      spec:
          artifact:
              artifactPaths: # NOTE: 测试结束后会打包的目录, 每个目录一个 tarball 传到 minio
                  - /tiup/deploy/tidb-4000/log
          container:
              name: node
              image: hub.pingcap.net/qa/base-image
              imagePullPolicy: Always
              labels:
                  workload-app: tidb
              storageClassName: fast-disks
              resources:
                  requests:
                      memory: 48Gi
                      cpu: "16"
                      storage: 20Gi

              securityContext:
                  capabilities:
                      add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
              nodeSelector: # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
                  kubernetes.io/hostname: 172.16.4.83
              volumeMount: # NOTE: 额外挂载一个 nvme 盘的目录
                  mountPath: "/tiup"
    - name: tidb-2
      type: WORKLOAD_NODE # 测试资源类型: WORKLOAD_NODE
      spec:
          artifact:
              artifactPaths: # NOTE: 测试结束后会打包的目录, 每个目录一个 tarball 传到 minio
                  - /tiup/deploy/tidb-4000/log
          container:
              name: node
              image: hub.pingcap.net/qa/base-image
              imagePullPolicy: Always
              labels:
                  workload-app: tidb
              storageClassName: fast-disks
              resources:
                  requests:
                      memory: 48Gi
                      cpu: "16"
                      storage: 20Gi

              securityContext:
                  capabilities:
                      add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
              nodeSelector: # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
                  kubernetes.io/hostname: 172.16.4.92
              volumeMount: # NOTE: 额外挂载一个 nvme 盘的目录
                  mountPath: "/tiup"
    - name: tidb-3
      type: WORKLOAD_NODE # 测试资源类型: WORKLOAD_NODE
      spec:
          artifact:
              artifactPaths: # NOTE: 测试结束后会打包的目录, 每个目录一个 tarball 传到 minio
                  - /tiup/deploy/tidb-4000/log
          container:
              name: node
              image: hub.pingcap.net/qa/base-image
              imagePullPolicy: Always
              labels:
                  workload-app: tidb
              storageClassName: fast-disks
              resources:
                  requests:
                      memory: 48Gi
                      cpu: "16"
                      storage: 20Gi

              securityContext:
                  capabilities:
                      add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
              nodeSelector: # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
                  kubernetes.io/hostname: 172.16.5.72
              volumeMount: # NOTE: 额外挂载一个 nvme 盘的目录
                  mountPath: "/tiup"
    - name: tikv-1
      type: WORKLOAD_NODE # 测试资源类型: WORKLOAD_NODE
      spec:
          artifact:
              artifactPaths: # NOTE: 测试结束后会打包的目录, 每个目录一个 tarball 传到 minio
                  - /tiup/deploy/tikv-20160/log
          container:
              name: node
              image: hub.pingcap.net/qa/base-image
              imagePullPolicy: Always
              storageClassName: fast-disks
              resources:
                  requests:
                      memory: 48Gi
                      cpu: "16"
                      storage: 1500Gi

              securityContext:
                  capabilities:
                      add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
              nodeSelector: # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
                  kubernetes.io/hostname: 172.16.4.83
              volumeMount: # NOTE: 额外挂载一个 nvme 盘的目录
                  mountPath: "/tiup"
    - name: tikv-2
      type: WORKLOAD_NODE # 测试资源类型: WORKLOAD_NODE
      spec:
          artifact:
              artifactPaths: # NOTE: 测试结束后会打包的目录, 每个目录一个 tarball 传到 minio
                  - /tiup/deploy/tikv-20160/log
          container:
              name: node
              image: hub.pingcap.net/qa/base-image
              imagePullPolicy: Always
              storageClassName: fast-disks
              resources:
                  requests:
                      memory: 48Gi
                      cpu: "16"
                      storage: 1500Gi

              securityContext:
                  capabilities:
                      add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
              nodeSelector: # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
                  kubernetes.io/hostname: 172.16.4.92
              volumeMount: # NOTE: 额外挂载一个 nvme 盘的目录
                  mountPath: "/tiup"
    - name: tikv-3
      type: WORKLOAD_NODE # 测试资源类型: WORKLOAD_NODE
      spec:
          artifact:
              artifactPaths: # NOTE: 测试结束后会打包的目录, 每个目录一个 tarball 传到 minio
                  - /tiup/deploy/tikv-20160/log
          container:
              name: node
              image: hub.pingcap.net/qa/base-image
              imagePullPolicy: Always
              storageClassName: fast-disks
              resources:
                  requests:
                      memory: 48Gi
                      cpu: "16"
                      storage: 1500Gi

              securityContext:
                  capabilities:
                      add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
              nodeSelector: # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
                  kubernetes.io/hostname: 172.16.5.72
              volumeMount: # NOTE: 额外挂载一个 nvme 盘的目录
                  mountPath: "/tiup"
    - name: pd
      type: WORKLOAD_NODE # 测试资源类型: WORKLOAD_NODE
      spec:
          container:
              name: node
              image: hub.pingcap.net/qa/base-image
              imagePullPolicy: Always
              resources:
                  requests:
                      memory: 16Gi
                      cpu: "4"
                      storage: 20Gi
              storageClassName: fast-disks
              securityContext:
                  capabilities:
                      add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
              nodeSelector: # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
                  kubernetes.io/hostname: 172.16.5.73
              volumeMount: # NOTE: 额外挂载一个 nvme 盘的目录
                  mountPath: "/tiup"
    - name: toolset
      type: WORKLOAD_NODE
      spec:
          container:
              name: go-tpc
              image: hub-new.pingcap.net/perf_testing/bench-toolset:latest
              command:
              - tail
              - "-f"
              - "/dev/null"
              resources:
              requests:
                  memory: 16Gi
                  cpu: "8"
              nodeSelector: # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
                  kubernetes.io/hostname: 172.16.5.73
pipeline:
  - name: endless-parameterized-describe
    caseName: sysbench-partition
    arguments:
      - name: tiup
        value: "{{testbed.tiup}}"
      - name: toolset
        value: "{{testbed.toolset}}"
      - name: lb
        value: "{{testbed.lb}}"
failFast: false