Bug 812380

Summary: Update to cobbler-2.2.1-1.el6 breaks cobbler settings
Product: [Community] Spacewalk Reporter: Adam <ajodock>
Component: ServerAssignee: Milan Zázrivec <mzazrivec>
Status: CLOSED DUPLICATE QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 1.7   
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-24 14:01: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:
Bug Depends On:    
Bug Blocks: 871344    

Description Adam 2012-04-13 14:45:44 UTC
Description of problem:
Due to spacewalks changes to cobbler's settings and modules.conf cobblerd no longer starts.


Version-Release number of selected component (if applicable):
Updating cobbler from 2.0.11-2.el6 to 2.2.1-1.el6
All packages on the system are up to date including spacewalk repo (1.7)
CentOS 6.2 with CentOS base, updates, and epel repository

How reproducible:
Always

Steps to Reproduce:
1. Upgrade cobbler to newest version (2.2.1-1.el6)
2. Cobblerd fails to start
3. Downgrade cobbler to 2.0.11-2.el6
4. Cobblerd starts fine
  
Actual results:
Cobblerd fails to start

Expected results:
Cobbler updates without a problem.  Without cobbler running kickstarts and several other functions fail

Additional info:
[root@rh-spacewalk cobbler]# yum update cobbler
<snip>
  Updating   : cobbler-2.2.1-1.el6.noarch   1/2 
warning: /etc/cobbler/modules.conf created as /etc/cobbler/modules.conf.rpmnew
warning: /etc/cobbler/settings created as /etc/cobbler/settings.rpmnew
Stopping cobbler daemon: [  OK  ]
Starting cobbler daemon: Traceback (most recent call last):
  File "/usr/bin/cobblerd", line 76, in main
    api = cobbler_api.BootAPI(is_cobblerd=True)
  File "/usr/lib/python2.6/site-packages/cobbler/api.py", line 130, in __init__
    self.deserialize()
  File "/usr/lib/python2.6/site-packages/cobbler/api.py", line 795, in deserialize
    return self._config.deserialize()
  File "/usr/lib/python2.6/site-packages/cobbler/config.py", line 266, in deserialize
    raise CX("serializer: error loading collection %s. Check /etc/cobbler/modules.conf" % item.collection_type())
CX: 'serializer: error loading collection distro. Check /etc/cobbler/modules.conf'
[  OK  ]
[root@rh-spacewalk cobbler]# cp /etc/cobbler/modules.conf /etc/cobbler/modules.conf.bak
[root@rh-spacewalk cobbler]# cp /etc/cobbler/settings /etc/cobbler/settings.bak
[root@rh-spacewalk cobbler]# cp /etc/cobbler/modules.conf.rpmnew /etc/cobbler/modules.conf
[root@rh-spacewalk cobbler]# cp /etc/cobbler/settings.rpmnew /etc/cobbler/settings
[root@rh-spacewalk cobbler]# service cobblerd restart
Stopping cobbler daemon:                                   [FAILED]
Starting cobbler daemon:                                   [  OK  ]
[root@rh-spacewalk cobbler]# yum downgrade cobbler-2.0.11-2.el6
<snip>
Stopping cobbler daemon: [  OK  ]
Starting cobbler daemon: [  OK  ]
<snip>
[root@rh-spacewalk cobbler]# cp /etc/cobbler/modules.conf.bak /etc/cobbler/modules.conf
[root@rh-spacewalk cobbler]# cp /etc/cobbler/settings.bak /etc/cobbler/settings
[root@rh-spacewalk cobbler]# service cobblerd restart
Stopping cobbler daemon:                                   [  OK  ]
Starting cobbler daemon:                                   [  OK  ]

Comment 1 Milan Zázrivec 2012-04-13 15:24:16 UTC
After the cobbler update, would the following procedure:

# cp /etc/cobbler/modules.conf /etc/cobbler/modules.conf.bak
# cp /etc/cobbler/settings /etc/cobbler/settings.bak
# cp /etc/cobbler/modules.conf.rpmnew /etc/cobbler/modules.conf
# cp /etc/cobbler/settings.rpmnew /etc/cobbler/settings
# cobbler-setup
# service cobblerd restart

lead you to a functioning setup?

Comment 2 Adam 2012-04-13 15:54:41 UTC
That allowed cobbler to start, however the rpmnew configs don't contain any of the settings related to spacewalk, so spacewalk was still non functional.

I just included those lines here to show that this is an issue with the customization related to spacewalk.

So from the output above we can see that the spacewalk configs only work with the old version, and the versions from the rpm work with both the new and the old cobbler version.

Comment 3 Adam 2012-04-13 16:05:35 UTC
I just tested with the settings file from spacewalk, and the modules.conf from the rpm and it appears that the problem is only in modules.conf (like the error message says)

With modules.conf from the rpm
[root@rh-spacewalk cobbler]# diff modules.conf modules.conf.bak 
22c22
< module = authn_denyall
---
> module = authn_spacewalk
72,85d71
< # tftpd:
< # chooses the TFTP management engine if manage_tftp is enabled
< # in /etc/cobbler/settings, which is ON by default.
< #
< # choices:
< #    manage_in_tftpd -- default, uses the system's tftp server
< #    manage_tftpd_py -- uses cobbler's tftp server
< #
< # for more information:
< # https://fedorahosted.org/cobbler/wiki/ManageTftp
<   
< [tftpd]
< module = manage_in_tftpd
<

I figured that the authn_spacewalk module was the problem, so to rule out the tftpd section as the problem I removed it from modules.conf (from the rpm) and I came up with the same error.

So it looks like the missing tftpd section is where the issue is coming up.  So I copied my modules.conf.bak to modules.conf and added the tftpd section to the original conf.  Now cobbler, and spacewalk are working on the new version.

Comment 4 Milan Zázrivec 2012-04-24 14:01:51 UTC
As a part of fix for bug #812794 we implemented new script called:

    spacewalk-setup-cobbler

which will correctly configure cobbler v2.2 for use w/ Spacewalk.

I'm closing this report as a duplicate of #812794.

*** This bug has been marked as a duplicate of bug 812794 ***