Skip to content

Latest commit

 

History

History
524 lines (305 loc) · 13 KB

ks.pod

File metadata and controls

524 lines (305 loc) · 13 KB

Kickstart Generator

This document describes AII's Kickstart generator.

SYNOPSIS

This AII component generates a Kickstart for installing SL 5 and higher. It must be called from aii-shellfe 2 or higher.

RESOURCES

All these paths are relative to /system/aii/osinstall/ks.

  • ackurl : absolute URI

    The absolute URL where the aii-installack.cgi script is located. This script will change the PXE state for the node from network boot ("install") to local boot ("boot"). This field is set automatically using the variables AII_ACK_SRV and AII_ACK_CGI.

  • acklist : absolute URI[]

    An alternative to ackurl, allowing the use of more than one bootservers. If acklist is set, then ackurl is not used.

  • auth : string[]

    List of options for authentication. Defaults to ("enableshadow", "passalgo=sha512"). i.e. enable shadow passwords and sha512 hashing.

  • bonding : boolean

    Support network bonding.

  • bootloader_location : string

    The location of the bootloader. Valid values are "mbr", "partition" and "none". Defaults to "mbr".

  • bootloader_append ? string

    String to add in an "--append" option for the bootloader

  • bootloader_password ? string

    Encrypted password used for locking down the bootloader. The format depends on the bootloader being used, e.g. Grub 1 wants an MD5-encrypted password, while Grub 2 wants PDKDF2 format.

  • clearmbr : boolean

    Whether the disk's master boot record (MBR) should be cleared when installing the node. Defaults to true.

  • clearpart ? string[]

    List of devices whose partitions must be cleared before proceeding with the installation.

  • driverdisk ? absoluteURI

    URL for any additional drivers that might be needed during the installation.

  • email_success : boolean

    Whether an e-mail should be sent to the system administrator upon a successful installation. Defaults to false.

  • installnumber ? string

    Installation number used for support purposes.

  • installtype : string

    A string containing the type of installation and the location of the distribution on the Kickstart server. This field will be derived by AII on later versions.

  • keyboard : string

    The preferred keyboard layout for the node. Defaults to "us".

  • lang : string

    The language used during the installation process. Defaults to "en_US.UTF-8".

  • langsupport : string[]

    List of languages to be installed during this phase. If you use several languages, you must mark the entry for the default one with '--default=<your_lang>'.

  • mouse : string

    The mouse type for the system. Defaults to "none".

  • bootproto : string

    Protocol for configuring the network interface. It must be either "dhcp" or "static".

  • node_profile : absoluteURI

    URL where the profile can be fetched. On systems using CCM (most of them!) this should be the same value as of /software/components/ccm/profile.

  • osinstall_protocol : string

    Protocol for the installation. It must be either HTTP, HTTPS, NFS or FTP.

  • ignoredisk ? string[]

    List of devices that Anaconda will have to skip during the installation.

  • pre_install_script, post_install_script, post_reboot_script ? absoluteURI

    URLs where the user-specific scripts can be fetched from. Please note that these scripts are not hooks!

    LOCALHOST will be substituted with the local hostname.

  • timezone : string

    Your local timezone, e.g: Europe/Madrid.

  • ntpservers ? string[]

    List of NTP servers to be used by Anaconda.

  • selinux : string

    Enable SELinux on your system. Must be one of "disabled", "enforcing" or "permissive".

  • disable_service ? string[]

    List of services to be disabled and removed before the reboot.

  • packages : string[]

    List of packages to be installed before the reboot.

  • base_packages ? string[]

    Base packages needed for a Quattor client to run (CCM, NCM etc.) in post-reboot phase. Only the packages that are (also) listed in /software/packages will be installed. The installation is part of the post phase using all configured yum repositories with the skip_if_unavailable flag enabled.

  • packagesinpost ? boolean

    When true, the %packages section in the kickstart commands is empty, and all packages are installed in the %post section (but the packages are not filtered like the base_packages. (Use this option if the base repo does not contain the packages, e.g. if they come from the Server_Optional repo).

  • disabled_repos ? string[]

    List of Yum repositories that should be disabled during the %post phase. Useful on RH 5 systems, where Yum can't skip repositories that need some additional configurations.

    It accepts wildcards, as Yum does.

  • packages_args ? string[]

    List of switches to add to the kickstart "%packages" line. Defaults to "--resolvedeps --ignoremissing"; you probably want to keep those in the list.

  • end_script ? string

    No longer used.

  • part_label: boolean

    If set to true, then the "part" stanzas in the kickstart configuration will have a "--label" option to set the label of the file system.

  • version : string

    The OS version as the installation flavour.

  • enable_sshd : boolean

    Start sshd server during kickstart. Login with user root and the root installation password. (EL6.0+ only)

  • cmdline ? boolean

    Install with cmdline instead of text mode.

  • eula ? boolean

    Agree with EULA. (EL7.0+)

  • init_spma_ignore_deps ? boolean

    Ignore errors from dependencies during initial spma run.

  • firewall

    See below

  • xwindows

    See below

  • logging

    See below

Firewall configuration

Anaconda allows for some limited IPtables configuration for the installation. The structure that describes this configuration has the following fields:

  • enabled : boolean

    Whether or not the firewall must be enabled.

  • trusted ? string[]

    List of trusted devices. Traffic from and to these devices will not be filtered.

  • enable_service : string[]

    List of service names to be allowed by the firewall.

  • ports : long[]

    List of ports to be opened on the host. Defaults to 7777 (Quattor notifications).

All paths are relative to /system/aii/osinstall/ks/firewall

X configuration

Also, X server can be configured by AII. The options are:

  • card ? string

    Driver for the graphic card, f.i: "nv".

  • monitor ? string

    Monitor description.

  • noprobe ? string

    Do not probe the monitor.

  • vsync ? long

    Monitor vertical sync frequency.

  • hsync ? long

    Monitor horizontal refresh.

  • defaultdesktop : string

    KDE or GNOME.

  • resolution : string

    Default screen resolution, f.i: "1024x768".

  • videoram ? long

    Video card RAM.

  • startxonboot : boolean

    Start GDM on boot. Defaults to true.

  • depth : long

    Default color depth, in bits. Defaults to 24.

All paths are relative to /system/aii/osinstall/ks/logging

Logging configuration

Two logging paths exist: the Anaconda logging via an Anaconda syslog and one specific to the logs produced by the AII scripts in %pre, %post and post-reboot.

For the Anaconda syslog, one can set the remote host and port, and optional loglevel, but not the used protocol. For SL versions < 7, UDP is implied, for versions >= 7 TCP is used.

The logs produced by AII scripts can be send to the console and to the same remote syslog server as used by the Anaconda syslog. For the remote logging of the AII logs, the protocol can be chosen (and should probably match the one used by the Anaconda syslog).

  • host : string

    The remote syslog server name used by Anaconda syslog (and optional AII remote scripts logging).

  • port : integer

    The portnumber of the remote syslog server used by Anaconda syslog (and optional AII remote scripts logging).

  • level : string

    The Anaconda syslog level that send to the remote server. Level can be one of debug, info, warning, error or critical.

  • console : boolean

    Redirect the AII script logs to the console. (This is the default if this boolean if not defined).

  • send_aiilogs : boolean

    Send or do not send the AII script logs to the remote host

  • method : string

    Method that is used to send the AII script logs to the remote server. Has to be either netcat or bash. For SL 7>= bash should be used, for lower versions, netcat should be used (although bash might work too).

  • protocol : string

    Protocol that is used to send the AII script logs to the remote server. Has to be either udp or tcp. Ideally this is equal to the the protocol that Anaconda syslog uses: for SL 7>= tcp should be used, for lower versions, udp should be used.

Variables

  • AII_OSINSTALL_SRV : string

    Fully qualified name of the server that contains the Linux distribution (usually a copy of the Linux CDs).

  • AII_KS_SRV : string

    FQDN of the server that holds the Kickstart file for this node. Defaults to AII_OSINSTALL_SRV.

  • AII_CDB_SRV : string

    FQDN of the server holding the profile.

  • AII_OSINSTALL_PROTOCOL : string

    Protocol to be used for the installation. Must be either "http", "ftp" or "nfs".

  • AII_OSINSTALL_PATH : string

    Path part of the URL that locates the Linux image for the installation.

  • AII_OSINSTALL_ROOT ? string

    Top directory of the Linux images to be used during the installation. AII_OSINSTALL_PATH can be compound by concatenating AII_OSINSTALL_ROOT, AII_OSINSTALL_OS_VERSION and AII_OSINSTALL_SUBURL.

  • AII_OSINSTALL_OS_VERSION ? string

    Linux image to be used, e.g: "sl44-i386", if the path part of the URL is "/foo/si44-i386/".

  • AII_OSINSTALL_SUBURL ? string

    Sub-directories inside AII_OSINSTALL_ROOT/AII_OSINSTALL_OS_VERSION where the Linux image must be found.

  • AII_OSINSTALL_SELINUX : string

    Selinux status after the first reboot. Must be either "disabled", "enforcing" or "permissive". Defaults to "disabled".

  • AII_OSINSTALL_OPTION_LANG : string

    Language during the installation process. Defaults to "en_US".

  • AII_OSINSTALL_OPTION_LANG_SUPP : string[]

    List of languages to be installed during the installation process. By default, only AII_OSINSTALL_OPTION_LANG will be installed.

  • AII_OSINSTALL_OPTION_KEYBOARD : string

    Keyboard layout to be used during the installation. Defaults to "us".

  • AII_OSINSTALL_OPTION_MOUSE : string

    Mouse specification. Defaults to "none".

  • AII_OSINSTALL_OPTION_TIMEZONE : string

    System's time zone. Defaults to "Europe/Paris".

  • AII_OSINSTALL_ROOTPW : string

    Root password to be used during the installation phase. By default, it's the same as in the production phase (the value specified by the accounts component).

  • AII_OSINSTALL_OPTION_CLEARMBR : boolean

    Whether or not clear the disk's MBR.

  • AII_OSINSTALL_OPTION_BOOTLOADER : string

    Bootloader location. Must be either "mbr", "partition" or "none". Default is "mbr".

  • AII_OSINSTALL_OPTION_CLEARPART : string[]

    List of disks whose partition tables must be destroyed before the installation (or re-installation). For backwards compatibility, it defaults to all disks in the system (fully, destructive re-installation).

  • AII_OSINSTALL_BOOTPROTO : string

    How to configure the network during the install phase. Must be either "static" for static network configurations or "dhcp" for configuring the network via DHCP.

  • AII_OSINSTALL_OPTION_AUTH : string[]

    List of options for the authorization system. By default, sha512 shadowed passwords are enabled, this is list ("enableshadow", "passalgo=sha512")

  • AII_OSINSTALL_OPTION_FIREWALL ? firewal

    Firewall structure, as described in section "Firewall configuration".

  • AII_OSINSTALL_PACKAGES : string[]

    List of packages to be installed by Anaconda. Anaconda will check and fullfill the dependencies of the packages listed here.

  • AII_ACK_SRV : string

    The server where the acknowledgement CGI is located. Defaults to AII_OSINSTALL_SRV.

  • AII_ACK_CGI : string

    Path to the AII acknowledgement CGI. Defaults to "/cgi-bin/aii-installack.cgi"

  • AII_USE_CCM : boolean

    Defaults to true.

  • AII_PROFILE_PATH : string

    Server directory holding the node profile. Defaults to "/profiles".

  • AII_OSINSTALL_NODEPROFILE : string

    Full URL for the node's profile. It is derived from other profile values or variables.

  • AII_OSINSTALL_EXTRAPKGS : string[]

    List of package names to be installed before rebooting. Place here Xen or OpenVZ kernels, or mkinitrd packages needed by them.

  • AII_OSINSTALL_IGNOREDISKS : string[]

    List of disks to be ignored at installation time.

Customizing KS generation

aii-hooks(8) describes how to write a hook to add your own scripts to the generated kickstart files.

SEE ALSO

aii(8), aii-shellfe(8), aii-hooks(8)

AUTHORS

Luis Fernando Muñoz Mejías <luisf.munnoz@uam.es>, Ronald Starink <ronalds@nikhef.nl>

POD ERRORS

Hey! The above document had some coding errors, which are explained below:

Around line 521:

Non-ASCII character seen before =encoding in 'Muñoz'. Assuming UTF-8