---
# MANDATORY: Credentials for Salt Master
# SALT_URL should consist of url and port.
# For example: http://10.0.0.1:6969
# 6969 - default Salt Master port to listen
# Can be found on cfg* node using
# "salt-call pillar.get _param:salt_master_host"
# and "salt-call pillar.get _param:salt_master_port"
# or "salt-call pillar.get _param:jenkins_salt_api_url"
# SALT_USERNAME by default: salt
# It can be verified with "salt-call shadow.info salt"
# SALT_PASSWORD you can find on cfg* node using
# "salt-call pillar.get _param:salt_api_password"
# or "grep -r salt_api_password /srv/salt/reclass/classes"
SALT_URL: <salt_url>
SALT_USERNAME: <salt_usr>
SALT_PASSWORD: <salt_pwd>

# How many seconds to wait for salt-minion to respond
salt_timeout: 1

# List of nodes (full fqdn) to skip in ALL tests
# Use as env variable as
# export skipped_nodes=mtr01.local,log02.local
# TEMPORARY: please do not comment this setting.
skipped_nodes: [""]

# List of groups (short name, e.g. dbs) to skip in group tests
# Use as env variable as
# export skipped_groups=mtr,log
# TEMPORARY: please do not comment this setting.
skipped_groups: [""]

# Groups can be defined using pillars.
# Uncomment this section to enable this.
# Otherwise groups will be discovered automaticaly
# Tips:
# 1) you don't need to separate kvm and kvm_glusterfs nodes
# 2) Use I@pillar or mask like ctl* for targetting nodes

groups: {
         cmp: 'I@nova:compute',
         ctl: 'I@keystone:server',
         msg: 'I@rabbitmq:server',
         dbs: 'I@galera:*',
         prx: 'I@nginx:server',
         mon: 'I@prometheus:server and not I@influxdb:server',
         log: 'I@kibana:server',
         mtr: 'I@influxdb:server',
         kvm: 'I@salt:control',
         cid: 'I@docker:host and not I@prometheus:server and not I@kubernetes:*',
         ntw: 'I@opencontrail:database',
         ceph_mon: 'I@ceph:mon',
         ceph_osd: 'I@ceph:osd',
         k8-ctl: 'I@etcd:server',
         k8-cmp: 'I@kubernetes:* and not I@etcd:*',
         cfg: 'I@salt:master',
         gtw: 'I@neutron:gateway'
}

# mtu test setting
# this test may skip groups (see example)
test_mtu:
  { #"skipped_groups": ["dbs"]
    "skipped_ifaces": ["bonding_masters", "lo", "veth", "tap", "cali", "qv", "qb", "br-int", "vxlan"]}
# mask for interfaces to skip

# test duplicate ips
# do not comment this section
test_duplicate_ips:
  {
    "skipped_ifaces": ["lo", "virbr0", "docker_gwbridge", "docker0"]}

# specify what mcp version (tag) is deployed
drivetrain_version: ''

# jenkins job to run during the test
jenkins_test_job: 'DT-test-job'
jenkins_cvp_job: 'cvp-sanity'

# ntp test setting
# this test may skip specific node (use fqdn)
ntp_skipped_nodes: [""]

# packages need to skip in
# test_check_package_versions
skipped_packages: [""]
# test_check_module_versions
skipped_modules: [""]
# test_check_services
skipped_services: [""]

