During provisioning cloud-init adds an entry for the ephemeral disk in /etc/fstab. After provisioning this entry is correct and points to "/dev/disk/azure/resource-part1". This symlink is created dynamically by 66-azure-storage.rules.
For some reason after the first reboot cloud-init overwrites the fstab entry and changes the "/dev/disk/azure/resource-part1" to the device name that it points to, i.e. /dev/sdb1. However, this is incorrect since /dev/sd* device names are not persistent.
Repro:
1) Provision an Ubuntu VM on Azure (I tested with 14.04.4)
2) The fstab entry for the ephemeral disk (/mnt) correctly points to "/dev/disk/azure/resource-part1".
3) Reboot the VM (sudo reboot)
4) The fstab entry now incorrectly points to /dev/sdb1 instead of the symlink.
Impact:
There is a chance that the customer's ephemeral disk will not be mounted properly if the device names change after a reboot.
During provisioning cloud-init adds an entry for the ephemeral disk in /etc/fstab. After provisioning this entry is correct and points to "/dev/disk/ azure/resource- part1". This symlink is created dynamically by 66-azure- storage. rules.
For some reason after the first reboot cloud-init overwrites the fstab entry and changes the "/dev/disk/ azure/resource- part1" to the device name that it points to, i.e. /dev/sdb1. However, this is incorrect since /dev/sd* device names are not persistent.
Repro:
1) Provision an Ubuntu VM on Azure (I tested with 14.04.4) azure/resource- part1".
2) The fstab entry for the ephemeral disk (/mnt) correctly points to "/dev/disk/
3) Reboot the VM (sudo reboot)
4) The fstab entry now incorrectly points to /dev/sdb1 instead of the symlink.
Impact:
There is a chance that the customer's ephemeral disk will not be mounted properly if the device names change after a reboot.