Ansible based project for setting up TripleO virtual environments
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

242 lines
7.5 KiB

# Summary of the feature set.
# Deploy an non-ha Openstack environment, without SSL, introspect, and
# ready to execute tempest tests.
# Example of usage:
# ./quickstart.sh -t all --retain-inventory -c \
# @config/general_config/featureset021.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 -%}
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 }}"
undercloud_resource_registry_args:
"OS::TripleO::Undercloud::Net::SoftwareConfig": "{{ undercloud_templates_path }}/net-config-undercloud.yaml"
# Tell tripleo about our environment
enable_pacemaker: true
network_isolation: true
network_isolation_type: "multiple-nics"
network_isolation_args: >-
-e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml
-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
# This is not required in newton
telemetry_args: >-
{% if release != 'newton' %}
-e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml
{% endif %}
extra_args: ''
# 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
- "{% if run_tempest|bool and tempest_format|default('packages') == 'containers' -%}tempest_container{%- endif -%}"
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
- "{% if run_tempest|bool and tempest_format|default('packages') == 'containers' -%}tempest_container{%- endif -%}"
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
# Run containerized tempest from master and ongoing
tempest_format: >-
{% if containerized_undercloud|bool -%}
container
{%- else -%}
packages
{%- endif -%}
undercloud_enable_tempest: >-
{% if release not in ['newton', 'ocata', 'pike', 'queens'] -%}
true
{%- else -%}
false
{%- endif -%}
# Featureset 021 is a special case where we do not run full tempest
# but just the tests on skiplist
skip_test_file: "{{ playbook_dir | dirname }}/vars/tempest_skip_{{ release | default('master') }}.yml"
skip_list_tests: "{{ lookup('file', skip_test_file) | from_yaml }}"
# This filter the known_failures where the undercloud value is not true
# and return a list
tempest_whitelist: "{{ skip_list_tests.known_failures | json_query('[?undercloud != `true`].test') }}"
# Need to set test_white_regex to empty, otherwise it gets the default value that is '(smoke)'
test_white_regex: ''
test_black_regex:
- 'sahara_tempest_plugin'
- 'manila_tempest_tests'
- 'patrole_tempest_plugin'
- 'zaqar_tempest_plugin'
- 'watcher_tempest_plugin'
- 'vitrage_tempest_plugin'
- 'trove_tempest_plugin'
- 'tripleo_common_tempest_plugin'
- 'tempest_horizon'
- 'octavia_tempest_plugin'
- 'novajoin_tempest_plugin'
- 'murano_tempest_tests'
- 'mistral_tempest_tests'
- 'magnum_tempest_plugin'
- 'kuryr_tempest_plugin'
- 'ironic_tempest_plugin'
- 'heat_tempest_plugin'
- 'designate_tempest_plugin'
- 'congress_tempest_plugin'
- 'barbican_tempest_plugin'
- 'ec2api_tempest_plugin'
test_ping: false
# Run tempest without skip file
skip_file_src: ''
# For full tempest run we need to make sure concurrency is not too high
tempest_workers: 3
# Settings specific to os_tempest
# Settings for os_tempest
run_tempest: >-
{% if release not in ['pike', 'queens', 'rocky', 'stein'] -%}
false
{%- else -%}
true
{%- endif -%}
use_os_tempest: >-
{% if release not in ['pike', 'queens', 'rocky', '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({}) }}"
# Run skiplist as whitelist
tempest_test_whitelist: "{{ tempest_whitelist }}"
# Keeping the blacklist list empty
tempest_test_blacklist: ""
# Set tempest concurrency
tempest_run_concurrency: 3
# List of tempest plugins to install
tempest_services:
- cinder
- neutron
# Install the latest unlreleased packages from CentOS
enable_centos_cr_repo: true