Bug 2109541

Summary: novaclient.tests.unit.test_shell.ShellTest.test_osprofiler KeyError: 'profile'
Product: Red Hat OpenStack Reporter: David Sariel <dsariel>
Component: python-novaclientAssignee: René Ribaud <rribaud>
Status: CLOSED ERRATA QA Contact: OSP DFG:Compute <osp-dfg-compute>
Severity: medium Docs Contact:
Priority: low    
Version: 17.0 (Wallaby)CC: alifshit, apevec, dasmith, eglynn, jcapitao, jhakimra, kchamart, rribaud, sbauza, sdatko, sgordon, vromanso
Target Milestone: ---Keywords: Patch, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-novaclient-17.4.0-1.20220830131058.54d4da1.el9ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-08-16 01:11:24 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 David Sariel 2022-07-21 14:01:21 UTC
Description of problem:

2 unit tests failed osp-rpm-py39 check gate

2022-07-21 13:42:38.317567 | container | Ran: 3335 tests in 4.3137 sec.
2022-07-21 13:42:38.317576 | container |  - Passed: 3333
2022-07-21 13:42:38.317583 | container |  - Skipped: 0
2022-07-21 13:42:38.317592 | container |  - Expected Fail: 0
2022-07-21 13:42:38.317601 | container |  - Unexpected Success: 0
2022-07-21 13:42:38.317608 | container |  - Failed: 2
2022-07-21 13:42:38.317617 | container | Sum of execute time for each test: 56.5966 sec.


traceback 

2022-07-21 13:42:38.317116 | container | ==============================
2022-07-21 13:42:38.317128 | container | Failed 2 tests - output below:
2022-07-21 13:42:38.317138 | container | ==============================
2022-07-21 13:42:38.317147 | container |
2022-07-21 13:42:38.317155 | container | novaclient.tests.unit.test_shell.ShellTest.test_osprofiler
2022-07-21 13:42:38.317164 | container | ----------------------------------------------------------
2022-07-21 13:42:38.317172 | container |
2022-07-21 13:42:38.317181 | container | Captured traceback:
2022-07-21 13:42:38.317189 | container | ~~~~~~~~~~~~~~~~~~~
2022-07-21 13:42:38.317198 | container |     Traceback (most recent call last):
2022-07-21 13:42:38.317207 | container |       File "/usr/lib/python3.9/site-packages/requests_mock/mocker.py", line 262, in inner
2022-07-21 13:42:38.317236 | container |         return func(*args, **kwargs)
2022-07-21 13:42:38.317256 | container |       File "/root/src/code.engineering.redhat.com/python-novaclient/novaclient/tests/unit/test_shell.py", line 668, in test_osprofiler
2022-07-21 13:42:38.317266 | container |         self.shell('list --profile swordfish', (0, 2))
2022-07-21 13:42:38.317276 | container |       File "/root/src/code.engineering.redhat.com/python-novaclient/novaclient/tests/unit/test_shell.py", line 399, in shell
2022-07-21 13:42:38.317285 | container |         _shell.main(argstr.split())
2022-07-21 13:42:38.317295 | container |       File "/root/src/code.engineering.redhat.com/python-novaclient/novaclient/shell.py", line 659, in main
2022-07-21 13:42:38.317305 | container |         self.cs = client.Client(
2022-07-21 13:42:38.317314 | container |       File "/root/src/code.engineering.redhat.com/python-novaclient/novaclient/tests/unit/test_shell.py", line 665, in client
2022-07-21 13:42:38.317323 | container |         self.assertEqual('swordfish', kwargs['profile'])
2022-07-21 13:42:38.317333 | container |     KeyError: 'profile'
2022-07-21 13:42:38.317343 | container |
2022-07-21 13:42:38.317352 | container |
2022-07-21 13:42:38.317362 | container | novaclient.tests.unit.test_shell.ShellTestKeystoneV3.test_osprofiler
2022-07-21 13:42:38.317372 | container | --------------------------------------------------------------------
2022-07-21 13:42:38.317381 | container |
2022-07-21 13:42:38.317390 | container | Captured traceback:
2022-07-21 13:42:38.317399 | container | ~~~~~~~~~~~~~~~~~~~
2022-07-21 13:42:38.317408 | container |     Traceback (most recent call last):
2022-07-21 13:42:38.317418 | container |       File "/usr/lib/python3.9/site-packages/requests_mock/mocker.py", line 262, in inner
2022-07-21 13:42:38.317431 | container |         return func(*args, **kwargs)
2022-07-21 13:42:38.317440 | container |       File "/root/src/code.engineering.redhat.com/python-novaclient/novaclient/tests/unit/test_shell.py", line 668, in test_osprofiler
2022-07-21 13:42:38.317449 | container |         self.shell('list --profile swordfish', (0, 2))
2022-07-21 13:42:38.317457 | container |       File "/root/src/code.engineering.redhat.com/python-novaclient/novaclient/tests/unit/test_shell.py", line 399, in shell
2022-07-21 13:42:38.317467 | container |         _shell.main(argstr.split())
2022-07-21 13:42:38.317475 | container |       File "/root/src/code.engineering.redhat.com/python-novaclient/novaclient/shell.py", line 659, in main
2022-07-21 13:42:38.317484 | container |         self.cs = client.Client(
2022-07-21 13:42:38.317493 | container |       File "/root/src/code.engineering.redhat.com/python-novaclient/novaclient/tests/unit/test_shell.py", line 665, in client
2022-07-21 13:42:38.317501 | container |         self.assertEqual('swordfish', kwargs['profile'])
2022-07-21 13:42:38.317510 | container |     KeyError: 'profile'
2022-07-21 13:42:38.317519 | container |



How reproducible:
comment reverify on the change request; https://url.corp.redhat.com/14571b8

Comment 1 René Ribaud 2022-08-04 16:47:33 UTC
It seems the osprofiler build dependency is missing on the novaclient package, making the job fail.
The osprofiler should be installed using the RDO rpm by our downstream ci, the related ansible playbook looks at the novaclient rpm spec file to found required dependencies and then installed them.
But the osprofiler dependency is missing in the novaclient spec file.

A patch is attached to this bug to the RDO team to add the missing dependency. Please look at attached RDO link.

Comment 2 Joel Capitao 2022-08-22 17:46:22 UTC
RDO patch merged in rpm-master, and is being backported to stable/wallaby-rdo branch

Comment 4 Szymon Datko 2022-10-11 14:52:27 UTC
Just to make a note, I confirmed here https://code.engineering.redhat.com/gerrit/c/python-novaclient/+/302241 that adding python3-osprofiler package resolves the issue in Component CI job for both OSP 17 and OSP 17.1

The backport from master was also merged to wallaby-rdo: https://review.rdoproject.org/r/c/openstack/novaclient-distgit/+/44616

Sounds done for me, thanks!

Comment 15 errata-xmlrpc 2023-08-16 01:11:24 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Release of components for Red Hat OpenStack Platform 17.1 (Wallaby)), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2023:4577

Comment 16 Red Hat Bugzilla 2023-12-15 04:25:29 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days