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