apiVersion: api/v1
kind: Plan
name: binlog-compatability
type: ONE_SHOT
testbed:
    resourcePool: brie
    generateName: testbed-binlog-
    items:
        - name: upstream
          type: TIDB_CLUSTER
          spec:
              pd:
                  replicas: 1
                  baseImage: hub-new.pingcap.net/qa/pd
                  config: |
                      [log]
                      level = "info"
              tidb:
                  replicas: 1
                  baseImage: hub-new.pingcap.net/qa/tidb:master
                  config: |
                      [log]
                      # Log level: debug, info, warn, error, fatal.
                      level = "info"
              tikv:
                  replicas: 1
                  baseImage: hub-new.pingcap.net/qa/tikv:master
                  config: |
                      log-level = "info"
                      [storage]
                      reserve-space = "0MB"
              pump:
                  baseImage: hub.pingcap.net/qa/tidb-binlog:master
                  replicas: 1
                  requests:
                      storage: 30Gi
                  config: |
                      addr = "0.0.0.0:8250"
                      gc = 7
                      heartbeat-interval = 2
        - name: downstream
          type: TIDB_CLUSTER
          spec:
              version: master
              pd:
                  replicas: 1
                  baseImage: hub-new.pingcap.net/qa/pd
                  config: |
                      [log]
                      level = "info"
              tidb:
                  replicas: 1
                  baseImage: hub-new.pingcap.net/qa/tidb
                  config: |
                      [log]
                      # Log level: debug, info, warn, error, fatal.
                      level = "info"
              tikv:
                  replicas: 1
                  baseImage: hub-new.pingcap.net/qa/tikv
                  config: |
                      log-level = "info"
                      [storage]
                      reserve-space = "0MB"
        - name: upstream-drainer
          type: TIDB_DRAINER
          spec:
              clusterVersion: master
              clusterName: upstream
              baseImage: hub.pingcap.net/qa/tidb-binlog
              storage: 10Gi
              initialCommitTs: "-1"
              resources:
                  requests:
                      cpu: "2000m"
                      memory: "4Gi"
              config: |
                  detect-interval = 10
                  [syncer]
                  worker-count = 16
                  txn-batch = 20
                  disable-dispatch = false
                  ignore-schemas = "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql"
                  safe-mode = false
                  db-type = "tidb"
                  [syncer.to]
                  host = "downstream-tidb"
                  user = "root"
                  password = ""
                  port = 4000
        - name: workload
          type: WORKLOAD_NODE
          spec:
              container:
                  name: sysbench
                  image: registry-mirror.pingcap.net/perconalab/sysbench
                  command:
                      - tail
                      - "-f"
                      - "/dev/null"
                  resources:
                      requests:
                          memory: 1Gi
                          cpu: 1000m

steps:
    -   name: binlog-compatability
        caseName: binlog_compatability
        arguments:
            -   name: upstream
                value: '{{testbed.upstream}}'
            -   name: downstream
                value: '{{testbed.downstream}}'
            -   name: workload
                value: '{{testbed.workload}}'
            -   name: upstreamdrainer
                value: '{{testbed.upstream-drainer}}'
failFast: false