I am mounting ISO with embedded autoinstall user-data file to automate Ubuntu installation on physical servers using. Boot mode is UEFI. At the end of OS installation I expect the autoinstall process to eject cdrom before reboot. But I see the eject operation is failing from install logs. As a result the server is looping into installation indefinitely.
Am I missing anything in the autoinstall YAML? Here is its copy:
#cloud-config
autoinstall:
version: 1
identity: {hostname: ubuntu, password: password,
realname: Govind, username: bma}
keyboard: {layout: us, toggle: null, variant: ''}
locale: en_US.UTF-8
early-commands:
- echo "Nothing yet"
network:
ethernets:
eno1: {dhcp4: true}
version: 2
ssh:
allow-pw: true
authorized-keys: []
install-server: true
storage:
config:
- {ptable: gpt, serial: <removed>, wwn: '<removed>',
path: /dev/sdb, wipe: superblock-recursive, preserve: false, name: '', grub_device: false,
type: disk, id: disk-sdb}
- {device: disk-sdb, size: 536870912, wipe: superblock, flag: boot, number: 1,
preserve: false, grub_device: true, type: partition, id: partition-0}
- {fstype: fat32, volume: partition-0, preserve: false, type: format, id: format-0}
- {device: disk-sdb, size: 118914809856, wipe: superblock, flag: '', number: 2,
preserve: false, grub_device: false, type: partition, id: partition-1}
- {fstype: ext4, volume: partition-1, preserve: false, type: format, id: format-1}
- {path: /, device: format-1, type: mount, id: mount-1}
- {path: /boot/efi, device: format-0, type: mount, id: mount-0}
late-commands:
- ip_array=`ip a | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | awk -F'/' '{print $1}' `
- iplist=""
- for item in $ip_array; do iplist=`echo $item","$item1`; done
- echo "curl -X POST -k --header 'Content-Type':' plain/text, Accept':' plain/text' -d '$iplist' %BMA_REST_URL%" > /tmp/confirm.sh
- bash /tmp/confirm.sh
- sleep 10
- umount -f /cdrom
I can provide any additional logs if needed.