Bug 1556264

Summary: python-ryu: FTBFS in F28
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: python-ryuAssignee: Alan Pevec <apevec>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: abregman, apevec, apevec
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-ryu-4.25-1.fc28 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-07-05 18:38:29 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: 1555378    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Fedora Release Engineering 2018-03-14 23:32:52 UTC
Your package python-ryu failed to build from source in current F28.

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

For details on mass rebuild see https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

Comment 1 Fedora Release Engineering 2018-05-28 22:06:51 UTC
Created attachment 1444218 [details]
build.log

Comment 2 Fedora Release Engineering 2018-05-28 22:07:00 UTC
Created attachment 1444224 [details]
root.log

Comment 3 Fedora Release Engineering 2018-05-28 22:07:03 UTC
Created attachment 1444227 [details]
state.log

Comment 4 Alan Pevec 2018-06-29 16:36:25 UTC
one unit test is failing:

FAIL: test_0_call_bytearray (ryu.tests.unit.lib.test_rpc.Test_rpc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/nose/tools/nontrivial.py", line 60, in newfunc
    func(*arg, **kw)
  File "/builddir/build/BUILD/ryu-4.15/ryu/tests/unit/lib/test_rpc.py", line 147, in test_0_call_bytearray
    assert isinstance(result, str)
AssertionError
----------------------------------------------------------------------

Comment 5 Alan Pevec 2018-06-29 17:02:08 UTC
comment 4 was with ryu 4.15, rebuilding ryu 4.25 (latest released on pypi) fails on a different test:

ERROR: <nose.suite.ContextSuite context=TestVSCtl>
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/nose/suite.py", line 209, in run
    self.setUp()
  File "/usr/lib/python3.6/site-packages/nose/suite.py", line 292, in setUp
    self.setupContext(ancestor)
  File "/usr/lib/python3.6/site-packages/nose/suite.py", line 315, in setupContext
    try_run(context, names)
  File "/usr/lib/python3.6/site-packages/nose/util.py", line 471, in try_run
    return func()
  File "/home/apevec/src/fed/python-ryu/ryu-4.25/ryu/tests/unit/lib/ovs/test_vsctl.py", line 131, in setUpClass
    cls._set_up_mn_container()
  File "/home/apevec/src/fed/python-ryu/ryu-4.25/ryu/tests/unit/lib/ovs/test_vsctl.py", line 114, in _set_up_mn_container
    cls.container_mn = cls._docker_run(DOCKER_IMAGE_MININET)
  File "/home/apevec/src/fed/python-ryu/ryu-4.25/ryu/tests/unit/lib/ovs/test_vsctl.py", line 96, in _docker_run
    return _run('docker run --privileged -t -d %s' % image)[0]
IndexError: list index out of range

----------------------------------------------------------------------

Comment 6 Slawek Kaplonski 2018-06-30 09:26:29 UTC
For error with 4.15 it is because of msgpack-python which in version 0.5.0 and above supports bytearray objects and will not raise exception.
So solution might be to backport patch https://github.com/osrg/ryu/commit/81cdd4f0d76952c16d6e65e6af8da82702175220 to version 4.15 in Fedora or force to use msgpack-python < 0.5.0 which solves this problem for me.

I will still need to investigate second issue which You have in 4.25 version but is also failing for me locally in 4.15 after I fixed this first one there.

Comment 7 Slawek Kaplonski 2018-06-30 18:10:54 UTC
Failure which Alan had with 4.25 shouldn't be an issue during package building. This test which failed for him is skipped if there is no "docker" executable available: https://github.com/osrg/ryu/blob/master/ryu/tests/unit/lib/ovs/test_vsctl.py#L41

So to sum up, it looks that just building newer version, like 4.25 should be enough to fix those issues.

Comment 8 Alan Pevec 2018-07-03 13:25:47 UTC
Thanks Slawek, you are right, comment 5 was a local build (fedpkg local).

I'll push 4.25 update to Fedora master.

Comment 9 Alan Pevec 2018-07-03 13:40:19 UTC
pushed python-ryu-4.25-1.fc29

Fails to build due to py3.7 push yesterday, Rawhide buildroot is not all on 3.7 yet:

Error: 
DEBUG util.py:439:   Problem 1: conflicting requests
DEBUG util.py:439:    - nothing provides python(abi) = 3.6 needed by python3-eventlet-0.22.1-1.fc28.noarch
DEBUG util.py:439:   Problem 2: conflicting requests
DEBUG util.py:439:    - nothing provides python(abi) = 3.6 needed by python3-openvswitch-2.9.0-3.fc29.noarch

Comment 10 Alan Pevec 2018-07-03 17:02:11 UTC
builds fine in f28 buildroot

Comment 11 Fedora Update System 2018-07-03 17:03:48 UTC
python-ryu-4.25-1.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-c841f5703c

Comment 12 Fedora Update System 2018-07-04 18:21:18 UTC
python-ryu-4.25-1.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-c841f5703c

Comment 13 Fedora Update System 2018-07-05 18:38:29 UTC
python-ryu-4.25-1.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.