Confirmed test-cases using the linked branch. ** Description changed:
[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. + 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] + [TEST-CASE #1] Scratch Boot 1. Build new image from scratch - 2. Boot, it should work with ephemeral mounted + 2. Boot, it should work with ephemeral0 mounted - - Latest Cloud-init on Windows Azure fails to provision on Windows Azure due to incorrect import. + [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'; 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) ** Changed in: cloud-init (Ubuntu Precise) Assignee: (unassigned) => Ben Howard (utlemming) ** Changed in: cloud-init (Ubuntu Precise) Importance: Undecided => High ** Summary changed: - cloud-init datasource uses util.ProcessExecutionError instead of futil.ProcessExecutionError + [SRU] cloud-init datasource uses util.ProcessExecutionError instead of futil.ProcessExecutionError ** Description changed: [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'; 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 + 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) -- You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to cloud-init in Ubuntu. https://bugs.launchpad.net/bugs/1302229 Title: [SRU] cloud-init Windows Azure does not have correct futil support for disk format support To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1302229/+subscriptions -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs