[SRU] cloud-init Windows Azure does not have correct futil support for disk format support

Bug #1302229 reported by Ben Howard
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cloud-init (Ubuntu)
Fix Released
High
Unassigned
Precise
Fix Released
High
Unassigned

Bug Description

[SRU Justification]

[Explanation] SRU for 1292648 added the ability Cloud-init to format ephemeral devices when a new ephemeral device was put into place. The backport used util.* instead of futil.*.

[IMPACT] Cloud-init stack traces when attempting unmount a device that is not mounted
Cloud-init tries to unmount the default ephemeral disk and uses "try/except" method. Since the wrong util is used, it will stack trace, preventing users from provisioning on Windows Azure.

[TEST-CASE #1] Scratch Boot
1. Build new image from scratch
2. Boot, it should work with ephemeral0 mounted

[TEST-CASE #2] Replace ephemeral0
1. Using test-case #1 instance, remove /dev/sdb1 from /etc/fstab
2. Run "wipefs --all /dev/sdb1"; reboot; device should not be mounted nor should it appear in /etc/fstab
3. Run "mkfs.ext4 /dev/sdb1"; reboot; device should not be mounted nor should it appear in /etc/fstab
4. Run "mkfs.ntfs -L 'Temporary Storage' -f /dev/sdb1 && mount /dev/sdb1 /mnt && touch /mnt/test"; reboot; device should not be mounted nor should it appear in /etc/fstab
5. Run "mount /dev/sdb1 /mnt && rm /mnt/test"; reboot; /dev/sdb1 should be mounted w/ ext4 fs and on /mnt

[TEST-CASE #3] Re-bundle Image
1. Build new image from scratch
2. Boot
3. Capture VM
4. Boot Captured VM, it should have ephemeral0 mounted

Latest Cloud-init on Windows Azure fails to provision on Windows Azure due to incorrect import.

2014-04-03 21:53:24,330 - __init__.py[WARNING]: get_data of DataSourceAzureNet raised 'module' object has no attribute 'ProcessExecutionError'
2014-04-03 21:53:24,374 - util.py[DEBUG]: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/cloudinit/__init__.py", line 215, in get_data_source
    if s.get_data():
  File "/usr/lib/python2.7/dist-packages/cloudinit/DataSourceAzure.py", line 215, in get_data
    cc_modules_override = support_new_ephemeral(self.sys_cfg)
  File "/usr/lib/python2.7/dist-packages/cloudinit/DataSourceAzure.py", line 288, in support_new_ephemeral
    except util.ProcessExecutionError as e:
AttributeError: 'module' object has no attribute 'ProcessExecutionError'

2014-04-03 21:53:24,374 - __init__.py[DEBUG]: Did not find data source. searched classes: ['DataSourceAzureNet']
(END)

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :
description: updated
tags: added: patch
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Freenode.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1302229/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
affects: ubuntu → cloud-init (Ubuntu)
Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :

Testing linked branch against a PPA build to confirm that this works.

description: updated
Changed in cloud-init (Ubuntu Precise):
assignee: nobody → Ben Howard (utlemming)
importance: Undecided → High
summary: - cloud-init datasource uses util.ProcessExecutionError instead of
+ [SRU] cloud-init datasource uses util.ProcessExecutionError instead of
futil.ProcessExecutionError
description: updated
Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote : Re: [SRU] cloud-init datasource uses util.ProcessExecutionError instead of futil.ProcessExecutionError

Confirmed test-cases using the linked branch.

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :
summary: - [SRU] cloud-init datasource uses util.ProcessExecutionError instead of
- futil.ProcessExecutionError
+ [SRU] cloud-init Windows Azure does not have correct futil support for
+ disk format support
Changed in cloud-init (Ubuntu Precise):
status: New → Fix Committed
Revision history for this message
Dave Walker (davewalker) wrote : Please test proposed package

Hello Ben, or anyone else affected,

Accepted cloud-init into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/cloud-init/0.6.3-0ubuntu1.13 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-needed
Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :

Confirmed test case #2 and test case #3 with existing build. I've asked rcj to confirm test cases as well.

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :

Building new image for test case #1 when package is confirmed to be in -proposed.

Revision history for this message
Robert C Jennings (rcj) wrote :

I have also verified test cases #2 and #3.

Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :

Confirmed that test case works against new image build.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cloud-init - 0.6.3-0ubuntu1.13

---------------
cloud-init (0.6.3-0ubuntu1.13) precise-proposed; urgency=medium

  * debian/patches/lp-1302229-fix_futils_azure.patch: fixed imports and
    util usage for new disk detection and format w/ Azure DS (LP: #1302229).
 -- Ben Howard <email address hidden> Thu, 03 Apr 2014 16:26:50 -0600

Changed in cloud-init (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Stéphane Graber (stgraber) wrote : Update Released

The verification of the Stable Release Update for cloud-init has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Changed in cloud-init (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.