StarCluster - Mailing List Archive

[Starcluster] Bug VolumeCreator _request_instance

From: Joachim Van den Bogaert <no email>
Date: Thu, 8 Jul 2010 23:54:03 +0200

Hi Justin,

 

I tried to create a volume with the following command:

 

joachim_at_tm1:~$ starcluster createvolume 100 eu-west-1b --image-id
ami-6be5cf1f

 

>>> Using keypair sge

>>> Requesting host instance in zone eu-west-1b to attach volume to...

>>> Creating security group _at_sc-volumecreator...

>>> No instance in group _at_sc-volumecreator for zone eu-west-1b, launching
one now.

 

volume.py:186 - ERROR - exception thrown: EC2ResponseError: 400 Bad Request

<?xml version="1.0"?>

<Response>

  <Errors>

    <Error>

      <Code>InvalidParameterValue</Code>

      <Message>The requested instance type's architecture (i386) does not
match the architecture in the manifest for ami-6be5cf1f (x86_64)</Message>

    </Error>

  </Errors>

  <RequestID>4ff61a79-6a82-480e-b1dd-e26d8965eb70</RequestID>

</Response>

 

I was looking for an architecture parameter, but I couldn't find one

 

(volume.py line 32 - 56)

 

def _request_instance(self, zone):

        for i in self.security_group.instances():

            if i.state in ['pending','running'] and i.placement == zone:

                log.info("Using existing instance %s in group %s" % \

                         (i.id,self.security_group.name))

                self._instance = Node(i, self._key_location, 'vol_host')

                break

        if not self._instance:

            log.info("No instance in group %s for zone %s, launching one
now." % \

                     (self.security_group.name, zone))

            self._resv = self._ec2.run_instances(image_id=self._image_id,

                instance_type='m1.small',

                min_count=1, max_count=1,

                security_groups=[self.security_group.name],

                key_name=self._keypair,

                placement=zone)

            instance = self._resv.instances[0]

            self._instance = Node(instance, self._key_location, 'vol_host')

        s = Spinner()

        log.info("Waiting for instance %s to come up..." %
self._instance.id)

        s.start()

        while not self._instance.is_up():

            time.sleep(15)

        s.stop()

        return self._instance

 

Apparently the code in line 43

 

instance_type='m1.small'

 

throws an error if you try to create a volume with a 64-bit StarCluster AMI,
since you can't launch an m1.small with 64 bit images.

 

I am in the eu zone, so I can't use the AMI defined in
image_id=static.BASE_AMI_32.

With the 64-bit image I use instead, an extra parameter could prevent this
error

 

After I changed the line into

 

instance_type='m1.large'

 

the volume was created successfully.

 

 

 

Kind regards,

Joachim

 

 

 
Received on Thu Jul 08 2010 - 17:54:05 EDT
This archive was generated by hypermail 2.3.0.

Search:

Sort all by:

Date

Month

Thread

Author

Subject