Bug 769842

Summary: Starting cobbler twice makes cobbler auth to fail
Product: [Fedora] Fedora EPEL Reporter: Pablo Iranzo Gómez <pablo.iranzo>
Component: cobblerAssignee: James C. <jimi>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: el5CC: awood, dgoodwin, jimi, shenson, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: 2.2.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-17 01:57:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Pablo Iranzo Gómez 2011-12-22 13:38:48 UTC
Description of problem:
On system's operation sometimes cobbler is detected as stopped, so it's launched again.

After this happens, cobbler no longer works

Version-Release number of selected component (if applicable):
cobbler-2.0.11-2.el5 and cobbler-2.0.11-2.el6

How reproducible:

[root@satellite ~]# cobbler check
The following are potential configuration items that you may want to fix:

1 : you need to set some SELinux content rules to ensure cobbler serves content correctly in your SELinux environment, run the following: /usr/sbin/semanage fcontext -a -t public_content_t "/var/lib/tftpboot/.*" && /usr/sbin/semanage fcontext -a -t public_content_t "/var/www/cobbler/images/.*"
2 : you need to set some SELinux rules if you want to use cobbler-web (an optional package), run the following: /usr/sbin/semanage fcontext -a -t httpd_sys_content_rw_t "/var/lib/cobbler/webui_sessions/.*"
3 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
4 : change 'disable' to 'no' in /etc/xinetd.d/rsync
5 : debmirror package is not installed, it will be required to manage debian deployments and repositories
6 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
7 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

Restart cobblerd and then run 'cobbler sync' to apply changes.

######################## IT WORKS ^


[root@satellite ~]# service cobblerd start
Iniciando demonio cobbler:                                 [  OK  ]
[root@satellite ~]# cobbler check
Traceback (most recent call last):
  File "/usr/bin/cobbler", line 35, in <module>
    sys.exit(app.main())
  File "/usr/lib/python2.6/site-packages/cobbler/cli.py", line 510, in main
    rc = cli.run(sys.argv)
  File "/usr/lib/python2.6/site-packages/cobbler/cli.py", line 185, in run
    self.token         = self.remote.login("", self.shared_secret)
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1489, in __request
    verbose=self.__verbose
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1253, in request
    return self._parse_response(h.getfile(), sock)
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1392, in _parse_response
    return u.close()
  File "/usr/lib64/python2.6/xmlrpclib.py", line 838, in close
    raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 1: "<class 'cobbler.cexceptions.CX'>:'login failed'">

######################## IT FAILS ^

[root@satellite ~]# service cobblerd restart
Deteniendo al demonio cobbler:                             [  OK  ]
Iniciando demonio cobbler:                                 [  OK  ]
[root@satellite ~]# 
[root@satellite ~]# cobbler check
The following are potential configuration items that you may want to fix:

1 : you need to set some SELinux content rules to ensure cobbler serves content correctly in your SELinux environment, run the following: /usr/sbin/semanage fcontext -a -t public_content_t "/var/lib/tftpboot/.*" && /usr/sbin/semanage fcontext -a -t public_content_t "/var/www/cobbler/images/.*"
2 : you need to set some SELinux rules if you want to use cobbler-web (an optional package), run the following: /usr/sbin/semanage fcontext -a -t httpd_sys_content_rw_t "/var/lib/cobbler/webui_sessions/.*"
3 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
4 : change 'disable' to 'no' in /etc/xinetd.d/rsync
5 : debmirror package is not installed, it will be required to manage debian deployments and repositories
6 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
7 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

Restart cobblerd and then run 'cobbler sync' to apply changes.

###################### FIXED AFTER RESTART ^


Expected results:
Cobbler start shouldn't start it again if it's already running. From the python message, it looks like a authentication problem from CLI after a new cobbler is started.

Comment 1 James C. 2012-04-17 01:57:37 UTC
I do not believe this is an issue any longer in 2.2.0+:


# service cobblerd status
cobblerd.service - Cobbler Helper Daemon
	  Loaded: loaded (/lib/systemd/system/cobblerd.service; disabled)
	  Active: active (exited) since Mon, 16 Apr 2012 20:20:26 -0500; 35min ago
	 Process: 9751 ExecStart=/usr/bin/cobblerd (code=exited, status=0/SUCCESS)
	  CGroup: name=systemd:/system/cobblerd.service
		  └ 9772 /usr/bin/python /usr/bin/cobblerd
# service cobblerd start
Starting cobblerd (via systemctl):                         [  OK  ]
# cobbler check
The following are potential configuration items that you may want to fix:

1 : comment 'dists' on /etc/debmirror.conf for proper debian support
2 : comment 'arches' on /etc/debmirror.conf for proper debian support
3 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one

Restart cobblerd and then run 'cobbler sync' to apply changes.

If you continue to have problems with this bug in the new release, please open a new issue via the github issue tracker for cobbler: https://github.com/cobbler/cobbler/issues