#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

common:
  kubeconfigfile: $HOME/.kube/config
  schedulername: yunikorn
  maxwaitseconds: 600
  queue: root.default
  namespace: default
  outputrootpath: /tmp
  podtemplatespec:
    objectmeta:
      annotations:
        kubernetes.docker.network.type: HOST
#  nodeselector: 'partition=blink-ut'
  podspec:
    hostnetwork: true
    containers:
      - name: curl-test
        image: curlimages/curl
        command: ['sh', '-c', 'sleep 3600']
        imagepullpolicy: IfNotPresent
#    nodeselector:
#      partition: blink-ut
    tolerations:
      - key: "partition"
        operator: "Equal"
        value: "blink-ut"
        effect: "NoSchedule"

scenarios:
  throughput:
    schedulerNames:
#      - yunikorn
      - default-scheduler
    showNumOfLastTasks: 0
    cleanUpDelayMs: 0
    cases:
      - description: simple-case
        requestConfigs:
          - numPods: 50
            repeat: 1
            requestResources:
              cpu: 100m
              memory: 500Mi
            limitResources:
              cpu: 200m
              memory: 1000Mi
      - description: simple-case-2
        requestConfigs:
          - numPods: 50
            repeat: 2
            requestResources:
              cpu: 100m
              memory: 500Mi
            limitResources:
              cpu: 200m
              memory: 1000Mi
  e2e_perf:
    showNumOfLastTasks: 3
    cleanUpDelayMs: 0
    cases:
      - description: simple-case
        schedulerName: default-scheduler
        requestConfigs:
          - numPods: 5
            repeat: 2
            requestResources:
              cpu: 100m
              memory: 500Mi
            limitResources:
              cpu: 200m
              memory: 1000Mi
  node_fairness:
    schedulerNames:
#      - yunikorn
      - default-scheduler
    cases:
      - numPodsPerNode: 5
        allocatePercentage: 80
        resourceName: "cpu"
