Cobbler
Add RH's repo to the system in /etc/yum.repos.d/blah
name = Extras baseurl = http://dl.fedoraproject.org/pub/epel/6/x86_64 enabled = 1 gpgcheck = 0
yum install cobbler httpd xinetd tftp-server
vi /etc/selinux/config
- disable selinux
/etc/init.d/cobblerd start cobbler check
- should see an error message - in /etc/cobbler/settings - change the 'server' and 'next_server' field - change default password using `openssl passwd -1` - cobbler get-loaders - yum install pykickstart cman
/etc/init.d/cobblerd restart cobbler check # should pass now except for the debian package manager.. but we don't care.
yum install cobbler-web
vi /etc/cobbler/modules.conf [authentication] module = authn_configfile
[authorization] module = authz_allowall htdigest -c /etc/cobbler/users.digest "Cobbler"cobbler /etc/init.d/cobblerd restart
- if you get errors about authentication failure... try restarting cobbler again
- You will probaby want to make cobbler manage dhcp as well...
- see https://github.com/cobbler/cobbler/wiki/DHCP%20management
- Need to now add distros...
- They are stored in /var/www/cobbler/ks_mirror/<distro name>
cobbler distro add --name=CentOS6.3-x86_64 --kernel=/tftpboot/CentOS6.3-x86_64/isolinux/vmlinuz --initrd=/tftpboot/CentOS6.3-x86_64/isolinux/initrd.img cobbler profile add --name=CentOS6 --distro=CentOS6.3-x86_64 --kickstart=/tftpboot/kickstart/centos6-ks.cfg
- adding some systems
cobbler system add --name=lab01 --hostname=lab01 --profile=CentOS6 --mac=00:50:56:3B:7A:4B --ip-address=10.10.2.11 --dns-name=lab01.lab.cpsc.ucalgary.ca cobbler system add --name=lab02 --hostname=lab02 --profile=CentOS6 --mac=00:0C:29:68:C6:A3 --ip-address=10.10.2.12 --dns-name=lab02.lab.cpsc.ucalgary.ca cobbler system add --name=lab03 --hostname=lab03 --profile=CentOS6 --mac=00:0C:29:45:81:F8 --ip-address=10.10.2.13 --dns-name=lab03.lab.cpsc.ucalgary.ca cobbler system add --name=lab04 --hostname=lab04 --profile=CentOS6 --mac=00:50:56:27:0E:BD --ip-address=10.10.2.14 --dns-name=lab04.lab.cpsc.ucalgary.ca cobbler system add --name=lab05 --hostname=lab05 --profile=CentOS6 --mac=00:50:56:34:DA:AA --ip-address=10.10.2.15 --dns-name=lab05.lab.cpsc.ucalgary.ca
- save changes
/etc/init.d/cobblerd restart cobbler sync
- You will want to make cobbler manage dhcp and dns
- Be sure to edit the template files:
vi /etc/cobbler/dhcpd.template
- be sure that the dns server is set correctly - ensure the gateway is set - example:
ddns-update-style interim;
allow booting; allow bootp;
option domain-name "lab.cpsc.ucalgary.ca"; authoritative;
subnet 172.20.1.0 netmask 255.255.255.0 {
option routers 172.20.1.1;
option domain-name-servers 172.20.1.2;
option subnet-mask 255.255.255.0;
range dynamic-bootp 172.20.1.10 172.20.1.254;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
}
vi /etc/cobbler/named.template
- make listen-on port 53 on any port to ensure that your build servers and talk to it - ensure that recursion is enabled for all ips that are going to access the ns server
Using better loaders
============
cd /var/lib/cobbler/loaders wget -O menu.c32 http://pages.cpsc.ucalgary.ca/~leo/support/pxe/menu.c32 wget -O vesamenu.c32 http://pages.cpsc.ucalgary.ca/~leo/support/pxe/vesamenu.c32 wget -O pxelinux.0 http://pages.cpsc.ucalgary.ca/~leo/support/pxe/pxelinux.0 wget -O splash.png http://pages.cpsc.ucalgary.ca/~leo/support/pxe/splash.png
If you do ad new loaders, you will need to add the code to copy them over manually. edit /usr/lib/python2.6/site-packages/cobbler/pxegen.py
utils.copyfile_pattern('/var/lib/cobbler/loaders/pxelinux.0',
dst, api=self.api, cache=False, logger=self.logger)
utils.copyfile_pattern('/var/lib/cobbler/loaders/menu.c32',
dst, api=self.api, cache=False, logger=self.logger)
utils.copyfile_pattern('/var/lib/cobbler/loaders/vesamenu.c32',
dst, api=self.api, cache=False, logger=self.logger)
/etc/init.d/cobblerd restart cobbler sync