X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fhooks%2Finstsoft.DEFAULT;h=f02f1cf467ecfe96f9e3d8c40043692a35058b69;hb=ac4e0089e245c96a388b8fcdd92fc05da3399694;hp=d2a8f760244d1399caf0c662c858a71f26fa7e86;hpb=eae06d9028e4e70a211afef4a73b971067203da1;p=automated-distro-installer diff --git a/fai/config/hooks/instsoft.DEFAULT b/fai/config/hooks/instsoft.DEFAULT index d2a8f76..f02f1cf 100755 --- a/fai/config/hooks/instsoft.DEFAULT +++ b/fai/config/hooks/instsoft.DEFAULT @@ -1,16 +1,44 @@ #!/bin/bash -# exit for any vm which is not our test vm -if ifclass VM && ! ifclass demohost; then +# exit for any vm except demohost, or if we are doing a dirinstall +if ifclass VM && ! ifclass demohost || ifclass VOL_STRETCH_BOOTSTRAP || [[ ! $FAI_ACTION || $FAI_ACTION = dirinstall ]]; then exit 0 fi +keyfile=/var/lib/fai/config/distro-install-common/luks/host-$HOSTNAME f=$target/root/keyscript cat > $f <$f <<'EOF' +#!/bin/sh +if ! [ -e /tmp/key ]; then + stty -echo + read pass + printf '%s' "$pass" > /tmp/key +fi +cat /tmp/key +EOF chmod +x $f + + +# for hosts which don't have these data volumes, copy the specific +# files we need. +if ifclass demohost; then + files=(/var/lib/fai/config/distro-install-common/luks/host-demohost) +elif ifclass tp; then + files=(/var/lib/fai/config/distro-install-common/luks/host-{tp,demohost}) +fi +if [[ ${files[0]} ]]; then + d=$target/q/root/luks + mkdir -p $d + cp ${files[@]} $d + chmod -R o-rwx $d +fi