]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/blobdiff - bin/install_script.sh
Make use of LDAP variables to configure node
[perso/Immae/Projets/Puppet.git] / bin / install_script.sh
index f250285840785abeb0025d4e32778cc5f94f208c..f46ab29618e1421ca8d20f1da11e59caf1ed7fb2 100755 (executable)
@@ -20,9 +20,12 @@ ARCH_DIR=`mktemp -d`
 ARCH_HOST_SCRIPT="$ARCH_DIR/arch_host_script.sh"
 ARCH_CHROOT_SCRIPT="$ARCH_DIR/arch_chroot_script.sh"
 ARCH_INSTALL_SCRIPT="$ARCH_DIR/arch_install_script.sh"
+ARCH_HOST_PUPPET_CONFIGURATION_SCRIPT="$ARCH_DIR/arch_host_puppet_configuration_script.sh"
+ARCH_PUPPET_CONFIGURATION_SCRIPT="$ARCH_DIR/arch_puppet_configuration_script.sh"
 
 trap "rm -rf $ARCH_DIR" EXIT
 
+#### Base installation stage
 cat > $ARCH_HOST_SCRIPT <<EOF
 #!/bin/bash
 
@@ -117,6 +120,39 @@ send "$password\r"
 expect eof
 EOF
 
+### Role specific stage
+read -p "Press key when LDAP is configured" i
+
+cat > $ARCH_PUPPET_CONFIGURATION_SCRIPT <<EOF
+CODE_PATH="/etc/puppetlabs/code"
+puppet apply --test \$CODE_PATH/manifests/site.pp
+EOF
+
+cat > $ARCH_HOST_PUPPET_CONFIGURATION_SCRIPT <<EOF
+DEVICE_STR=\$(cat /proc/mounts | grep "/dev/sd.. /mnt/")
+DEVICE=\$(echo "\$DEVICE_STR" | cut -d' ' -f1)
+MOUNTPOINT=\$(echo "\$DEVICE_STR" | cut -d' ' -f2)
+
+cp /tmp/arch_puppet_configuration_script.sh "\$MOUNTPOINT/root/"
+
+/tmp/root.x86_64/bin/arch-chroot "\$MOUNTPOINT" /root/arch_puppet_configuration_script.sh
+EOF
+
+chmod a+x $ARCH_PUPPET_CONFIGURATION_SCRIPT $ARCH_HOST_PUPPET_CONFIGURATION_SCRIPT
+
+expect -f - <<EOF
+set timeout -1
+spawn scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o CheckHostIP=no $ARCH_PUPPET_CONFIGURATION_SCRIPT $ARCH_HOST_PUPPET_CONFIGURATION_SCRIPT root@$vps_name:/tmp
+expect "assword:"
+send "$password\n"
+expect eof
+spawn ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o CheckHostIP=no root@$vps_name /tmp/arch_host_puppet_configuration_script.sh
+expect "assword:"
+send "$password\r"
+expect eof
+EOF
+
+### Installation finished
 read -p "Reboot to normal? [Y/n]" reboot
 if [ "x$reboot" != "xn" ]; then
   echo "Rebooting"