Skip to content
Snippets Groups Projects
kolla 12.8 KiB
Newer Older
---
###############################################################################
# Kolla installation.

# Type of Kolla control installation. One of 'binary' or 'source'.
kolla_ctl_install_type: source

# Path to directory for kolla source code checkout.
kolla_source_path: "{{ source_checkout_path ~ '/kolla' }}"

# URL of Kolla source code repository if type is 'source'.
kolla_source_url: "https://git.openstack.org/openstack/kolla"

# Version (branch, tag, etc.) of Kolla source code repository if type is
# 'source'.
kolla_source_version: "stable/queens"
# Path to virtualenv in which to install kolla.
kolla_venv: "{{ virtualenv_path ~ '/kolla' }}"

# Path in which to generate kolla configuration.
kolla_build_config_path: "{{ config_path ~ '/kolla' }}"

###############################################################################
# Kolla-ansible installation.

# Type of Kolla-ansible control installation. One of 'binary' or 'source'.
kolla_ansible_ctl_install_type: source

# Path to directory for kolla-ansible source code checkout.
kolla_ansible_source_path: "{{ lookup('env', 'KOLLA_SOURCE_PATH') | default(lookup('env', 'PWD') ~ '/src/kolla-ansible', true) }}"

# URL of Kolla Ansible source code repository if type is 'source'.
kolla_ansible_source_url: "https://git.openstack.org/openstack/kolla-ansible"

# Version (branch, tag, etc.) of Kolla Ansible source code repository if type
# is 'source'.
kolla_ansible_source_version: "stable/queens"
# Path to virtualenv in which to install kolla-ansible.
kolla_ansible_venv: "{{ lookup('env', 'KOLLA_VENV_PATH') | default(lookup('env', 'PWD') ~ '/venvs/kolla-ansible', true) }}"
# Path to Kolla-ansible configuration directory.
kolla_config_path: "{{ lookup('env', 'KOLLA_CONFIG_PATH') | default('/etc/kolla', true) }}"
# Path to Kolla-ansible node custom configuration directory.
kolla_node_custom_config_path: "{{ kolla_config_path }}/config"

###############################################################################
# Kolla configuration.

# Kolla base container image distribution.
kolla_base_distro: "centos"

# Kolla installation type: binary or source.
kolla_install_type: "binary"

# Docker namespace to use for Kolla images.
kolla_docker_namespace: "kolla"
# Url of docker registry to use for Kolla images.
kolla_docker_registry:

ktibi's avatar
ktibi committed
# Username to use to access a docker registry.
ktibi's avatar
ktibi committed
kolla_docker_registry_username:
ktibi's avatar
ktibi committed

# Password to use to access a docker registry.
ktibi's avatar
ktibi committed
kolla_docker_registry_password:
ktibi's avatar
ktibi committed

# Kolla OpenStack release version. This should be a Docker image tag.
kolla_openstack_release: "queens"
# Dict mapping names of sources to their definitions for
# kolla_install_type=source. See kolla.common.config for details.
# Example:
# kolla_sources:
#   ironic_base:
#     type: git
#     location: https://github.com/openstack/ironic
#     reference: master
kolla_sources:
  bifrost-base:
    type: "git"
    location: "{{ kolla_bifrost_source_url }}"
    reference: "{{ kolla_bifrost_source_version }}"
###############################################################################
# Kolla image build configuration.

# List of regular expressions matching names of container images to build for
# the seed.
seed_container_image_regex_map:
  - regex: bifrost
    enabled: True

# List of regular expressions matching names of container images to build for
# the seed.
seed_container_image_regexes: "{{ seed_container_image_regex_map | selectattr('enabled') | map(attribute='regex') | list }}"

# List of container image sets for the seed. This is used when building
# container images to determine which images to build.
seed_container_image_sets:
  - type: source
    regexes: "{{ seed_container_image_regexes | join(' ') }}"

# List of regular expressions matching names of container images to build for
# overcloud hosts.
overcloud_container_image_regex_map:
  - regex: aodh
    enabled: "{{ kolla_enable_aodh | bool }}"
  - regex: barbican
    enabled: "{{ kolla_enable_barbican | bool }}"
  - regex: ceilometer
    enabled: "{{ kolla_enable_ceilometer | bool }}"
  - regex: ceph
    enabled: "{{ kolla_enable_ceph | bool }}"
    enabled: "{{ kolla_enable_cinder | bool }}"
Kevin TIBI's avatar
Kevin TIBI committed
  - regex: collectd
    enabled: "{{ kolla_enable_collectd | bool }}"
  - regex: designate
    enabled: "{{ kolla_enable_designate | bool }}"
    enabled: "{{ kolla_enable_ironic | bool }}"
  - regex: elasticsearch
    enabled: "{{ kolla_enable_elasticsearch | bool }}"
  - regex: etcd
    enabled: "{{ kolla_enable_etcd | bool }}"
  - regex: fluentd
    enabled: True
  - regex: glance
    enabled: "{{ kolla_enable_glance | bool }}"
  - regex: grafana
    enabled: "{{ kolla_enable_grafana | bool }}"
  - regex: gnocchi
    enabled: "{{ kolla_enable_gnocchi | bool }}"
  - regex: ^haproxy$
    enabled: "{{ kolla_enable_haproxy | bool }}"
    enabled: "{{ kolla_enable_heat | bool }}"
    enabled: "{{ kolla_enable_horizon | bool }}"
  - regex: influxdb
    enabled: "{{ kolla_enable_influxdb | bool }}"
  - regex: ironic
    enabled: "{{ kolla_enable_ironic | bool }}"
  - regex: iscsid
    enabled: "{{ kolla_enable_cinder | bool or kolla_enable_ironic | bool }}"
  - regex: kafka
    enabled: "{{ kolla_enable_kafka | bool }}"
    enabled: "{{ kolla_enable_haproxy | bool }}"
  - regex: kibana
    enabled: "{{ kolla_enable_kibana | bool }}"
  - regex: kolla-toolbox
    enabled: True
  - regex: magnum
    enabled: "{{ kolla_enable_magnum | bool }}"
  - regex: manila
    enabled: "{{ kolla_enable_manila | bool }}"
  - regex: mariadb
    enabled: "{{ kolla_enable_mariadb | bool }}"
  - regex: murano
    enabled: "{{ kolla_enable_murano | bool }}"
  - regex: mariadb
    enabled: True
  - regex: memcached
    enabled: True
  - regex: neutron-server
    enabled: "{{ kolla_enable_neutron | bool }}"
  # Neutron SFC agent not currently supported on CentOS binary builds.
  - regex: "neutron-\\(dhcp\\|l3\\|metadata\\|openvswitch\\)-agent"
    enabled: "{{ kolla_enable_neutron | bool }}"
  - regex: neutron-lbaas-agent
    enabled: "{{ kolla_enable_neutron_lbaas | bool }}"
    enabled: "{{ kolla_enable_nova | bool }}"
    enabled: "{{ kolla_enable_neutron | bool }}"
  - regex: sahara
    enabled: "{{ kolla_enable_sahara | bool }}"
  - regex: skydive
    enabled: "{{ kolla_enable_skydive | bool }}"
  - regex: swift
    enabled: "{{ kolla_enable_swift | bool }}"
  - regex: telegraf
    enabled: "{{ kolla_enable_telegraf | bool }}"
    enabled: "{{ kolla_enable_cinder | bool or kolla_enable_ironic | bool }}"
  - regex: zookeeper
    enabled: "{{ kolla_enable_zookeeper | bool or kolla_enable_kafka | bool }}"

# List of regular expressions matching names of container images to build for
# overcloud hosts.
overcloud_container_image_regexes: "{{ overcloud_container_image_regex_map | selectattr('enabled') | map(attribute='regex') | list }}"
# List of container image sets for overcloud hosts. This is used when building
# container images to determine which images to build.
overcloud_container_image_sets:
  - regexes: "{{ overcloud_container_image_regexes | join(' ') }}"
# Dict mapping Jinja2 block names in kolla's Docker images to their contents.
kolla_build_blocks: {}

# Dict mapping image customization variable names to their values.
# Each variable takes the form:
# <image name>_<customization>_<operation>
# Hyphens in the image name are replaced with underscores. The customization is
# most commonly packages. The operation should be one of override, append or
# remove. The value should be a list.
kolla_build_customizations: {}

###############################################################################
# Kolla-ansible inventory configuration.

# Full custom seed inventory contents.
kolla_seed_inventory_custom:

# Custom overcloud inventory containing a mapping from top level groups to
# hosts.
kolla_overcloud_inventory_custom_top_level:

# Custom overcloud inventory containing a mapping from components to top level
# groups.
kolla_overcloud_inventory_custom_components:

# Custom overcloud inventory containing a mapping from services to components.
kolla_overcloud_inventory_custom_services:

# Full custom overcloud inventory contents. By default this will be the
# concatenation of the top level, component, and service inventories.
kolla_overcloud_inventory_custom:

# List of groups mapped to kolla storage group.
kolla_overcloud_inventory_storage_groups:
  - "storage"

# Dict mapping from kolla-ansible groups to kayobe groups and variables. Each
# item is a dict with the following items:
# * groups: A list of kayobe ansible groups to map to this kolla-ansible group.
# * vars: A dict mapping variable names to values for hosts in this
#         kolla-ansible group.
kolla_overcloud_inventory_top_level_group_map:
  control:
    groups:
      - controllers
  network:
    groups:
      - network
  storage:
    groups:
      "{{ kolla_overcloud_inventory_storage_groups }}"

# List of names of top level kolla-ansible groups. Any of these groups which
# have no hosts mapped to them will be provided with an empty group definition.
kolla_overcloud_inventory_kolla_top_level_groups:
  - "control"
  - "network"
  - "inner-compute"
  - "external-compute"
###############################################################################
# Kolla-ansible configuration.

# Virtualenv directory where Kolla-ansible's ansible modules will execute
# remotely on the target nodes. If None, no virtualenv will be used.
kolla_ansible_target_venv: "{{ virtualenv_path ~ '/kolla-ansible' }}"

# Password to use to encrypt the kolla-ansible passwords.yml file.
kolla_ansible_vault_password: "{{ lookup('env', 'KAYOBE_VAULT_PASSWORD') | default }}"
# Whether TLS is enabled for the external API endpoints.
kolla_enable_tls_external: "no"

# Whether debug logging is enabled.
kolla_openstack_logging_debug: "False"

# Upper constraints file for installation of Kolla.
kolla_upper_constraints_file: "https://raw.githubusercontent.com/openstack/requirements/stable/queens/upper-constraints.txt"
###############################################################################
# Kolla feature flag configuration.

kolla_enable_aodh: "no"
kolla_enable_barbican: "no"
kolla_enable_central_logging: "no"
kolla_enable_ceph: "no"
kolla_enable_ceilometer: "no"
kolla_enable_cinder: "no"
Kevin TIBI's avatar
Kevin TIBI committed
kolla_enable_collectd: "no"
kolla_enable_designate: "no"
kolla_enable_elasticsearch: "{{ 'yes' if kolla_enable_central_logging | bool or kolla_enable_freezer | bool or kolla_enable_osprofiler | bool or kolla_enable_skydive | bool else 'no' }}"
kolla_enable_etcd: "no"
kolla_enable_freezer: "no"
kolla_enable_glance: "yes"
kolla_enable_grafana: "no"
kolla_enable_gnocchi: "no"
kolla_enable_haproxy: "yes"
kolla_enable_heat: "yes"
kolla_enable_horizon: "yes"
kolla_enable_influxdb: "no"
kolla_enable_ironic: "yes"
kolla_enable_ironic_ipxe: "no"
kolla_enable_kafka: "no"
kolla_enable_kibana: "{{ 'yes' if kolla_enable_central_logging | bool else 'no' }}"
kolla_enable_magnum: "no"
kolla_enable_manila: "no"
kolla_enable_mariadb: "yes"
# Support for Monasca in Kolla is a work in progress. This currently relies
# on an out-of-band Monasca installation.
kolla_enable_monasca: "no"
kolla_enable_murano: "no"
kolla_enable_neutron: "yes"
kolla_enable_neutron_lbaas: "no"
kolla_enable_neutron_provider_networks: "no"
kolla_enable_nova: "yes"
kolla_enable_osprofiler: "no"
kolla_enable_sahara: "no"
kolla_enable_skydive: "no"
Mark Goddard's avatar
Mark Goddard committed
kolla_enable_swift: "no"
kolla_enable_telegraf: "no"
kolla_enable_zookeeper: "{{ 'yes' if kolla_enable_kafka | bool else 'no' }}"

###############################################################################
# Passwords and credentials.

# Dictionary containing default custom passwords to add or override in the
# Kolla passwords file.
kolla_ansible_default_custom_passwords:
  # SSH key authorized in hosts deployed by Bifrost.
  bifrost_ssh_key:
    private_key: "{{ lookup('file', ssh_private_key_path) }}"
    public_key: "{{ lookup('file', ssh_public_key_path) }}"
  # SSH key authorized by kolla user on Kolla hosts during
  # kolla-ansible bootstrap-servers.
  kolla_ssh_key:
    private_key: "{{ lookup('file', ssh_private_key_path) }}"
    public_key: "{{ lookup('file', ssh_public_key_path) }}"

# Dictionary containing custom passwords to add or override in the Kolla
# passwords file.
kolla_ansible_custom_passwords: "{{ kolla_ansible_default_custom_passwords }}"

###############################################################################
# TLS certificate bundle management

# Optionally copy a TLS certificate bundle into place.
#
# When enabled, this will copy the contents of kolla_tls_cert into place for
# use by HAProxy
#
# Note that this should be formatted as a literal style block scalar.
kolla_tls_cert: