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
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_freezer_{{ enable_freezer | 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_kafka_{{ enable_kafka | bool }}
- enable_keystone_{{ enable_keystone | bool }}
- enable_kuryr_{{ enable_kuryr | 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_murano_{{ enable_murano | 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_outward_rabbitmq_{{ enable_outward_rabbitmq | bool }}
- enable_placement_{{ enable_placement | bool }}
- enable_prometheus_{{ enable_prometheus | bool }}
- enable_rabbitmq_{{ enable_rabbitmq | bool }}
- enable_redis_{{ enable_redis | bool }}
- enable_sahara_{{ enable_sahara | bool }}
- enable_senlin_{{ enable_senlin | bool }}
- enable_skydive_{{ enable_skydive | bool }}
- enable_solum_{{ enable_solum | bool }}
- enable_swift_{{ enable_swift | bool }}
- enable_tacker_{{ enable_tacker | bool }}
- enable_telegraf_{{ enable_telegraf | bool }}
- enable_trove_{{ enable_trove | bool }}
- enable_vitrage_{{ enable_vitrage | bool }}
- enable_watcher_{{ enable_watcher | bool }}
- enable_zookeeper_{{ enable_zookeeper | bool }}
- enable_zun_{{ enable_zun | bool }}
tags: always
# Apply only when kolla action is 'precheck'.
hosts: kolla_action_precheck
- name: Apply role common
gather_facts: false
hosts:
- cron
- fluentd
- kolla-logs
- kolla-toolbox
serial: '{{ kolla_serial|default("0") }}'
tags:
- common
roles:
- role: common
gather_facts: false
hosts:
- loadbalancer
- '&enable_loadbalancer_True'
serial: '{{ kolla_serial|default("0") }}'
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:
tasks_from: loadbalancer
tags: freezer
when: enable_freezer | bool
- include_role:
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:
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: murano
when: enable_murano | 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:
when: enable_rabbitmq | bool or enable_outward_rabbitmq | bool
- include_role:
tasks_from: loadbalancer
tags: sahara
when: enable_sahara | bool
- include_role:
tasks_from: loadbalancer
tags: senlin
when: enable_senlin | bool
- include_role:
tasks_from: loadbalancer
tags: skydive
when: enable_skydive | bool
- include_role:
tasks_from: loadbalancer
tags: solum
when: enable_solum | bool
- include_role:
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: vitrage
when: enable_vitrage | bool
- include_role:
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']
hosts:
- collectd
- '&enable_collectd_True'
- name: Apply role zookeeper
gather_facts: false
hosts:
- zookeeper
- '&enable_zookeeper_True'
hosts:
- influxdb
- '&enable_influxdb_True'
- name: Apply role redis
gather_facts: false
hosts:
- redis
- name: Apply role mariadb
gather_facts: false
hosts:
- mariadb
- '&enable_mariadb_True'
roles:
- { role: mariadb,
hosts:
- memcached
- '&enable_memcached_True'
- name: Apply role prometheus
gather_facts: false
hosts:
- prometheus
- prometheus-node-exporter
- prometheus-mysqld-exporter
- prometheus-haproxy-exporter
- prometheus-alertmanager
- prometheus-openstack-exporter
- prometheus-elasticsearch-exporter
- prometheus-libvirt-exporter
- '&enable_prometheus_True'
- iscsid
- tgtd
roles:
- { role: iscsi,
- '&enable_multipathd_True'
roles:
- { role: multipathd,
hosts:
- rabbitmq
- '&enable_rabbitmq_True'
role_rabbitmq_cluster_cookie: '{{ rabbitmq_cluster_cookie }}',
role_rabbitmq_cluster_port: '{{ rabbitmq_cluster_port }}',
role_rabbitmq_epmd_port: '{{ rabbitmq_epmd_port }}',
role_rabbitmq_groups: rabbitmq,
role_rabbitmq_management_port: '{{ rabbitmq_management_port }}',
role_rabbitmq_monitoring_password: '{{ rabbitmq_monitoring_password }}',
role_rabbitmq_monitoring_user: '{{ rabbitmq_monitoring_user }}',
role_rabbitmq_password: '{{ rabbitmq_password }}',
role_rabbitmq_port: '{{ rabbitmq_port }}',
role_rabbitmq_prometheus_port: '{{ rabbitmq_prometheus_port }}',
role_rabbitmq_user: '{{ rabbitmq_user }}' }
- name: Apply role rabbitmq (outward)
gather_facts: false
hosts:
- outward-rabbitmq
- '&enable_outward_rabbitmq_True'
roles:
- { role: rabbitmq,
tags: rabbitmq,
project_name: outward_rabbitmq,
role_rabbitmq_cluster_cookie: '{{ outward_rabbitmq_cluster_cookie }}',
role_rabbitmq_cluster_port: '{{ outward_rabbitmq_cluster_port }}',
role_rabbitmq_epmd_port: '{{ outward_rabbitmq_epmd_port }}',
role_rabbitmq_groups: outward-rabbitmq,
role_rabbitmq_management_port: '{{ outward_rabbitmq_management_port }}',
role_rabbitmq_password: '{{ outward_rabbitmq_password }}',
role_rabbitmq_port: '{{ outward_rabbitmq_port }}',
role_rabbitmq_prometheus_port: '{{ outward_rabbitmq_prometheus_port }}',
role_rabbitmq_user: '{{ outward_rabbitmq_user }}' }
hosts:
- etcd
- '&enable_etcd_True'
hosts:
- keystone
- '&enable_keystone_True'
- name: Apply role opensearch
- opensearch
- '&enable_opensearch_True'
serial: '{{ kolla_serial|default("0") }}'
roles:
- { role: opensearch,
tags: opensearch }
- name: Apply role kafka
gather_facts: false
hosts:
- kafka
- '&enable_kafka_True'
hosts:
- storm-worker
- storm-nimbus
serial: '{{ kolla_serial|default("0") }}'
roles:
- { role: storm,
- swift-account-server
- swift-container-server
- swift-object-server
- swift-proxy-server
- 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") }}'
roles:
- { role: ceph-rgw,
- ironic-api
- ironic-conductor
- ironic-inspector
roles:
- { role: ironic,
- name: Apply role cinder
gather_facts: false
hosts:
- cinder-api
- cinder-backup
- cinder-scheduler
- cinder-volume
- name: Apply role placement
gather_facts: false
hosts:
- placement-api
- '&enable_placement_True'
serial: '{{ kolla_serial|default("0") }}'
roles:
- { role: placement,
# Nova deployment is more complicated than other services, so is covered in its
# own playbook.
- import_playbook: nova.yml
- '&enable_openvswitch_True_enable_ovs_dpdk_False'
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'
roles:
- { role: ovs-dpdk,
tags: ovs-dpdk,
when: "(enable_openvswitch | bool) and (enable_ovs_dpdk | bool)"}
- name: Apply role ovn
gather_facts: false
hosts:
- ovn-controller
- ovn-nb-db
- ovn-northd
- ovn-sb-db
- '&enable_ovn_True'
serial: '{{ kolla_serial|default("0") }}'
roles:
- { role: ovn,
- neutron-dhcp-agent
- neutron-l3-agent
- neutron-bgp-dragent
- neutron-infoblox-ipam-agent
- compute
- manila-share
roles:
- { role: kuryr,
- name: Apply role hacluster
gather_facts: false
hosts:
- hacluster
- hacluster-remote
- '&enable_hacluster_True'
serial: '{{ kolla_serial|default("0") }}'
roles:
- { role: hacluster,
- solum-api
- solum-worker
- solum-deployer
- solum-conductor
- solum-application-deployment
- solum-image-builder
- mistral-api
- mistral-engine
- mistral-executor
- gnocchi-api
- gnocchi-metricd
- gnocchi-statsd
- ceilometer-central
- ceilometer-notification
- ceilometer-compute
- '&enable_ceilometer_True'
- aodh-api
- aodh-evaluator
- aodh-listener
- aodh-notifier
- barbican-api
- barbican-keystone-listener
- barbican-worker
- name: Apply role cyborg
gather_facts: false
hosts:
- cyborg-api
- cyborg-agent
- cyborg-conductor
- '&enable_cyborg_True'
serial: '{{ serial|default("0") }}'
roles:
- { role: cyborg,
hosts:
- designate-api
- designate-central
- designate-mdns
- designate-worker
- designate-sink
- '&enable_designate_True'
- watcher-api
- watcher-engine
- watcher-applier
roles:
- { role: watcher,
- cloudkitty-api
- cloudkitty-processor
- '&enable_cloudkitty_True'
- senlin-conductor
- senlin-health-manager
hosts:
- tacker-server
- tacker-conductor
hosts:
- octavia-api
- octavia-health-manager
- octavia-housekeeping
- octavia-worker
- name: Apply role zun
gather_facts: false
hosts:
- zun-api
- name: Apply role vitrage
gather_facts: false
hosts:
- vitrage-api
- vitrage-graph
- vitrage-notifier
- vitrage-ml
- name: Apply role blazar
gather_facts: false
hosts: