Unreleased
0.8.21
Bug Fixes
Migration tests now filter candidate hypervisors by hypervisor type before selecting a migration target. This prevents test failures when attempting to migrate servers between incompatible hypervisor types (e.g., from QEMU compute nodes to Ironic baremetal nodes). Nova does not support migration between different hypervisor types, and tests will now properly select only compatible hypervisors of the same type (QEMU to QEMU, Ironic to Ironic, etc.) when performing live or cold migrations with an explicit target host.
For more information, see Story 2011623.
0.8.17
New Features
Introduced a new
TableDataclass intobiko.commonmodule as a lightweight alternative to pandas DataFrame. The TableData class provides tabular data manipulation capabilities specifically tailored to Tobiko’s needs without requiring the heavy pandas dependency.
Upgrade Notes
The pandas library has been removed as a dependency from Tobiko. All code that previously used
pandas.DataFramehas been migrated to use the newTableDataclass. This change reduces the installation size and simplifies dependency management. Users who were relying on pandas functionality in Tobiko should update their code to use the newTableDataclass instead. The following modules have been updated:tobiko.podified.containerstobiko.rhosp.containerstobiko.tripleo.containerstobiko.tripleo.pacemakertobiko.tripleo.processestobiko.tripleo.servicestobiko.openstack.topologytobiko.podified._topologytobiko.tripleo._topologytobiko.tripleo._overcloud
References to “dataframe” in function names, variables, and documentation have been renamed to “tabledata” to reflect this change.
Deprecation Notes
The pandas library is no longer used or supported by Tobiko. Any external code that depends on Tobiko returning pandas DataFrame objects should be updated to work with the new
TableDataclass.
0.8.16
Other Notes
A new testenv value has been added to the list of supported test scopes: update_podified_post. This value can be used to run tests on openstack podified environments after an update procedure has been completed. For the moment, only one test, test_kpatches_applied_on_compute_nodes, has been added to update_podified_post.
0.8.13
New Features
New background
dhcp pingtest was added. This new test runs simple bash script in the guest VM and sends DHCP request periodically to make sure DHCP server replies with the IP address offered. Thedhcp pingbackground test requiresnmapto be installed in the guest VM.
New background
dns pingtest was added. This new test runs simple bash script in the guest VM and periodically tries to resolve hostname of the other VM from the same stack to make sure that DNS service works properly. Thedns pingbackground test requiresresolvectlto be installed in the guest VM.
0.8.10
New Features
New config option named interval for the iperf3 module was added. This new option can be used to configure result report intervals for the iperf3 client which can make background iperf3 client’s log to be much smaller in the long running tests.
New parameter –interval or -i was added to the tobiko ping CLI tool. It can be used to configure intervals between 2 consequentive ICMP packets send by the tool thus to smaller log file, especially in long running tests.
0.8.8
Other Notes
Two new tests have been added to the existing list of BackgroundProcessTest:
test_check_background_vm_ping_east_west: checks connectivity between two VMs connected to the same network.test_check_background_vm_ping_snat: checks external connectivity from a VM without FIP, connected to the external network through a router.
0.8.7
New Features
Added support for running
iperf3client and server in background. Iperf3 client can be run in guest VM isssh_clientobject is provided or locally on the machine where Tobiko is run. Added two new config options for the RHOSO topologies:max_traffic_break_allowed- to specify longest allowed single break in the traffic tested with iperf3,max_total_breaks_allowed- to specify total allowed breaks time in the traffic tested with iperf3.
Deprecation Notes
Config option
run_background_ping_in_podis deprecated. New optionrun_background_services_in_podshould be used instead. This option will be related not only to thepingcommand, as it is now, but also to other services, like e.g.iperf3for which support will be added in the future.
Other Notes
New config option
podified/iperf3_imageis added. This option can be used to specify iperf3 container image used to run iperf3 in the POD. Default value isquay.io/podified-antelope-centos9/openstack-tobiko:current-podifiedbut this image currently don’t provide iperf3 in the required version so other image should be used in tests. Iperf3 >= 3.17 is required in this case.
0.8.6
Deprecation Notes
The config parameter image_file is not available anymore. With this parameter, it was possible to configure the local path to the images that could be used to create either Cirros or Ubuntu VM instances. It is still possible to do this, using the existing parameter image_url:
[cirros] image_url=file:///tmp/cirros.img
Internally, the image_file attribute is still part of the UrlGlanceImageFixture class and it indicates where the image file is saved locally.
CustomizedGlanceImageFixture class is not supported anymore. This means the Ubuntu image provided via tobiko.conf, which could be customized during test execution in previous tobiko versions, has to include all the expected customizations. When using the tobiko ansible roles, the tobiko-download-images roles performes the required customizations by default. The URL to download an image without any customizations and the command that are executed during the opendev jobs can be found here: https://opendev.org/x/tobiko/src/commit/eb83ebe860dfb4206b346a822675c01f8ba82ccf/roles/tobiko-common/defaults/main.yaml#L62
Due to the deprecation of the CustomizedGlanceImageFixture class, some configuration parameters have been deprecated at image level.
interface_name is not supported anymore because tobiko does not need to create a VLAN over that interface (the customized image already includes it).
customized_image_provided boolean is not supported anymore because the provided images were previously customized.
Other Notes
From this release onwards, tobiko will use by default Fedora as guest images. The tobiko-download ansible role downloads a Fedora image and customizes it, by default. The tobiko tests will find that image in a local disk and upload it to glance. The resource names (images, VM instances, etc) do not include “Fedora”, but “Advanced” images or VMs. The test names and test class names using these Advanced images usually include the string “Advanced” too. The [ubuntu] section from the tobiko.conf file is replaced with the [advanced_vm] section. If the tobiko ansible roles are not used, an already customized image can be configured in tobiko.conf
[advanced_vm] image_url=file:///tmp/fedora-customized.qcow2 # or https://file-server.com/fedora-customized.qcow2
Changes in the tobiko infrared plugin parameters:
–ubuntu-connection-timeout is renamed to –advanced-vm-connection-timeout
–ubuntu-is-reachable-timeout is renamed to advanced-vm-is-reachable-timeout
New parameter added, –customized-fedora-image-url: URL to customized fedora image that tobiko ansible roles will download and will be used to create Advanced VM instances
0.8.5
Other Notes
Introduced new config option tobiko_pod_tolerations, which can be used when running background ping process using OpenShift POD. With this option, tolerations can be added to the POD definition. Example: [{effect: NoSchedule, key: testOperator, value: true}, {effect: NoExecute, key: testOperator, value: true}]
Introduced new config option tobiko_pod_extra_network, which can be used when running background ping process using OpenShift POD. With this option, an extra network interface can be attached to the POD.
Introduced new config option tobiko_pod_node_selector, which can be used when running background ping process using OpenShift POD. This option is used to specify on which Openshift node the POD should run. Example: kubernetes.io/hostname:worker-3
0.8.4
Prelude
New CLI command tobiko
New Features
New CLI command tobiko is added. This new tool can be used to e.g. run some background commands by Tobiko. Currently the only supported command is tobiko ping which can be used to run ping of the server in the background process (e.g. to run it from the POD on the OpenShift cluster)
Support for running background ping process from the OpenShift POD. This will be done that way automatically when Tobiko will be using podified topology class but also can be enabled on the tripleo topology by setting run_background_ping_in_pod to true in the tobiko config file. Running background ping from the POD on the tripleo topology is useful in e.g. adoption jobs to run background ping during the whole adoption process.
Tobiko roles can customize guest images before test execution
CI jobs using tobiko ansible roles have three options to use customized guest images:
The new default behavior is that the Tobiko ansible roles will customize the Ubuntu guest images before test execution. The command to customize the image can be modified overriding
download_images.ubuntu-customized.customize_command_patternIf
download_images.ubuntu-customized.customizedis overriden and set to true, the image from the provided URL will not be customized. It is expected that the provided image is already customizedThe legacy behavior, to customize Ubuntu images during test execution, can be applied by removing the default definition from
download_images.ubuntu-customized.customize_command_patternand settingdownload_images.ubuntu-customized.customizedto false. This option will not be available in next Tobiko releases.
Deprecation Notes
Tobiko roles can customize guest images before test execution
The “legacy behavior” option from the New feature Tobiko roles can customize guest images before test execution will be deprecated. In next Tobiko releases, it will not be possible to customize Ubuntu images during test exeuction.
Other Notes
Introduced new config option run_background_ping_in_pod which can be used to run background ping process using OpenShift POD even if tests are run on the tripleo topology.
Introduced new config option tobiko_image which can be used to specify image which will be used to run POD with e.g. tobiko ping command to run background ping inside the OpenShift POD.
Introduced new config option tobiko_start_pod_timeout which can be used to define how much time Tobiko will wait for the POD with background process to be Running. In most cases there is no need to wait long time for that but if image specified in the tobiko_image config option is not in the local registry, downloading it may take some time and then adjusting this timeout setting may be necessary.
Introduced new config option background_tasks_project which allows to speficy an OpenShift namespace in which PODs with background tasks, like e.g. tobiko ping will be created. If this namespace don’t exists in the OpenShift cluster, it will be created.
0.7.1
New Features
Added Manila support and testing. Now Manila tests can be run on tobiko as well.
Added new input argument –skipregex When it is used, tests are skipped when the regex is found in their test names. Fully qualified test names are used for this search.
Example: tobiko.tests.unit.test_exception.TestException.test_initIt can be used from CLI with pytest
$ .tox/py3/bin/pytest --skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes' tobiko/tests/unit
It can be used from CLI with tox
$ PYTEST_ADDOPTS="--skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes'" TOX_PYTHON=python3.9 tox -e py3
It can be used from the Tobiko Infrared plugin by using the –pytest-addopts option (limitation: the skipregex is applied to all the steps from the the executed Tobiko workflow)
$ infrared tobiko ... --pytest-addopts "--skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes'"
It can be used from a zuul job by configuring the following variable within the zuul job yaml file (limitation: the skipregex is applied to all the steps from the executed Tobiko workflow)
pytest_addopts_global: "--skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes'"
0.7.0
Deprecation Notes
Support for Python versions 3.6 and 3.7 was dropped. The minimum supported version is now Python 3.8.
0.6.2
Prelude
New Features
Add parser for
sscommand line tool
0.6.0
New Features
Support for the Metalsmith API was added. It is necessary to get data about the overcloud nodes from the undercloud when the
computeservice isn’t available in the undercloud, like e.g. in OSP-17.