Merge "Make scenario construction more generic"

This commit is contained in:
Zuul 2019-05-13 23:06:21 +00:00 committed by Gerrit Code Review
commit e60dd4cf75
5 changed files with 40 additions and 42 deletions

View File

@ -1,9 +1,9 @@
---
cidr_networks:
{% if 'trove' in bootstrap_host_services %}
{% if 'trove' in bootstrap_host_scenarios_expanded %}
dbaas: 172.29.232.0/22
{% endif %}
{% if 'octavia' in bootstrap_host_services %}
{% if 'octavia' in bootstrap_host_scenarios_expanded %}
lbaas: 172.29.252.0/22
{% endif %}
container: 172.29.236.0/22
@ -11,11 +11,11 @@ cidr_networks:
storage: 172.29.244.0/22
used_ips:
{% if 'trove' in bootstrap_host_services %}
{% if 'trove' in bootstrap_host_scenarios_expanded %}
- "172.29.232.1,172.29.232.50"
- "172.29.232.100"
{% endif %}
{% if 'octavia' in bootstrap_host_services %}
{% if 'octavia' in bootstrap_host_scenarios_expanded %}
- "172.29.252.1,172.29.252.50"
- "172.29.252.100"
- "172.29.253.1,172.29.253.200"
@ -66,7 +66,7 @@ global_overrides:
net_name: "vxlan"
group_binds:
- neutron_linuxbridge_agent
{% if 'trove' in bootstrap_host_services %}
{% if 'trove' in bootstrap_host_scenarios_expanded %}
- network:
container_bridge: "br-dbaas"
container_type: "veth"
@ -79,7 +79,7 @@ global_overrides:
- neutron_linuxbridge_agent
- rabbitmq
{% endif %}
{% if 'octavia' in bootstrap_host_services %}
{% if 'octavia' in bootstrap_host_scenarios_expanded %}
- network:
container_bridge: "br-lbaas"
container_type: "veth"

View File

@ -87,7 +87,7 @@ bootstrap_host_loopback_zfs: yes
bootstrap_host_loopback_zfs_size: 1024
#
# Boolean option to deploy the OSD loopback disks and cluster UUID for Ceph
bootstrap_host_ceph: "{{ 'ceph' in bootstrap_host_services }}"
bootstrap_host_ceph: "{{ 'ceph' in bootstrap_host_scenarios_expanded }}"
# Size of the Ceph OSD loopbacks
bootstrap_host_loopback_ceph_size: 1024
# Ceph OSDs to create on the AIO host

View File

@ -21,13 +21,23 @@
tags:
- create-directories
- name: Find user conf.d configurations to deploy
stat:
path: "{{ bootstrap_host_aio_config_path }}/conf.d/{{ item }}.yml.aio"
register: conf_d_stat
with_items: "{{ bootstrap_host_scenarios_expanded }}"
- name: Deploy user conf.d configuration
config_template:
src: "{{ bootstrap_host_aio_config_path }}/conf.d/{{ item }}.yml.aio"
dest: "/etc/openstack_deploy/conf.d/{{ item }}.yml"
config_overrides: "{{ item.override | default({}) }}"
src: "{{ bootstrap_host_aio_config_path }}/conf.d/{{ item.item }}.yml.aio"
dest: "/etc/openstack_deploy/conf.d/{{ item.item }}.yml"
config_overrides: "{{ item.item.override | default({}) }}"
config_type: "yaml"
with_items: "{{ bootstrap_host_services }}"
with_items: "{{ conf_d_stat.results | default([]) }}"
loop_control:
label: "{{ item.item }}"
when:
- item.stat.exists | bool
tags:
- deploy-confd
@ -156,26 +166,26 @@
with_items:
- src: user_variables_ceph.yml.j2
dest: user_variables_ceph.yml
condition: "{{ 'ceph' in bootstrap_host_services }}"
condition: "{{ 'ceph' in bootstrap_host_scenarios_expanded }}"
- src: user_variables_congress.yml.j2
dest: user_variables_congress.yml
condition: "{{ 'congress' in bootstrap_host_services }}"
condition: "{{ 'congress' in bootstrap_host_scenarios_expanded }}"
- src: user_variables_translations.yml.j2
dest: user_variables_translations.yml
condition: "{{ bootstrap_host_scenario is search('translations') }}"
- src: user_variables_barbican.yml.j2
dest: user_variables_barbican.yml
condition: "{{ 'barbican' in bootstrap_host_services }}"
condition: "{{ 'barbican' in bootstrap_host_scenarios_expanded }}"
- src: user_variables_manila.yml.j2
dest: user_variables_manila.yml
condition: "{{ 'manila' in bootstrap_host_services }}"
condition: "{{ 'manila' in bootstrap_host_scenarios_expanded }}"
- name: Copy modified cinder-volume env.d file for ceph scenario
copy:
src: "{{ playbook_dir }}/../etc/openstack_deploy/env.d/cinder-volume.yml.container.example"
dest: "/etc/openstack_deploy/env.d/cinder-volume.yml"
when:
- "'ceph' in bootstrap_host_services"
- "'ceph' in bootstrap_host_scenarios_expanded"
- name: Copy modified env.d file for metal scenario
copy:

View File

@ -232,7 +232,7 @@ octavia_v2: True
# Disable Octavia V1 API
octavia_v1: False
octavia_management_net_subnet_cidr: "{{ (bootstrap_host_container_tech == 'nspawn') | ternary('172.29.240.0/22', '172.29.252.0/22') }}"
{% elif 'octavia' in bootstrap_host_services %}
{% elif 'octavia' in bootstrap_host_scenarios_expanded %}
neutron_lbaas_octavia: True
octavia_management_net_subnet_cidr: "{{ (bootstrap_host_container_tech == 'nspawn') | ternary('172.29.240.0/22', '172.29.252.0/22') }}"
{% endif %}

View File

@ -15,45 +15,33 @@
bootstrap_host_scenarios: "{{ (bootstrap_host_scenario.split('_') | reject('equalto', '')) | list }}"
_non_service_scenarios:
- aio
- distro
- lxc
- metal
- nspawn
- octaviav2
- proxy
- source
- telemetry
- translations
- varstest
bootstrap_host_services: |-
{% set service_list = ['keystone'] %}
{% set service_list_extra = bootstrap_host_scenarios | difference(_non_service_scenarios) %}
# 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 _ = service_list.append('haproxy') %}
{% set _ = scenario_list.append('haproxy') %}
{% endif %}
{% if ['aio', 'translations'] | intersect(bootstrap_host_scenarios) | length > 0 %}
{# Base services deployed with aio and translations scenarios #}
{% set _ = service_list.extend(['cinder', 'glance', 'neutron', 'nova', 'placement']) %}
{% 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 _ = service_list.append('horizon') %}
{% set _ = scenario_list.append('horizon') %}
{% endif %}
{% endif %}
{# Service additions based on scenario presence #}
{% if 'ironic' in bootstrap_host_scenarios %}
{% set _ = service_list.extend(['swift']) %}
{% set _ = scenario_list.extend(['swift']) %}
{% endif %}
{% if 'octaviav2' in bootstrap_host_scenarios %}
{% set _ = service_list.extend(['octavia']) %}
{% set _ = scenario_list.extend(['octavia']) %}
{% endif %}
{% if 'telemetry' in bootstrap_host_scenarios %}
{% set _ = service_list.extend(['aodh', 'ceilometer', 'gnocchi', 'panko']) %}
{% set _ = scenario_list.extend(['aodh', 'ceilometer', 'gnocchi', 'panko']) %}
{% endif %}
{% if 'translations' in bootstrap_host_scenarios %}
{% set _ = service_list.extend(['designate', 'heat', 'magnum', 'sahara', 'swift', 'trove']) %}
{% set _ = scenario_list.extend(['designate', 'heat', 'magnum', 'sahara', 'swift', 'trove']) %}
{% endif %}
{% set _ = service_list.extend(service_list_extra) %}
{{ (service_list | unique) | sort }}
{{ (scenario_list | unique) | sort }}