=head1 NAME cobbler is a command line tool for configuring a provisioning server. It supports provisioning via PXE, Xen, and re-provisioning an existing Linux system ("auto-kickstarting"). The latter two features are enabled by usage of 'koan' (a client side provisioning application) on the remote system. =head1 SYNOPSIS cobbler command [subcommand] [--arg1=] [--arg2=] =head1 DESCRIPTION Cobbler manages provisioning using a tiered concept of Distributions, Profiles, and Systems. Distributions contain information about what kernel and initrd are used, along with various other information, such as required kernel parameters. Profiles associate a Distribution with a kickstart file and optionally customize it further. Systems associate a hostname, IP, or MAC with a distribution and optionally customize the Profile further. =head1 SETUP =head2 cobbler check Running "cobbler check" after installation will verify that the prerequisites are installed and configured correctly. Any problems detected should be corrected, with the potential exception of DHCP related warnings. It is especially important that the server name be accurate in cobbler.conf For PXE, if DHCP is run from the cobbler server, the dhcp configuration file should be changed as suggested. If DHCP is not run locally, the "next-server" field on the DHCP server should point to the cobbler server's IP and the filename should be set to "pxelinux.0". =head1 ADDING CONFIGURATION ENTRIES =head2 ADDING A DISTRIBUTION B --kernel= --initrd= [--kopts=] [--ksmeta=]> =over =over =item name a string identifying the distribution =item kernel an absolute filesystem path to a kernel image =item initrd an absolute filesystem path to a initrd image =item kopts (optional) sets kernel arguments, ex: --ksmeta="foo=bar baz=3 asdf" =item ksmeta (optional) sets kickstart variables to substitute, ex: --ksmeta="foo=bar baz=3 asdf" =back =back =head2 ADDING A PROFILE B --distro= [--kickstart=] [--kopts=] [--ksmeta=] [--xen-name=] [--xen-file-size=] [--xen-ram=] =over =over Arguments are as listed for distributions, with the follwing additions... =item distro the name of a previously defined cobbler distribution =item kickstart (optional) an HTTP URL, NFS URL, or local filesystem path to a kickstart file =item xen-name (optional) (Xen-only) what the Xen domU name should start with =item xen-file-size (optional) (Xen-only) how large the disk image should be in gigabytes =item xen-ram (optional) (Xen-only) how many megabytes of RAM to consume =back =back =head2 ADDING A SYSTEM B --profile= [--kopts=] [--ksmeta=] =over =over Adds a cobbler System to the configuration. Arguments are specified as per "profile add". =back =back =head1 DISPLAYING CONFIGURATION ENTRIES B Prints the current cobbler configuration for systems, profiles, and groups. =head1 DELETING CONFIGURATION ENTRIES B> B> B> =head1 APPLYING CONFIGURATIONS B Configurations are saved in /var/lib/cobbler. Changes made with any commands are not applied until 'cobbler sync' is run. Any errors in the configuration will be reported during the sync process. =head1 PXE EXAMPLE A sample PXE workflow: B B B B B B B B B =head1 XEN EXAMPLE For Xen, take the above example and add additional Xen options to the "profile add" statements. =head1 ADVANCED TOPICS =head2 KICKSTART TEMPLATING The --ksmeta options above require more explanation. If and only if --kickstart options reference filesystem URLs, --ksmeta allows for templating of the kickstart files to achieve advanced functions. If the --ksmeta option for a profile read --ksmeta="foo=7 bar=llama", anywhere in the kickstart file where the string "TEMPLATE::bar" appeared would be replaced with the string "llama". To apply these changes, "cobbler sync" must be run to generate custom kickstarts for each profile/system. For NFS and HTTP URLs, the "--ksmeta" options will have no effect. =head2 TWEAKING Enterprising users can edit the files in /var/lib/cobbler directly versus using the command line. The repair mechanism for user error here is to delete the files in /var/lib/cobbler. There are also a few configuration variables in /etc/cobbler.conf =head2 API Cobbler also makes itself available as a Python API for use by higher level management software. =head1 EXIT_STATUS cobbler's command line returns a zero for success and non-zero for failure. =head1 AUTHOR Michael DeHaan