270 lines
8.4 KiB
YAML
270 lines
8.4 KiB
YAML
# Summary of the feature set.
|
|
# Deploy an non-ha Openstack environment, introspect, and
|
|
# ready to execute tempest tests.
|
|
# Example of usage:
|
|
# ./quickstart.sh -t all --retain-inventory -e \
|
|
# @config/general_config/featureset020.yml -R tripleo-ci/consistent-master \
|
|
# -T all $VIRTHOST
|
|
|
|
# This enables TLS for the undercloud which will also make haproxy bind to the
|
|
# configured public-vip and admin-vip.
|
|
undercloud_generate_service_certificate: true
|
|
ssl_overcloud: false
|
|
overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates
|
|
undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates
|
|
step_introspect: true
|
|
|
|
# This enables container deployements after Pike
|
|
containerized_overcloud: >-
|
|
{% if release in ['newton', 'ocata', 'pike'] -%}
|
|
false
|
|
{%- else -%}
|
|
true
|
|
{%- endif -%}
|
|
undercloud_check_idempotency: >-
|
|
{% if release not in ['ocata','pike','queens'] -%}
|
|
false
|
|
{%- else -%}
|
|
true
|
|
{%- endif -%}
|
|
delete_docker_cache: true
|
|
|
|
containerized_undercloud: >-
|
|
{% if release not in ['newton','ocata','pike','queens'] -%}
|
|
true
|
|
{%- else -%}
|
|
false
|
|
{%- endif -%}
|
|
ctlplane_masquerade: >-
|
|
{% if release not in ['newton','ocata','pike','queens'] -%}
|
|
true
|
|
{%- else -%}
|
|
false
|
|
{%- endif -%}
|
|
undercloud_enable_routed_networks: >-
|
|
{% if release not in ['newton','ocata','pike'] -%}
|
|
true
|
|
{%- else -%}
|
|
false
|
|
{%- endif -%}
|
|
undercloud_clean_nodes: >-
|
|
{% if release not in ['newton','ocata','pike'] -%}
|
|
true
|
|
{%- else -%}
|
|
false
|
|
{%- endif -%}
|
|
|
|
undercloud_inspection_extras: false
|
|
|
|
undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml"
|
|
undercloud_cloud_domain: "localdomain"
|
|
undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}"
|
|
|
|
# Tell tripleo about our environment
|
|
enable_pacemaker: true
|
|
network_isolation: true
|
|
network_isolation_type: "multiple-nics"
|
|
network_isolation_args: >-
|
|
{% if not release in ['train','ussuri','victoria'] -%}
|
|
--networks-file {{ overcloud_templates_path }}/ci/network_data.yaml
|
|
-e {{ working_dir }}/overcloud-networks-deployed.yaml
|
|
-e {{ working_dir }}/overcloud-vips-deployed.yaml
|
|
{% else %}
|
|
-e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml
|
|
{% endif %}
|
|
-e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml
|
|
|
|
# This featureset is extremely resource intensive, so we disable telemetry
|
|
# in order to reduce the overall memory footprint
|
|
# Disabled by default in ussuri
|
|
telemetry_args: >-
|
|
{% if release in ['queens', 'stein', 'train'] %}
|
|
-e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml
|
|
{% endif %}
|
|
|
|
ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}"
|
|
ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}"
|
|
|
|
# neutron_l3_qos.yaml sets correct L3 agent's extensions to run QoS related
|
|
# tests. It is related only to the ML2/OVS case and featureset020 runs Neutron
|
|
# with ML2/OVS only in queens. The template doesn't apply to newer branches
|
|
# that aren't using ovs.
|
|
extra_args: >-
|
|
{% if release == 'queens' -%}
|
|
-e {{ overcloud_templates_path }}/ci/environments/neutron_l3_qos.yaml
|
|
{% endif %}
|
|
{% if release in ['ussuri', 'victoria'] -%}
|
|
--disable-validations
|
|
{% endif %}
|
|
-e {{ overcloud_templates_path }}/ci/environments/neutron_dns_domain.yaml
|
|
{% if release not in ['train','ussuri','victoria'] and
|
|
job is defined and
|
|
job.enable_secure_rbac is defined and
|
|
job.enable_secure_rbac|default(false)|bool or
|
|
enable_secure_rbac|default(false)|bool -%}
|
|
-e {{ overcloud_templates_path }}/environments/enable-secure-rbac.yaml
|
|
{% endif %}
|
|
{% if release not in ['train','wallaby'] %}
|
|
-e {{ working_dir }}/ci_custom_firewall_rules.yaml
|
|
{% endif %}
|
|
{%- if release not in ['train','ussuri','victoria'] -%}
|
|
--disable-protected-resource-types
|
|
{%- endif -%}
|
|
|
|
# Run an undercloud without glance or nova
|
|
undercloud_enable_nova: >-
|
|
{% if release in ['queens','stein', 'train'] -%}
|
|
true
|
|
{%- else -%}
|
|
false
|
|
{%- endif -%}
|
|
|
|
baremetal_provision: >-
|
|
{% if release in ['queens','stein','train'] -%}
|
|
false
|
|
{%- else -%}
|
|
true
|
|
{%- endif -%}
|
|
|
|
# Provision composable networks prior to creating the heat stack
|
|
network_provision: >-
|
|
{% if release in ['train','ussuri','victoria'] -%}
|
|
false
|
|
{%- else -%}
|
|
true
|
|
{%- endif -%}
|
|
|
|
# keep the doc gen settings at the bottom of the config file.
|
|
# options below direct automatic doc generation by tripleo-collect-logs
|
|
artcl_gen_docs: true
|
|
artcl_create_docs_payload:
|
|
included_deployment_scripts:
|
|
- undercloud-install
|
|
- overcloud-custom-tht-script
|
|
- "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}"
|
|
- overcloud-prep-flavors
|
|
- overcloud-prep-images
|
|
- overcloud-prep-network
|
|
- overcloud-deploy
|
|
- overcloud-deploy-post
|
|
- overcloud-validate
|
|
- tempest-setup
|
|
included_static_docs:
|
|
- env-setup-virt
|
|
table_of_contents:
|
|
- env-setup-virt
|
|
- undercloud-install
|
|
- overcloud-custom-tht-script
|
|
- "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}"
|
|
- overcloud-prep-flavors
|
|
- overcloud-prep-images
|
|
- overcloud-prep-network
|
|
- overcloud-deploy
|
|
- overcloud-deploy-post
|
|
- overcloud-validate
|
|
- tempest-setup
|
|
|
|
deploy_steps_ansible_workflow: >-
|
|
{% if release not in ['newton','ocata','pike'] -%}
|
|
true
|
|
{%- else -%}
|
|
false
|
|
{%- endif -%}
|
|
config_download_args: >-
|
|
{% if release in ['queens'] -%}
|
|
-e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml
|
|
--config-download
|
|
--verbose
|
|
{%- endif -%}
|
|
|
|
# Tempest configuration, keep always at the end of the file
|
|
# Tempest
|
|
test_white_regex: '.*'
|
|
|
|
# Barbican plugin is here because python-tempestconf doesn't have support to
|
|
# barbican yet.
|
|
test_black_regex:
|
|
- 'sahara_tempest_plugin'
|
|
- 'manila_tempest_tests'
|
|
- 'novajoin_tempest_plugin'
|
|
- 'barbican_tempest_plugin'
|
|
|
|
test_ping: false
|
|
# For full tempest run we need to make sure concurrency is not too high
|
|
tempest_workers: 3
|
|
|
|
# os_tempest setting
|
|
# Settings for os_tempest
|
|
|
|
use_os_tempest: >-
|
|
{% if release not in ['pike', 'queens', 'stein'] -%}
|
|
true
|
|
{%- else -%}
|
|
false
|
|
{%- endif -%}
|
|
|
|
# It will create a public network name 'public' using os_tempest
|
|
tempest_interface_name: public
|
|
|
|
# In order to have a public network with external connectivity, we need to use
|
|
# flat network type
|
|
tempest_public_net_provider_type: flat
|
|
|
|
# It is the physical network name through which public network will be created
|
|
# having connectivity with external world.
|
|
tempest_public_net_physical_name: datacentre
|
|
|
|
# Setting the tempest_cidr as it is required while creating public subnet from which
|
|
# floating IPs gets assigned
|
|
tempest_cidr: '10.0.0.0/24'
|
|
|
|
tempest_private_net_seg_id: ''
|
|
|
|
tempest_install_method: distro
|
|
|
|
# Having tempest_network_ping_gateway set to true allows to ping any of the IP from
|
|
# router to find out network related issue in the deployment early
|
|
tempest_network_ping_gateway: true
|
|
|
|
# It is the python-tempestconf profile which also consumes tempest-deployer-input file
|
|
tempest_tempestconf_profile:
|
|
debug: true
|
|
create: true
|
|
deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf"
|
|
os-cloud: "{{ tempest_cloud_name }}"
|
|
out: "{{ tempest_workspace }}/etc/tempest.conf"
|
|
network-id: "{{ tempest_neutron_public_network_id }}"
|
|
overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}"
|
|
|
|
check_test_whitelist:
|
|
- 'tempest.scenario'
|
|
- 'tempest.api'
|
|
- 'keystone_tempest_plugin'
|
|
- 'neutron_tempest_plugin'
|
|
- 'cinder_tempest_plugin'
|
|
|
|
periodic_test_whitelist:
|
|
- 'tempest.scenario'
|
|
- 'keystone_tempest_plugin.scenario'
|
|
- 'neutron_tempest_plugin.scenario'
|
|
- 'cinder_tempest_plugin.scenario'
|
|
|
|
# featureset 20 **periodic** runs scenario but no api tempest tests
|
|
# See https://tree.taiga.io/project/tripleo-ci-board/task/1383
|
|
tempest_test_whitelist: >-
|
|
{% if ('periodic' in zuul.pipeline and not job.force_non_periodic|default(false)|bool) or (job.force_periodic|default(false)|bool) -%}
|
|
{{ periodic_test_whitelist }}
|
|
{%- else -%}
|
|
{{ check_test_whitelist }}
|
|
{%- endif -%}
|
|
|
|
# Set tempest concurrency
|
|
# Only in this particular featureset we are setting concurrency to 4 because it
|
|
# runs full tempest and it's timeing out. Usually we set concurrency to 2
|
|
tempest_run_concurrency: 4
|
|
|
|
# List of tempest plugins to install
|
|
tempest_services:
|
|
- cinder
|
|
- neutron
|