= Kickstart Infrastructure SOP Kickstart scripts provide our install infrastructure. We have a plethora of different kickstarts to best match the system you are trying to install. == Contact Information Owner:: Fedora Infrastructure Team Contact:: #fedora-admin, sysadmin-main Location:: Everywhere we have machines. Servers:: batcave01 (stores kickstarts and install media) Purpose:: Provides our install infrastructure == Introduction Our kickstart infrastructure lives on _batcave01_. All install media and kickstart scripts are located on _batcave01_. Because the RHEL binaries are not public we have these bits blocked. You can add needed IPs to (from _batcave01_): .... ansible/roles/batcave/files/allows .... == Physical Machine (kvm virthost) [NOTE] ==== PXE Booting: If PXE booting just follow the prompt after doing the pxe boot (most hosts will pxeboot via console hitting f12). ==== === Prep This only works on an already booted box, many boxes at our colocations may have to be rebuilt by the people in those locations first. Also make sure the IP you are about to boot to install from is allowed to our IP restricted _infrastructure.fedoraproject.org_ as noted above (in Introduction). Download the vmlinuz and initrd images. For a rhel6 install: .... wget https://infrastructure.fedoraproject.org/repo/rhel/RHEL6-x86_64/images/pxeboot/vmlinuz \ -O /boot/vmlinuz-install wget https://infrastructure.fedoraproject.org/repo/rhel/RHEL6-x86_64/images/pxeboot/initrd.img \ -O /boot/initrd-install.img grubby --add-kernel=/boot/vmlinuz-install \ --args="ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-6-nohd \ repo=https://infrastructure.fedoraproject.org/repo/rhel/RHEL6-x86_64/ \ ksdevice=link ip=$IP gateway=$GATEWAY netmask=$NETMASK dns=$DNS" \ --title="install el6" --initrd=/boot/initrd-install.img .... For a rhel7 install: .... wget https://infrastructure.fedoraproject.org/repo/rhel/RHEL7-x86_64/images/pxeboot/vmlinuz -O /boot/vmlinuz-install wget https://infrastructure.fedoraproject.org/repo/rhel/RHEL7-x86_64/images/pxeboot/initrd.img -O /boot/initrd-install.img .... For iad2 hosts: .... grubby --add-kernel=/boot/vmlinuz-install \ --args="ks=http://10.5.126.23/repo/rhel/ks/hardware-rhel-7-nohd \ repo=http://10.5.126.23/repo/rhel/RHEL7-x86_64/ \ net.ifnames=0 biosdevname=0 bridge=br0:eth0 ksdevice=br0 \ ip={{ br0_ip }}::{{ gw }}:{{ nm }}:{{ hostname }}:br0:none" \ --title="install el7" --initrd=/boot/initrd-install.img .... (You will need to setup the br1 device if any after install) For non iad2 hosts: .... grubby --add-kernel=/boot/vmlinuz-install \ --args="ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-ext \ repo=https://infrastructure.fedoraproject.org/repo/rhel/RHEL7-x86_64/ \ net.ifnames=0 biosdevname=0 bridge=br0:eth0 ksdevice=br0 \ ip={{ br0_ip }}::{{ gw }}:{{ nm }}:{{ hostname }}:br0:none" \ --title="install el7" --initrd=/boot/initrd-install.img .... Fill in the br0 ip, gateway, etc The default here is to use the hardware-rhel-7-nohd config which requires you to connect via VNC to the box and configure its drives. If this is a new machine or you are fine with blowing everything away, you can instead use https://infrastructure.fedoraproject.org/rhel/ks/hardware-rhel-6-minimal as your kickstart If you know the number of hard drives the system has there are other kickstarts which can be used. 2 disk system:: ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-02disk or external:: ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-02disk-ext 4 disk system:: ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-04disk or external:: ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-04disk-ext 6 disk system:: ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-06disk or external:: ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-06disk-ext 8 disk system:: ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-08disk or external:: ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-08disk-ext 10 disk system:: ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-10disk or external:: ks=https://infrastructure.fedoraproject.org/repo/rhel/ks/hardware-rhel-7-10disk-ext Double and triple check your configuration settings (On RHEL-6 `cat /boot/grub/menu.lst` and on RHEL-7 `cat /boot/grub2/grub.cfg`), especially your IP information. In places like ServerBeach not all hosts have the same netmask or gateway. Once everything you are ready to run the commands to get it set up to boot next boot. RHEL-6: .... echo "savedefault --default=0 --once" | grub --batch shutdown -r now .... RHEL-7: .... grub2-reboot 0 shutdown -r now .... === Installation Once the box logs you out, start pinging the IP address. It will disappear and come back. Once you can ping it again, try to open up a VNC session. It can take a couple of minutes after the box is back up for it to actually allow vnc sessions. The VNC password is in the kickstart script on _batcave01_: .... grep vnc /mnt/fedora/app/fi-repo/rhel/ks/hardware-rhel-7-nohd vncviewer $IP:1 .... If using the standard kickstart script, one can watch as the install completes itself, there should be no need to do anything. If using the hardware-rhel-6-nohd script, one will need to configure the drives. The password is in the kickstart file in the kickstart repo. === Post Install Run ansible on the box asap to set root passwords and other security features. Don't leave a newly installed box sitting around.