262 lines
7.2 KiB
Django/Jinja
262 lines
7.2 KiB
Django/Jinja
---
|
|
{% if ansible_os_family == 'Debian' %}
|
|
# Force the use of python3 on Debian and Ubuntu remote hosts. These distros
|
|
# typically have an unversioned Python interpreter which links to python2.7.
|
|
ansible_python_interpreter: /usr/bin/python3
|
|
{% endif %}
|
|
|
|
kolla_base_distro: "{{ base_distro }}"
|
|
network_interface: "{{ api_interface_name }}"
|
|
network_address_family: "{{ address_family }}"
|
|
kolla_container_engine: "{{ container_engine }}"
|
|
docker_restart_policy: "no"
|
|
|
|
{% if container_engine == 'podman' %}
|
|
podman_debug: true
|
|
podman_registry_mirrors:
|
|
- {{ infra_dockerhub_mirror }}
|
|
{% if need_build_image and is_previous_release %}
|
|
podman_registry: "primary:4000"
|
|
podman_registry_insecure: true
|
|
{% endif %}
|
|
{% else %}
|
|
docker_debug: true
|
|
docker_registry_mirrors:
|
|
- {{ infra_dockerhub_mirror }}
|
|
|
|
# NOTE(bbezak): In Kolla CI K-A upgrade job needs following override
|
|
# as docker_registry var is being used both for docker daemon config
|
|
# - for kolla images build, and kolla-ansible container images sources.
|
|
# docker_custom_config gets precedence in docker daemon configuration.
|
|
{% if need_build_image and is_previous_release %}
|
|
docker_custom_config:
|
|
insecure-registries:
|
|
- primary:4000
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
# MariaDB/Galera - fine tune timeouts
|
|
mariadb_wsrep_extra_provider_options:
|
|
- "gmcast.peer_timeout=PT15S"
|
|
- "evs.suspect_timeout=PT10S"
|
|
- "evs.inactive_timeout=PT30S"
|
|
- "evs.keepalive_period=PT3S"
|
|
|
|
nova_compute_virt_type: "{{ virt_type }}"
|
|
|
|
enable_openstack_core: "{{ openstack_core_enabled }}"
|
|
enable_horizon: "{{ dashboard_enabled }}"
|
|
enable_heat: "{{ openstack_core_tested }}"
|
|
|
|
{% if scenario != 'bifrost' %}
|
|
kolla_internal_vip_address: "{{ kolla_internal_vip_address }}"
|
|
neutron_external_interface: "{{ neutron_external_interface_name }}"
|
|
openstack_logging_debug: "True"
|
|
nova_libvirt_logging_debug: "False"
|
|
openstack_service_workers: "1"
|
|
openstack_service_rpc_workers: "1"
|
|
{% endif %}
|
|
|
|
{% if need_build_image and not is_previous_release %}
|
|
# NOTE(Jeffrey4l): use different a docker namespace name in case it pull image from hub.docker.io when deploying
|
|
docker_namespace: "lokolla"
|
|
# NOTE(yoctozepto): use hostname or FQDN to be compatible between IPv4 and IPv6
|
|
# docker does not support referencing registry via an IPv6 address
|
|
# see: https://github.com/moby/moby/issues/39033
|
|
docker_registry: "primary:4000"
|
|
docker_registry_insecure: yes
|
|
{% if container_engine == 'podman' %}
|
|
podman_registry: "primary:4000"
|
|
podman_registry_insecure: yes
|
|
{% endif %}
|
|
openstack_tag: "{{ build_image_tag }}"
|
|
{% else %}
|
|
# use the published images from a site mirror of quay.io
|
|
docker_registry: "{{ zuul_site_mirror_fqdn }}:4447"
|
|
docker_registry_insecure: no
|
|
{% if container_engine == 'podman' %}
|
|
podman_registry: "{{ zuul_site_mirror_fqdn }}:4447"
|
|
podman_registry_insecure: no
|
|
{% endif %}
|
|
docker_namespace: openstack.kolla
|
|
{% if docker_image_tag_suffix %}
|
|
openstack_tag_suffix: "{{ docker_image_tag_suffix }}"
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{% if scenario == "zun" %}
|
|
enable_zun: "yes"
|
|
enable_kuryr: "yes"
|
|
enable_etcd: "yes"
|
|
etcd_remove_deleted_members: "yes"
|
|
docker_configure_for_zun: "yes"
|
|
containerd_configure_for_zun: "yes"
|
|
enable_cinder: "yes"
|
|
# lvm backup driver for cinder-backup does not exist
|
|
enable_cinder_backup: "no"
|
|
enable_cinder_backend_lvm: "yes"
|
|
{% endif %}
|
|
|
|
{% if scenario == "swift" %}
|
|
enable_swift: "yes"
|
|
{% endif %}
|
|
|
|
{% if scenario == "scenario_nfv" %}
|
|
enable_tacker: "yes"
|
|
enable_neutron_sfc: "yes"
|
|
enable_mistral: "yes"
|
|
enable_redis: "yes"
|
|
enable_barbican: "yes"
|
|
enable_heat: "yes"
|
|
# NOTE(yoctozepto): see https://bugs.launchpad.net/kolla-ansible/+bug/1906299
|
|
enable_aodh: "yes"
|
|
{% endif %}
|
|
|
|
{% if scenario == "ironic" %}
|
|
enable_ironic: "yes"
|
|
ironic_dnsmasq_dhcp_ranges:
|
|
- range: "10.42.0.2,10.42.0.254,255.255.255.0"
|
|
{% endif %}
|
|
|
|
{% if scenario == "masakari" %}
|
|
enable_masakari: "yes"
|
|
{% endif %}
|
|
|
|
{% if scenario == "cells" %}
|
|
enable_cells: "yes"
|
|
enable_proxysql: "yes"
|
|
enable_prometheus_proxysql_exporter: "yes"
|
|
{% endif %}
|
|
|
|
{% if scenario == "mariadb" %}
|
|
enable_fluentd: "yes"
|
|
enable_mariadb: "yes"
|
|
enable_memcached: "no"
|
|
enable_rabbitmq: "no"
|
|
enable_mariabackup: "yes"
|
|
{% endif %}
|
|
|
|
{% if scenario == "cephadm" %}
|
|
# kolla-ansible vars
|
|
enable_cinder: "yes"
|
|
cinder_cluster_name: "kolla_ceph"
|
|
# External Ceph
|
|
glance_backend_ceph: "yes"
|
|
cinder_backend_ceph: "yes"
|
|
nova_backend_ceph: "yes"
|
|
# Redis for coordination
|
|
enable_redis: "yes"
|
|
|
|
enable_ceph_rgw: "yes"
|
|
ceph_rgw_hosts:
|
|
{% for host in hostvars %}
|
|
- host: {{ host }}
|
|
ip: {{ hostvars[host]['ansible_host'] }}
|
|
port: 6780
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if tls_enabled %}
|
|
kolla_enable_tls_external: "yes"
|
|
kolla_enable_tls_internal: "yes"
|
|
kolla_copy_ca_into_containers: "yes"
|
|
kolla_enable_tls_backend: "yes"
|
|
{% if base_distro in ["debian", "ubuntu"] %}
|
|
openstack_cacert: "/etc/ssl/certs/ca-certificates.crt"
|
|
{% endif %}
|
|
{% if base_distro in ["centos", "rocky"] %}
|
|
openstack_cacert: "/etc/pki/tls/certs/ca-bundle.crt"
|
|
{% endif %}
|
|
kolla_admin_openrc_cacert: "{% raw %}{{ kolla_certificates_dir }}{% endraw %}/ca/root.crt"
|
|
rabbitmq_enable_tls: "yes"
|
|
libvirt_tls: "yes"
|
|
{% endif %}
|
|
|
|
{% if scenario == "ovn" %}
|
|
neutron_plugin_agent: "ovn"
|
|
neutron_ovn_distributed_fip: "yes"
|
|
neutron_enable_ovn_agent: "yes"
|
|
enable_octavia: "yes"
|
|
octavia_provider_drivers: "ovn:OVN provider"
|
|
octavia_provider_agents: "ovn"
|
|
enable_redis: "yes"
|
|
neutron_dns_domain: "example.org."
|
|
{% endif %}
|
|
|
|
{% if scenario == "prometheus-opensearch" %}
|
|
enable_central_logging: "yes"
|
|
enable_grafana: "yes"
|
|
enable_prometheus: "yes"
|
|
enable_prometheus_openstack_exporter: "no"
|
|
{% endif %}
|
|
|
|
{% if scenario == "magnum" %}
|
|
enable_designate: "yes"
|
|
designate_ns_record:
|
|
- "ns.example.org"
|
|
enable_magnum: "yes"
|
|
enable_trove: "yes"
|
|
neutron_dns_domain: "example.org."
|
|
{% endif %}
|
|
|
|
{% if scenario == "octavia" %}
|
|
neutron_dns_integration: "yes"
|
|
neutron_dns_domain: "example.org."
|
|
enable_octavia: "yes"
|
|
# NOTE(wuchunyang): work around for qemu-kvm 5.1 can not attach second NIC.
|
|
# more: http://lists.openstack.org/pipermail/openstack-discuss/2021-February/020218.html
|
|
octavia_amp_flavor:
|
|
name: "amphora"
|
|
is_public: no
|
|
vcpus: 2
|
|
ram: 1024
|
|
disk: 5
|
|
octavia_network_type: "tenant"
|
|
enable_redis: "yes"
|
|
{% endif %}
|
|
|
|
{% if scenario == "venus" %}
|
|
enable_opensearch: "yes"
|
|
enable_keystone: "yes"
|
|
enable_venus: "yes"
|
|
{% endif %}
|
|
|
|
{% if groups['all'] | length == 1 %}
|
|
keepalived_track_script_enabled: "no"
|
|
{% endif %}
|
|
|
|
neutron_modules_extra:
|
|
- name: 'nf_conntrack_tftp'
|
|
- name: 'nf_nat_tftp'
|
|
|
|
{% if scenario == "haproxy" %}
|
|
kolla_external_vip_address: "{{ kolla_external_vip_address }}"
|
|
haproxy_single_external_frontend: "yes"
|
|
glance_external_fqdn: "glance.external"
|
|
horizon_external_fqdn: "horizon.external"
|
|
keystone_external_fqdn: "keystone.external"
|
|
neutron_external_fqdn: "neutron.external"
|
|
nova_external_fqdn: "nova.external"
|
|
nova_novncproxy_fqdn: "novncproxy.external"
|
|
placement_external_fqdn: "placement.external"
|
|
{% endif %}
|
|
|
|
{% if scenario == "lets-encrypt" %}
|
|
enable_letsencrypt: "yes"
|
|
rabbitmq_enable_tls: "yes"
|
|
letsencrypt_email: "usero@openstack.test"
|
|
letsencrypt_cert_server: "https://pebble:14000/dir"
|
|
kolla_internal_fqdn: "{{ kolla_internal_fqdn }}"
|
|
kolla_enable_tls_backend: "no"
|
|
kolla_admin_openrc_cacert: "{% raw %}{{ kolla_certificates_dir }}{% endraw %}/ca/pebble.crt"
|
|
{% endif %}
|
|
|
|
{% if scenario == "skyline" %}
|
|
enable_skyline: "yes"
|
|
{% endif %}
|
|
|
|
{% if scenario == "skyline-sso" %}
|
|
enable_skyline: "yes"
|
|
skyline_enable_sso: "yes"
|
|
{% endif %}
|