Bug 2135856

Summary: TimeoutException on test_can_resize_need_fs_type_specified
Product: Red Hat OpenStack Reporter: Szymon Datko <sdatko>
Component: openstack-novaAssignee: melanie witt <mwitt>
Status: CLOSED MIGRATED QA Contact: OSP DFG:Compute <osp-dfg-compute>
Severity: low Docs Contact:
Priority: low    
Version: 18.0 (Zed)CC: alifshit, dasmith, eglynn, jhakimra, kchamart, mwitt, sbauza, sgordon, vromanso
Target Milestone: gaKeywords: Patch, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-nova-27.1.1-18.0.20230930093334.a869ab1.el9ost Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-01-11 15:03:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Szymon Datko 2022-10-18 15:15:57 UTC
Hello,

we observe the following issue when running py39 job in Component CI for OSP 17 and 17.1

```
{10} nova.tests.unit.virt.disk.test_api.APITestCase.test_can_resize_need_fs_type_specified [175.554386s] ... FAILED

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/zuul/src/code.engineering.redhat.com/nova/nova/tests/unit/virt/disk/test_api.py", line 47, in test_can_resize_need_fs_type_specified
        self.assertFalse(api.is_image_extendable(image))
      File "/home/zuul/src/code.engineering.redhat.com/nova/nova/virt/disk/api.py", line 190, in is_image_extendable
        fs.setup(mount=False)
      File "/home/zuul/src/code.engineering.redhat.com/nova/nova/virt/disk/vfs/guestfs.py", line 235, in setup
        self.handle.launch()
      File "/usr/lib/python3.9/site-packages/eventlet/tpool.py", line 190, in doit
        result = proxy_call(self._autowrap, f, *args, **kwargs)
      File "/usr/lib/python3.9/site-packages/eventlet/tpool.py", line 148, in proxy_call
        rv = execute(f, *args, **kwargs)
      File "/usr/lib/python3.9/site-packages/eventlet/tpool.py", line 121, in execute
        rv = e.wait()
      File "/usr/lib/python3.9/site-packages/eventlet/event.py", line 125, in wait
        result = hub.switch()
      File "/usr/lib/python3.9/site-packages/eventlet/hubs/hub.py", line 313, in switch
        return self.greenlet.switch()
      File "/usr/lib/python3.9/site-packages/eventlet/hubs/hub.py", line 365, in run
        self.wait(sleep_time)
      File "/usr/lib/python3.9/site-packages/eventlet/hubs/poll.py", line 80, in wait
        presult = self.do_poll(seconds)
      File "/usr/lib/python3.9/site-packages/eventlet/hubs/epolls.py", line 31, in do_poll
        return self.poll.poll(seconds)
      File "/usr/lib/python3.9/site-packages/fixtures/_fixtures/timeout.py", line 52, in signal_handler
        raise TimeoutException()
    fixtures._fixtures.timeout.TimeoutException
    

Captured pythonlogging:
~~~~~~~~~~~~~~~~~~~~~~~
    2022-10-18 14:46:01,756 WARNING [oslo_policy.policy] JSON formatted policy_file support is deprecated since Victoria release. You need to use YAML format which will be default in future. You can use ``oslopolicy-convert-json-to-yaml`` tool to convert existing JSON-formatted policy file to YAML-formatted in backward compatible way: https://docs.openstack.org/oslo.policy/latest/cli/oslopolicy-convert-json-to-yaml.html.
    2022-10-18 14:46:01,756 WARNING [oslo_policy.policy] JSON formatted policy_file support is deprecated since Victoria release. You need to use YAML format which will be default in future. You can use ``oslopolicy-convert-json-to-yaml`` tool to convert existing JSON-formatted policy file to YAML-formatted in backward compatible way: https://docs.openstack.org/oslo.policy/latest/cli/oslopolicy-convert-json-to-yaml.html.
    2022-10-18 14:46:01,758 WARNING [oslo_policy.policy] Policy Rules ['os_compute_api:extensions', 'os_compute_api:os-floating-ip-pools', 'os_compute_api:os-quota-sets:defaults', 'os_compute_api:os-availability-zone:list', 'os_compute_api:limits', 'system_admin_api', 'system_reader_api', 'project_admin_api', 'project_member_api', 'project_reader_api', 'system_admin_or_owner', 'system_or_project_reader', 'os_compute_api:limits:other_project', 'os_compute_api:os-lock-server:unlock:unlock_override', 'os_compute_api:servers:create:zero_disk_flavor', 'compute:servers:resize:cross_cell'] specified in policy files are the same as the defaults provided by the service. You can remove these rules from policy files which will make maintenance easier. You can detect these redundant rules by ``oslopolicy-list-redundant`` tool also.
```

May this issue be related to the listed warnings from oslo_policy?

You may use this change to trigger the build by commenting "recheck": https://code.engineering.redhat.com/gerrit/c/nova/+/430672

Yours, Szymon

Comment 2 Szymon Datko 2022-10-28 11:36:02 UTC
Thank you @mwitt for looking into it. I did not understand the error from libguestfs that way.

Removing libvirt-client and libguestfs indeed resolves the issue.
I verified that with downstream change https://code.engineering.redhat.com/gerrit/c/openstack/osp-internal-jobs/+/433021
and recheck here https://code.engineering.redhat.com/gerrit/c/nova/+/430672

Note these packages were originally installed because this is an RPM job and we install all packages mentioned as required by spec file.
(I forgot to mention that before, I am sorry)

For now the in-job workaround is then introduced: https://github.com/RedHatCRE/znoyder/pull/108

The failure in downstream CI is now resolved.
You can use this bugzilla for any notes regarding upstream fix that is planned for the failing test.

Comment 3 melanie witt 2022-10-31 16:18:42 UTC
Thanks Szymon for the link and for confirming you were able to put the workaround in place.

We have a patch under review upstream (which I've linked to this BZ) and once it's merged, I will backport to 17.1 and 17.0.

Comment 4 Artom Lifshitz 2022-12-12 19:28:24 UTC
Since we don't expect do be doing a whole lot more work for 17.0 (we're not even sure if there's going to be a z2 release), I'll just move this to 17.1.

Comment 6 Artom Lifshitz 2023-07-19 12:15:51 UTC
Moving to z2 as this has missed ga and z1 is exceptions only.