apiVersion: api/v1
kind: Plan
name: arm64-perftest-ycsb-hybrid-001
#schedule: "@daily"
tags: []
testbed:
  generateName: perftest-ycsb-hybrid-001
  resourcePool: benchbot-arm64
  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: "20"
            storage: 1500Gi

        securityContext:
          capabilities:
            add: ["SYS_ADMIN", "SYS_PTRACE", "NET_ADMIN"]
        nodeSelector:         # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
          kubernetes.io/hostname: 172.16.6.62
        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.6.63
        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.6.64
        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.6.65
        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.6.63
        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.6.64
        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.6.65
        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: 8Gi
            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.6.62
        volumeMount:         # NOTE: 额外挂载一个 nvme 盘的目录
          mountPath: "/tiup"
  - name: toolset
    type: WORKLOAD_NODE
    spec:
      container:
        name: go-tpc
        image: hub-new.pingcap.net/perf_testing/bench-toolset-arm64:latest
        command:
        - tail
        - "-f"
        - "/dev/null"
        resources:
        requests:
          memory: 8Gi
          cpu: "12"
        nodeSelector:         # NOTE: 可选择运行节点, 等效于 k8s 的 nodeSelector
          kubernetes.io/hostname: 172.16.6.62
pipeline:
- name: endless-parameterized-describe
  caseName: arm64-ycsb-hybrid
  arguments:
  - name: tiup
    value: "{{testbed.tiup}}"
  - name: toolset
    value: "{{testbed.toolset}}"
  - name: lb
    value: "{{testbed.lb}}"
failFast: false
