Bug 816834

Summary: cobbler 2.2 needs to require syslinux, otherwise cobbler sync fails
Product: [Fedora] Fedora EPEL Reporter: Jan Pazdziora <jpazdziora>
Component: cobblerAssignee: Scott J Henson <shenson>
Status: CLOSED DEFERRED QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: el6CC: awood, dgoodwin, jimi, shenson, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-22 01:15:33 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 Jan Pazdziora 2012-04-27 06:53:13 UTC
Description of problem:

When running cobbler sync with cobbler 2.2, it fails with

Exception value: 'Could not find files matching /usr/lib/syslinux/pxelinux.0'

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

# rpm -q cobbler
cobbler-2.2.1-1.el6.noarch

How reproducible:

Deterministic.

Steps to Reproduce:
1. Install cobbler, start the service.
2. Run cobbler sync.
  
Actual results:

# cobbler sync
task started: 2012-04-27_024227_sync
task started (id=Sync, time=Fri Apr 27 02:42:27 2012)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/grub/images
copying bootloaders
Exception occured: <class 'cexceptions.CX'>
Exception value: 'Could not find files matching /usr/lib/syslinux/pxelinux.0'
Exception Info:
  File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 93, in run
    rc = self._run(self)
   File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 188, in runner
    return self.remote.api.sync(self.options.get("verbose",False),logger=self.logger)
   File "/usr/lib/python2.6/site-packages/cobbler/api.py", line 701, in sync
    return sync.run()
   File "/usr/lib/python2.6/site-packages/cobbler/action_sync.py", line 114, in run
    self.tftpd.sync(self.verbose)
   File "/usr/lib/python2.6/site-packages/cobbler/modules/manage_in_tftpd.py", line 163, in sync
    self.pxegen.copy_bootloaders()
   File "/usr/lib/python2.6/site-packages/cobbler/pxegen.py", line 101, in copy_bootloaders
    dst, api=self.api, cache=False, logger=self.logger)
   File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 1237, in copyfile_pattern
    raise CX(_("Could not find files matching %s") % pattern)

!!! TASK FAILED !!!

Expected results:

No error.

Additional info:

Installing the syslinux package seems to fix the problem.

With bug 813206, bug 816596, and now this one, isn't it time to revert to cobbler 2.0 in EPEL ASAP? It looks like the rebase to new version was not tested at all.

Comment 1 James C. 2012-05-22 01:15:33 UTC
Cobbler has never required syslinux, and as far as I can remember would always fail if you did not either install syslinux and/or use the get-loaders command to download the optional PXE loaders. This may be fixed in a future version (there are quite a few optional packages that are not directly required), however it's hardly a show-stopper in terms of functionality.