I experienced this problem while creating an EBS volume, using the
latest StarCluster source from GitHub, using python2.7, 32-bit intel Mac 10.6
$ starcluster createvolume 20 us-east-1c
StarCluster - (
http://web.mit.edu/starcluster) (v. 0.9999)
Software Tools for Academics and Researchers (STAR)
Please submit bug reports to starcluster_at_mit.edu
>>> No keypair specified, picking one from config...
>>> Using keypair dkey
Traceback (most recent call last):
File "build/bdist.macosx-10.3-fat/egg/starcluster/cli.py", line 152, in main
sc.execute(args)
File "build/bdist.macosx-10.3-fat/egg/starcluster/commands/createvolume.py",
line 101, in execute
volid = vc.create(size, zone)
File "build/bdist.macosx-10.3-fat/egg/starcluster/utils.py", line
69, in wrap_f
res = func(*arg, **kargs)
File "build/bdist.macosx-10.3-fat/egg/starcluster/volume.py", line
255, in create
instance = self._request_instance(volume_zone)
File "build/bdist.macosx-10.3-fat/egg/starcluster/volume.py", line
95, in _request_instance
self._validate_image_and_type(self._image_id, self._instance_type)
File "build/bdist.macosx-10.3-fat/egg/starcluster/volume.py", line
161, in _validate_image_and_type
if itype_platform not in img_platform:
TypeError: coercing to Unicode: need string or buffer, list found
I looked at the comparison (list in string):
itype_platform = static.INSTANCE_TYPES.get(itype) = ['i386']
img_platform = img.architecture = 'i386'
I added a quick fix:
163 if isinstance(itype_platform, list):
164 itype_platform = itype_platform[0]
But then found another problem:
$ starcluster createvolume 20 us-east-1c
...
>>> Creating security group _at_sc-volumecreator...
>>> No instance in group _at_sc-volumecreator for zone us-east-1c, launching one now.
>>> Waiting for instance i-d74fd3bb to come up...|>>> No active volume hosts found. Run 'starcluster terminate volumecreator' to remove the 'volumecreator' group
Traceback (most recent call last):
File "build/bdist.macosx-10.3-fat/egg/starcluster/cli.py", line 152, in main
sc.execute(args)
File "build/bdist.macosx-10.3-fat/egg/starcluster/commands/createvolume.py",
line 101, in execute
volid = vc.create(size, zone)
File "build/bdist.macosx-10.3-fat/egg/starcluster/utils.py", line
69, in wrap_f
res = func(*arg, **kargs)
File "build/bdist.macosx-10.3-fat/egg/starcluster/volume.py", line
260, in create
instance = self._request_instance(volume_zone)
File "build/bdist.macosx-10.3-fat/egg/starcluster/volume.py", line
113, in _request_instance
while not self._instance.is_up():
File "build/bdist.macosx-10.3-fat/egg/starcluster/node.py", line 707, in is_up
if self.update() != 'running':
File "build/bdist.macosx-10.3-fat/egg/starcluster/node.py", line
730, in update
self.instance = res[0]
IndexError: list index out of range
The second time I ran it, it successfully launched the volume. But then,
$ starcluster terminate volumecreator
StarCluster - (
http://web.mit.edu/starcluster) (v. 0.9999)
Software Tools for Academics and Researchers (STAR)
Please submit bug reports to starcluster_at_mit.edu
cli.py:156 - ERROR - failed to load cluster receipt: Incorrect padding
Any idea what is going on?
In any case, I'm working on a mongodb plugin for starcluster. I will
send it with a pull request when I debug it. Thanks for the software!
Dustin
Received on Fri Feb 04 2011 - 16:20:28 EST