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 TableData class in tobiko.common module 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.DataFrame has been migrated to use the new TableData class. 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 new TableData class instead. The following modules have been updated:

    • tobiko.podified.containers

    • tobiko.rhosp.containers

    • tobiko.tripleo.containers

    • tobiko.tripleo.pacemaker

    • tobiko.tripleo.processes

    • tobiko.tripleo.services

    • tobiko.openstack.topology

    • tobiko.podified._topology

    • tobiko.tripleo._topology

    • tobiko.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 TableData class.

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 ping test 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. The dhcp ping background test requires nmap to be installed in the guest VM.

  • New background dns ping test 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. The dns ping background test requires resolvectl to 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 iperf3 client and server in background. Iperf3 client can be run in guest VM is ssh_client object 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_pod is deprecated. New option run_background_services_in_pod should be used instead. This option will be related not only to the ping command, as it is now, but also to other services, like e.g. iperf3 for which support will be added in the future.

Other Notes

  • New config option podified/iperf3_image is added. This option can be used to specify iperf3 container image used to run iperf3 in the POD. Default value is quay.io/podified-antelope-centos9/openstack-tobiko:current-podified but 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_pattern

    • If download_images.ubuntu-customized.customized is overriden and set to true, the image from the provided URL will not be customized. It is expected that the provided image is already customized

    • The legacy behavior, to customize Ubuntu images during test execution, can be applied by removing the default definition from download_images.ubuntu-customized.customize_command_pattern and setting download_images.ubuntu-customized.customized to 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_init
    • It 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 ss command 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 compute service isn’t available in the undercloud, like e.g. in OSP-17.