Bug 1183382
| Summary: | Update subscription-manager Requires for python-dateutil | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Pete Travis <me> |
| Component: | subscription-manager | Assignee: | Devan Goodwin <dgoodwin> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | low | Docs Contact: | |
| Priority: | medium | ||
| Version: | 22 | CC: | alikins, awood, bkearney, dgoodwin, dgoodwin, jbowes, zbyszek |
| Target Milestone: | --- | Keywords: | Triaged |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | https://lists.fedoraproject.org/pipermail/devel/2014-December/205006.html | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-10-14 20:44:40 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: | 1197791 | ||
| Bug Blocks: | 1126521 | ||
|
Description
Pete Travis
2015-01-18 21:06:06 UTC
A few interesting things here: - The spec cites an upstream URL and SCM of https://git.fedorahosted.org/cgit/subscription-manager.git/ . That repo hasn't been touched in more than two years, where are the updates coming from? - The package source is a manually assembled tarball. If you *are* using fedorahosted, you don't have to do that. "http://git/fedorahosted.org/cgit/%{name}/snapshot/${name}-%{version}" works nicely if you `git tag` the version. In any case, publicly available sources would be nice. - dateutil.tz.tzutc and dateutil.parser.parse should not have changed at all. Usage of dateutil.tz.tzlocal is probably fine, but I'd suggest focusing any testing there. - I don't have RHEL subscriptions for any of my Fedora boxes, so I did no direct testing. On a personal note, I don't understand why this package exists for Fedora... Should this package be retired? Subscription-manager is actively used and developed and shouldn't be retired. We moved to github several years ago, looks like the spec updates were missed, I will fix this in the upstream spec today and it will appear in Fedora on our next build cycle. Package exists for Fedora for Katello/Satellite users who wish to register Fedora/CentOS systems to their servers and have them consume content. We control upstream as well as do the Fedora builds so any changes necessary can be made. I'll get someone on the team looking into that this sprint. This should be doable, but I do see a couple unexpected unittest
failures, if I use upstream python-dateutil 2.4.0 from pip
======================================================================
ERROR: test_system_dst (test.test_format_time.TestFormatTime)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/freezegun/api.py", line 244, in wrapper
result = func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/mock.py", line 1201, in patched
return func(*args, **keywargs)
File "/home/adrian/src/subscription-manager/test/test_format_time.py", line 30, in test_system_dst
mock_tz.return_value = tzstr('EST5EDT')
File "/usr/lib/python2.7/site-packages/dateutil/tz.py", line 595, in __init__
res = parser._parsetz(s)
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 923, in _parsetz
return DEFAULTTZPARSER.parse(tzstr)
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 767, in parse
l = _timelex.split(tzstr)
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 139, in split
return list(cls(s))
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 136, in next
return self.__next__() # Python 2.x support
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 130, in __next__
token = self.get_token()
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 61, in get_token
nextchar = self.instream.read(1)
AttributeError: 'str' object has no attribute 'read'
======================================================================
ERROR: test_system_est (test.test_format_time.TestFormatTime)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/freezegun/api.py", line 244, in wrapper
result = func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/mock.py", line 1201, in patched
return func(*args, **keywargs)
File "/home/adrian/src/subscription-manager/test/test_format_time.py", line 60, in test_system_est
mock_tz.return_value = tzstr('EST5EDT')
File "/usr/lib/python2.7/site-packages/dateutil/tz.py", line 595, in __init__
res = parser._parsetz(s)
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 923, in _parsetz
return DEFAULTTZPARSER.parse(tzstr)
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 767, in parse
l = _timelex.split(tzstr)
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 139, in split
return list(cls(s))
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 136, in next
return self.__next__() # Python 2.x support
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 130, in __next__
token = self.get_token()
File "/usr/lib/python2.7/site-packages/dateutil/parser.py", line 61, in get_token
nextchar = self.instream.read(1)
AttributeError: 'str' object has no attribute 'read'
This looks to be a bug in python-dateutil:
https://bugs.launchpad.net/dateutil/+bug/1331576
I'll test on recent fedora and see if the fedora patches to dateutil fixes this
(The fedora patch to use system tzinfo may work around it).
Either way, it's an error in test code, we could work around it.
pr for a workaround at https://github.com/candlepin/subscription-manager/pull/1149 That fixes the test case for dateutil 1.5 and 2.4. Otherwise we seem to be okay with dateutil2. This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle. Changing version to '22'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22 |