/home/zuul/src/opendev.org/openstack/openstack-ansible/tests/roles/bootstrap-host/vars/main.yml
---
# Copyright 2017, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

bootstrap_host_scenarios: "{{ (bootstrap_host_scenario.split('_') | reject('equalto', '')) | list }}"

# Expand the scenario list to include specific services that are being deployed
# as part of the scenario
bootstrap_host_scenarios_expanded: |-
  {# Keystone is included in every scenario #}
  {% set scenario_list = bootstrap_host_scenarios + ['keystone'] %}
  {% if 'metal' not in bootstrap_host_scenarios %}
  {%   set _ = scenario_list.append('haproxy') %}
  {% endif %}
  {% if ['aio', 'translations'] | intersect(bootstrap_host_scenarios) | length > 0 %}
  {#   Base services deployed with aio and translations scenarios #}
  {%   set _ = scenario_list.extend(['cinder', 'glance', 'neutron', 'nova', 'placement']) %}
  {%   if 'metal' not in bootstrap_host_scenarios %}
  {#     Horizon is a base service in container jobs #}
  {%     set _ = scenario_list.append('horizon') %}
  {%   endif %}
  {% endif %}
  {# Service additions based on scenario presence #}
  {% if 'calico' in bootstrap_host_scenarios %}
  {%   set _ = scenario_list.extend(['etcd']) %}
  {% endif %}
  {% if 'ironic' in bootstrap_host_scenarios %}
  {%   set _ = scenario_list.extend(['swift']) %}
  {% endif %}
  {% if 'magnum' in bootstrap_host_scenarios %}
  {%   set _ = scenario_list.extend(['heat'])  %}
  {% endif %}
  {% if 'murano' in bootstrap_host_scenarios %}
  {%   set _ = scenario_list.extend(['heat'])  %}
  {% endif %}
  {% if 'telemetry' in bootstrap_host_scenarios %}
  {%   set _ = scenario_list.extend(['aodh', 'ceilometer', 'gnocchi', 'panko']) %}
  {% endif %}
  {% if 'translations' in bootstrap_host_scenarios %}
  {%   set _ = scenario_list.extend(['designate', 'heat', 'magnum', 'sahara', 'swift', 'trove']) %}
  {% endif %}
  {{ (scenario_list | unique) | sort }}