Current Series Release Notes

18.0.0.0b1-332

New Features

  • The os_tempest role now has the ability to install from distribution packages by setting tempest_install_method to distro.

  • The new variable tempest_workspace has been introduced to set the location of the tempest workspace.

  • The default location of the default tempest configuration is now /etc/tempest/tempest.conf rather than the previous default of $HOME/.tempest/etc.

  • Added new parameter tempest_services for setting tempest_service_available_{service_name} var automatically.

  • Add the launchpad and bugzilla keys in tempest_test_blacklist ansible variable. Developers must have a way to trackdown why a test was inserted in the skiplist, and one of the ways is through bugs. This feature add the information regarding it in the list of skipped tests on os_tempest

  • Added a support for both Credential Provider Mechanisms(dynamic credentials and pre-provisioned credentials).

  • Python-tempestconf is a tool that generates a tempest.conf file, based only on the credentials from an openstack installation. It uses the discoverable api from openstack to check for services, features, etc.

    Add the possibility to use python-tempestconf tool to generate tempest.conf file, rather than use the role template.

  • It is now possible to use multiple variables with a specific prefix to define the whole contents of the tempest test include/exclude lists. Any variable from host/group or ansible extra-vars whose name is prefixed with the value in the os_tempest role default tempest_test_search_includelist_pattern or tempest_test_search_excludelist_pattern will be combined with the existing tempest_test_includelist or tempest_test_excludelist variables into a single include/exclude list.

  • Implemented variables tempest_public_net_create, tempest_private_net_create, tempest_router_create, tempest_images_create, tempest_flavors_create, tempest_projects_create which allow to skip creating specific resources.

  • The service setup in keystone for tempest will now be executed through delegation to the tempest_service_setup_host which, by default, is localhost (the deploy host). Deployers can opt to rather change this to the utility container by implementing the following override in user_variables.yml.

    tempest_service_setup_host: "{{ groups['utility_all'][0] }}"
    
  • Rather than a hard-coded set of projects and users, tempest can now be configured with a custom list with the variables tempest_projects and tempest_users.

  • It is now possible to specify a list of tests for tempest to blacklist when executing using the tempest_test_blacklist list variable.

  • Adds new variable tempest_tempestconf_profile_extras which allows to extend tempest_tempestconf_profile dictionary without need to override all existing keys. tempest_tempestconf_profile_extras has presedence over tempest_tempestconf_profile. For example, it may be used to define extra image or it’s format.

Upgrade Notes

  • Remove CONF.scenario.img_dir option as it is being removed from Tempest after ~4 year deprecation period. CONF.scenario.img_file option needs to contain the full path to an image to upload to glance.

  • Data structure for tempest_test_blacklist has been updated to add launchpad and/or bugzilla linked with the test being skipped.

  • The variable tempest_image_dir_owner is removed in favour of using default ansible user to create the image directory.

  • The previously deprecated variables tempest_test_whitelist and tempest_test_blacklist are removed. The replacement include/exclude lists should be used instead to define tempest tests to run.

  • The variables tempest_test_includelist_file_path and tempest_test_excludelist_file_path are renamed to tempest_includelist_file_path and tempest_excludelist_file_path. Any overrides using these variables should be updated to account for the new variable names.

  • Changed default value for tempest_projects variable. Now this list contains only one element ‘tempest’. Previously it was ‘demo’ and ‘alt_demo’ which was quite confusing.

Deprecation Notes

  • Vaiables tempest_service_available_congress and tempest_service_available_nova_lxd have been removed and have no effect since corresponding services are not supported anymore.

  • Following tempest related variables were deprecated and have no effect:

    • tempest_compute_ssh_user

    • tempest_compute_console_output_enabled

    • tempest_compute_resize_enabled

    • tempest_compute_snapshot_enabled

    • tempest_compute_change_password

    • tempest_image_api_v1_enabled

    • tempest_image_api_v2_enabled

    • tempest_swift_container_sync

    • tempest_swift_object_versioning

    • tempest_swift_discoverable_apis

    • tempest_volume_backup_enabled

    • tempest_volume_multi_backend_enabled

    • tempest_enable_instance_password

    • tempest_volume_backend_names

  • The variable tempest_public_net_physical_type will be removed by Train release in the favor of tempest_public_net_physical_name.

  • variable tempest_network_tenant_network_cidr has been deprecated

  • variable tempest_network_tenant_network_mask_bits has been deprecated

  • variable tempest_fatal_deprecations has been deprecated

  • Renamed tempest_test_whitelist to tempest_test_includelist and tempest_test_blacklist to tempest_test_excludelist Dependant projects should update to use the new variables

  • The variable tempest_requires_pip_packages is no longer required and has therefore been removed.

  • The variable tempest_image_downloader has been removed. The image download now uses the same host designated by the tempest_service_setup_host for the image download.

Bug Fixes

  • Usage of tempest_tempest_conf_overrides, where it could have 2 different formats. one for config_template and another one for tempestconf.profile Now for tempestconf.profile overrides tempest_tempestconf_profile_overrides variable should be used.

Other Notes

  • Added new variable tempest_endpoint_type to avoid having endpoint type hardcoded in tempest.conf

  • Implemented tempest_extra_plugins variable which allows to define extra tempest plugins without overriding the whole tempest_plugins list.