You have been subscribed to a public bug:

[Impact]: The cloud-init version Precise uses the wrong is_true test
from util instead of futil for the SmartOS datasource. If a user sends
over a user-script or user-data, the instance will be unaccessable due
to a stack trace. This means that user-data or user-scripts are fatal to
the instance as the user will be unable to access system using SmartOS
as the virtualization platform.

[Test Case]:
1. Create a simple user-data script
2. Boot up 12.04 in SmartOS
3. Update the instance meta-data with user-script
4. delete /var/lib/cloud
5. Run "cloud-init start" and "cloud-init-cfg all"
6. Check /var/log/cloud-init.log for errors
7. Confirm that simple user-data script ran
8. The user-data script should be found in /var/lib/cloud/instance/user-data.txt

[REGRESSION] None. This change is fixes broken functionality and is a
two line change. This has been tested on SmartOS and confirmed to fix
the problem.

datasource for smartos uses util.is_true instead of futil.is_true, this
causes a stack trace on SmartOS

2013-11-01 18:21:39,683 - cloud-init[INFO]: cloud-init start-local running: 
Fri, 01 Nov 2013 18:21:39 +0000. up 7.28 seconds
2013-11-01 18:21:39,874 - __init__.py[DEBUG]: searching for data source in []
2013-11-01 18:21:39,874 - __init__.py[DEBUG]: Did not find data source. 
searched classes: []
2013-11-01 18:21:43,765 - cloud-init[INFO]: cloud-init start running: Fri, 01 
Nov 2013 18:21:43 +0000. up 11.19 seconds
2013-11-01 18:21:43,861 - __init__.py[DEBUG]: searching for data source in 
['DataSourceSmartOS']
2013-11-01 18:21:43,861 - DataSourceSmartOS.py[DEBUG]: Getting hostname from 
dmidecode
2013-11-01 18:21:43,864 - DataSourceSmartOS.py[DEBUG]: Determining hypervisor 
product name via dmidecode
2013-11-01 18:21:45,485 - __init__.py[WARNING]: get_data of DataSourceSmartOS 
raised 'module' object has no attribute 'is_true'
2013-11-01 18:21:45,500 - 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/DataSourceSmartOS.py", line 
144, in get_data
    md[ci_noun] = self.query(smartos_noun, strip=strip)
  File "/usr/lib/python2.7/dist-packages/cloudinit/DataSourceSmartOS.py", line 
178, in query
    b64=b64)
  File "/usr/lib/python2.7/dist-packages/cloudinit/DataSourceSmartOS.py", line 
240, in query_data
    b64 = util.is_true(b64)
AttributeError: 'module' object has no attribute 'is_true'

2013-11-01 18:21:45,500 - __init__.py[DEBUG]: Did not find data source. 
searched classes: ['DataSourceSmartOS'] {noformat}
{noformat}

** Affects: cloud-init (Ubuntu)
     Importance: High
     Assignee: Ben Howard (utlemming)
         Status: In Progress

-- 
[SRU] datasource for smartos uses util.is_true instead of futil.is_true
https://bugs.launchpad.net/bugs/1247262
You received this bug notification because you are a member of Ubuntu Server 
Team, which is subscribed to cloud-init in Ubuntu.

-- 
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

Reply via email to