8 Autoinstallation

Note
Note: Autoinstallation Types: AutoYaST and Kickstart

In the following section, AutoYaST and AutoYaST features apply for SUSE Linux Enterprise client systems only. For RHEL systems, use Kickstart and Kickstart features.

AutoYaST and Kickstart configuration files allow administrators to create an environment for automating otherwise time-consuming system installations, such as multiple servers or workstations. AutoYaST files have to be uploaded to be managed with Uyuni. Kickstart files can be created, modified, and managed within the Uyuni Web interface.

Uyuni also features the Cobbler installation server. For more information on Cobbler, see Chapter 10, Cobbler.

Uyuni provides an interface for developing Kickstart and AutoYaST profiles that can be used to install Red Hat Enterprise Linux or SUSE Linux Enterprise on either new or already-registered systems automatically according to certain specifications.

systems kickstart overview
Figure 8.1: Autoinstallation Overview

This overview page displays the status of automated installations (Kickstart and AutoYaST) on your client systems: the types and number of profiles you have created and the progress of systems that are scheduled to be installed using Kickstart or AutoYaST. In the upper right area is the Autoinstallation Actions section, which contains a series of links to management actions for your Kickstart or AutoYaST profiles. Before explaining the various automated installation options on this page, the next two sections provide an introduction to AutoYaST (Section 8.1, “Introduction to AutoYaST”) and Kickstart (Section 8.2, “Introduction to Kickstart”).

8.1 Introduction to AutoYaST

Using AutoYaST, a system administrator can create a single file containing the answers to all the questions that would normally be asked during a typical installation of a SUSE Linux Enterprise system.

AutoYaST files can be kept on a single server system and read by individual computers during the installation. This way the same AutoYaST file is used to install SUSE Linux Enterprise on multiple machines.

The SUSE Linux Enterprise Server AutoYaST Guide at (https://www.suse.com/documentation/sles-15/) will contain an in-depth discussion of “Automated Installation” using AutoYaST.

8.1.1 AutoYaST Explained

When a machine is to receive a network-based AutoYaST installation, the following events must occur in this order:

  1. After being connected to the network and turned on, the machine’s PXE logic broadcasts its MAC address and requests to be discovered.

  2. If no static IP address is used, the DHCP server recognizes the discovery request and offers network information needed for the new machine to boot. This includes an IP address, the default gateway to be used, the netmask of the network, the IP address of the TFTP or HTTP server holding the bootloader program, and the full path and file name to that program (relative to the server’s root).

  3. The machine applies the networking information and initiates a session with the server to request the bootloader program.

  4. The bootloader searches for its configuration file on the server from which it was loaded. This file dictates which Kernel and Kernel options, such as the initial RAM disk (initrd) image, should be executed on the booting machine. Assuming the bootloader program is SYSLINUX, this file is located in the pxelinux.cfg directory on the server and named the hexadecimal equivalent of the new machine’s IP address. For example, a bootloader configuration file for SUSE Linux Enterprise Server should contain:

    port 0
    prompt 0
    timeout 1
    default autoyast
    label autoyast
      kernel vmlinuz
      append autoyast=http://`my_susemanager_server`/`path`\
        install=http://`my_susemanager_server`/`repo_tree`
  5. The machine accepts and uncompresses the initrd and kernel, boots the kernel, fetches the instsys from the install server and initiates the AutoYaST installation with the options supplied in the bootloader configuration file, including the server containing the AutoYaST configuration file.

  6. The new machine is installed based on the parameters established within the AutoYaST configuration file.

8.1.2 AutoYaST Prerequisites

Some preparation is required for your infrastructure to handle AutoYaST installations. For instance, before creating AutoYaST profiles, you may consider:

  • A DHCP server is not required for AutoYaST, but it can make things easier. If you are using static IP addresses, you should select static IP while developing your AutoYaST profile.

  • Host the AutoYaST distribution trees via HTTP, properly provided by Uyuni.

  • If conducting a so-called bare-metal AutoYaST installation, provide the following settings:

    • Configure DHCP to assign the required networking parameters and the bootloader program location.

    • In the bootloader configuration file, specify the kernel and appropriate kernel options to be used.

8.1.3 Building Bootable AutoYaST ISOs

While you can schedule a registered system to be installed by AutoYaST with a new operating system and package profile, you can also automatically install a system that is not registered with Uyuni, or does not yet have an operating system installed. One common method of doing this is to create a bootable CD-ROM that is inserted into the target system. When the system is rebooted or switched on, it boots from the CD-ROM, loads the AutoYaST configuration from your Uyuni, and proceeds to install SUSE Linux Enterprise Server according to the AutoYaST profile you have created.

To use the CD-ROM, boot the system and type autoyast at the prompt (assuming you left the label for the AutoYaST boot as autoyast). When you press Enter, the AutoYaST installation begins.

For more information about image creation, refer to KIWI at http://doc.opensuse.org/projects/kiwi/doc/.

8.1.4 Integrating AutoYaST with PXE

In addition to CD-ROM-based installations, AutoYaST installation through a Pre-Boot Execution Environment (PXE) is supported. This is less error-prone than CDs, enables AutoYaST installation from bare metal, and integrates with existing PXE/DHCP environments.

To use this method, make sure your systems have network interface cards (NIC) that support PXE, install and configure a PXE server, ensure DHCP is running, and place the installation repository on an HTTP server for deployment. Finally upload the AutoYaST profile via the Web interface to the Uyuni server. Once the AutoYaST profile has been created, use the URL from the Autoinstallation Overview page, as for CD-ROM-based installations.

To obtain specific instructions for conducting PXE AutoYaST installation, refer to the Using PXE Boot section of the SUSE Linux Enterprise Deployment Guide.

Starting with Section 8.3, “Autoinstallation > Profiles (Kickstart and AutoYaST)”, AutoYaST options available from Systems › Kickstart are described.

8.2 Introduction to Kickstart

Using Kickstart, a system administrator can create a single file containing the answers to all the questions that would normally be asked during a typical installation of Red Hat Enterprise Linux.

Kickstart files can be kept on a single server and read by individual computers during the installation. This method allows you to use one Kickstart file to install Red Hat Enterprise Linux on multiple machines.

The Red Hat Enterprise Linux System Administration Guide contains an in-depth description of Kickstart (https://access.redhat.com/documentation/en/red-hat-enterprise-linux/).

8.2.1 Kickstart Explained

When a machine is to receive a network-based {kickstart}, the following events must occur in this order:

  1. After being connected to the network and turned on, the machine’s PXE logic broadcasts its MAC address and requests to be discovered.

  2. If no static IP address is used, the DHCP server recognizes the discovery request and offers network information needed for the new machine to boot. This information includes an IP address, the default gateway to be used, the netmask of the network, the IP address of the TFTP or HTTP server holding the bootloader program, and the full path and file name of that program (relative to the server’s root).

  3. The machine applies the networking information and initiates a session with the server to request the bootloader program.

  4. The bootloader searches for its configuration file on the server from which it was loaded. This file dictates which kernel and kernel options, such as the initial RAM disk (initrd) image, should be executed on the booting machine. Assuming the bootloader program is SYSLINUX, this file is located in the pxelinux.cfg directory on the server and named the hexadecimal equivalent of the new machine’s IP address. For example, a bootloader configuration file for Red Hat Enterprise Linux AS 2.1 should contain:

    port 0
    prompt 0
    timeout 1
    default My_Label
    label My_Label
          kernel vmlinuz
          append ks=http://`my_susemanager_server`/`path`\
              initrd=initrd.img network apic
  5. The machine accepts and uncompresses the init image and kernel, boots the kernel, and initiates a Kickstart installation with the options supplied in the bootloader configuration file, including the server containing the Kickstart configuration file.

  6. This {kickstart} configuration file in turn directs the machine to the location of the installation files.

  7. The new machine is built based on the parameters established within the Kickstart configuration file.

8.2.2 Kickstart Prerequisites

Some preparation is required for your infrastructure to handle {kickstart}s. For instance, before creating Kickstart profiles, you may consider:

  • A DHCP server is not required for kickstarting, but it can make things easier. If you are using static IP addresses, select static IP while developing your Kickstart profile.

  • An FTP server can be used instead of hosting the Kickstart distribution trees via HTTP.

  • If conducting a bare metal {kickstart}, you should configure DHCP to assign required networking parameters and the bootloader program location. Also, specify within the bootloader configuration file the kernel to be used and appropriate kernel options.

8.2.3 Building Bootable Kickstart ISOs

While you can schedule a registered system to be kickstarted to a new operating system and package profile, you can also {kickstart} a system that is not registered with Uyuni or does not yet have an operating system installed. One common method of doing this is to create a bootable CD-ROM that is inserted into the target system. When the system is rebooted, it boots from the CD-ROM, loads the {kickstart} configuration from your Uyuni, and proceeds to install Red Hat Enterprise Linux according to the Kickstart profile you have created.

To do this, copy the contents of /isolinux from the first CD-ROM of the target distribution. Then edit the isolinux.cfg file to default to 'ks'. Change the 'ks' section to the following template:

label ks
kernel vmlinuz
  append text ks=`url`initrd=initrd.img lang= devfs=nomount \
    ramdisk_size=16438`ksdevice`

IP address-based {kickstart} URLs will look like this:

http://`my.manager.server`/kickstart/ks/mode/ip_range

The {kickstart} distribution defined via the IP range should match the distribution from which you are building, or errors will occur. ksdevice is optional, but looks like:

ksdevice=eth0

It is possible to change the distribution for a Kickstart profile within a family, such as Red Hat Enterprise Linux AS 4 to Red Hat Enterprise Linux ES 4, by specifying the new distribution label. Note that you cannot move between versions (4 to 5) or between updates (U1 to U2).

Next, customize isolinux.cfg further for your needs by adding multiple Kickstart options, different boot messages, shorter timeout periods, etc.

Next, create the ISO as described in the Making an Installation Boot CD-ROM section of the Red Hat Enterprise Linux Installation Guide. Alternatively, issue the command:

mkisofs -o file.iso -b isolinux.bin -c boot.cat -no-emul-boot \
  -boot-load-size 4 -boot-info-table -R -J -v -T isolinux/

Note that isolinux/ is the relative path to the directory containing the modified isolinux files copied from the distribution CD, while file.iso is the output ISO file, which is placed into the current directory.

Burn the ISO to CD-ROM and insert the disc. Boot the system and type "ks" at the prompt (assuming you left the label for the Kickstart boot as 'ks'). When you press Enter, Kickstart starts running.

8.2.4 Integrating Kickstart with PXE

In addition to CD-ROM-based installs, Kickstart supports a Pre-Boot Execution Environment (PXE). This is less error-prone than CDs, enables kickstarting from bare metal, and integrates with existing PXE/DHCP environments.

To use this method, make sure your systems have network interface cards (NIC) that support PXE. Install and configure a PXE server and ensure DHCP is running. Then place the appropriate files on an HTTP server for deployment. Once the {kickstart} profile has been created, use the URL from the Kickstart Details page, as for CD-ROM-based installs.

To obtain specific instructions for conducting PXE {kickstart}s, refer to the PXE Network Installations chapter of the Red Hat Enterprise Linux 4 System Administration Guide.

Note
Note

Running the Network Booting Tool, as described in the Red Hat Enterprise Linux 4: System Administration Guide, select "HTTP" as the protocol and include the domain name of the Uyuni in the Server field if you intend to use it to distribute the installation files.

The following sections describe the autoinstallation options available from the Systems › Autoinstallation page.

8.3 Autoinstallation > Profiles (Kickstart and AutoYaST)

This page lists all profiles for your organization, shows whether these profiles are active, and specifies the distribution tree with which each profile is associated.

systems kickstart overview

You can either create a Kickstart profile by clicking the Create Kickstart Profile link, upload or paste the contents of a new profile clicking the Upload Kickstart/Autoyast File, or edit an existing Kickstart profile by clicking the name of the profile. Note, you can only update AutoYaST profiles using the upload button. You can also view AutoYaST profiles in the edit box or change the virtualization type using the selection list.

8.3.1 Create a Kickstart Profile

Click on the Create Kickstart Profile link from the Main Menu › Systems › Autoinstallation page to start the wizard that populates the base values needed for a Kickstart profile.

create profile wizard
Procedure: Creating a Kickstart Profile
  1. On the first line, enter a Kickstart profile label. This label cannot contain spaces, so use dashes (-) or underscores (\_) as separators.

  2. Select a Base Channel for this profile, which consists of packages based on a specific architecture and Red Hat Enterprise Linux release.

    Note
    Note: Creating Base Channel

    Base channels are only available if a suitable distribution is created first. For creating distributions, see Section 8.6, “Autoinstallation > Distributions”.

  3. Select an Kickstartable Tree for this profile. The Kickstartable Tree drop-down menu is only populated if one or more distributions have been created for the selected base channel (see Section 8.6, “Autoinstallation > Distributions”).

  4. Instead of selecting a specific tree, you can also check the box Always use the newest Tree for this base channel. This setting lets Uyuni automatically pick the latest tree that is associated with the specified base channels. If you add new trees later, Uyuni will always keep the most recently created or modified.

  5. Select the Virtualization Type from the drop-down menu.

    Note
    Note

    If you do not intend to use the Kickstart profile to create virtual guest systems, you can leave the drop-down at the default None choice.

  6. On the second page, select (or enter) the location of the Kickstart tree.

  7. On the third page, select a root password for the system.

Depending on your base channel, your newly created Kickstart profile might be subscribed to a channel that is missing required packages. For {kickstart} to work properly, the following packages should be present in its base channel: pyOpenSSL, rhnlib, libxml2-python, and spacewalk-koan and associated packages.

To resolve this issue:

  • Make sure that the Tools software channel for the Kickstart profile’s base channel is available to your organization. If it is not, you must request entitlements for the Tools software channel from the Uyuni administrator.

  • Make sure that the Tools software channel for this Kickstart profile’s base channel is available to your Uyuni as a child channel.

  • Make sure that rhn-kickstart and associated packages corresponding to this {kickstart} are available in the Tools child channel.

The final stage of the wizard presents the Autoinstallation Details › Details tab. On this tab and the other subtabs, nearly every option for the new Kickstart profile can be customized.

Once created, you can access the Kickstart profile by downloading it from the Autoinstallation Details page by clicking the Autoinstallation File subtab and clicking the Download Autoinstallation File link.

If the Kickstart file is not managed by Uyuni, you can access it via the following URL:

http://`my.manager.server`/ks/dist/ks-rhel-`ARCH`-`VARIANT`-`VERSION`

In the above example, ARCH is the architecture of the Kickstart file, VARIANT is either client or server, and VERSION is the release of Red Hat Enterprise Linux associated with the Kickstart file.

The following sections describe the options available on each subtab.

8.3.1.1 Autoinstallation Details > Details

details ks 3

On the Autoinstallation Details › Details page, you have the following options:

  • Change the profile Label.

  • Change the operating system by clicking (Change).

  • Change the Virtualization Type.

    Note
    Note

    Changing the Virtualization Type may require changes to the Kickstart profile bootloader and partition options, potentially overwriting user customizations. Consult the Partitioning tab to verify any new or changed settings.

  • Change the amount of Virtual Memory (in Megabytes of RAM) allocated to virtual guests autoinstalled with this profile.

  • Change the number of Virtual CPUs for each virtual guest.

  • Change the Virtual Storage Path from the default in /var/lib/xen/ .

  • Change the amount of Virtual Disk Space (in GB) allotted to each virtual guest.

  • Change the Virtual Bridge for networking of the virtual guest.

  • Deactivate the profile so that it cannot be used to schedule a {kickstart} by removing the Active check mark.

  • Check whether to enable logging for custom %post scripts to the /root/ks-post.log file.

  • Decide whether to enable logging for custom %pre scripts to the /root/ks-pre.log file.

  • Choose whether to preserve the ks.cfg file and all %include fragments to the /root/ directory of all systems autoinstalled with this profile.

  • Select whether this profile is the default for all of your organization’s {kickstart}s by checking or unchecking the box.

  • Add any Kernel Options in the corresponding text box.

  • Add any Post Kernel Options in the corresponding text box.

  • Enter comments that are useful to you in distinguishing this profile from others.

8.3.1.2 Autoinstallation Details > Operating System

On this page, you can make the following changes to the operating system that the Kickstart profile installs:

Change the base channel

Select from the available base channels. Uyuni administrators see a list of all base channels that are currently synced to the Uyuni.

Child Channels

Subscribe to available child channels of the base channel, such as the Tools channel.

Available Trees

Use the drop-down menu to choose from available trees associated with the base channel.

Always use the newest Tree for this base channel.

Instead of selecting a specific tree, you can also check the box Always use the newest Tree for this base channel. This setting lets Uyuni automatically pick the latest tree that is associated with the specified base channels. If you add new trees later, Uyuni will always keep the most recently created or modified.

Software URL (File Location)

The exact location from which the Kickstart tree is mounted. This value is determined when the profile is created. You can view it on this page but you cannot change it.

8.3.1.3 Autoinstallation Details > Variables

Autoinstallation variables can substitute values in Kickstart and AutoYaST profiles. To define a variable, create a name-value pair (name/value) in the text box.

For example, if you want to autoinstall a system that joins the network of a specified organization (for example the Engineering department), you can create a profile variable to set the IP address and the gateway server address to a variable that any system using that profile will use. Add the following line to the Variables text box.

IPADDR=192.168.0.28
GATEWAY=192.168.0.1

Now you can use the name of the variable in the profile instead of a specific value. For example, the network part of a Kickstart file looks like the following:

network --bootproto=static --device=eth0 --onboot=on --ip=$IPADDR \
  --gateway=$GATEWAY

The $IPADDR will be resolved to 192.168.0.28, and the $GATEWAY to 192.168.0.1

Note
Note

There is a hierarchy when creating and using variables in Kickstart files. System Kickstart variables take precedence over Profile variables, which in turn take precedence over Distribution variables. Understanding this hierarchy can alleviate confusion when using variables in {kickstart}s.

Using variables are just one part of the larger Cobbler infrastructure for creating templates that can be shared between multiple profiles and systems. For more information about Cobbler and templates, refer to Chapter 10, Cobbler.

8.3.1.4 Autoinstallation Details > Advanced Options

From this page, you can toggle several installation options on and off by checking and unchecking the boxes to the left of the option. For most installations, the default options are correct. Refer to Red Hat Enterprise Linux documentation for details.

8.3.1.5 Assigning Default Profiles to an Organization

You can specify an Organization Default Profile by clicking Autoinstallation › Profiles › profile name › Details, then checking the Organization Default Profile box and finally clicking Update.

8.3.1.6 Assigning IP Ranges to Profiles

You can associate an IP range to an autoinstallation profile by clicking on Autoinstallation › Profiles › profile name › Bare Metal Autoinstallation, adding an IPv4 range and finally clicking Add IP Range.

8.3.1.7 Autoinstallation Details > Bare Metal Autoinstallation

This subtab provides the information necessary to Kickstart systems that are not currently registered with Uyuni. Using the on-screen instructions, you may either autoinstall systems using boot media (CD-ROM) or by IP address.

8.3.1.8 System Details › Details

Displays subtabs that are available from the System Details tab.

On the System Details › Details page, you have the following options:

  • Select between DHCP and static IP, depending on your network.

  • Choose the level of SELinux that is configured on kickstarted systems.

  • Enable configuration management or remote command execution on kickstarted systems.

  • Change the root password associated with this profile.

details ks 4

8.3.1.9 System Details > Locale

Change the timezone for kickstarted systems.

8.3.1.10 System Details > Partitioning

From this subtab, indicate the partitions that you wish to create during installation. For example:

partition /boot --fstype=ext3 --size=200
partition swap --size=2000
partition pv.01 --size=1000 --grow
volgroup myvg pv.01 logvol / --vgname=myvg --name=rootvol --size=1000 --grow

8.3.1.11 System Details > File Preservation

If you have previously created a file preservation list, include this list as part of the {kickstart}. This will protect the listed files from being over-written during the installation process. Refer to Section 8.7, “Autoinstallation > File Preservation” for information on how to create a file preservation list.

8.3.1.12 System Details > GPG & SSL

From this subtab, select the GPG keys and/or SSL certificates to be exported to the kickstarted system during the %post section of the {kickstart}. For Uyuni customers, this list includes the SSL Certificate used during the installation of Uyuni.

Note
Note

Any GPG key you wish to export to the kickstarted system must be in ASCII rather than binary format.

8.3.1.13 System Details > Troubleshooting

From this subtab, change information that may help with troubleshooting hardware problems:

Bootloader

For some headless systems, it is better to select the non-graphic LILO bootloader.

Kernel Parameters

Enter kernel parameters here that may help to narrow down the source of hardware issues.

8.3.1.14 Software > Package Groups

details ks 5

The image above shows subtabs that are available from the Software tab.

Enter the package groups, such as @office or @admin-tools you would like to install on the kickstarted system in the large text box. If you would like to know what package groups are available, and what packages they contain, refer to the RedHat/base/ file of your Kickstart tree.

8.3.1.15 Software > Package Profiles

If you have previously created a Package Profile from one of your registered systems, you can use that profile as a template for the files to be installed on a kickstarted system. Refer to Section 7.3.2.2, “System Details › Software › Packages for more information about package profiles.

8.3.1.16 Activation Keys

details ks 6
Figure 8.2: Activation Keys

The Activation Keys tab allows you to select Activation Keys to include as part of the Kickstart profile. These keys, which must be created before the Kickstart profile, will be used when re-registering kickstarted systems.

8.3.1.17 Scripts

details ks 7
Figure 8.3: Scripts

The Scripts tab is where %pre and %post scripts are created. This page lists any scripts that have already been created for this Kickstart profile. To create a Kickstart script, perform the following procedure:

  1. Click the add new kickstart script link in the upper right corner.

  2. Enter the path to the scripting language used to create the script, such as /usr/bin/perl.

  3. Enter the full script in the large text box.

  4. Indicate whether this script is to be executed in the %pre or %post section of the Kickstart process.

  5. Indicate whether this script is to run outside of the chroot environment. Refer to the Post-installation Script section of the Red Hat Enterprise Linux System Administration Guide for further explanation of the nochroot option.

Note
Note

Uyuni supports the inclusion of separate files within the Partition Details section of the Kickstart profile. For instance, you may dynamically generate a partition file based on the machine type and number of disks at {kickstart} time. This file can be created via %pre script and placed on the system, such as /tmp/part-include. Then you can call for that file by entering the following line in the Partition Details field of the System Details › Partitioning tab:

%include /tmp/part-include

8.3.1.18 Autoinstallation File

details ks 8
Figure 8.4: Autoinstallation File

The Autoinstallation File tab allows you to view or download the profile that has been generated from the options chosen in the previous tabs.

8.3.2 Upload Kickstart/AutoYaST File

Click the Upload Kickstart/Autoyast File link from the Systems › Autoinstallation page to upload an externally prepared AutoYaST or Kickstart profile.

  1. In the first line, enter a profile Label for the automated installation. This label[] drop-down menu is only populated if one or more distributions have been created for the selected base channel (see Section 8.6, “Autoinstallation > Distributions”).

  2. Instead of selecting a specific tree, you can also check the box Always use the newest Tree for this base channel. This setting lets Uyuni automatically pick the latest tree that is associated with the specified base channels. If you add new trees later, Uyuni will always keep the most recently created or modified.

  3. Select the Virtualization Type from the drop-down menu. For more information about virtualization, refer to Chapter 11, Virtualization.

    Note
    Note

    If you do not intend to use the autoinstall profile to create virtual guest systems, you can leave the drop-down set to the default choice KVM Virtualized Guest.

  4. Finally, either provide the file contents with cut-and-paste or update the file from the local storage medium:

    • Paste it into the File Contents box and click Create, or

    • enter the file name in the File to Upload field and click Upload File.

Once done, four subtabs are available:

  • Details

  • Bare Metal

  • Variables

  • Autoinstallable File

8.4 Autoinstallation > Bare Metal

Lists the IP addresses that have been associated with the profiles created by your organization. Click either the range or the profile name to access different tabs of the Autoinstallation Details page.

8.5 Autoinstallation > GPG and SSL Keys

Lists keys and certificates available for inclusion in {kickstart} profiles and provides a means to create new ones. This is especially important for customers of Uyuni or the Proxy Server because systems kickstarted by them must have the server key imported into Uyuni and associated with the relevant {kickstart} profiles. Import it by creating a new key here and then make the profile association in the GPG and SSL keys subtab of the Autoinstallation Details page.

To create a key or certificate, click the Create Stored Key/Cert link in the upper-right corner of the page. Enter a description, select the type, upload the file, and click the Update Key button. A unique description is required.

Important
Important

The GPG key you upload to Uyuni must be in ASCII format. Using a GPG key in binary format causes anaconda, and therefore the {kickstart} process, to fail.

8.6 Autoinstallation > Distributions

The Distributions page enables you to find and create custom installation trees that may be used for automated installations.

Note
Note

The Distributions page does not display distributions already provided. They can be found within the Distribution drop-down menu of the Autoinstallation Details page.

Before creating a distribution, you must make an installation data available, as described in the SUSE Linux Enterprise Deployment Guide (https://www.suse.com/documentation/sles-12/singlehtml/book_sle_deployment/book_sle_deployment.html) or, respectively, the Kickstart Installations chapter of the Red Hat Enterprise Linux System Administration Guide. This tree must be located in a local directory on the Uyuni server.

Procedure: Creating a Distribution for Autoinstallation
  1. To create a distribution, on the Autoinstallable Distributions page click Create Distribution in the upper right corner.

  2. On the Create Autoinstallable Distribution page, provide the following data:

    • Enter a label (without spaces) in the Distribution Label field, such as my-orgs-sles-12-sp2 or my-orgs-rhel-as-7.

    • In the Tree Path field, paste the path to the base of the installation tree.

    • Select the matching distribution from the Base Channel and Installer Generation drop-down menus, such as SUSE Linux for SUSE Linux Enterprise, or Red Hat Enterprise Linux 7 for Red Hat Enterprise Linux 7 client systems.

  3. When finished, click the Create Autoinstallable Distribution button.

8.6.1 Autoinstallation > Distributions > Variables

Autoinstallation variables can be used to substitute values into Kickstart and AutoYaST profiles. To define a variable, create a name-value pair (name/value) in the text box.

For example, if you want to autoinstall a system that joins the network of a specified organization (for example the Engineering department) you can create a profile variable to set the IP address and the gateway server address to a variable that any system using that profile will use. Add the following line to the Variables text box.

IPADDR=192.168.0.28
GATEWAY=192.168.0.1

To use the distribution variable, use the name of the variable in the profile to substitute the value. For example, the network part of a {kickstart} file looks like the following:

network --bootproto=static --device=eth0 --onboot=on --ip=$IPADDR \
  --gateway=$GATEWAY

The $IPADDR will be resolved to 192.168.0.28, and the $GATEWAY to 192.168.0.1.

Note
Note

There is a hierarchy when creating and using variables in Kickstart files. System Kickstart variables take precedence over Profile variables, which in turn take precedence over Distribution variables. Understanding this hierarchy can alleviate confusion when using variables in {kickstart}s.

In AutoYaST profiles you can use such variables as well.

Using variables are just one part of the larger Cobbler infrastructure for creating templates that can be shared between multiple profiles and systems. For more information about Cobbler and templates, refer to Chapter 10, Cobbler.

8.7 Autoinstallation > File Preservation

Collects lists of files to be protected and re-deployed on systems during {kickstart}. For instance, if you have many custom configuration files located on a system to be kickstarted, enter them here as a list and associate that list with the Kickstart profile to be used.

To use this feature, click the Create File Preservation List link at the top. Enter a suitable label and all files and directories to be preserved. Enter absolute paths to all files and directories. Then click Create List.

Important
Important

Although file preservation is useful, it does have limitations. Each list is limited to a total size of 1 MB. Special devices like /dev/hda1 and /dev/sda1 are not supported. Only file and directory names may be entered. No regular expression wildcards can be used.

When finished, you may include the file preservation list in the Kickstart profile to be used on systems containing those files. Refer to Section 8.3.1, “Create a Kickstart Profile” for precise steps.

8.8 Autoinstallation > Autoinstallation Snippets

Use snippets to store common blocks of code that can be shared across multiple Kickstart or AutoYaST profiles in Uyuni.

8.8.1 Autoinstallation > Autoinstallation Snippets > Default Snippets

Default snippets coming with Uyuni are not editable. You can use a snippet, if you add the Snippet Macro statement such as $SNIPPET('spacewalk/sles_register_script') to your autoinstallation profile. This is an AutoYaST profile example:

<init-scripts config:type="list">
  $SNIPPET('spacewalk/sles_register_script')
</init-scripts>

When you create a snippet with the Create Snippet link, all profiles including that snippet will be updated accordingly.

8.8.2 Autoinstallation > Autoinstallation Snippets > Custom Snippets

This is the tab with custom snippets. Click a name of a snippet to view, edit, or delete it.

8.8.3 Autoinstallation > Autoinstallation Snippets > All Snippets

q The All Snippets tab lists default and custom snippets together.

8.9 Systems > Virtual Host Managers

Third party hypervisors and hypervisor managers such as VMWare vCenter are called “Virtual Host Managers” (VHM) within Uyuni. These managers can manage one or multiple virtual hosts, which in turn may contain virtual guests. Uyuni ships with a tool called virtual-host-gatherer that can connect to VHMs using their API, and request information about virtual hosts. This tool is automatically invoked via Taskomatic nightly, therefore you need to configure your VHMs via XMLRPC APIs. virtual-host-gatherer maintains the concept of optional modules, where each module enables a specific Virtual Host Manager.

Proceed to Systems › Virtual Host Managers page in the Web UI to begin working with a Virtual Host Manager. In the upper right click Create and select either VMware-based or File-based.

8.9.1 VMware-Based

After selecting Create › VMware-based enter the location of your VMware-based virtual host. Enter a Label, Hostname, Port, Username and Password. Finally click the Add Virtual Host Manager button. For detailed information on working with a VMware-based Virtual Host Manager, see Chapter 12, Inventorying vCenter/vSphere ESXi Hosts with Uyuni.

systems virtual host managers vmware

8.9.2 File-Based

In a VMWare environment where direct connection to the SUSE Manager Server is not possible, a JSON file can be exported from the ESXi or vSphere host and later imported into Uyuni via this option.

After selecting Create › File-Based enter a label and URL leading to the location of this file.

systems virtual host managers file
Note
Note: VMWare vCenter Installations without Direct Access

The file-based is not meant to be used with manually crafted files. It only meant to be used with the output of virtual-host-gatherer against some other module. File-based is suitable for VMWare vCenter installations for which no direct API access is possible from the SUSE Manager Server.

The solution is to run virtual-host-gatherer from somewhere else in the network and save the produced JSON data for further processing.

The following JSON data is an example of the exported information in the file:

{
    "examplevhost": {
        "10.11.12.13": {
            "cpuArch": "x86_64",
            "cpuDescription": "AMD Opteron(tm) Processor 4386",
            "cpuMhz": 3092.212727,
            "cpuVendor": "amd",
            "hostIdentifier": "'vim.HostSystem:host-182'",
            "name": "11.11.12.13",
            "os": "VMware ESXi",
            "osVersion": "5.5.0",
            "ramMb": 65512,
            "totalCpuCores": 16,
            "totalCpuSockets": 2,
            "totalCpuThreads": 16,
            "type": "vmware",
            "vms": {
                "vCenter": "564d6d90-459c-2256-8f39-3cb2bd24b7b0"
            }
        },
        "10.11.12.14": {
            "cpuArch": "x86_64",
            "cpuDescription": "AMD Opteron(tm) Processor 4386",
            "cpuMhz": 3092.212639,
            "cpuVendor": "amd",
            "hostIdentifier": "'vim.HostSystem:host-183'",
            "name": "10.11.12.14",
            "os": "VMware ESXi",
            "osVersion": "5.5.0",
            "ramMb": 65512,
            "totalCpuCores": 16,
            "totalCpuSockets": 2,
            "totalCpuThreads": 16,
            "type": "vmware",
            "vms": {
                "49737e0a-c9e6-4ceb-aef8-6a9452f67cb5": "4230c60f-3f98-2a65-f7c3-600b26b79c22",
                "5a2e4e63-a957-426b-bfa8-4169302e4fdb": "42307b15-1618-0595-01f2-427ffcddd88e",
                "NSX-gateway": "4230d43e-aafe-38ba-5a9e-3cb67c03a16a",
                "NSX-l3gateway": "4230b00f-0b21-0e9d-dfde-6c7b06909d5f",
                "NSX-service": "4230e924-b714-198b-348b-25de01482fd9"
            }
        }
    }
}

For more information, see the man page on your Uyuni server for virtual-host-gatherer:

{prompt.user}man virtual-host-gatherer

The README file coming with the package provides background information about the type of a hypervisor, etc.:

/usr/share/doc/packages/virtual-host-gatherer/README.md

8.9.3 Configuring Virtual Host Managers via XMLRPC API

The following APIs allow you to get a list of available virtual-host-manager modules and the parameters they require:

  • virtualhostmanager.listAvailableVirtualHostGathererModules(session)
  • virtualhostmanager.getModuleParameters(session, moduleName)

The following APIs allow you to create and delete VHMs. The module parameter map must match the map returned by virtualhostmanager.getModuleParameters to work correctly:

  • virtualhostmanager.create(session, label, moduleName, parameters)
  • virtualhostmanager.delete(session, label)

The following APIs return information about configured VHMs:

  • virtualhostmanager.listVirtualHostManagers(session)
  • virtualhostmanager.getDetail(session, label)
Print this page