[Bug 1302229] Re: cloud-init datasource uses util.ProcessExecutionError instead of futil.ProcessExecutionError
Ben Howard
ben.howard at canonical.com
Fri Apr 4 16:00:16 UTC 2014
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
More information about the Ubuntu-server-bugs
mailing list