Difference: CobblerSetup (r3 vs. r2)

r3 - 05 Apr 2009 - 19:37 - TomRockwell r2 - 05 Apr 2009 - 03:33 - TomRockwell

  

Cobbler

Cobbler

Redhat's Cobbler project https://fedorahosted.org/cobbler/ provides a fairly lightweight management layer on top of tools used for Redhat installs such as kickstart, PXE, DHCP, Yum. What Cobbler does is somewhat similar to what ROCKS does, but Cobbler is more lightweight and ROCKS is better suited to tightly integrated clusters.

Redhat's Cobbler project https://fedorahosted.org/cobbler/ provides a fairly lightweight management layer on top of tools used for Redhat installs such as kickstart, PXE, DHCP, Yum. What Cobbler does is somewhat similar to what ROCKS does, but Cobbler is more lightweight and ROCKS is better suited to tightly integrated clusters.

Here, I use a subset of the Cobbler functionality to manage installs of Desktop machines on a campus network.

Here, I use a subset of the Cobbler functionality to manage installs of Desktop machines on a campus network.

Cobbler will be used to generate a CD iso image that includes kickstart files to drive a network install for each of the desktop computers in our cluster. For an install to proceed, only the generated CD and http access to the Scientific Linux RPMs will be needed. For our network setup this is a convenient and secure setup. On our network we can't have control over the DHCP and DNS servers, so we can't make use of PXE booting. Also, I don't wish to serve out the kickstart files on the network as the network is not controlled so there may be a security issue there. So we use CDs to get the kickstart files to the computes and only download the standard RPM files over the network.

Cobbler will be used to generate a CD iso image that includes kickstart files to drive a network install for each of the desktop computers in our cluster. For an install to proceed, only the generated CD and http access to the Scientific Linux RPMs will be needed. For our network setup this is a convenient and secure setup. On our network we can't have control over the DHCP and DNS servers, so we can't make use of PXE booting. Also, I don't wish to serve out the kickstart files on the network as the network is not controlled so there may be a security issue there. So we use CDs to get the kickstart files to the computes and only download the standard RPM files over the network.

This usage is slightly different from how cobbler works, we'll have to modify cobbler slightly for this use (the changes are pretty simple, a few lines of code are commented out here an there). The kickstart templating and ISO generation parts of Cobbler are useful. They mean that like parts of the install can be shared between machines and that machine configurations can be recorded/controlled centrally.

This usage is slightly different from how cobbler works, we'll have to modify cobbler slightly for this use (the changes are pretty simple, a few lines of code are commented out here an there). The kickstart templating and ISO generation parts of Cobbler are useful. They mean that like parts of the install can be shared between machines and that machine configurations can be recorded/controlled centrally.

When a machine needs to be built, the process is straight forward: ensure that the templated kickstart covers the machine (it will be very similar to existing kickstarts), use the cobbler command to generate an ISO, burn the ISO to a CD-RW, boot the CD-RW in the node, select the node name from the menu and let the build proceed. The CD-RW will have all the information needed to build the node, only the software RPMs will need to be retrieved over the network.

When a machine needs to be built, the process is straight forward: ensure that the templated kickstart covers the machine (it will be very similar to existing kickstarts), use the cobbler command to generate an ISO, burn the ISO to a CD-RW, boot the CD-RW in the node, select the node name from the menu and let the build proceed. The CD-RW will have all the information needed to build the node, only the software RPMs will need to be retrieved over the network.

Cobbler has a similar work flow that is completely in which the ISO image contains all the needed RPMs, but this ISO is big enough that a DVD is required and not all of our machines have DVD readers (and DVD writers are also rare), so the mixed design of having the boot and configuration files put on the ISO, but having the RPMs downloaded via over the net is useful.

Cobbler has a similar work flow that is completely in which the ISO image contains all the needed RPMs, but this ISO is big enough that a DVD is required and not all of our machines have DVD readers (and DVD writers are also rare), so the mixed design of having the boot and configuration files put on the ISO, but having the RPMs downloaded via over the net is useful.

References

References

Changes to Cobbler

Changes to Cobbler

  

Here are some alterations to cobbler for our use.

Cobbler knows official Redhat distro directory structures and CentOS , but bot Scientific Linux. When importing a Scientific Linux distro, you might see the error:

  
Importing SL Distro

  

Cobbler knows about official Redhat distro directory structures and CentOS , but about Scientific Linux. When importing a Scientific Linux distro, you might see the error:

make this change to recognise Scientific Linux, near line ??? in ???:

  
No distro signature for kernel at /some/path 
  

make this change to recognize Scientific Linux, near line 820 in action_import.py:

  
    signatures = [
       [ 'pool'        , "debian" ],
       [ 'SL/RPMS'     , "redhat" ],
       [ 'RedHat/RPMS' , "redhat" ],
ISO image generation
ISO image generation
  

We want to use the native "standalone" ISO image generation, but we don't want to actually put the distro files into the ISO. There are two changes to effect this. Near line 285 in action_buildiso.py, simply comment out the lines that copy the distro RPM files into the ISO image:

We want to use the native "standalone" ISO image generation, but we don't want' to actually put the distro files into the ISO. There are two changes to effect this. Near line ??? in action_buildiso.py, simply comment out the lines that copy the distro RPM files into the ISO image:

  
print _("- skipping copying distro files to ISO image") # cmd = "rsync -rlptgu --exclude=boot.cat --exclude=TRANS.TBL --exclude=isolinux/ %s/ %s/../" % (filesource, isolinuxdir) # print _("- copying distro %s files (%s)" % (distname,cmd)) # rc = sub_process.call(cmd, shell=True, close_fds=True) # if rc: # raise CX(_("rsync of files failed")) 
  

Near line 320 in action_buildiso.py, comment out the lines that force the install source to be the CD:

Near line ??? in action_buildiso.py, comment out the lines that force the install source to be the CD:

  
print _("- Not changing install source to CD") # cdregex = re.compile("url .*\n", re.IGNORECASE) # kickstart_data = cdregex.sub("cdrom\n", kickstart_data) 

Setting up Cobbler

Setting up Cobbler

Kickstart Template

Kickstart Template

-- TomRockwell - 04 Apr 2009

-- TomRockwell - 04 Apr 2009

r3 - 05 Apr 2009 - 19:37 - TomRockwell r2 - 05 Apr 2009 - 03:33 - TomRockwell

View topic | View difference interwoven | History: r10 < r9 < r8 < r7 | More topic actions
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback