Skip to content

Instantly share code, notes, and snippets.

@mungi
Last active November 2, 2018 07:16
Show Gist options
  • Save mungi/f4bf514382cfaba5b807765f31ab64d5 to your computer and use it in GitHub Desktop.
Save mungi/f4bf514382cfaba5b807765f31ab64d5 to your computer and use it in GitHub Desktop.
Kickstart builded of Softlayer
original-ks.cfg [16:08:19]
#IMSv3 initiated Kickstart build:
#Configure system language
lang en_US
#Configure language modules and system mouse
#Configure system keyboard
keyboard us
#Configure system timezone
timezone --utc America/Chicago
#Configure system password
rootpw ClJf3lg6
#Configure system for post installation reboot
reboot
#Configure system for text-based installation
text
#Configure system for fresh installation
install
#Configure system remote installation tree
url --url http://172.16.0.44/CentOS/CENTOS_7.5_64
#Configure bootloader location
bootloader --location=mbr
#Configure system to clear the Master Boot Record
zerombr
#Configure system authorization and encryption
auth --useshadow --passalgo=sha512
#Configure system to disable software firewall
firewall --disabled
#Configure system SELinux
selinux --permissive
#Configure system to skip XWindows installation
skipx
#Configure system network
network --hostname=sky4110.foobar.com
#DriverDisk
#Configure system partitions
clearpart --drives=sda --all --initlabel
part /boot --fstype xfs --size 256 --ondisk sda
part /swap0 --fstype swap --size 1024 --ondisk sda
part / --fstype xfs --size 1024 --ondisk sda --grow
%packages
#Minimal install customer or control panel
ntp
OpenIPMI
OpenIPMI-tools
wget
ntp
%end
%pre
#Update IMS that INSTALL_OS is starting
wget -O "/root/INSTALL_OS" "http://172.16.0.44/deployment/Transaction/updateStatus/100000000/ac:1f:6b:xx:xx:xx/INSTALL_OS"
rm -f "/root/INSTALL_OS"
#Download and run drive detect script
#wget -O "/root/detectdrives.sh" "http://172.16.0.44/install_scripts/detectdrives.sh"
#sh "/root/detectdrives.sh"
%end
%post
# Add Network Manager overrides to depend on interface enumeration
cat > /etc/systemd/system/NetworkManager.service <<EOF
[Unit]
Description=Network Manager
Wants=network.target
Before=network.target network.service
Requires=sys-subsystem-net-devices-int0.device sys-subsystem-net-devices-int1.device sys-subsystem-net-devices-int2.device sys-subsystem-net-devices-int3.device
After=sys-subsystem-net-devices-int0.device sys-subsystem-net-devices-int1.device sys-subsystem-net-devices-int2.device sys-subsystem-net-devices-int3.device
[Service]
Type=dbus
BusName=org.freedesktop.NetworkManager
ExecStart=/usr/sbin/NetworkManager --no-daemon
KillMode=process
[Install]
WantedBy=multi-user.target
Alias=dbus-org.freedesktop.NetworkManager.service
Also=NetworkManager-dispatcher.service
EOF
/usr/bin/systemctl disable NetworkManager.service
/usr/bin/systemctl enable NetworkManager.service
/usr/bin/systemctl enable network.service
#Configure swap priority
sed -i 's/swap defaults/swap pri=0,defaults/' /etc/fstab
#Configure /etc/hosts to set full domain
/bin/echo 'NETWORKING=yes' > /etc/sysconfig/network
/bin/echo 'HOSTNAME=sky4110.foobar.com' >> /etc/sysconfig/network
/bin/echo 'GATEWAY=165.11.11.113' >> /etc/sysconfig/network
/bin/echo '127.0.0.1 localhost.localdomain localhost' > /etc/hosts
/bin/echo '165.11.11.118 sky4110.foobar.com sky4110' >> /etc/hosts
#Network Setup
#Setup bond0 network
rm -f /etc/sysconfig/network-scripts/ifcfg-bond0
/bin/echo 'DEVICE=bond0' > /etc/sysconfig/network-scripts/ifcfg-bond0
/bin/echo 'BOOTPROTO=none' >> /etc/sysconfig/network-scripts/ifcfg-bond0
/bin/echo 'ONBOOT=yes' >> /etc/sysconfig/network-scripts/ifcfg-bond0
/bin/echo 'USERCTL=no' >> /etc/sysconfig/network-scripts/ifcfg-bond0
/bin/echo 'BONDING_OPTS="mode=4 miimon=100 downdelay=0 updelay=0 lacp_rate=fast xmit_hash_policy=1"' >> /etc/sysconfig/network-scripts/ifcfg-bond0
/bin/echo 'alias bond0 bonding' >> /etc/modprobe.conf
/bin/echo 'IPADDR=10.193.11.11' >> /etc/sysconfig/network-scripts/ifcfg-bond0
/bin/echo 'NETMASK=255.255.255.192' >> /etc/sysconfig/network-scripts/ifcfg-bond0
/bin/echo 'NM_CONTROLLED=no' >> /etc/sysconfig/network-scripts/ifcfg-bond0
rm -f /etc/sysconfig/network-scripts/ifcfg-eth0
/bin/echo 'DEVICE=int0' > /etc/sysconfig/network-scripts/ifcfg-int0
/bin/echo 'BOOTPROTO=none' >> /etc/sysconfig/network-scripts/ifcfg-int0
/bin/echo 'ONBOOT=yes' >> /etc/sysconfig/network-scripts/ifcfg-int0
/bin/echo 'HWADDR=ac:1f:6b:xx:xx:xx' >> /etc/sysconfig/network-scripts/ifcfg-int0
/bin/echo 'SLAVE=yes' >> /etc/sysconfig/network-scripts/ifcfg-int0
/bin/echo 'MASTER=bond0' >> /etc/sysconfig/network-scripts/ifcfg-int0
/bin/echo 'USERCTL=no' >> /etc/sysconfig/network-scripts/ifcfg-int0
/bin/echo 'NM_CONTROLLED=no' >> /etc/sysconfig/network-scripts/ifcfg-int0
rm -f /etc/sysconfig/network-scripts/ifcfg-eth2
/bin/echo 'DEVICE=int2' > /etc/sysconfig/network-scripts/ifcfg-int2
/bin/echo 'BOOTPROTO=none' >> /etc/sysconfig/network-scripts/ifcfg-int2
/bin/echo 'ONBOOT=yes' >> /etc/sysconfig/network-scripts/ifcfg-int2
/bin/echo 'HWADDR=ac:1f:6b:xx:xx:xx' >> /etc/sysconfig/network-scripts/ifcfg-int2
/bin/echo 'SLAVE=yes' >> /etc/sysconfig/network-scripts/ifcfg-int2
/bin/echo 'MASTER=bond0' >> /etc/sysconfig/network-scripts/ifcfg-int2
/bin/echo 'USERCTL=no' >> /etc/sysconfig/network-scripts/ifcfg-int2
/bin/echo 'NM_CONTROLLED=no' >> /etc/sysconfig/network-scripts/ifcfg-int2
#Setup bond1 network
rm -f /etc/sysconfig/network-scripts/ifcfg-bond1
/bin/echo 'DEVICE=bond1' > /etc/sysconfig/network-scripts/ifcfg-bond1
/bin/echo 'BOOTPROTO=none' >> /etc/sysconfig/network-scripts/ifcfg-bond1
/bin/echo 'ONBOOT=yes' >> /etc/sysconfig/network-scripts/ifcfg-bond1
/bin/echo 'USERCTL=no' >> /etc/sysconfig/network-scripts/ifcfg-bond1
/bin/echo 'BONDING_OPTS="mode=4 miimon=100 downdelay=0 updelay=0 lacp_rate=fast xmit_hash_policy=1"' >> /etc/sysconfig/network-scripts/ifcfg-bond1
/bin/echo 'alias bond1 bonding' >> /etc/modprobe.conf
/bin/echo 'IPADDR=165.11.11.118' >> /etc/sysconfig/network-scripts/ifcfg-bond1
/bin/echo 'NETMASK=255.255.255.240' >> /etc/sysconfig/network-scripts/ifcfg-bond1
/bin/echo 'NM_CONTROLLED=no' >> /etc/sysconfig/network-scripts/ifcfg-bond1
rm -f /etc/sysconfig/network-scripts/ifcfg-eth1
/bin/echo 'DEVICE=int1' > /etc/sysconfig/network-scripts/ifcfg-int1
/bin/echo 'BOOTPROTO=none' >> /etc/sysconfig/network-scripts/ifcfg-int1
/bin/echo 'ONBOOT=yes' >> /etc/sysconfig/network-scripts/ifcfg-int1
/bin/echo 'HWADDR=ac:1f:6b:xx:xx:xx' >> /etc/sysconfig/network-scripts/ifcfg-int1
/bin/echo 'SLAVE=yes' >> /etc/sysconfig/network-scripts/ifcfg-int1
/bin/echo 'MASTER=bond1' >> /etc/sysconfig/network-scripts/ifcfg-int1
/bin/echo 'USERCTL=no' >> /etc/sysconfig/network-scripts/ifcfg-int1
/bin/echo 'NM_CONTROLLED=no' >> /etc/sysconfig/network-scripts/ifcfg-int1
rm -f /etc/sysconfig/network-scripts/ifcfg-eth3
/bin/echo 'DEVICE=int3' > /etc/sysconfig/network-scripts/ifcfg-int3
/bin/echo 'BOOTPROTO=none' >> /etc/sysconfig/network-scripts/ifcfg-int3
/bin/echo 'ONBOOT=yes' >> /etc/sysconfig/network-scripts/ifcfg-int3
/bin/echo 'HWADDR=ac:1f:6b:xx:xx:xx' >> /etc/sysconfig/network-scripts/ifcfg-int3
/bin/echo 'SLAVE=yes' >> /etc/sysconfig/network-scripts/ifcfg-int3
/bin/echo 'MASTER=bond1' >> /etc/sysconfig/network-scripts/ifcfg-int3
/bin/echo 'USERCTL=no' >> /etc/sysconfig/network-scripts/ifcfg-int3
/bin/echo 'NM_CONTROLLED=no' >> /etc/sysconfig/network-scripts/ifcfg-int3
#Setup Gateway
/bin/echo 'GATEWAY=165.11.11.113' >> /etc/sysconfig/network-scripts/ifcfg-bond1
#Setup interface speed if needed
/bin/echo '10.11.11.128/26 dev bond0' >> /etc/sysconfig/network-scripts/route-bond0
/bin/echo '10.0.0.0/8 via 10.11.11.129' >> /etc/sysconfig/network-scripts/route-bond0
/bin/echo '161.26.0.0/16 via 10.11.11.129' >> /etc/sysconfig/network-scripts/route-bond0
/bin/echo 'nameserver 10.0.80.11' > /etc/resolv.conf
/bin/echo 'nameserver 10.0.80.12' >> /etc/resolv.conf
/bin/echo 'options single-request' >> /etc/resolv.conf
#Download swinstall.ini
#wget -O "/root/swinstall.ini" "http://172.16.0.44/hardware/deploy.html?mac_address=ac:1f:6b:xx:xx:xx&action=swinstall_ini"
#wget -O "/root/swinstall.ini" "http://172.16.0.44/deployment/T/c/100000000/ac:1f:6b:xx:xx:xx/SWINSTALL_INI"
#Download V3 Config
wget -O "/root/provisioningConfiguration.cfg" "http://172.16.0.44/deployment/T/c/1005000000/ac:1f:6b:xx:xx:xx/OS_POST_INSTALL_CONFIG"
#Download baseconfig
wget -O "/root/base_functions.sh" "http://172.16.0.44/install_scripts/base_functions.sh"
#Download osupdate.sh
wget -O "/root/osupdate.sh" "http://172.16.0.44/install_scripts/CENTOS/osupdate.sh"
chmod 755 /root/osupdate.sh
cat > /etc/systemd/system/osupdate.service <<EOF
[Unit]
Description=OSUPDATE
After=network.target
[Service]
ExecStart=/root/osupdate.sh
Type=oneshot
TimeoutSec=0
[Install]
WantedBy=multi-user.target
EOF
/bin/systemctl enable osupdate.service
#Fix default grub2 options
sed -i -e 's/ quiet//' -e 's/ rhgb//' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
#Notify IMS that OS installation is complete
wget -O "/root/CONFIGURE_NETWORK" "http://172.16.0.44/deployment/Transaction/updateStatus/100000000/ac:1f:6b:xx:xx:xx/CONFIGURE_NETWORK"
rm -f "/root/CONFIGURE_NETWORK"
/bin/echo 'Operating system install is complete.' >> /root/swinstall.log
#Wait for network configuration
until ! ping -c1 172.16.0.44
do
/bin/echo 'Testing network availability.' >> /root/swinstall.log
sleep 5
done
sleep 30
/bin/echo 'Network configuration is complete.' >> /root/swinstall.log
reboot
%end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment