Newer
Older
# NOTE(mgoddard): In large environments, even tasks that are skipped can take a
# significant amount of time. This is an optimisation to prevent any tasks
# running in the subsequent plays for services that are disabled.
- name: Group hosts based on configuration
hosts: all
gather_facts: false
max_fail_percentage: >-
{{ group_hosts_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
tasks:
- name: Group hosts based on Kolla action
group_by:
key: "kolla_action_{{ kolla_action }}"
- name: Group hosts based on enabled services
group_by:
key: "{{ item }}"
with_items:
- enable_aodh_{{ enable_aodh | bool }}
- enable_barbican_{{ enable_barbican | bool }}
- enable_blazar_{{ enable_blazar | bool }}
- enable_ceilometer_{{ enable_ceilometer | bool }}
- enable_ceph_rgw_{{ enable_ceph_rgw | bool }}
- enable_cinder_{{ enable_cinder | bool }}
- enable_cloudkitty_{{ enable_cloudkitty | bool }}
- enable_collectd_{{ enable_collectd | bool }}
- enable_designate_{{ enable_designate | bool }}
- enable_etcd_{{ enable_etcd | bool }}
- enable_glance_{{ enable_glance | bool }}
- enable_gnocchi_{{ enable_gnocchi | bool }}
- enable_grafana_{{ enable_grafana | bool }}
- enable_hacluster_{{ enable_hacluster | bool }}
- enable_heat_{{ enable_heat | bool }}
- enable_horizon_{{ enable_horizon | bool }}
- enable_influxdb_{{ enable_influxdb | bool }}
- enable_ironic_{{ enable_ironic | bool }}
- enable_iscsid_{{ enable_iscsid | bool }}
- enable_keystone_{{ enable_keystone | bool }}
- enable_kuryr_{{ enable_kuryr | bool }}
- enable_letsencrypt_{{ enable_letsencrypt | bool }}
- enable_loadbalancer_{{ enable_loadbalancer | bool }}
- enable_magnum_{{ enable_magnum | bool }}
- enable_manila_{{ enable_manila | bool }}
- enable_mariadb_{{ enable_mariadb | bool }}
- enable_memcached_{{ enable_memcached | bool }}
- enable_mistral_{{ enable_mistral | bool }}
- enable_multipathd_{{ enable_multipathd | bool }}
- enable_neutron_{{ enable_neutron | bool }}
- enable_nova_{{ enable_nova | bool }}
- enable_octavia_{{ enable_octavia | bool }}
- enable_opensearch_{{ enable_opensearch | bool }}
- enable_opensearch_dashboards_{{ enable_opensearch_dashboards | bool }}
- enable_openvswitch_{{ enable_openvswitch | bool }}_enable_ovs_dpdk_{{ enable_ovs_dpdk | bool }}
- enable_placement_{{ enable_placement | bool }}
- enable_prometheus_{{ enable_prometheus | bool }}
- enable_rabbitmq_{{ enable_rabbitmq | bool }}
- enable_redis_{{ enable_redis | bool }}
- enable_swift_{{ enable_swift | bool }}
- enable_tacker_{{ enable_tacker | bool }}
- enable_telegraf_{{ enable_telegraf | bool }}
- enable_trove_{{ enable_trove | bool }}
- enable_watcher_{{ enable_watcher | bool }}
- enable_zun_{{ enable_zun | bool }}
tags: always
# Apply only when kolla action is 'precheck'.
hosts: kolla_action_precheck
max_fail_percentage: >-
{{ prechecks_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- name: Apply role common
gather_facts: false
hosts:
- cron
- fluentd
- kolla-logs
- kolla-toolbox
serial: '{{ kolla_serial|default("0") }}'
max_fail_percentage: >-
{{ common_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
tags:
- common
roles:
- role: common
gather_facts: false
hosts:
- loadbalancer
- '&enable_loadbalancer_True'
serial: '{{ kolla_serial|default("0") }}'
max_fail_percentage: >-
{{ loadbalancer_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
tasks:
- block:
- include_role:
tasks_from: loadbalancer
tags: aodh
when: enable_aodh | bool
- include_role:
tasks_from: loadbalancer
tags: barbican
when: enable_barbican | bool
- include_role:
tasks_from: loadbalancer
tags: blazar
when: enable_blazar | bool
- include_role:
name: ceph-rgw
tasks_from: loadbalancer
tags: ceph-rgw
when: enable_ceph_rgw | bool
tasks_from: loadbalancer
tags: cinder
when: enable_cinder | bool
- include_role:
tasks_from: loadbalancer
tags: cloudkitty
when: enable_cloudkitty | bool
tasks_from: loadbalancer
tags: cyborg
when: enable_cyborg | bool
tasks_from: loadbalancer
tags: designate
when: enable_designate | bool
- include_role:
name: etcd
tasks_from: loadbalancer
tags: etcd
when: enable_etcd | bool
tasks_from: loadbalancer
tags: glance
when: enable_glance | bool
- include_role:
tasks_from: loadbalancer
tags: gnocchi
when: enable_gnocchi | bool
- include_role:
tasks_from: loadbalancer
tags: grafana
when: enable_grafana | bool
- include_role:
tasks_from: loadbalancer
tags: heat
when: enable_heat | bool
- include_role:
tasks_from: loadbalancer
tags: horizon
when: enable_horizon | bool
- include_role:
tasks_from: loadbalancer
tags: influxdb
when: enable_influxdb | bool
- include_role:
tasks_from: loadbalancer
tags: ironic
when: enable_ironic | bool
- include_role:
tasks_from: loadbalancer
tags: keystone
when: enable_keystone | bool
- include_role:
name: letsencrypt
tasks_from: loadbalancer
tags: letsencrypt
when: enable_letsencrypt | bool
tasks_from: loadbalancer
tags: magnum
when: enable_magnum | bool
- include_role:
tasks_from: loadbalancer
tags: manila
when: enable_manila | bool
- include_role:
tasks_from: loadbalancer
tags: mariadb
when: enable_mariadb | bool or enable_external_mariadb_load_balancer | bool
tasks_from: loadbalancer
tags: masakari
when: enable_masakari | bool
tasks_from: loadbalancer
tags: memcached
when: enable_memcached | bool
- include_role:
tasks_from: loadbalancer
tags: mistral
when: enable_mistral | bool
- include_role:
tasks_from: loadbalancer
tags: neutron
when: enable_neutron | bool
tasks_from: loadbalancer
tags: placement
tags:
- nova
- nova-api
when: enable_nova | bool
- include_role:
tasks_from: loadbalancer
tags:
- nova
- nova-cell
when: enable_nova | bool
- include_role:
tasks_from: loadbalancer
tags: octavia
when: enable_octavia | bool
- include_role:
name: opensearch
tasks_from: loadbalancer
tags: opensearch
when: enable_opensearch | bool
tasks_from: loadbalancer
tags: prometheus
when: enable_prometheus | bool
- include_role:
tasks_from: loadbalancer
tags: rabbitmq
vars:
role_rabbitmq_cluster_cookie:
role_rabbitmq_groups:
- include_role:
name: skyline
tasks_from: loadbalancer
tags: skyline
when: enable_skyline | bool
tasks_from: loadbalancer
tags: swift
when: enable_swift | bool
- include_role:
tasks_from: loadbalancer
tags: tacker
when: enable_tacker | bool
- include_role:
tasks_from: loadbalancer
tags: trove
when: enable_trove | bool
- include_role:
name: venus
tasks_from: loadbalancer
tags: venus
when: enable_venus | bool
tasks_from: loadbalancer
tags: watcher
when: enable_watcher | bool
- include_role:
tasks_from: loadbalancer
tags: zun
when: enable_zun | bool
when:
- enable_haproxy | bool
- kolla_action in ['deploy', 'reconfigure', 'upgrade', 'config']
- name: Apply role letsencrypt
gather_facts: false
hosts:
- letsencrypt
- '&enable_letsencrypt_True'
serial: '{{ kolla_serial|default("0") }}'
roles:
- { role: letsencrypt,
tags: letsencrypt }
hosts:
- collectd
- '&enable_collectd_True'
max_fail_percentage: >-
{{ collectd_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
hosts:
- influxdb
- '&enable_influxdb_True'
max_fail_percentage: >-
{{ influxdb_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
max_fail_percentage: >-
{{ telegraf_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- name: Apply role redis
gather_facts: false
hosts:
- redis
max_fail_percentage: >-
{{ redis_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
# MariaDB deployment is more complicated than other services, so is covered in
# its own playbook.
- import_playbook: mariadb.yml
hosts:
- memcached
- '&enable_memcached_True'
max_fail_percentage: >-
{{ memcached_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- name: Apply role prometheus
gather_facts: false
hosts:
- prometheus
- prometheus-node-exporter
- prometheus-mysqld-exporter
- prometheus-alertmanager
- prometheus-openstack-exporter
- prometheus-elasticsearch-exporter
- prometheus-libvirt-exporter
- '&enable_prometheus_True'
max_fail_percentage: >-
{{ prometheus_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- iscsid
- tgtd
max_fail_percentage: >-
{{ iscsid_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
roles:
- { role: iscsi,
- '&enable_multipathd_True'
max_fail_percentage: >-
{{ multipathd_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
roles:
- { role: multipathd,
- import_playbook: rabbitmq.yml
hosts:
- etcd
- '&enable_etcd_True'
max_fail_percentage: >-
{{ etcd_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
hosts:
- keystone
- '&enable_keystone_True'
max_fail_percentage: >-
{{ keystone_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- name: Apply role opensearch
- opensearch
- '&enable_opensearch_True'
serial: '{{ kolla_serial|default("0") }}'
max_fail_percentage: >-
{{ opensearch_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- { role: opensearch,
tags: opensearch }
- swift-account-server
- swift-container-server
- swift-object-server
- swift-proxy-server
max_fail_percentage: >-
{{ swift_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- name: Apply role ceph-rgw
gather_facts: false
hosts:
# NOTE(mgoddard): This is only used to register Keystone services, and
# can run on any host running kolla-toolbox.
- kolla-toolbox
- '&enable_ceph_rgw_True'
serial: '{{ kolla_serial|default("0") }}'
max_fail_percentage: >-
{{ ceph_rgw_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
max_fail_percentage: >-
{{ glance_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- ironic-api
- ironic-conductor
- ironic-inspector
max_fail_percentage: >-
{{ ironic_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
roles:
- { role: ironic,
- name: Apply role cinder
gather_facts: false
hosts:
- cinder-api
- cinder-backup
- cinder-scheduler
- cinder-volume
max_fail_percentage: >-
{{ cinder_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- name: Apply role placement
gather_facts: false
hosts:
- placement-api
- '&enable_placement_True'
serial: '{{ kolla_serial|default("0") }}'
max_fail_percentage: >-
{{ placement_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- '&enable_openvswitch_True_enable_ovs_dpdk_False'
max_fail_percentage: >-
{{ openvswitch_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
roles:
- { role: openvswitch,
tags: openvswitch,
when: "(enable_openvswitch | bool) and not (enable_ovs_dpdk | bool)"}
- name: Apply role ovs-dpdk
- '&enable_openvswitch_True_enable_ovs_dpdk_True'
max_fail_percentage: >-
{{ ovs_dpdk_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
roles:
- { role: ovs-dpdk,
tags: ovs-dpdk,
when: "(enable_openvswitch | bool) and (enable_ovs_dpdk | bool)"}
- '&enable_ovn_True'
serial: '{{ kolla_serial|default("0") }}'
max_fail_percentage: >-
{{ ovn_controller_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- { role: ovn-controller,
tags: [ovn, ovn-controller] }
gather_facts: false
hosts:
- ovn-nb-db
- ovn-northd
- ovn-sb-db
- '&enable_ovn_True'
serial: '{{ kolla_serial|default("0") }}'
max_fail_percentage: >-
{{ ovn_db_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- { role: ovn-db,
tags: [ovn, ovn-db] }
# Nova deployment is more complicated than other services, so is covered in its
# own playbook.
- import_playbook: nova.yml
- neutron-dhcp-agent
- neutron-l3-agent
- neutron-bgp-dragent
- neutron-infoblox-ipam-agent
- compute
- manila-share
max_fail_percentage: >-
{{ neutron_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
max_fail_percentage: >-
{{ kuryr_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
roles:
- { role: kuryr,
- name: Apply role hacluster
gather_facts: false
hosts:
- hacluster
- hacluster-remote
- '&enable_hacluster_True'
serial: '{{ kolla_serial|default("0") }}'
max_fail_percentage: >-
{{ hacluster_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
max_fail_percentage: >-
{{ heat_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
max_fail_percentage: >-
{{ horizon_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
max_fail_percentage: >-
{{ magnum_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- mistral-api
- mistral-engine
- mistral-executor
max_fail_percentage: >-
{{ mistral_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
max_fail_percentage: >-
{{ manila_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- gnocchi-api
- gnocchi-metricd
- gnocchi-statsd
max_fail_percentage: >-
{{ gnocchi_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- ceilometer-central
- ceilometer-notification
- ceilometer-compute
- '&enable_ceilometer_True'
max_fail_percentage: >-
{{ ceilometer_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- aodh-api
- aodh-evaluator
- aodh-listener
- aodh-notifier
max_fail_percentage: >-
{{ aodh_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- barbican-api
- barbican-keystone-listener
- barbican-worker
max_fail_percentage: >-
{{ barbican_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- name: Apply role cyborg
gather_facts: false
hosts:
- cyborg-api
- cyborg-agent
- cyborg-conductor
- '&enable_cyborg_True'
serial: '{{ serial|default("0") }}'
max_fail_percentage: >-
{{ cyborg_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
hosts:
- designate-api
- designate-central
- designate-mdns
- designate-worker
- designate-sink
- '&enable_designate_True'
max_fail_percentage: >-
{{ designate_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
max_fail_percentage: >-
{{ trove_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- watcher-api
- watcher-engine
- watcher-applier
max_fail_percentage: >-
{{ watcher_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
roles:
- { role: watcher,
max_fail_percentage: >-
{{ grafana_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- cloudkitty-api
- cloudkitty-processor
- '&enable_cloudkitty_True'
max_fail_percentage: >-
{{ cloudkitty_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
hosts:
- tacker-server
- tacker-conductor
max_fail_percentage: >-
{{ tacker_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
hosts:
- octavia-api
- octavia-health-manager
- octavia-housekeeping
- octavia-worker
max_fail_percentage: >-
{{ octavia_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
- name: Apply role zun
gather_facts: false
hosts:
- zun-api