# This is list of all default soft params, across reclass-system lvl.
# Please always include those 'init.yml', and don't use direct sub-lvls.
# Some rules approach:
# - Always use uniq names, which exactly identify key
# - Avoid any component intersection's
# - No if\else\whatever logic allowed.

classes:
- system.defaults.linux_system_repo
- system.defaults.openstack
- system.defaults.galera
- system.defaults.rabbitmq
- system.defaults.debmirror
- system.defaults.docker_images
- system.defaults.gerrit
- system.defaults.keepalived
- system.defaults.salt
- system.defaults.stacklight
parameters:
  _param:
    mcp_version: stable
    # Temporary link to mcp_version.
    # 'apt_mk_version' will be removed in q4
    apt_mk_version: ${_param:mcp_version}
    linux_system_architecture: amd64
    linux_system_repo_url: "http://mirror.mirantis.com/${_param:mcp_version}/"
    # linux globals
    banner_company_name: COMPANY_NAME
    motd_company_name: "${_param:banner_company_name}"
    ssh_banner_company_name: "${_param:banner_company_name}"
    # Openstack globals
    openstack_version: 'queens'
    # Docker artifact globals
    mcp_docker_registry: 'docker-prod-local.artifactory.mirantis.com'
    mcp_binary_registry: "https://${_param:mcp_docker_registry}/artifactory/binary-prod-local"
    # Other
    salt_control_xenial_image_backend: /var/lib/libvirt/images/backends/xenial.qcow2
    salt_control_trusty_image_backend: /var/lib/libvirt/images/backends/trusty.qcow2
    salt_minion_ca_host: cfg01.${_param:cluster_domain}
    # Make sure this global variable is defined everywhere, where used it is already set on cluster level
    cluster_public_host: '127.0.0.1'
    single_address: '127.0.0.1'
