1COBBLER.1(1) man COBBLER.1(1)
2
3
4
6 cobbler - a provisioning and update server
7
8 cobbler is a provisioning (installation) and update server. It
9 supports deployments via PXE (network booting), virtualization (Xen,
10 QEMU/KVM, or VMware), and re-installs of existing Linux systems. The
11 latter two features are enabled by usage of 'koan' on the remote
12 system. Update server features include yum mirroring and integration
13 of those mirrors with kickstart. Cobbler has a command line interface,
14 Web UI, and extensive Python and XMLRPC APIs for integration with
15 external scripts and applications.
16
18 cobbler command [subcommand] [--arg1=value1] [--arg2=value2]
19
21 Cobbler manages provisioning using a tiered concept of Distributions,
22 Profiles, Systems, and (optionally) Images and Repositories.
23
24 Distributions contain information about what kernel and initrd are
25 used, plus metadata (required kernel parameters, etc).
26
27 Profiles associate a Distribution with a kickstart file and optionally
28 customize the metadata further.
29
30 Systems associate a MAC, IP, and other networking details with a
31 profile and optionally customize the metadata further.
32
33 Repositories contain yum mirror information. Using cobbler to mirror
34 repositories is an optional feature, though provisioning and package
35 management share a lot in common.
36
37 Images are a catch-all concept for things that do not play nicely in
38 the "distribution" category. Most users will not need these records
39 initially and these are described later in the document.
40
41 The main advantage of cobbler is that it glues together many disjoint
42 technologies and concepts and abstracts the user from the need to
43 understand them. It allows the systems administrator to concentrate
44 on what he needs to do, and not how it is done.
45
46 This manpage will focus on the cobbler command line tool for use in
47 configuring cobbler. There is also mention of the Cobbler WebUI which
48 is usable for day-to-day operation of Cobbler once
49 installed/configured. Docs on the API and XMLRPC components are
50 available online at http://cobbler.github.io
51
52 Most users will be interested in the Web UI and should set it up,
53 though the command line is needed for initial configuration -- in
54 particular "cobbler check" and "cobbler import", as well as the repo
55 mirroring features. All of these are described later in the
56 documentation.
57
59 For help in building kickstarts, try using the "system-config-
60 kickstart" tool, or install a new system and look at the
61 /root/anaconda-ks.cfg file left over from the installer. General
62 kickstart questions can also be asked at kickstart-list@redhat.com.
63 Cobbler ships some kickstart templates in /etc/cobbler that may also
64 prove helpful.
65
66 Also see the aforementioned webpages for additional documentation, user
67 contributed tips, and so on.
68
70 SETUP
71 After installing, run "cobbler check" to verify that cobbler's
72 ecosystem is configured correctly. Cobbler check will direct you on
73 how to modify it's config files using a text editor.
74
75 Any problems detected should be corrected, with the potential exception
76 of DHCP related warnings where you will need to use your judgement as
77 to whether they apply to your environment. Run "cobbler sync" after
78 making any changes to the configuration files to ensure those changes
79 are applied to the environment.
80
81 It is especially important that the server name field be accurate in
82 /etc/cobbler/settings, without this field being correct, kickstart
83 trees will not be found, and automated installations will fail.
84
85 For PXE, if DHCP is to be run from the cobbler server, the dhcp
86 configuration file should be changed as suggested by "cobbler check".
87 If DHCP is not run locally, the "next-server" field on the DHCP server
88 should at minimum point to the cobbler server's IP and the filename
89 should be set to "pxelinux.0". Alternatively, cobbler can also
90 generate your dhcp configuration file if you want to run dhcp locally
91 -- this is covered in a later section. If you don't already have a
92 DHCP setup managed by some other tool, allowing cobbler to manage your
93 DHCP environment will prove to be useful as it can manage DHCP
94 reservations and other data. If you already have a DHCP setup, moving
95 an existing setup to be managed from within cobbler is relatively
96 painless -- though usage of the DHCP management feature is entirely
97 optional. If you are not interested in network booting via PXE and
98 just want to use koan to install virtual systems or replace existing
99 ones, DHCP configuration can be totally ignored. Koan also has a live
100 CD (see koan's manpage) capability that can be used to simulate PXE
101 environments.
102
103 DISTRIBUTIONS
104 This first step towards configuring what you want to install is to add
105 a distribution record to cobbler's configuration.
106
107 If there is an rsync mirror, DVD, NFS, or filesystem tree available
108 that you would rather import instead, skip down to the documentation
109 about the "import" command. It's really a lot easier to follow the
110 import workflow -- it only requires waiting for the mirror content to
111 be copied and/or scanned. Imported mirrors also save time during
112 install since they don't have to hit external install sources.
113
114 If you want to be explicit with distribution definition, however,
115 here's how it works:
116
117 cobbler distro add --name=string --kernel=path --initrd=path
118 [--kopts=string] [--kopts-post=string] [--ksmeta=string]
119 [--arch=x86|x86_64|ia64] [--breed=redhat|debian|suse]
120 [--template-files=string]
121
122 name
123 a string identifying the distribution, this should be something
124 like "rhel4".
125
126 kernel
127 An absolute filesystem path to a kernel image
128
129 initrd
130 An absolute filesystem path to a initrd image
131
132 kopts
133 Sets kernel command-line arguments that the distro, and
134 profiles/systems depending on it, will use. To remove a kernel
135 argument that may be added by a higher cobbler object (or in the
136 global settings), you can prefix it with a "!".
137
138 Example: --kopts="foo=bar baz=3 asdf !gulp"
139
140 This example passes the arguments "foo=bar baz=3 asdf" but will
141 make sure "gulp" is not passed even if it was requested at a level
142 higher up in the cobbler configuration.
143
144 kopts-post
145 This is just like --kopts, though it governs kernel options on the
146 installed OS, as opposed to kernel options fed to the installer.
147 The syntax is exactly the same. This requires some special
148 snippets to be found in your kickstart template in order for this
149 to work. Kickstart templating is described later on in this
150 document.
151
152 Example: "noapic"
153
154 arch
155 Sets the architecture for the PXE bootloader and also controls how
156 koan's --replace-self option will operate.
157
158 The default setting ('standard') will use pxelinux. Set to 'ia64'
159 to use elilo. 'ppc' and 'ppc64' use yaboot. 's390x' is not
160 PXEable, but koan supports it for reinstalls.
161
162 'x86' and 'x86_64' effectively do the same thing as standard.
163
164 If you perform a cobbler import, the arch field will be auto-
165 assigned.
166
167 ksmeta
168 This is an advanced feature that sets kickstart variables to
169 substitute, thus enabling kickstart files to be treated as
170 templates. Templates are powered using Cheetah and are described
171 further along in this manpage as well as on the Cobbler Wiki.
172
173 Example: --ksmeta="foo=bar baz=3 asdf"
174
175 See the section on "Kickstart Templating" for further information.
176
177 breed
178 Controls how various physical and virtual parameters, including
179 kernel arguments for automatic installation, are to be treated.
180 Defaults to "redhat", which is a suitable value for Fedora and
181 CentOS as well. It means anything redhat based.
182
183 There is limited experimental support for specifying "debian",
184 "ubuntu", or "suse", which treats the kickstart file as a different
185 format and changes the kernel arguments appropriately. Support
186 for other types of distributions is possible in the future. See
187 the Wiki for the latest information about support for these
188 distributions.
189
190 The file used for the answer file, regardless of the breed setting,
191 is the value used for --kickstart when creating the profile. In
192 other words, if another distro calls their answer file something
193 other than a "kickstart", the kickstart parameter still governs
194 where that answer file is.
195
196 os-version
197 Generally this field can be ignored. It is intended to alter some
198 hardware setup for virtualized instances when provisioning guests
199 with koan. The valid options for --os-version vary depending on
200 what is specified for --breed. If you specify an invalid option,
201 the error message will contain a list of valid os versions that can
202 be used. If you do not know the os version or it does not appear
203 in the list, omitting this argument or using "other" should be
204 perfectly fine. Largely this is needed to support older
205 distributions in virtualized settings, such as "rhel2.1", one of
206 the OS choices if the breed is set to "redhat". If you do not
207 encounter any problems with virtualized instances, this option can
208 be safely ignored.
209
210 owners
211 Users with small sites and a limited number of admins can probably
212 ignore this option. All cobbler objects (distros, profiles,
213 systems, and repos) can take a --owners parameter to specify what
214 cobbler users can edit particular objects. This only applies to
215 the Cobbler WebUI and XMLRPC interface, not the "cobbler" command
216 line tool run from the shell. Furthermore, this is only respected
217 by the "authz_ownership" module which must be enabled in
218 /etc/cobbler/modules.conf. The value for --owners is a space
219 separated list of users and groups as specified in
220 /etc/cobbler/users.conf. For more information see the users.conf
221 file as well as the Cobbler Wiki. In the default Cobbler
222 configuration, this value is completely ignored, as is users.conf.
223
224 template-files
225 This feature allows cobbler to be used as a configuration
226 management system. The argument is a space delimited string of
227 key=value pairs. Each key is the path to a template file, each
228 value is the path to install the file on the system. This is
229 described in further detail on the Cobbler Wiki and is implemented
230 using special code in the post install. Koan also can retrieve
231 these files from a cobbler server on demand, effectively allowing
232 cobbler to function as a lightweight templated configuration
233 management system.
234
235 redhat-management-key
236 If you're using Red Hat Network, Red Hat Satellite Server, or
237 Spacewalk, you can store your authentication keys here and Cobbler
238 can add the neccessary authentication code to your kickstart where
239 the snippet named "redhat_register" is included. Read more about
240 setup in /etc/cobbler/settings.
241
242 PROFILES
243 A profile associates a distribution to additional specialized options,
244 such as a kickstart automation file. Profiles are the core unit of
245 provisioning and at least one profile must exist for every distribution
246 to be provisioned. A profile might represent, for instance, a web
247 server or desktop configuration. In this way, profiles define a role
248 to be performed.
249
250 cobbler profile add --name=string --distro=string [--kickstart=path]
251 [--kopts=string] [--ksmeta=string] [--virt-file-size=gigabytes]
252 [--virt-ram=megabytes] [--virt-type=string] [--virt-cpus=integer]
253 [--virt-path=string] [--virt-bridge=string] [--server]
254 [--parent=profile]
255
256 Arguments are the same as listed for distributions, save for the
257 removal of "arch" and "breed", and with the additions listed below:
258
259 name
260 A descriptive name. This could be something like "rhel5webservers"
261 or "f9desktops".
262
263 distro
264 The name of a previously defined cobbler distribution. This value
265 is required.
266
267 kickstart
268 Local filesystem path to a kickstart file.
269
270 If this parameter is not provided, the kickstart file will default
271 to /var/lib/cobbler/kickstarts/default.ks. This file is initially
272 blank, meaning default kickstarts are not automated "out of the
273 box". Admins can change the default.ks if they desire.
274
275 When using kickstart files, they must be placed in
276 /var/lib/cobbler/kickstarts. If using the webapp to create new
277 kickstarts, this is where the web application will put them.
278
279 nameservers
280 If your nameservers are not provided by DHCP, you can specify a
281 space separated list of addresses here to configure each of the
282 installed nodes to use them (provided the kickstarts used are
283 installed on a per-system basis). Users with DHCP setups should
284 not need to use this option. This is available to set in profiles
285 to avoid having to set it repeatedly for each system record.
286
287 virt-file-size
288 (Virt-only) How large the disk image should be in Gigabytes. The
289 default is "5". This can be a comma separated list (ex: "5,6,7")
290 to allow for multiple disks of different sizes depending on what is
291 given to --virt-path. This should be input as a integer or decimal
292 value without units.
293
294 virt-ram
295 (Virt-only) How many megabytes of RAM to consume. The default is
296 512 MB. This should be input as an integer without units.
297
298 virt-type
299 (Virt-only) Koan can install images using either Xen paravirt
300 ("xenpv") or QEMU/KVM ("qemu"). Choose one or the other strings to
301 specify, or values will default to attempting to find a compatible
302 installation type on the client system ("auto"). See the "koan"
303 manpage for more documentation. The default virt-type can be
304 configured in the cobbler settings file such that this parameter
305 does not have to be provided. Other virtualization types are
306 supported, for information on those options (such as VMware), see
307 the Cobbler Wiki.
308
309 virt-cpus
310 (Virt-only) How many virtual CPUs should koan give the virtual
311 machine? The default is 1. This is an integer.
312
313 virt-path
314 (Virt-only) Where to store the virtual image on the host system.
315 Except for advanced cases, this parameter can usually be omitted.
316 For disk images, the value is usually an absolute path to an
317 existing directory with an optional file name component. There is
318 support for specifying partitions "/dev/sda4" or volume groups
319 "VolGroup00", etc.
320
321 For multiple disks, separate the values with commas such as
322 "VolGroup00,VolGroup00" or "/dev/sda4,/dev/sda5". Both those
323 examples would create two disks for the VM.
324
325 virt-bridge
326 (Virt-only) This specifies the default bridge to use for all
327 systems defined under this profile. If not specified, it will
328 assume the default value in the cobbler settings file, which as
329 shipped in the RPM is 'xenbr0'. If using KVM, this is most likely
330 not correct. You may want to override this setting in the system
331 object. Bridge settings are important as they define how outside
332 networking will reach the guest. For more information on bridge
333 setup, see the Cobbler Wiki, where there is a section describing
334 koan usage.
335
336 repos
337 This is a space delimited list of all the repos (created with
338 "cobbler repo add" and updated with "cobbler reposync") that this
339 profile can make use of during kickstart installation. For
340 example, an example might be --repos="fc6i386updates fc6i386extras"
341 if the profile wants to access these two mirrors that are already
342 mirrored on the cobbler server. Repo management is described in
343 greater depth later in the manpage.
344
345 parent
346 This is an advanced feature.
347
348 Profiles may inherit from other profiles in lieu of specifying
349 --distro. Inherited profiles will override any settings specified
350 in their parent, with the exception of --ksmeta (templating) and
351 --kopts (kernel options), which will be blended together.
352
353 Example: If profile A has --kopts="x=7 y=2", B inherits from A,
354 and B has --kopts="x=9 z=2", the actual kernel options that will be
355 used for B are "x=9 y=2 z=2".
356
357 Example: If profile B has --virt-ram=256 and A has --virt-ram of
358 512, profile B will use the value 256. Example: If profile A has
359 a --virt-file-size of 5 and B does not specify a size, B will use
360 the value from A.
361
362 server
363 This parameter should be useful only in select circumstances. If
364 machines are on a subnet that cannot access the cobbler server
365 using the name/IP as configured in the cobbler settings file, use
366 this parameter to override that server name. See also --dhcp-tag
367 for configuring the next server and DHCP information of the system
368 if you are also using Cobbler to help manage your DHCP
369 configuration.
370
371 SYSTEMS
372 System records map a piece of hardware (or a virtual machine) with the
373 cobbler profile to be assigned to run on it. This may be thought of as
374 choosing a role for a specific system.
375
376 Note that if provisioning via koan and PXE menus alone, it is not
377 required to create system records in cobbler, though they are useful
378 when system specific customizations are required. One such
379 customization would be defining the MAC address. If there is a
380 specific role intended for a given machine, system records should be
381 created for it.
382
383 System commands have a wider variety of control offered over network
384 details. In order to use these to the fullest possible extent, the
385 kickstart template used by cobbler must contain certain kickstart
386 snippets (sections of code specifically written for Cobbler to make
387 these values become reality). Compare your kickstart templates with
388 the stock ones in /var/lib/cobbler/kickstarts if you have upgraded, to
389 make sure you can take advantage of all options to their fullest
390 potential. If you are a new cobbler user, base your kickstarts off of
391 these templates. Non-kickstart based distributions, while supported by
392 Cobbler, may not be able to use all of these features.
393
394 Read more about networking setup at:
395 https://github.com/cobbler/cobbler/wiki/Advanced-networking
396
397 cobbler system add --name=string --profile=string [--mac=macaddress]
398 [--ip-address=ipaddress] [--hostname=hostname] [--kopts=string]
399 [--ksmeta=string] [--kickstart=path] [--netboot-enabled=Y/N]
400 [--server=string] [--gateway=string] [--dns-name=string]
401 [--static-routes=string] [--power-address=string] [--power-type=string]
402 [--power-user=string] [--power-pass=string] [--power-id=string]
403
404 Adds a cobbler System to the configuration. Arguments are specified as
405 per "profile add" with the following changes:
406
407 name
408 The system name works like the name option for other commands.
409
410 If the name looks like a MAC address or an IP, the name will
411 implicitly be used for either --mac or --ip of the first interface,
412 respectively. However, it's usually better to give a descriptive
413 name -- don't rely on this behavior.
414
415 A system created with name "default" has special semantics. If a
416 default system object exists, it sets all undefined systems to PXE
417 to a specific profile. Without a "default" system name created,
418 PXE will fall through to local boot for unconfigured systems.
419
420 When using "default" name, don't specify any other arguments than
421 --profile ... they won't be used.
422
423 --mac
424 Specifying a mac address via --mac allows the system object to boot
425 directly to a specific profile via PXE, bypassing cobbler's PXE
426 menu. If the name of the cobbler system already looks like a mac
427 address, this is inferred from the system name and does not need to
428 be specified.
429
430 MAC addresses have the format AA:BB:CC:DD:EE:FF. It's highly
431 recommended to register your MAC-addresses in Cobbler if you're
432 using static addressing with multiple interfaces, or if you are
433 using any of the advanced networking features like bonding, bridges
434 or VLANs.
435
436 Cobbler does contain a feature (enabled in /etc/cobbler/settings)
437 that can automatically add new system records when it finds
438 profiles being provisioned on hardware it has seen before. This
439 may help if you do not have a report of all the MAC addresses in
440 your datacenter/lab configuration.
441
442 --ip-address
443 If cobbler is configured to generate a DHCP configuration (see
444 advanced section), use this setting to define a specific IP for
445 this system in DHCP. Leaving off this parameter will result in no
446 DHCP management for this particular system.
447
448 Example: --ip-address=192.168.1.50
449
450 Note for Itanium users: this setting is always required for IA64
451 regardless of whether DHCP management is enabled.
452
453 If DHCP management is disabled and the interface is labelled
454 --static=1, this setting will be used for static IP configuration.
455
456 Special feature: To control the default PXE behavior for an entire
457 subnet, this field can also be passed in using CIDR notation. If
458 --ip is CIDR, do not specify any other arguments other than --name
459 and --profile.
460
461 When using the CIDR notation trick, don't specify any arguments
462 other than --name and --profile... they won't be used.
463
464 --dns-name
465 If using the DNS management feature (see advanced section --
466 cobbler supports auto-setup of BIND and dnsmasq), use this to
467 define a hostname for the system to receive from DNS.
468
469 Example: --dns-name=mycomputer.example.com
470
471 This is a per-interface parameter. If you have multiple
472 interfaces, it may be different for each interface, for example,
473 assume a DMZ / dual-homed setup.
474
475 --gateway and --subnet
476 If you are using static IP configurations and the interface is
477 flagged --static=1, these will be applied.
478
479 Subnet is a per-interface parameter. Because of the way gateway is
480 stored on the installed OS, gateway is a global parameter. You may
481 use --static-routes for per-interface customizations if required.
482
483 --hostname
484 This field corresponds to the hostname set in a systems
485 /etc/sysconfig/network file. This has no bearing on DNS, even when
486 manage_dns is enabled. Use --dns-name instead for that feature.
487
488 This parameter is assigned once per system, it is not a per-
489 interface setting.
490
491 --power-address, --power-type, --power-user, --power-pass, --power-id
492 Cobbler contains features that enable integration with power
493 management for easier installation, reinstallation, and management
494 of machines in a datacenter environment. These parameters are
495 described online at
496 https://github.com/cobbler/cobbler/wiki/Power-management. If you
497 have a power-managed datacenter/lab setup, usage of these features
498 may be something you are interested in.
499
500 --static
501 Indicates that this interface is statically configured. Many
502 fields (such as gateway/subnet) will not be used unless this field
503 is enabled.
504
505 This is a per-interface setting.
506
507 --static-routes
508 This is a space delimited list of ip/mask:gateway routing
509 information in that format. Most systems will not need this
510 information.
511
512 This is a per-interface setting.
513
514 --virt-bridge
515 (Virt-only) While --virt-bridge is present in the profile object
516 (see above), here it works on an interface by interface basis.
517 For instance it would be possible to have --virt-bridge0=xenbr0 and
518 --virt-bridge1=xenbr1. If not specified in cobbler for each
519 interface, koan will use the value as specified in the profile for
520 each interface, which may not always be what is intended, but will
521 be sufficient in most cases.
522
523 This is a per-interface setting.
524
525 --kickstart
526 While it is recommended that the --kickstart parameter is only used
527 within for the "profile add" command, there are limited scenarios
528 when an install base switching to cobbler may have legacy
529 kickstarts created on a per-system basis (one kickstart for each
530 system, nothing shared) and may not want to immediately make use of
531 the cobbler templating system. This allows specifying a kickstart
532 for use on a per-system basis. Creation of a parent profile is
533 still required. If the kickstart is a filesystem location, it will
534 still be treated as a cobbler template.
535
536 --netboot-enabled
537 If set false, the system will be provisionable through koan but not
538 through standard PXE. This will allow the system to fall back to
539 default PXE boot behavior without deleting the cobbler system
540 object. The default value allows PXE. Cobbler contains a PXE
541 boot loop prevention feature (pxe_just_once, can be enabled in
542 /etc/cobbler/settings) that can automatically trip off this value
543 after a system gets done installing. This can prevent installs
544 from appearing in an endless loop when the system is set to PXE
545 first in the BIOS order.
546
547 --ldap-enabled, --ldap-type
548 Cobbler contains features that enable ldap management for easier
549 configuration after system provisioning. If set true, koan will run
550 the ldap command as defined by the systems ldap_type. The default
551 value is false.
552
553 --monit-enabled
554 If set true, koan will reload monit after each configuration run.
555 The default value is false.
556
557 --repos-enabled
558 If set true, koan can reconfigure repositories after installation.
559 This is described further on the Cobbler Wiki,
560 https://github.com/cobbler/cobbler/wiki/Manage-yum-repos.
561
562 --dhcp-tag
563 If you are setting up a PXE environment with multiple
564 subnets/gateways, and are using cobbler to manage a DHCP
565 configuration, you will probably want to use this option. If not,
566 it can be ignored.
567
568 By default, the dhcp tag for all systems is "default" and means
569 that in the DHCP template files the systems will expand out where
570 $insert_cobbler_systems_definitions is found in the DHCP template.
571 However, you may want certain systems to expand out in other places
572 in the DHCP config file. Setting --dhcp-tag=subnet2 for instance,
573 will cause that system to expand out where
574 $insert_cobbler_system_definitions_subnet2 is found, allowing you
575 to insert directives to specify different subnets (or other
576 parameters) before the DHCP configuration entries for those
577 particular systems.
578
579 This is described further on the Cobbler Wiki.
580
581 --interface
582 By default flags like --ip, --mac, --dhcp-tag, --dns-name,
583 --subnet, --virt-bridge, and --static-routes operate on the first
584 network interface defined for a system (eth0). However, cobbler
585 supports an arbitrary number of interfaces. Using --interface=eth1
586 for instance, will allow creating and editing of a second
587 interface.
588
589 Interface naming notes:
590
591 Additional interfaces can be specified (for example: eth1, or any
592 name you like, as long as it does not conflict with any reserved
593 names such as kernel module names) for use with the edit command.
594 Defining VLANs this way is also supported, of you want to add VLAN
595 5 on interface eth0, simply name your interface eth0.5.
596
597 Example:
598
599 cobbler system edit --name=foo --ip-address=192.168.1.50
600 --mac=AA:BB:CC:DD:EE:A0 cobbler system edit --name=foo
601 --interface=eth0 --ip-address=192.168.1.51 --mac=AA:BB:CC:DD:EE:A1
602 cobbler system report foo
603
604 Interfaces can be deleted using the --delete-interface option.
605
606 Example:
607
608 cobbler system edit --name=foo --interface=eth2 --delete-interface
609
610 --interface-type, --interface-master and --bonding-opts/--bridge-opts
611 One of the other advanced networking features supported by Cobbler
612 is NIC bonding and bridging. You can use this to bond multiple
613 physical network interfaces to one single logical interface to
614 reduce single points of failure in your network, or to create
615 bridged interfaces for things like tunnels and virtual machine
616 networks. Supported values for the --interface-type parameter are
617 "bond", "bond_slave", "bridge", "bridge_slave" and
618 "bonded_bridge_slave". If one of the "_slave" options is specified,
619 you also need to define the master-interface for this bond using
620 --interface-master=INTERFACE. Bonding and bridge options for the
621 master-interface may be specified using --bonding-opts="foo=1
622 bar=2" or --bridge-opts="foo=1 bar=2", respectively.
623
624 Example:
625
626 cobbler system edit --name=foo --interface=eth0
627 --mac=AA:BB:CC:DD:EE:00 --interface-type=bond_slave
628 --interface-master=bond0 cobbler system edit --name=foo
629 --interface=eth1 --mac=AA:BB:CC:DD:EE:01
630 --interface-type=bond_slave --interface-master=bond0 cobbler system
631 edit --name=foo --interface=bond0 --interface-type=bond
632 --bonding-opts="mode=active-backup miimon=100"
633 --ip-address=192.168.0.63 --subnet=255.255.255.0
634 --gateway=192.168.0.1 --static=1
635
636 More information about networking setup is available at
637 https://github.com/cobbler/cobbler/wiki/Advanced-networking
638
639 To review what networking configuration you have for any object,
640 run "cobbler system report" at any time:
641
642 Example:
643
644 cobbler system report --name=foo
645
646 REPOSITORIES
647 Repository mirroring allows cobbler to mirror not only install trees
648 ("cobbler import" does this for you) but also optional packages, 3rd
649 party content, and even updates. Mirroring all of this content
650 locally on your network will result in faster, more up-to-date
651 installations and faster updates. If you are only provisioning a home
652 setup, this will probably be overkill, though it can be very useful for
653 larger setups (labs, datacenters, etc).
654
655 cobbler repo add --mirror=url --name=string [--rpmlist=list]
656 [--creatrepo-flags=string] [--keep-updated=Y/N] [--priority=number]
657 [--arch=string] [--mirror-locally=Y/N] [--breed=yum|rsync|rhn]
658
659 mirror
660 The address of the yum mirror. This can be an rsync:// URL, an ssh
661 location, or a http:// or ftp:// mirror location. Filesystem paths
662 also work.
663
664 The mirror address should specify an exact repository to mirror --
665 just one architecture and just one distribution. If you have a
666 separate repo to mirror for a different arch, add that repo
667 separately.
668
669 Here's an example of what looks like a good URL:
670
671 rsync://yourmirror.example.com/fedora-linux-core/updates/6/i386
672 (for rsync protocol)
673 http://mirrors.kernel.org/fedora/extras/6/i386/ (for http://)
674 user@yourmirror.example.com/fedora-linux-core/updates/6/i386 (for
675 SSH)
676
677 Experimental support is also provided for mirroring RHN content
678 when you need a fast local mirror. The mirror syntax for this is
679 --mirror=rhn://channel-name and you must have entitlements for this
680 to work. This requires the cobbler server to be installed on RHEL5
681 or later. You will also need a version of yum-utils equal or
682 greater to 1.0.4.
683
684 name
685 This name is used as the save location for the mirror. If the
686 mirror represented, say, Fedora Core 6 i386 updates, a good name
687 would be "fc6i386updates". Again, be specific.
688
689 This name corresponds with values given to the --repos parameter of
690 "cobbler profile add". If a profile has a --repos value that
691 matches the name given here, that repo can be automatically set up
692 during provisioning (when supported) and installed systems will
693 also use the boot server as a mirror (unless
694 "yum_post_install_mirror" is disabled in the settings file). By
695 default the provisioning server will act as a mirror to systems it
696 installs, which may not be desirable for laptop configurations,
697 etc.
698
699 Distros that can make use of yum repositories during kickstart
700 include FC6 and later, RHEL 5 and later, and derivative
701 distributions.
702
703 See the documentation on "cobbler profile add" for more
704 information.
705
706 rpm-list
707 By specifying a space-delimited list of package names for
708 --rpm-list, one can decide to mirror only a part of a repo (the
709 list of packages given, plus dependencies). This may be helpful in
710 conserving time/space/bandwidth. For instance, when mirroring FC6
711 Extras, it may be desired to mirror just cobbler and koan, and skip
712 all of the game packages. To do this, use --rpm-list="cobbler
713 koan".
714
715 This option only works for http:// and ftp:// repositories (as it
716 is powered by yumdownloader). It will be ignored for other mirror
717 types, such as local paths and rsync:// mirrors.
718
719 createrepo-flags
720 Specifies optional flags to feed into the createrepo tool, which is
721 called when "cobbler reposync" is run for the given repository.
722 The defaults are '-c cache'.
723
724 keep-updated
725 Specifies that the named repository should not be updated during a
726 normal "cobbler reposync". The repo may still be updated by
727 name. The repo should be synced at least once before disabling
728 this feature See "cobbler reposync" below.
729
730 mirror-locally
731 When set to "N", specifies that this yum repo is to be referenced
732 directly via kickstarts and not mirrored locally on the cobbler
733 server. Only http:// and ftp:// mirror urls are supported when
734 using --mirror-locally=N, you cannot use filesystem URLs.
735
736 priority
737 Specifies the priority of the repository (the lower the number, the
738 higher the priority), which applies to installed machines using the
739 repositories that also have the yum priorities plugin installed.
740 The default priority for the plugin is 99, as is that of all
741 cobbler mirrored repositories.
742
743 arch
744 Specifies what architecture the repository should use. By default
745 the current system arch (of the server) is used, which may not be
746 desirable. Using this to override the default arch allows
747 mirroring of source repositories (using --arch=src).
748
749 yumopts
750 Sets values for additional yum options that the repo should use on
751 installed systems. For instance if a yum plugin takes a certain
752 parameter "alpha" and "beta", use something like --yumopts="alpha=2
753 beta=3".
754
755 breed
756 Ordinarily cobbler's repo system will understand what you mean
757 without supplying this parameter, though you can set it explicitly
758 if needed.
759
760 MANAGEMENT CLASSES
761 Management classes allows cobbler to function as an configuration
762 management system. Cobbler currently supports the following resource
763 types:
764
765 1. Packages
766 2. Files
767
768 Resources are executed in the order listed above.
769
770 cobbler mgmtclass add --name=string --comment=string [--packages=list]
771 [--files=list]
772
773 name
774 The name of the mgmtclass. Use this name when adding a management
775 class to a system, profile, or distro. To add a mgmtclass to an
776 existing system use something like (cobbler system edit
777 --name="madhatter" --mgmt-classes="http mysql").
778
779 comment
780 A comment that describes the functions of the management class.
781
782 packages
783 Specifies a list of package resources required by the management
784 class.
785
786 files
787 Specifies a list of file resources required by the management
788 class.
789
791 Resources are the lego blocks of configuration management. Resources
792 are grouped together via Management Classes, which are then linked to a
793 system. Cobbler supports two (2) resource types. Resources are
794 configured in the order listed below.
795
796 1. Packages
797 2. Files
798
799 PACKAGE RESOURCES
800 Package resources are managed using cobbler package add
801
802 Actions
803
804 install
805 Install the package. [Default]
806
807 uninstall
808 Uninstall the package.
809
810 Attributes
811
812 installer
813 Which package manager to use, vaild options [rpm|yum].
814
815 version
816 Which version of the package to install.
817
818 Examples
819
820 cobbler package add --name=string --comment=string
821 [--action=install|uninstall] --installer=string [--version=string]
822
823 FILE RESOURCES
824 Actions
825
826 create
827 Create the file. [Default]
828
829 remove
830 Remove the file.
831
832 Attributes
833
834 mode
835 Permission mode (as in chmod).
836
837 group
838 The group owner of the file.
839
840 user
841 The user for the file.
842
843 path
844 The path for the file.
845
846 template
847 The template for the file.
848
849 Examples
850
851 cobbler file add --name=string --comment=string [--action=string]
852 --mode=string --group=string --owner=string --path=string
853 [--template=string]
854
855 DISPLAYING CONFIGURATION ENTRIES
856 The following commands are usable regardless of how you are using
857 cobbler. "report" gives detailed configuration info. "list" just lists
858 the names of items in the configuration. Run these commands to check
859 how you have cobbler configured.
860
861 cobbler list
862
863 cobbler distro|profile|system|repo|image|mgmtclass|package|file list
864
865 cobbler report
866
867 cobbler distro|profile|system|repo|image|mgmtclass|package|file report
868 --name=[object-name]
869
870 Alternatively, you could look at the configuration files in
871 /var/lib/cobbler to see the same information.
872
873 DELETING CONFIGURATION ENTRIES
874 If you want to remove a specific object, use the remove command with
875 the name that was used to add it.
876
877 cobbler distro remove --name=string
878
879 cobbler profile remove --name=string
880
881 cobbler system remove --name=string
882
883 cobbler repo remove --name=string
884
885 cobbler image remove --name=string
886
887 cobbler mgmtclass remove --name=string
888
889 cobbler package remove --name=string
890
891 cobbler file remove --name=string
892
893 EDITING
894 If you want to change a particular setting without doing an "add"
895 again, use the "edit" command, using the same name you gave when you
896 added the item. Anything supplied in the parameter list will overwrite
897 the settings in the existing object, preserving settings not mentioned.
898
899 cobbler distro|profile|system|repo|image|mgmtclass|package|file edit
900 --name=string [parameterlist]
901
902 COPYING
903 Objects can also be copied:
904
905 cobbler distro|profile|system|repo|image|mgmtclass|package|file copy
906 --name=oldname --newname=newname
907
908 RENAMING
909 Objects can also be renamed, as long as other objects don't reference
910 them.
911
912 cobbler distro|profile|system|repo|image|mgmtclass|package|file rename
913 --name=oldname --newname=newname
914
915 REPLICATING
916 Cobbler can replicate configurations from a master cobbler server.
917 Each cobbler server is still expected to have a locally relevant
918 /etc/cobbler/cobbler.conf and modules.conf, as these files are not
919 synced.
920
921 This feature is intended for load-balancing, disaster-recovery, backup,
922 or multiple geography support.
923
924 cobbler replicate --master=cobbler.example.org [--distros=pattern]
925 [--profiles=pattern] [--systems=pattern] [--repos-pattern]
926 [--images=pattern] [--prune] [--omit-data]
927
928 Cobbler can replicate data from a central server.
929
930 Objects that need to be replicated should be specified with a pattern,
931 such as --profiles="webservers* dbservers*" or
932 --systems="*.example.org". All objects matched by the pattern, and
933 all dependencies of those objects matched by the pattern (recursively)
934 will be transferred from the remote server to the central server. This
935 is to say if you intend to transfer "*.example.org" and the definition
936 of the systems have not changed, but a profile above them has changed,
937 the changes to that profile will also be transferred.
938
939 In the case where objects are more recent on the local server, those
940 changes will not be overridden locally.
941
942 Common data locations will be rsync'ed from the master server unless
943 --omit-data is specified.
944
945 To delete objects that are no longer present on the master server, use
946 --prune. Warning: this will delete all object types not present on
947 the remote server from the local server, and is recursive. If you use
948 prune, it is best to manage cobbler centrally and not expect changes
949 made on the slave servers to be preserved. It is not currently
950 possible to just prune objects of a specific type.
951
952 REBUILDING CONFIGURATIONS
953 cobbler sync
954
955 Cobbler sync is used to repair or rebuild the contents /tftpboot or
956 /var/www/cobbler when something has changed behind the scenes. It
957 brings the filesystem up to date with the configuration as understood
958 by cobbler.
959
960 Sync should be run whenever files in /var/lib/cobbler are manually
961 edited (which is not recommended except for the settings file) or when
962 making changes to kickstart files. In practice, this should not happen
963 often, though running sync too many times does not cause any adverse
964 effects.
965
966 If using cobbler to manage a DHCP and/or DNS server (see the advanced
967 section of this manpage), sync does need to be run after systems are
968 added to regenerate and reload the DHCP/DNS configurations.
969
970 The sync process can also be kicked off from the web interface.
971
973 IMPORT WORKFLOW
974 Import is a very useful command that makes starting out with cobbler
975 very quick and easy.
976
977 This example shows how to create a provisioning infrastructure from a
978 distribution mirror or DVD ISO. Then a default PXE configuration is
979 created, so that by default systems will PXE boot into a fully
980 automated install process for that distribution.
981
982 You can use a network rsync mirror, a mounted DVD location, or a tree
983 you have available via a network filesystem.
984
985 Import knows how to autodetect the architecture of what is being
986 imported, though to make sure things are named correctly, it's always a
987 good idea to specify --arch. For instance, if you import a
988 distribution named "fedora8" from an ISO, and it's an x86_64 ISO,
989 specify --arch=x86_64 and the distro will be named "fedora8-x86_64"
990 automatically, and the right architecture field will also be set on the
991 distribution object. If you are batch importing an entire mirror
992 (containing multiple distributions and arches), you don't have to do
993 this, as cobbler will set the names for things based on the paths it
994 finds.
995
996 cobbler check
997
998 cobbler import --path=rsync://yourfavoritemirror.com/rhel/5/os/x86_64
999 --name=rhel5 --arch=x86_64
1000
1001 # OR
1002
1003 cobbler import --path=/mnt/dvd --name=rhel5 --arch=x86_64
1004
1005 # OR (using an external NAS box without mirroring)
1006
1007 cobbler import --path=/path/where/filer/is/mounted --name=anyname
1008 --available-as=nfs://nfs.example.org:/where/mounted/
1009
1010 # wait for mirror to rsync...
1011
1012 cobbler report
1013
1014 cobbler system add --name=default --profile=name_of_a_profile1
1015
1016 cobbler system add --name=AA:BB:CC:DD:EE:FF
1017 --profile=name_of_a_profile2
1018
1019 cobbler sync
1020
1021 NON-IMPORT (MANUAL) WORKFLOW
1022 The following example uses a local kernel and initrd file (already
1023 downloaded), and shows how profiles would be created using two
1024 different kickstarts -- one for a web server configuration and one for
1025 a database server. Then, a machine is assigned to each profile.
1026
1027 cobbler check
1028
1029 cobbler distro add --name=rhel4u3 --kernel=/dir1/vmlinuz
1030 --initrd=/dir1/initrd.img
1031
1032 cobbler distro add --name=fc5 --kernel=/dir2/vmlinuz
1033 --initrd=/dir2/initrd.img
1034
1035 cobbler profile add --name=fc5webservers --distro=fc5-i386
1036 --kickstart=/dir4/kick.ks
1037 --kopts="something_to_make_my_gfx_card_work=42
1038 some_other_parameter=foo"
1039
1040 cobbler profile add --name=rhel4u3dbservers --distro=rhel4u3
1041 --kickstart=/dir5/kick.ks
1042
1043 cobbler system add --name=AA:BB:CC:DD:EE:FF --profile=fc5-webservers
1044
1045 cobbler system add --name=AA:BB:CC:DD:EE:FE --profile=rhel4u3-dbservers
1046
1047 cobbler report
1048
1049 REPOSITORY MIRRORING WORKFLOW
1050 The following example shows how to set up a repo mirror for two
1051 repositories, and create a profile that will auto install those
1052 repository configurations on provisioned systems using that profile.
1053
1054 cobbler check
1055
1056 # set up your cobbler distros here.
1057
1058 cobbler repo add
1059 --mirror=http://mirrors.kernel.org/fedora/core/updates/6/i386/
1060 --name=fc6i386updates
1061
1062 cobbler repo add
1063 --mirror=http://mirrors.kernel.org/fedora/extras/6/i386/
1064 --name=fc6i386extras
1065
1066 cobbler reposync
1067
1068 cobbler profile add --name=p1 --distro=existing_distro_name
1069 --kickstart=/var/lib/cobbler/kickstarts/kickstart_fc6.ks
1070 --repos="fc6i386updates fc6i386extras"
1071
1072 VIRTUALIZATION
1073 For Virt, be sure the distro uses the correct kernel (if paravirt) and
1074 follow similar steps as above, adding additional parameters as desired:
1075
1076 cobbler distro add --name=fc7virt [options...]
1077
1078 Specify reasonable values for the Virt image size (in GB) and RAM
1079 requirements (in MB):
1080
1081 cobbler profile add --name=virtwebservers --distro=fc7virt
1082 --kickstart=path --virt-file-size=10 --virt-ram=512 [...]
1083
1084 Define systems if desired. koan can also provision based on the
1085 profile name.
1086
1087 cobbler system add --name=AA:BB:CC:DD:EE:FE --profile=virtwebservers
1088 [...]
1089
1090 If you have just installed cobbler, be sure that the "cobblerd" service
1091 is running and that port 25151 is unblocked.
1092
1093 See the manpage for koan for the client side steps.
1094
1096 PXE MENUS
1097 Cobbler will automatically generate PXE menus for all profiles it has
1098 defined. Running "cobbler sync" is required to generate and update
1099 these menus.
1100
1101 To access the menus, type "menu" at the "boot:" prompt while a system
1102 is PXE booting. If nothing is typed, the network boot will default to
1103 a local boot. If "menu" is typed, the user can then choose and
1104 provision any cobbler profile the system knows about.
1105
1106 If the association between a system (MAC address) and a profile is
1107 already known, it may be more useful to just use "system add" commands
1108 and declare that relationship in cobbler; however many use cases will
1109 prefer having a PXE system, especially when provisioning is done at the
1110 same time as installing new physical machines.
1111
1112 If this behavior is not desired, run "cobbler system add --name=default
1113 --profile=plugh" to default all PXE booting machines to get a new copy
1114 of the profile "plugh". To go back to the menu system, run "cobbler
1115 system remove --name=default" and then "cobbler sync" to regenerate the
1116 menus.
1117
1118 When using PXE menu deployment exclusively, it is not necessary to make
1119 cobbler system records, although the two can easily be mixed.
1120
1121 Additionally, note that all files generated for the pxe menu
1122 configurations are templatable, so if you wish to change the color
1123 scheme or equivalent, see the files in /etc/cobbler.
1124
1125 KICKSTART TEMPLATING
1126 The --ksmeta options above require more explanation.
1127
1128 If and only if --kickstart options reference filesystem URIs, --ksmeta
1129 allows for templating of the kickstart files to achieve advanced
1130 functions. If the --ksmeta option for a profile read --ksmeta="foo=7
1131 bar=llama", anywhere in the kickstart file where the string "$bar"
1132 appeared would be replaced with the string "llama".
1133
1134 To apply these changes, "cobbler sync" must be run to generate custom
1135 kickstarts for each profile/system.
1136
1137 Templated kickstart files are processed by the templating
1138 program/package Cheetah, so anything you can do in a Cheetah template
1139 can be done to a kickstart template. Learn more at
1140 http://www.cheetahtemplate.org/learn.html
1141
1142 When working with Cheetah, be sure to escape any shell macros that look
1143 like "$(this)" with something like "\$(this)" or errors may show up
1144 during the sync process.
1145
1146 The Cobbler Wiki also contains numerous Cheetah examples that should
1147 prove useful in using this feature.
1148
1149 KICKSTART SNIPPETS
1150 Anywhere a kickstart template mentions SNIPPET::snippet_name, the file
1151 named /var/lib/cobbler/snippets/snippet_name (if present) will be
1152 included automatically in the kickstart template. This serves as a way
1153 to recycle frequently used kickstart snippets without duplication.
1154 Snippets can contain templating variables, and the variables will be
1155 evaluated according to the profile and/or system as one would expect.
1156
1157 Snippets can also be overridden for specific profile names or system
1158 names. This is described on the Cobbler Wiki.
1159
1160 KICKSTART VALIDATION
1161 To check for potential errors in kickstarts, prior to installation, use
1162 "cobbler validateks". This function will check all profile and system
1163 kickstarts for detectable errors. Since pykickstart is not future-
1164 Anaconda-version aware, there may be some false positives. It should
1165 be noted that "cobbler validateks" runs on the rendered kickstart
1166 output, not kickstart templates themselves.
1167
1168 DHCP MANAGEMENT
1169 Cobbler can optionally help you manage DHCP server. This feature is
1170 off by default.
1171
1172 Choose either "management = isc_and_bind" in /etc/cobbler/dhcp.template
1173 or "management = "dnsmasq" in /etc/cobbler/modules.conf. Then set
1174 "manage_dhcp" to 1 in /etc/cobbler/settings.
1175
1176 This allows DHCP to be managed via "cobbler system add" commands, when
1177 you specify the mac address and IP address for systems you add into
1178 cobbler.
1179
1180 Depending on your choice, cobbler will use /etc/cobbler/dhcpd.template
1181 or /etc/cobbler/dnsmasq.template as a starting point. This file must
1182 be user edited for the user's particular networking environment. Read
1183 the file and understand how the particular app (ISC dhcpd or dnsmasq)
1184 work before proceeding.
1185
1186 If you already have DHCP configuration data that you would like to
1187 preserve (say DHCP was manually configured earlier), insert the
1188 relevant portions of it into the template file, as running "cobbler
1189 sync" will overwrite your previous configuration.
1190
1191 NOTE: Itanium systems names also need to be assigned to a distro that
1192 was created with the "--arch=ia64" parameter. If you have Itanium
1193 systems, you must (for now) choose 'dhcp_isc' for
1194 /etc/cobbler/modules.conf and manage_dhcp in the /etc/cobbler/settings
1195 file, and are required to use --ip when creating the system object in
1196 order for those systems to PXE. This is due to an elilo limitation.
1197
1198 By default, the DHCP configuration file will be updated each time
1199 "cobbler sync" is run, and not until then, so it is important to
1200 remember to use "cobbler sync" when using this feature.
1201
1202 If omapi_enabled is set to 1 in /etc/cobbler/settings, the need to sync
1203 when adding new system records can be eliminated. However, the omapi
1204 feature is experimental and is not recommended for most users.
1205
1206 DNS CONFIGURATION MANAGEMENT
1207 Cobbler can optionally manage DNS configuration using BIND and dnsmasq.
1208
1209 Choose either "management = isc_and_bind" or "management = dnsmasq" in
1210 /etc/cobbler/modules.conf and then enable manage_dns in
1211 /etc/cobbler/settings.
1212
1213 This feature is off by default. If using BIND, you must define the
1214 zones to be managed with the options 'manage_forward_zones' and
1215 'manage_reverse_zones'. (See the Wiki for more information on this).
1216
1217 If using BIND, Cobbler will use /etc/cobbler/named.template and
1218 /etc/cobbler/zone.template as a starting point for the named.conf and
1219 individual zone files, respectively. You may drop zone-specific
1220 template files in /etc/cobbler/zone_templates/name-of-zone which will
1221 override the default. These files must be user edited for the user's
1222 particular networking environment. Read the file and understand how
1223 BIND works before proceeding.
1224
1225 If using dnsmasq, the template is /etc/cobbler/dnsmasq.template. Read
1226 this file and understand how dnsmasq works before proceeding.
1227
1228 All managed files (whether zone files and named.conf for BIND, or
1229 dnsmasq.conf for dnsmasq) will be updated each time ``cobbler sync'' is
1230 run, and not until then, so it is important to remember to use
1231 ``cobbler sync'' when using this feature.
1232
1233 SERVICE DISCOVERY (AVAHI)
1234 If the avahi-tools package is installed, cobblerd will broadcast it's
1235 presence on the network, allowing it to be discovered by koan with the
1236 koan --server=DISCOVER parameter.
1237
1238 IMPORTING TREES
1239 Cobbler can auto-add distributions and profiles from remote sources,
1240 whether this is a filesystem path or an rsync mirror. This can save a
1241 lot of time when setting up a new provisioning environment. Import is
1242 a feature that many users will want to take advantage of, and is very
1243 simple to use.
1244
1245 After an import is run, cobbler will try to detect the distribution
1246 type and automatically assign kickstarts. By default, it will
1247 provision the system by erasing the hard drive, setting up eth0 for
1248 dhcp, and using a default password of "cobbler". If this is
1249 undesirable, edit the kickstart files in /etc/cobbler to do something
1250 else or change the kickstart setting after cobbler creates the profile.
1251
1252 Mirrored content is saved automatically in /var/www/cobbler/ks_mirror.
1253
1254 Example: cobbler import --path=rsync://mirrorserver.example.com/path/
1255 --name=fedora --arch=x86
1256
1257 Example2: cobbler import --path=root@192.168.1.10:/stuff --name=bar
1258
1259 Example3: cobbler import --path=/mnt/dvd --name=baz --arch=x86_64
1260
1261 Example4: cobbler import --path=/path/to/stuff --name=glorp
1262
1263 Example5: cobbler import --path=/path/where/filer/is/mounted
1264 --name=anyname --available-as=nfs://nfs.example.org:/where/mounted/
1265
1266 Once imported, run a "cobbler list" or "cobbler report" to see what
1267 you've added.
1268
1269 By default, the rsync operations will exclude content of certain
1270 architectures, debug RPMs, and ISO images -- to change what is excluded
1271 during an import, see /etc/cobbler/rsync.exclude.
1272
1273 Note that all of the import commands will mirror install tree content
1274 into /var/www/cobbler unless a network accessible location is given
1275 with --available-as. --available-as will be primarily used when
1276 importing distros stored on an external NAS box, or potentially on
1277 another partition on the same machine that is already accessible via
1278 http:// or ftp://.
1279
1280 For import methods using rsync, additional flags can be passed to rsync
1281 with the option --rsync-flags.
1282
1283 Should you want to force the usage of a specific cobbler kickstart
1284 template for all profiles created by an import, you can feed the option
1285 --kickstart to import, to bypass the built-in kickstart auto-detection.
1286
1287 DEFAULT PXE BOOT BEHAVIOR
1288 What happens when PXE booting a system when cobbler has no record of
1289 the system being booted?
1290
1291 By default, cobbler will configure PXE to boot to the contents of
1292 /etc/cobbler/default.pxe, which (if unmodified) will just fall through
1293 to the local boot process. Administrators can modify this file if they
1294 like to change that behavior.
1295
1296 An easy way to specify a default cobbler profile to PXE boot is to
1297 create a system named "default". This will cause
1298 /etc/cobbler/default.pxe to be ignored. To restore the previous
1299 behavior do a "cobbler system remove" on the "default" system.
1300
1301 cobbler system add --name=default --profile=boot_this
1302
1303 cobbler system remove --name=default
1304
1305 As mentioned in earlier sections, it is also possible to control the
1306 default behavior for a specific network:
1307
1308 cobbler system add --name=network1 --ip-address=192.168.0.0/24
1309 --profile=boot_this
1310
1311 REPO MANAGEMENT
1312 This has already been covered a good bit in the command reference
1313 section.
1314
1315 Yum repository management is an optional feature, and is not required
1316 to provision through cobbler. However, if cobbler is configured to
1317 mirror certain repositories, it can then be used to associate profiles
1318 with those repositories. Systems installed under those profiles will
1319 then be autoconfigured to use these repository mirrors in
1320 /etc/yum.repos.d, and if supported (Fedora Core 6 and later) these
1321 repositories can be leveraged even within Anaconda. This can be useful
1322 if (A) you have a large install base, (B) you want fast installation
1323 and upgrades for your systems, or (C) have some extra software not in a
1324 standard repository but want provisioned systems to know about that
1325 repository.
1326
1327 Make sure there is plenty of space in cobbler's webdir, which defaults
1328 to /var/www/cobbler.
1329
1330 cobbler reposync [--tries=N] [--no-fail]
1331
1332 Cobbler reposync is the command to use to update repos as configured
1333 with "cobbler repo add". Mirroring can take a long time, and usage of
1334 cobbler reposync prior to usage is needed to ensure provisioned systems
1335 have the files they need to actually use the mirrored repositories. If
1336 you just add repos and never run "cobbler reposync", the repos will
1337 never be mirrored. This is probably a command you would want to put on
1338 a crontab, though the frequency of that crontab and where the output
1339 goes is left up to the systems administrator.
1340
1341 For those familiar with yum's reposync, cobbler's reposync is (in most
1342 uses) a wrapper around the yum command. Please use "cobbler reposync"
1343 to update cobbler mirrors, as yum's reposync does not perform all
1344 required steps. Also cobbler adds support for rsync and SSH locations,
1345 where as yum's reposync only supports what yum supports (http/ftp).
1346
1347 If you ever want to update a certain repository you can run:
1348
1349 cobbler reposync --only="reponame1" ...
1350
1351 When updating repos by name, a repo will be updated even if it is set
1352 to be not updated during a regular reposync operation (ex: cobbler repo
1353 edit --name=reponame1 --keep-updated=0).
1354
1355 Note that if a cobbler import provides enough information to use the
1356 boot server as a yum mirror for core packages, cobbler can set up
1357 kickstarts to use the cobbler server as a mirror instead of the outside
1358 world. If this feature is desirable, it can be turned on by setting
1359 yum_post_install_mirror to 1 in /etc/settings ((and running "cobbler
1360 sync"). You should not use this feature if machines are provisioned on
1361 a different VLAN/network than production, or if you are provisioning
1362 laptops that will want to acquire updates on multiple networks.
1363
1364 The flags --tries=N (for example, --tries=3) and --no-fail should
1365 likely be used when putting reposync on a crontab. They ensure network
1366 glitches in one repo can be retried and also that a failure to
1367 synchronize one repo does not stop other repositories from being
1368 synchronized.
1369
1370 PXE BOOT LOOP PREVENTION
1371 If you have your machines set to PXE first in the boot order (ahead of
1372 hard drives), change the "pxe_just_once" flag in /etc/cobbler/settings
1373 to 1. This will set the machines to not PXE on successive boots once
1374 they complete one install. To re-enable PXE for a specific system, run
1375 the following command:
1376
1377 cobbler system edit --name=name --netboot-enabled=1
1378
1379 KICKSTART TRACKING
1380 Cobbler knows how to keep track of the status of kickstarting machines.
1381
1382 cobbler status
1383
1384 Using the status command will show when cobbler thinks a machine
1385 started kickstarting and when it finished, provided the proper snippets
1386 are found in the kickstart template. This is a good way to track
1387 machines that may have gone interactive (or stalled/crashed) during
1388 kickstarts.
1389
1390 IMAGES
1391 Cobbler can help with booting images physically and virtually, though
1392 the usage of these commands varies substantially by the type of image.
1393 Non-image based deployments are generally easier to work with and lead
1394 to more sustaintable infrastructure. Some manual use of other commands
1395 beyond of what is typically required of cobbler may be needed to
1396 prepare images for use with this feature.
1397
1398 TRIGGERS
1399 Triggers provide a way to integrate cobbler with arbitrary 3rd party
1400 software without modifying cobbler's code. When adding a distro,
1401 profile, system, or repo, all scripts in /var/lib/cobbler/triggers/add
1402 are executed for the particular object type. Each particular file must
1403 be executable and it is executed with the name of the item being added
1404 as a parameter. Deletions work similarly -- delete triggers live in
1405 /var/lib/cobbler/triggers/delete. Order of execution is arbitrary, and
1406 cobbler does not ship with any triggers by default. There are also
1407 other kinds of triggers -- these are described on the Cobbler Wiki.
1408 For larger configurations, triggers should be written in Python -- in
1409 which case they are installed differently. This is also documented on
1410 the Wiki.
1411
1412 API
1413 Cobbler also makes itself available as an XMLRPC API for use by higher
1414 level management software. Learn more at http://cobbler.github.io.
1415
1416 WEB USER INTERFACE
1417 Most of the day-to-day actions in cobbler's command line can be
1418 performed in Cobbler's Web UI. To enable and access the WebUI, see the
1419 following documentation:
1420
1421 https://github.com/cobbler/cobbler/wiki/Cobbler-web-interface
1422
1423 BOOT CD
1424 Cobbler can build all of it's profiles into a bootable CD image using
1425 the "cobbler buildiso" command. This allows for PXE-menu like bringup
1426 of bare metal in environments where PXE is not possible. Another more
1427 advanced method is described in the koan manpage, though this method is
1428 easier and sufficient for most applications.
1429
1430 POWER MANAGEMENT
1431 Cobbler contains a power management feature that allows the user to
1432 associate system records in cobbler with the power management
1433 configuration attached to them. This can ease installation by making
1434 it easy to reassign systems to new operating systems and then reboot
1435 those systems. Read more about this feature at
1436 https://github.com/cobbler/cobbler/wiki/Power-management
1437
1438 CONFIG MANAGEMENT INTEGRATION
1439 Cobbler contains features for integrating an installation environment
1440 with a configuration management system, which handles the configuration
1441 of the system after it is installed by allowing changes to
1442 configuration files and settings. You can read more about this feature
1443 at
1444 https://github.com/cobbler/cobbler/wiki/Built-in-configuration-management
1445 and
1446 https://github.com/cobbler/cobbler/wiki/Using-cobbler-with-a-configuration-management-system.
1447 Both features may be considered experimental as of time of the 1.4
1448 release.
1449
1451 cobbler's command line returns a zero for success and non-zero for
1452 failure.
1453
1455 Cobbler has a mailing list for user and development-related
1456 questions/comments at cobbler@lists.fedorahosted.org. To subscribe,
1457 visit https://fedorahosted.org/mailman/listinfo/cobbler
1458
1459 IRC channel: irc.freenode.net (#cobbler)
1460
1461 Official web site, bug tracker, and Wiki: http://cobbler.github.io.
1462
1464 Michael DeHaan <michael.dehaan AT gmail>
1465
1466
1467
14682.8.4 2018-11-17 COBBLER.1(1)