yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #41371
[Bug 1506187] Re: [SRU] Azure: cloud-init should use VM unique ID
This bug was fixed in the package cloud-init - 0.7.7~bzr1156-0ubuntu1
---------------
cloud-init (0.7.7~bzr1156-0ubuntu1) xenial; urgency=medium
* New upstream snapshot.
* d/cloud-init.preinst: migrate Azure instance ID from old ID to stable
ID (LP: #1506187).
-- Ben Howard <ben.howard@xxxxxxxxxx> Tue, 17 Nov 2015 11:59:49 -0700
** Changed in: cloud-init (Ubuntu Xenial)
Status: Confirmed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1506187
Title:
[SRU] Azure: cloud-init should use VM unique ID
Status in cloud-init:
In Progress
Status in cloud-init package in Ubuntu:
Fix Released
Status in cloud-init source package in Precise:
New
Status in cloud-init source package in Trusty:
New
Status in cloud-init source package in Vivid:
New
Status in cloud-init source package in Wily:
New
Status in cloud-init source package in Xenial:
Fix Released
Bug description:
SRU JUSTIFICATION
[IMPACT] On Azure, the InstanceID is currently detected via a fabric
provided XML file. With the new CRP stack, this ID is not guaranteed
to be stable. As a result instances may go re-provision upon reboot.
[FIX] Use DMI data to detect the instance ID and migrate existing
instances to the new ID.
[REGRESSION POTENTIAL] The fix is both in the cloud-init code and in
the packaging. If the instance ID is not properly migrated, then a
reboot may trigger re-provisioning.
[TEST CASES]
1. Boot instance on Azure.
2. Apply cloud-init from -proposed. A migration message should apply.
3. Get the new instance ID:
$ sudo cat /sys/class/dmi/id/product_uuid
4. Confirm that /var/lib/cloud/instance is a symlink to /var/lib/cloud/instances/<UUID from step 3>
5. Re-install cloud-init and confirm that migration message is NOT displayed.
[TEST CASE 2]
1. Build new cloud-image from -proposed
2. Boot up instance
3. Confirm that /sys/class/dmi/id/product_uuid is used to get instance ID (see /var/log/cloud-init.log)
[ORIGINAL REPORT]
The Azure datasource currently uses the InstanceID from the SharedConfig.xml file. On our new CRP stack, this ID is not guaranteed to be stable and could change if the VM is deallocated. If the InstanceID changes then cloud-init will attempt to reprovision the VM, which could result in temporary loss of access to the VM.
Instead cloud-init should switch to use the VM Unique ID, which is
guaranteed to be stable everywhere for the lifetime of the VM. The VM
unique ID is explained here: https://azure.microsoft.com/en-us/blog
/accessing-and-using-azure-vm-unique-id/
In short, the unique ID is available via DMI, and can be accessed with
the command 'dmidecode | grep UUID' or even easier via sysfs in the
file "/sys/devices/virtual/dmi/id/product_uuid".
Steve
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1506187/+subscriptions