Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # authorization
- auth --enablemd5 --useshadow
- # boot loader
- bootloader --location=mbr
- # cobbler network install
- url --url=http://192.168.1.9/cblr/links/CentOS-7-x86_64
- # disk setup
- clearpart --drives=sda --all --initlabel
- part / --ondisk=sda --fstype=ext4 --size=18000
- #part / --ondisk=sda --fstype=ext4 --size=23000
- part swap --ondisk=sda --size=2000
- # firewall
- firewall --disabled
- # keyboard and language
- keyboard us
- lang en_US
- # network
- # Using "new" style networking config, by matching networking information to the physical interface's
- # MAC-address
- %include /tmp/pre_install_network_config
- # vnc
- #vnc --password=hoora!!
- # selinux
- selinux --disable
- # rootpw
- rootpw 970102MG
- # reboot
- reboot
- # timezone
- timezone est
- # first user
- user --name=chris --groups=root --homedir=/home/chris --password=970102MG --shell=/bin/bash
- # if any cobbler repos were use include the next line
- repo --name=source-1 --baseurl=http://192.168.1.9/cobbler/ks_mirror/CentOS-7-x86_64
- %pre
- wget "http://192.168.1.9/cblr/svc/op/trig/mode/pre/system/client4.net" -O /dev/null
- # Start pre_install_network_config generated code
- # generic functions to be used later for discovering NICs
- mac_exists() {
- [ -z "$1" ] && return 1
- if which ip 2>/dev/null >/dev/null; then
- ip -o link | grep -i "$1" 2>/dev/null >/dev/null
- return $?
- elif which esxcfg-nics 2>/dev/null >/dev/null; then
- esxcfg-nics -l | grep -i "$1" 2>/dev/null >/dev/null
- return $?
- else
- ifconfig -a | grep -i "$1" 2>/dev/null >/dev/null
- return $?
- fi
- }
- get_ifname() {
- if which ip 2>/dev/null >/dev/null; then
- IFNAME=$(ip -o link | grep -i "$1" | sed -e 's/^[0-9]*: //' -e 's/:.*//')
- elif which esxcfg-nics 2>/dev/null >/dev/null; then
- IFNAME=$(esxcfg-nics -l | grep -i "$1" | cut -d " " -f 1)
- else
- IFNAME=$(ifconfig -a | grep -i "$1" | cut -d " " -f 1)
- if [ -z $IFNAME ]; then
- IFNAME=$(ifconfig -a | grep -i -B 2 "$1" | sed -n '/flags/s/:.*$//p')
- fi
- fi
- }
- # Start of code to match cobbler system interfaces to physical interfaces by their mac addresses
- # Start enp0s3
- # Configuring enp0s3 (08:00:27:8e:c0:89)
- if mac_exists 08:00:27:8e:c0:89
- then
- get_ifname 08:00:27:8e:c0:89
- echo "network --device=$IFNAME --bootproto=static --ip=192.168.1.14 --netmask=255.255.255.0 --nameserver=75.75.76.76 --hostname=client4.net" >> /tmp/pre_install_network_config
- fi
- # End pre_install_network_config generated code
- %end
- %packages
- puppet
- @ base
- @ console-internet
- @ core
- @ development
- @ fonts
- @ gnome-apps
- @ gnome-desktop
- @ graphical-admin-tools
- @ graphics
- @ internet-applications
- @ internet-browser
- @ java-platform
- @ mail-server
- @ network-file-system-client
- @ network-server
- @ network-tools
- @ office-suite
- @ perl-runtime
- @ perl-web
- @ php
- @ python-web
- @ web-server
- @ system-admin-tools
- @ system-management
- @ web-server
- @ web-servlet
- @ x11
- nmap
- samba
- telnet
- tftp
- tftp-server
- -redhat-rpm-config-9.1.0-63.el7.centos.noarch
- %end
- %post --log=/root/ks-post.log
- # Start post_install_network_config generated code
- # create a working directory for interface scripts
- mkdir /etc/sysconfig/network-scripts/cobbler
- cp /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-scripts/cobbler/
- # set the hostname in the network configuration file
- grep -v HOSTNAME /etc/sysconfig/network > /etc/sysconfig/network.cobbler
- echo "HOSTNAME=client4.net" >> /etc/sysconfig/network.cobbler
- rm -f /etc/sysconfig/network
- mv /etc/sysconfig/network.cobbler /etc/sysconfig/network
- # Also set the hostname now, some applications require it
- # (e.g.: if we're connecting to Puppet before a reboot).
- /bin/hostname client4.net
- # Start configuration for enp0s3
- echo "DEVICE=enp0s3" > /etc/sysconfig/network-scripts/cobbler/ifcfg-enp0s3
- echo "ONBOOT=yes" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-enp0s3
- echo "HWADDR=08:00:27:8E:C0:89" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-enp0s3
- IFNAME=$(ip -o link | grep -i '08:00:27:8E:C0:89' | sed -e 's/^[0-9]*: //' -e 's/:.*//')
- if [ -f "/etc/modprobe.conf" ] && [ $IFNAME ]; then
- grep $IFNAME /etc/modprobe.conf | sed "s/$IFNAME/enp0s3/" >> /etc/modprobe.conf.cobbler
- grep -v $IFNAME /etc/modprobe.conf >> /etc/modprobe.conf.new
- rm -f /etc/modprobe.conf
- mv /etc/modprobe.conf.new /etc/modprobe.conf
- fi
- echo "TYPE=Ethernet" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-enp0s3
- echo "BOOTPROTO=none" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-enp0s3
- echo "IPADDR=192.168.1.14" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-enp0s3
- echo "GATEWAY=192.168.1.1" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-enp0s3
- echo "NETMASK=255.255.255.0" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-enp0s3
- echo "DNS1=75.75.76.76" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-enp0s3
- echo "DNS2=75.75.75.75" >> /etc/sysconfig/network-scripts/cobbler/ifcfg-enp0s3
- # End configuration for enp0s3
- sed -i -e "/^nameserver /d" /etc/resolv.conf
- echo "nameserver 75.75.76.76" >>/etc/resolv.conf
- echo "nameserver 75.75.75.75" >>/etc/resolv.conf
- sed -i 's/ONBOOT=yes/ONBOOT=no/g' /etc/sysconfig/network-scripts/ifcfg-eth*
- rm -f /etc/sysconfig/network-scripts/ifcfg-enp0s3
- mv /etc/sysconfig/network-scripts/cobbler/* /etc/sysconfig/network-scripts/
- rm -r /etc/sysconfig/network-scripts/cobbler
- if [ -f "/etc/modprobe.conf" ]; then
- cat /etc/modprobe.conf.cobbler >> /etc/modprobe.conf
- rm -f /etc/modprobe.conf.cobbler
- fi
- # End post_install_network_config generated code
- # start puppet registration
- # generate puppet certificates and trigger a signing request, but
- # don't wait for signing to complete
- /usr/bin/puppet agent --test --waitforcert 0 --server 'cobblerbck.net'
- # turn puppet service on for reboot
- /sbin/chkconfig puppet on
- # end puppet registration
- cat << EOF >> /etc/hosts
- 192.168.1.1 gateway.net gateway
- 192.168.1.9 cobblerbck.net cobblerbck
- 192.168.1.10 cobblersrv.net cobblersrv puppet.net puppet
- 192.168.1.11 client1.net client1
- 192.168.1.12 client2.net client2
- 192.168.1.13 client3.net client3
- 192.168.1.14 client4.net client4
- 192.168.1.15 client5.net client5
- 192.168.1.16 client6.net client6
- 192.168.1.17 client7.net client7
- 192.168.1.18 client8.net client8
- 192.168.1.19 client9.net client9
- 192.168.1.30 virtlib.net virtlib
- 192.168.1.40 web-vip.net web-vip
- 192.168.1.100 mac0.net mac0
- 192.168.1.101 mac1.net mac1
- EOF
- /bin/sed -i -e 's/^splash/#splash/' /boot/grub/grub.conf
- /bin/sed -i -e 's/^hidden/#hidden/' /boot/grub/grub.conf
- /bin/sed -i -e 's/ rhgb quiet//' /boot/grub/grub.conf
- echo '#!/bin/sh -x' >> /root/run-koan
- echo >> /root/run-koan
- echo koan --server=cobblersrv --replace-self --system=\`hostname\` >> /root/run-koan
- service iptables save
- service iptables stop
- chkconfig iptables off
- iptables -L -v -n
- echo '#!/bin/sh -x' >> /root/get-setup
- echo >> /root/get-setup
- echo rsync chris@mac0:CentOS-setup . >> /root/get-setup
- chmod 750 /root/run-koan /root/get-setup
- mkdir /mnt/tmp
- sed -i -e 's/id:3:ini/id:5:ini/' /etc/inittab
- echo
- echo
- echo LOCAL COBBLER POST WORK START ======
- chkconfig httpd on
- service httpd start
- #rdate -s nist1-ny.ustiming.org
- rdate -s time.nist.org
- hwclock -w
- chkconfig ntpd on
- service ntpd start
- echo
- echo LOCAL COBBLER POST WORK END ======
- echo
- wget "http://192.168.1.9/cblr/svc/op/ks/system/client4.net" -O /root/cobbler.ks
- wget "http://192.168.1.9/cblr/svc/op/trig/mode/post/system/client4.net" -O /dev/null
- wget "http://192.168.1.9/cblr/svc/op/nopxe/system/client4.net" -O /dev/null
- %end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement