Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1865296

Summary: python-jenkins-job-builder: FTBFS in Fedora rawhide/f33
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: python-jenkins-job-builderAssignee: Ken Dreyer <ktdreyer>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 33CC: igor.raits, ktdreyer, pabelanger
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-jenkins-job-builder-3.5.0-2.fc33 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-25 16:38:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1803234    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Fedora Release Engineering 2020-08-03 20:52:14 UTC
python-jenkins-job-builder failed to build from source in Fedora rawhide/f33

https://koji.fedoraproject.org/koji/taskinfo?taskID=48350851


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Please fix python-jenkins-job-builder at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
python-jenkins-job-builder will be orphaned. Before branching of Fedora 34,
python-jenkins-job-builder will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://fedoraproject.org/wiki/Fails_to_build_from_source

Comment 1 Fedora Release Engineering 2020-08-03 20:52:16 UTC
Created attachment 1709059 [details]
build.log

file build.log too big, will only attach last 32768 bytes

Comment 2 Fedora Release Engineering 2020-08-03 20:52:18 UTC
Created attachment 1709060 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2020-08-03 20:52:19 UTC
Created attachment 1709061 [details]
state.log

Comment 4 Ken Dreyer 2020-08-07 16:11:18 UTC
I've pushed the latest upstream release (3.5.0) to master, f32, and f31 for rhbz#1809853.

However, that still does not fix this FTBFS bug on Rawhide (f33).

The problem is that the test suite fails to pass, and there are a lot of AttributeErrors. Here is one, but almost all of them are the same pattern:

________ ERROR at teardown of TestCaseModuleBuilders.test_yaml_snippet _________
NOTE: Incompatible Exception Representation, displaying natively:
testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
Traceback (most recent call last):
  File "/usr/lib64/python3.9/unittest/mock.py", line 1337, in patched
    return func(*newargs, **newkeywargs)
  File "/builddir/build/BUILD/jenkins-job-builder-3.5.0/tests/base.py", line 179, in test_yaml_snippet
    if not self.in_filename:
AttributeError: 'TestCaseModuleBuilders' object has no attribute 'in_filename'

I diffed the buildroots between f32 and f33. I'm guessing the cause for these test failures lies somewhere in the following package changes from f32 to f33, because these are all upstream version changes:

python3-3.8.5-1 -> python-3.9.0~b5-4

python3-jenkins-0.4.16-1 -> python3-jenkins -> 1.7.0-2

python3-pytest-4.6.11-1 -> python3-pytest-5.4.3-2

python3-stevedore-1.31.0-3 -> python3-stevedore-1.32.0-2

python3-testtools-2.3.0-18 -> python3-testtools-2.4.0-7

Next steps for debugging this:

1. Ensure that JJB upstream tox passes with py39
2. Try the f32 library versions with py39
3. Try the f33 library versions with py38

Comment 5 Ben Cotton 2020-08-11 15:06:05 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle.
Changing version to 33.

Comment 6 Fedora Update System 2020-08-28 20:49:23 UTC
FEDORA-2020-6cdcd9372e has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-6cdcd9372e

Comment 7 Ken Dreyer 2020-08-28 20:49:56 UTC
I narrowed this down to an issue with the pytest version. With pytest 4 it passes, and pytest 6 it fails.

I rebuilt the F32 pytest for F34, and the F34 pytest for F32. Results:

pytest-4.6.11-1: JJB tests pass on F32 & F34
pytest-6.0.1-1: JJB tests fail on F32 & F34

It turns out that upstream does not use pytest at all. It uses https://pypi.org/project/stestr/ to run the tests inside tox.

I've switched the packaging to use python3-stestr, and this fixes the build failures.

Comment 8 Fedora Update System 2020-08-31 14:27:26 UTC
FEDORA-2020-6cdcd9372e has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-6cdcd9372e`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-6cdcd9372e

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2020-09-25 16:38:06 UTC
FEDORA-2020-6cdcd9372e has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.