cyborg-tempest-ipv6-only (non-voting) is failing a tempest tests with AttributeError: module 'tempest.test' has no attribute 'attr'

Bug #2139582 reported by chandan kumar
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cyborg (OpenStack)
Fix Released
Undecided
Unassigned

Bug Description

cyborg-tempest-ipv6-only (non-voting) is failing a tempest tests with AttributeError: module 'tempest.test' has no attribute 'attr', Below is the traceback
```
2026-01-29 20:14:48.896884 | controller | all run-test: commands[0] | find . -type f -name '*.pyc' -delete
2026-01-29 20:14:49.173380 | controller | all run-test: commands[1] | tempest run --regex cyborg_tempest_plugin --concurrency=6
2026-01-29 20:14:54.292344 | controller |
2026-01-29 20:14:54.292419 | controller | =========================
2026-01-29 20:14:54.292434 | controller | Failures during discovery
2026-01-29 20:14:54.292445 | controller | =========================
2026-01-29 20:14:54.292457 | controller | --- import errors ---
2026-01-29 20:14:54.292478 | controller | Failed to import test module: cyborg_tempest_plugin.tests.api.test_accelerator_request_negative
2026-01-29 20:14:54.292502 | controller | Traceback (most recent call last):
2026-01-29 20:14:54.292527 | controller | File "/usr/lib/python3.12/unittest/loader.py", line 394, in _find_test_path
2026-01-29 20:14:54.292544 | controller | module = self._get_module_from_name(name)
2026-01-29 20:14:54.292605 | controller | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-01-29 20:14:54.292619 | controller | File "/usr/lib/python3.12/unittest/loader.py", line 337, in _get_module_from_name
2026-01-29 20:14:54.292631 | controller | __import__(name)
2026-01-29 20:14:54.292642 | controller | File "/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/cyborg_tempest_plugin/tests/api/test_accelerator_request_negative.py", line 23, in <module>
2026-01-29 20:14:54.292655 | controller | class AcceleratorRequestNegativeTest(base.BaseAPITest):
2026-01-29 20:14:54.292666 | controller | File "/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/cyborg_tempest_plugin/tests/api/test_accelerator_request_negative.py", line 31, in AcceleratorRequestNegativeTest
2026-01-29 20:14:54.292711 | controller | @test.attr(type=['negative', 'gate'])
2026-01-29 20:14:54.292724 | controller | ^^^^^^^^^
2026-01-29 20:14:54.292736 | controller | AttributeError: module 'tempest.test' has no attribute 'attr'
2026-01-29 20:14:54.292747 | controller |
2026-01-29 20:14:54.292759 | controller | Failed to import test module: cyborg_tempest_plugin.tests.api.test_deployable_negative
2026-01-29 20:14:54.292770 | controller | Traceback (most recent call last):
2026-01-29 20:14:54.292781 | controller | File "/usr/lib/python3.12/unittest/loader.py", line 394, in _find_test_path
2026-01-29 20:14:54.292795 | controller | module = self._get_module_from_name(name)
2026-01-29 20:14:54.292808 | controller | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-01-29 20:14:54.292820 | controller | File "/usr/lib/python3.12/unittest/loader.py", line 337, in _get_module_from_name
2026-01-29 20:14:54.292855 | controller | __import__(name)
2026-01-29 20:14:54.292867 | controller | File "/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/cyborg_tempest_plugin/tests/api/test_deployable_negative.py", line 23, in <module>
2026-01-29 20:14:54.292876 | controller | class DeployableNegativeTest(base.BaseAPITest):
2026-01-29 20:14:54.292885 | controller | File "/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/cyborg_tempest_plugin/tests/api/test_deployable_negative.py", line 31, in DeployableNegativeTest
2026-01-29 20:14:54.292895 | controller | @test.attr(type=['negative', 'gate'])
2026-01-29 20:14:54.292903 | controller | ^^^^^^^^^
2026-01-29 20:14:54.292912 | controller | AttributeError: module 'tempest.test' has no attribute 'attr'
```

By looking at the job definition of the job in cyborg-tempest-plugin https://github.com/openstack/cyborg-tempest-plugin/blob/c97c9abb569bb2b833941d022f41913ad8c03e7d/.zuul.yaml#L159
```

- job:
    name: cyborg-tempest-ipv6-only
    parent: devstack-tempest-ipv6
    description: |
      Cyborg devstack tempest tests job for IPv6-only deployment
    voting: false
    timeout: 7800
    required-projects: *base_required_projects
    vars: *base_vars
    irrelevant-files: *base_irrelevant_files
```
By taking a look at required-projects: *base_required_projects yaml anchor https://github.com/openstack/cyborg-tempest-plugin/blob/c97c9abb569bb2b833941d022f41913ad8c03e7d/.zuul.yaml#L28
```
    required-projects: &base_required_projects
      - openstack/cyborg
      - openstack/python-cyborgclient
      - openstack/tempest
      - name: openstack/cyborg-tempest-plugin
        override-checkout: 1.4.0
```
It uses a pinned version of cyborg-tempest-plugin and tempest.test has dropped support of attr long time back. Hence the pin needs to be removed in order to fix it.

Changed in openstack-cyborg:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cyborg-tempest-plugin (master)

Reviewed: https://review.opendev.org/c/openstack/cyborg-tempest-plugin/+/975378
Committed: https://opendev.org/openstack/cyborg-tempest-plugin/commit/18fc39acf4d3b8b3946fa1458602702b783120e4
Submitter: "Zuul (22348)"
Branch: master

commit 18fc39acf4d3b8b3946fa1458602702b783120e4
Author: Chandan Kumar (raukadah) <email address hidden>
Date: Mon Feb 2 15:16:31 2026 +0530

    Update required-projects of ipv6 job to fix tempest

    Currently cyborg-tempest-ipv6-only uses required projects from
    base_required_projects yaml anchor which reference to
    cyborg-tempest-plugin 1.4.0.

    This job is failing while running tempest tests with tempest.test does
    not contains attr method which is removed in newer tempest.

    This cr adds a new base_required_projects_master yaml anchor to
    reference required project having no override-checkout and use it
    in ipv6 job.

    It will make sure cyborg-tempest-plugin gets installed from master,
    will fix the job.

    Closes-Bug: #2139582

    Depends-On: https://review.opendev.org/c/openstack/cyborg/+/974911

    Change-Id: I93c9d2492fab7c95a66421d3b4aff984e76ef824
    Signed-off-by: Chandan Kumar (raukadah) <email address hidden>

Changed in openstack-cyborg:
status: In Progress → Fix Released

This issue was fixed in the openstack/cyborg-tempest-plugin 2.7.0 Gazpacho release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.