Bug 1782591

Summary: cobbler 2.8.5 is seriously mis-packaged
Product: [Fedora] Fedora EPEL Reporter: Simon Guest <simon.guest>
Component: cobblerAssignee: Orion Poplawski <orion>
Status: CLOSED WORKSFORME QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: jimi, orion, scott, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-12-12 21:54:51 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 Simon Guest 2019-12-11 22:04:15 UTC
Description of problem:

I just upgraded my system, and went from cobbler 2.8.4 to cobbler 2.8.5. It is badly broken.  The first symptom is that cobblerd won't start.

Looking into this further, I see there is no cobbler release tagged as 2.8.5 on GitHub.
https://github.com/cobbler/cobbler/releases

The cobbler source RPM for so-called 2.8.5 references a git commit, f78af86a. There are serious problems with this. It is ancient, dating from July 2016, and is actually a descendant of cobbler 2.6.11. The cobbler 2.8.4 release is from November 2018.


Version-Release number of selected component (if applicable):

2.8.5-0.3.el7

How reproducible:


Steps to Reproduce:
1. Upgrade from cobbler 2.8.4 to 2.8.5
2. Observe that cobblerd doesn't start
3. systemctl status -l cobblerd

Actual results:

captain# systemctl start cobblerd
captain# systemctl status -l cobblerd
\u25cf cobblerd.service - Cobbler Helper Daemon
   Loaded: loaded (/usr/lib/systemd/system/cobblerd.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Thu 2019-12-12 09:10:24 NZDT; 1h 49min ago
  Process: 26434 ExecStartPost=/usr/bin/touch /usr/share/cobbler/web/cobbler.wsgi (code=exited, status=1/FAILURE)
  Process: 26433 ExecStart=/usr/bin/cobblerd -F (code=exited, status=0/SUCCESS)
 Main PID: 26433 (code=exited, status=0/SUCCESS)

Dec 12 09:10:24 c-hpcman-pv01.agresearch.co.nz cobblerd[26433]: Traceback (most recent call last):
Dec 12 09:10:24 c-hpcman-pv01.agresearch.co.nz cobblerd[26433]: File "/usr/bin/cobblerd", line 75, in main
Dec 12 09:10:24 c-hpcman-pv01.agresearch.co.nz cobblerd[26433]: api = cobbler_api.BootAPI(is_cobblerd=True)
Dec 12 09:10:24 c-hpcman-pv01.agresearch.co.nz cobblerd[26433]: File "/usr/lib/python2.7/site-packages/cobbler/api.py", line 119, in __init__
Dec 12 09:10:24 c-hpcman-pv01.agresearch.co.nz cobblerd[26433]: self.deserialize()
Dec 12 09:10:24 c-hpcman-pv01.agresearch.co.nz cobblerd[26433]: File "/usr/lib/python2.7/site-packages/cobbler/api.py", line 953, in deserialize
Dec 12 09:10:24 c-hpcman-pv01.agresearch.co.nz cobblerd[26433]: return self._config.deserialize()
Dec 12 09:10:24 c-hpcman-pv01.agresearch.co.nz cobblerd[26433]: File "/usr/lib/python2.7/site-packages/cobbler/config.py", line 262, in deserialize
Dec 12 09:10:24 c-hpcman-pv01.agresearch.co.nz cobblerd[26433]: raise CX("serializer: error loading collection %s. Check /etc/cobbler/modules.conf" % item.collection_type())
Dec 12 09:10:24 c-hpcman-pv01.agresearch.co.nz cobblerd[26433]: CX: 'serializer: error loading collection distro. Check /etc/cobbler/modules.conf'


Expected results:

cobblerd is running

Additional info:

I will revert to the previous version of cobbler, 2.8.4.

I suggest any cobbler packages in EPEL correspond with official GitHub releases.  Perhaps the best solution for this problem is to liaise with upstream and get an actual  official 2.8.5 release made, which is a descendant of 2.8.4, then bump the release tag in  the EPEL package. Until then, so-called 2.8.5 is probably unusable for anyone on the 2.8
series of cobbler.

Comment 1 Nicolas Chauvet (kwizart) 2019-12-12 07:47:59 UTC
The git commit isn't used by the package look at the source0 directive.
The upstream source was supposed to be tagged as 2.8.5 few months ago, but upstream is relunctant to do this for unknown reason.
I agree this is sub-optimal, and will be fixed at a later point, but this is not at all the cause of your errror.


The error you have ask you to check for /etc/cobbler/modules.conf for bad configuration. I have this file unmodified from a cobbler epel7 package. Please double check.

Comment 2 Simon Guest 2019-12-12 19:35:07 UTC
Well, the URL in source0 does not exist.

$ wget 'https://github.com/cobbler/cobbler/archive/v2.8.5.tar.gz#/cobbler-2.8.5.tar.gz'
--2019-12-13 08:29:15--  https://github.com/cobbler/cobbler/archive/v2.8.5.tar.gz
Resolving github.com (github.com)... 52.64.108.95
Connecting to github.com (github.com)|52.64.108.95|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/cobbler/cobbler/tar.gz/v2.8.5 [following]
--2019-12-13 08:29:15--  https://codeload.github.com/cobbler/cobbler/tar.gz/v2.8.5
Resolving codeload.github.com (codeload.github.com)... 52.63.100.255
Connecting to codeload.github.com (codeload.github.com)|52.63.100.255|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-12-13 08:29:16 ERROR 404: Not Found.

So it is a complete mystery what cobbler-2.8.5.tar.gz in your SRPM actually is.

What git commit did you use from upstream, actually?

Comment 3 Nicolas Chauvet (kwizart) 2019-12-12 21:54:51 UTC
Whatever the git commit hash is, this is not the root cause of your issue.
You need to more carefully describes what your problem is and not assume the solution of an undescribed problem is the git commit hash.

Comment 4 Simon Guest 2019-12-12 22:18:39 UTC
Really?  I would be able to investigate this problem better if there was some transparency over what you have actually packaged.

What have you packaged, actually?  I think that's a reasonable question.