You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jclouds.apache.org by Yanick Duchesne <ya...@gmail.com> on 2015/07/16 21:15:53 UTC

EC2 instance name not set

Hi,

I'm creating an EC2 instance with JClouds (1.9.0) in the following way
(providing the relevant snippet):

    TemplateBuilder templateBuilder = compute.templateBuilder()
      .hardwareId(InstanceType.T2Small.toString())
      .locationId(conf.region)
      .imageId(conf.imageId)


    Template template = templateBuilder.build();
    AWSEC2TemplateOptions options =
template.getOptions().as(AWSEC2TemplateOptions.class);
    options
      .securityGroupIds(conf.securityGroups)
      .overrideLoginCredentials(conf.userCredentials)
      .keyPair(conf.keypair);

      NodeMetadata node =
getOnlyElement(compute.createNodesInGroup("testgroup", 1, template));

The instance is started, and I notice the following:


   - I see in the AWS Console that the instance has no name set (my
   understanding is that a name should be set, which JClouds would prefix with
   "jclouds-" in order to distinguish the instances that it created vs the
   ones created through other means. The name part, excluding the suffix,
   should be set to the group name being passed to the createNodesInGroup
   method.
   - I see the folliowing traces on the client-side:  33320 [user thread 0]
   DEBUG
   org.jclouds.aws.ec2.compute.functions.AWSRunningInstanceToNodeMetadata  -
   no group parsed from i-736aacba's data: [yanick-keys-uswest]
   - After a while, I see these traces being repeated indefinitely, and the
   getOnlyElement(...) method is never exited: 33321 [user thread 0] DEBUG
   org.jclouds.compute.predicates.AtomicNodeRunning  - us-west-2/i-736aacba:
   looking for resource state RUNNING: currently: RUNNING[running]
   - I see that the DescribeInstancesResponse provides no instance name
   (which is expected, given no instance name was assigned...)

What I'm suspecting is that the underlying code attempts to find the
"jclouds-" prefix in some fields of the DescribedInstancesResponse, in
order to determine if the corresponding instances have been started through
jclouds (one of these fields is the instance name), and correspond to the
group for which we're attempting to start instances.

For starters, I have a single question: how do we insure that a name is
assigned to the instance being started in EC2 ?

My hope is that once the instance name is set, the the createNodesInGroup
method will be exited from by the calling code, and the rest of my
procedure will run smoothly.

Thanks for the help.

-- 
<http://www.imetrik.com>
Yanick