|
<%#
|
|
kind: provision
|
|
name: Kickstart default
|
|
oses:
|
|
- CentOS 4
|
|
- CentOS 5
|
|
- CentOS 6
|
|
- CentOS 7
|
|
- Fedora 16
|
|
- Fedora 17
|
|
- Fedora 18
|
|
- Fedora 19
|
|
- Fedora 20
|
|
%>
|
|
<%
|
|
rhel_compatible = @host.operatingsystem.family == 'Redhat' && @host.operatingsystem.name != 'Fedora'
|
|
os_major = @host.operatingsystem.major.to_i
|
|
realm_compatible = (@host.operatingsystem.name == "Fedora" && os_major >= 20) || (rhel_compatible && os_major >= 7)
|
|
# safemode renderer does not support unary negation
|
|
realm_incompatible = (@host.operatingsystem.name == "Fedora" && os_major < 20) || (rhel_compatible && os_major < 7)
|
|
pm_set = @host.puppetmaster.empty? ? false : true
|
|
puppet_enabled = pm_set || @host.params['force-puppet']
|
|
%>
|
|
install
|
|
<%= @mediapath %>
|
|
lang en_US.UTF-8
|
|
selinux --enforcing
|
|
keyboard us
|
|
skipx
|
|
network --bootproto <%= @static ? "static --ip=#{@host.ip} --netmask=#{@host.subnet.mask} --gateway=#{@host.subnet.gateway} --nameserver=#{[@host.subnet.dns_primary,@host.subnet.dns_secondary].reject{|n| n.blank?}.join(',')}" : 'dhcp' %> --hostname <%= @host %>
|
|
rootpw --iscrypted <%= root_pass %>
|
|
firewall --<%= os_major >= 6 ? 'service=' : '' %>ssh
|
|
authconfig --useshadow --passalgo=sha256 --kickstart
|
|
timezone --utc <%= @host.params['time-zone'] || 'UTC' %>
|
|
<% if rhel_compatible && os_major > 4 -%>
|
|
services --disabled autofs,gpm,sendmail,cups,iptables,ip6tables,auditd,arptables_jf,xfs,pcmcia,isdn,rawdevices,hpoj,bluetooth,openibd,avahi-daemon,avahi-dnsconfd,hidd,hplip,pcscd,restorecond,mcstrans,rhnsd,yum-updatesd
|
|
<% end -%>
|
|
|
|
<% if realm_compatible && @host.info["parameters"]["realm"] && @host.otp && @host.realm -%>
|
|
realm join --one-time-password='<%= @host.otp %>' <%= @host.realm %>
|
|
<% end -%>
|
|
|
|
<% if @host.operatingsystem.name == 'Fedora' -%>
|
|
repo --name=fedora-everything --mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-<%= @host.operatingsystem.major %>&arch=<%= @host.architecture %>
|
|
<% if puppet_enabled && @host.params['enable-puppetlabs-repo'] && @host.params['enable-puppetlabs-repo'] == 'true' -%>
|
|
repo --name=puppetlabs-products --baseurl=http://yum.puppetlabs.com/fedora/f<%= @host.operatingsystem.major %>/products/<%= @host.architecture %>
|
|
repo --name=puppetlabs-deps --baseurl=http://yum.puppetlabs.com/fedora/f<%= @host.operatingsystem.major %>/dependencies/<%= @host.architecture %>
|
|
<% end -%>
|
|
<% elsif rhel_compatible && os_major > 4 -%>
|
|
repo --name="Extra Packages for Enterprise Linux" --mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-<%= @host.operatingsystem.major %>&arch=<%= @host.architecture %>
|
|
<% if puppet_enabled && @host.params['enable-puppetlabs-repo'] && @host.params['enable-puppetlabs-repo'] == 'true' -%>
|
|
repo --name=puppetlabs-products --baseurl=http://yum.puppetlabs.com/el/<%= @host.operatingsystem.major %>/products/<%= @host.architecture %>
|
|
repo --name=puppetlabs-deps --baseurl=http://yum.puppetlabs.com/el/<%= @host.operatingsystem.major %>/dependencies/<%= @host.architecture %>
|
|
<% end -%>
|
|
<% end -%>
|
|
|
|
<% if @host.operatingsystem.name == 'Fedora' and os_major <= 16 -%>
|
|
# Bootloader exception for Fedora 16:
|
|
bootloader --append="nofb quiet splash=quiet <%=ks_console%>" <%= grub_pass %>
|
|
part biosboot --fstype=biosboot --size=1
|
|
<% else -%>
|
|
bootloader --location=mbr --append="nofb quiet splash=quiet" <%= grub_pass %>
|
|
<% end -%>
|
|
|
|
<% if @dynamic -%>
|
|
%include /tmp/diskpart.cfg
|
|
<% else -%>
|
|
<%= @host.diskLayout %>
|
|
<% end -%>
|
|
|
|
text
|
|
reboot
|
|
|
|
%packages --ignoremissing
|
|
yum
|
|
dhclient
|
|
ntp
|
|
wget
|
|
@Core
|
|
epel-release
|
|
<% if puppet_enabled %>
|
|
puppet
|
|
<% if @host.params['enable-puppetlabs-repo'] && @host.params['enable-puppetlabs-repo'] == 'true' -%>
|
|
puppetlabs-release
|
|
<% end -%>
|
|
<% end -%>
|
|
%end
|
|
|
|
<% if @dynamic -%>
|
|
%pre
|
|
<%= @host.diskLayout %>
|
|
%end
|
|
<% end -%>
|
|
|
|
%post --nochroot
|
|
exec < /dev/tty3 > /dev/tty3
|
|
#changing to VT 3 so that we can see whats going on....
|
|
/usr/bin/chvt 3
|
|
(
|
|
cp -va /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
|
|
/usr/bin/chvt 1
|
|
) 2>&1 | tee /mnt/sysimage/root/install.postnochroot.log
|
|
%end
|
|
|
|
%post
|
|
logger "Starting anaconda <%= @host %> postinstall"
|
|
exec < /dev/tty3 > /dev/tty3
|
|
#changing to VT 3 so that we can see whats going on....
|
|
/usr/bin/chvt 3
|
|
(
|
|
#update local time
|
|
echo "updating system time"
|
|
/usr/sbin/ntpdate -sub <%= @host.params['ntp-server'] || '0.fedora.pool.ntp.org' %>
|
|
/usr/sbin/hwclock --systohc
|
|
|
|
<% if realm_incompatible && @host.info["parameters"]["realm"] && @host.otp && @host.realm && @host.realm.realm_type == "FreeIPA" -%>
|
|
<%= snippet "freeipa_register" %>
|
|
<% end -%>
|
|
|
|
# update all the base packages from the updates repository
|
|
yum -t -y -e 0 update
|
|
|
|
<% if puppet_enabled %>
|
|
echo "Configuring puppet"
|
|
cat > /etc/puppet/puppet.conf << EOF
|
|
<%= snippet 'puppet.conf' %>
|
|
EOF
|
|
|
|
# Setup puppet to run on system reboot
|
|
/sbin/chkconfig --level 345 puppet on
|
|
|
|
/usr/bin/puppet agent --config /etc/puppet/puppet.conf -o --tags no_such_tag <%= @host.puppetmaster.blank? ? '' : "--server #{@host.puppetmaster}" %> --no-daemonize
|
|
<% end -%>
|
|
|
|
sync
|
|
|
|
# Inform the build system that we are done.
|
|
echo "Informing Foreman that we are built"
|
|
wget -q -O /dev/null --no-check-certificate <%= foreman_url %>
|
|
# Sleeping an hour for debug
|
|
) 2>&1 | tee /root/install.post.log
|
|
exit 0
|
|
|
|
%end
|
|
|