当前系列发行说明

18.0.0.0b1-336

新特性

  • os_tempest 角色现在可以通过将 tempest_install_method 设置为 distro 从发行版包安装。

  • 引入了新的变量 tempest_workspace 以设置 tempest 工作区的路径。

  • 默认 tempest 配置文件的位置现在是 /etc/tempest/tempest.conf,而不是以前的默认位置 $HOME/.tempest/etc

  • 添加了新的参数 tempest_services,用于自动设置 tempest_service_available_{service_name} 变量。

  • 在 tempest_test_blacklist ansible 变量中添加了 launchpad 和 bugzilla 密钥。开发人员必须能够追踪为什么测试被插入到 skiplist 中,其中一种方法是通过 bug。此功能在 os_tempest 的跳过测试列表中添加了有关此信息。

  • 添加了对两种凭证提供机制(动态凭证和预置凭证)的支持。

  • Python-tempestconf 是一种基于 openstack 安装的凭据生成 tempest.conf 文件的工具。它使用 openstack 的可发现 api 来检查服务、功能等。

    添加了使用 python-tempestconf 工具生成 tempest.conf 文件,而不是使用角色模板的可能性。

  • 现在可以使用具有特定前缀的多个变量来定义 tempest 测试的包含/排除列表的全部内容。任何来自 host/group 或 ansible extra-vars 的变量,其名称以 os_tempest 角色默认值 tempest_test_search_includelist_patterntempest_test_search_excludelist_pattern 为前缀,都将与现有的 tempest_test_includelisttempest_test_excludelist 变量组合成一个单独的包含/排除列表。

  • 实现了变量 tempest_public_net_createtempest_private_net_createtempest_router_createtempest_images_createtempest_flavors_createtempest_projects_create,这些变量允许跳过创建特定资源。

  • Keystone 中 tempest 的服务设置现在将通过委托到 tempest_service_setup_host 执行,默认情况下为 localhost(部署主机)。部署者可以选择将其更改为实用程序容器,方法是在 user_variables.yml 中实现以下覆盖。

    tempest_service_setup_host: "{{ groups['utility_all'][0] }}"
    
  • 不再使用硬编码的项目和用户集,现在可以使用变量 tempest_projectstempest_users 配置 tempest 的自定义列表。

  • 现在可以使用 tempest_test_blacklist 列表变量指定 tempest 在执行时要黑名单的测试列表。

  • 添加了新的变量 tempest_tempestconf_profile_extras,它允许在无需覆盖所有现有键的情况下扩展 tempest_tempestconf_profile 字典。 tempest_tempestconf_profile_extras 具有比 tempest_tempestconf_profile 更高的优先级。 例如,它可以用于定义额外的镜像或其格式。

升级说明

  • 删除 CONF.scenario.img_dir 选项,因为它在 ~4 年的弃用期后正在从 Tempest 中删除。 CONF.scenario.img_file 选项需要包含上传到 glance 的图像的完整路径。

  • 已更新 tempest_test_blacklist 的数据结构,以添加与正在跳过的测试关联的 launchpad 和/或 bugzilla 链接。

  • 删除了变量 tempest_image_dir_owner,转而使用默认 ansible 用户来创建镜像目录。

  • 之前已弃用的变量 tempest_test_whitelisttempest_test_blacklist 已被移除。应使用替换的包含/排除列表来定义要运行的 tempest 测试。

  • 变量 tempest_test_includelist_file_pathtempest_test_excludelist_file_path 已重命名为 tempest_includelist_file_pathtempest_excludelist_file_path。使用这些变量的任何覆盖都应更新以考虑新的变量名称。

  • 更改了 tempest_projects 变量的默认值。现在此列表仅包含一个元素“tempest”。之前是“demo”和“alt_demo”,这有点令人困惑。

弃用说明

  • 变量 tempest_service_available_congresstempest_service_available_nova_lxd 已被移除,并且不再有任何作用,因为相应的服务不再受支持。

  • 以下 tempest 相关变量已被弃用,并且不再有任何作用

    • 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

  • 变量 tempest_public_net_physical_type 将在 Train 版本中被移除,转而使用 tempest_public_net_physical_name

  • 变量 tempest_network_tenant_network_cidr 已被弃用

  • 变量 tempest_network_tenant_network_mask_bits 已被弃用

  • 变量 tempest_fatal_deprecations 已被弃用

  • tempest_test_whitelist 重命名为 tempest_test_includelist,将 tempest_test_blacklist 重命名为 tempest_test_excludelist。依赖项目应更新以使用新的变量。

  • 变量 tempest_requires_pip_packages 已不再需要,因此已被移除。

  • 变量 tempest_image_downloader 已被移除。镜像下载现在使用与 tempest_service_setup_host 变量指定的镜像设置主机相同的宿主机进行下载。

错误修复

  • 在使用 tempest_tempest_conf_overrides 时,它可能有 2 种不同的格式:一种用于 config_template,另一种用于 tempestconf.profile。现在,对于 tempestconf.profile 覆盖,应使用 tempest_tempestconf_profile_overrides 变量。

其他说明

  • 添加了新变量 tempest_endpoint_type 以避免在 tempest.conf 中硬编码端点类型

  • 实现了 tempest_extra_plugins 变量,该变量允许定义额外的 tempest 插件,而无需覆盖整个 tempest_plugins 列表。