I'm trying to set up provisioning for Ubuntu 14.04, the PXE boot works fine
but the installer throws Failed to retrieve the preconfiguration file, does
any one have a clue to why this would happen?
here is the preseed
https://foreman/unattended/provision?spoof=10.0.0.1 :
Locale
d-i debian-installer/locale string en_US
country and keyboard settings are automatic. Keep them …
… for wheezy and newer:
d-i keyboard-configuration/xkb-keymap seen true
… for squeeze and older:
d-i console-keymaps-at/keymap seen true
Network configuration
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string davidoj-deb-trusty.siminn.is
d-i netcfg/get_domain string siminn.is
d-i netcfg/wireless_wep string
d-i hw-detect/load_firmware boolean true
Mirror settings
d-i mirror/country string manual
d-i mirror/http/hostname string archive.ubuntu.com:80
d-i mirror/http/directory string /ubuntu/
d-i mirror/http/proxy string
d-i mirror/codename string trusty
d-i mirror/suite string trusty
d-i mirror/udeb/suite string trusty
Time settings
d-i clock-setup/utc boolean true
d-i time/zone string UTC
NTP
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string 0.debian.pool.ntp.org
Set alignment for automatic partitioning
Choices: cylinder, minimal, optimal
#d-i partman/alignment select cylinder
d-i partman-auto/disk string /dev/sda /dev/vda
Partitioning
The presently available methods are: "regular", "lvm" and "crypto"
d-i partman-auto/method string regular
If one of the disks that are going to be automatically partitioned
contains an old LVM configuration, the user will normally receive a
warning. This can be preseeded away…
d-i partman-lvm/device_remove_lvm boolean true
The same applies to pre-existing software RAID array:
d-i partman-md/device_remove_md boolean true
And the same goes for the confirmation to write the lvm partitions.
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
You can choose one of the three predefined partitioning recipes:
- atomic: all files in one partition
- home: separate /home partition
- multi: separate /home, /usr, /var, and /tmp partitions
d-i partman-auto/choose_recipe select atomic
If you just want to change the default filesystem from ext3 to something
else, you can do that without providing a full recipe.
This makes partman automatically partition without confirmation, provided
that you told it what to do using one of the methods above.
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
Install different kernel
#d-i base-installer/kernel/image string linux-server
User settings
d-i passwd/root-password-crypted password $1$iBffUT3B$q1zUQxZ2o6J3WYGXMfOGo0
user-setup-udeb passwd/root-login boolean true
d-i passwd passwd/make-user boolean false
user-setup-udeb passwd/make-user boolean false
Install minimal task set (see tasksel --task-packages minimal)
tasksel tasksel/first multiselect minimal, ssh-server, openssh-server
Install some base packages
d-i pkgsel/include string puppet lsb-release
d-i pkgsel/update-policy select unattended-upgrades
popularity-contest popularity-contest/participate boolean false
Boot loader settings
#grub-pc grub-pc/hidden_timeout boolean false
#grub-pc grub-pc/timeout string 10
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i finish-install/reboot_in_progress note
d-i preseed/late_command string wget -Y off https://foreman:443/unattended/finish?token=d79c8954-296a-4e9f-b6fa-82d9531b95e6 -O /target/tmp/finish.sh && in-target chmod +x /tmp/finish.sh && in-target /tmp/finish.sh
contents of https://foreman:443/unattended/finish?token=d79c8954-296a-4e9f-b6fa-82d9531b95e6
cat > /etc/puppet/puppet.conf << EOF
[main]
vardir = /var/lib/puppet
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
[agent]
pluginsync = true
report = true
ignoreschedules = true
daemon = false
ca_server = foreman
certname = host
environment = swift_proxy
server = foreman
EOF
if [ -f "/etc/default/puppet" ]
then
/bin/sed -i 's/^START=no/START=yes/' /etc/default/puppet
fi
/bin/touch /etc/puppet/namespaceauth.conf
/usr/bin/puppet agent --enable
/usr/bin/puppet agent --config /etc/puppet/puppet.conf --onetime --tags no_such_tag --server foreman --no-daemonize
/usr/bin/wget --no-proxy --quiet --output-document=/dev/null --no-check-certificate https://foreman:443/unattended/built?token=d79c8954-296a-4e9f-b6fa-82d9531b95e6