Advertisement
AdmiralNemo

kickstart.cgi

Aug 19th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.25 KB | None | 0 0
  1. #!/bin/zsh
  2.  
  3. printf 'Content-Type: text/plain\n\n'
  4.  
  5. my_hostname='localhost'
  6.  
  7. for param in "${(@s/&/)QUERY_STRING}"; do
  8.     case "${param}" in
  9.     hostname=*)
  10.         my_hostname="${param#*=}"
  11.         ;;
  12.     esac
  13. done
  14.  
  15.  
  16. cat <<EOKS
  17. text
  18. install
  19. url --url=http://mirror.centos.org/centos/7/os/x86_64
  20. repo --name=updates --baseurl=http://mirror.centos.org/centos/7/updates/x86_64
  21. repo --name=extras --baseurl=http://mirror.centos.org/centos/7/extras/x86_64
  22. lang en_US.UTF-8
  23. keyboard us
  24. timezone --utc UTC
  25. rootpw --iscrypted x
  26. shutdown
  27.  
  28. bootloader --location=mbr
  29. clearpart --all --initlabel
  30. autopart --type=lvm
  31.  
  32. network --hostname=${my_hostname:l}
  33.  
  34. %packages
  35. qemu-guest-agent
  36. %end
  37.  
  38. %post
  39. install -d /root/.ssh
  40. cat > /root/.ssh/authorized_keys <<EOF
  41. $(cat ~/.ssh/id_ed25519.pub)
  42. EOF
  43. %end
  44. EOKS
  45.  
  46. exec >/dev/null <<COMMENT
  47. # Useful with virt-install, e.g.
  48. name=C7-$(uuidgen | cut -c -6)
  49. virt-install --name ${name} \
  50.     --ram 1024 \
  51.     --vcpus 2 \
  52.     --cpu host \
  53.     --location http://mirror.centos.org/centos/7/os/x86_64 \
  54.     --extra-args 'ip=dhcp ks=http://deployments.local/cgi-bin/kickstart.sh?hostname='${name} \
  55.     --os-type linux \
  56.     --os-variant rhel7 \
  57.     --disk pool=default,size=6,format=qcow2 \
  58.     --network bridge=br0 \
  59.     --sound none \
  60.     --redirdev none
  61. COMMENT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement