Hi,

Thanks for your reply.

I have some doubts,

1. So is it possible to use an existing key pair created from amazon
console and consume from jclouds while launching an instance.
Say keyPair(poornima).
As per my knowledge it can create an instance without error but while
executing script using runScriptOnNodesMatching() gives 'no nodes matched
filter' with groupName poornima.

2. In above case we should create key pair from jclouds and consume from
jclouds. Other option would be create a keypair with prefix "jclouds#jcloud"

3. if keyPair Name is 'jclouds#Testkeypair'  groupname should be
TestKeyPair while creating an instance? Is there any workaround for same

4. In case of tags can u please elaborate on tags limitation

Does it mean each instance in amazon can have 50 tags or overall account
can have 50 tags.
I want this to be clarified because i am planning to use
userMetaData("Name", "Test") option while launching instance so that we can
identify machine.

Please correct me if i am wrong in all above points.


Thanks & Regards,
Poornima.BS

On Fri, Dec 9, 2016 at 10:49 PM, Ignasi Barrera <n...@apache.org> wrote:

> Hi Poornima,
>
> This is a limitation specific to the aws-ec2 provider implementation.
> jclouds uses a naming convention and creates the key pairs and
> security groups with a prefix (usually 'jclouds') and a suffix that is
> the "group". When getting the list of nodes, it parses the keys and
> groups an instance is assigned to, and tries to extract the group from
> there.
>
> We could definitely do better by storing the group in an instance tag,
> but instance tags are limited to 50, and tags and user metadata key
> value pairs are stored there. It is possible that we run out of tags
> if we follow that approach, although I believe that won't be the
> common pattern and it is a much consistent approach. (Mind opening a
> JIRA [1] issue to track this?).
>
> In your case, since you are assigning the key pair "jclouds#jcloud",
> jclouds believes it belongs to the "jcloud" group. That's why the
> runScript method does not find groups. If you enable the
> "jclouds.compute" logger at debug level [2] you should see relevant
> logs.
>
>
> HTH!
>
> I.
>
> [1] https://issues.apache.org/jira/browse/JCLOUDS
> [2] https://jclouds.apache.org/reference/logging/
>
> On 9 December 2016 at 05:56, Poornima BS <poornimabs.g...@gmail.com>
> wrote:
> > Hi,
> >
> > Please let me know how jcloud works wrt groupName and keypair
> >
> > 1. Suppose my groupName and key pair is as below
> >
> > String groupName = "jcloud";
> >
> > keyPair("jclouds#jcloud")  - keypairname created in AWS
> >
> > Then execution of script works fine i.e runScriptOnNodesMatching
> >
> > 2. if i give a different groupName say,
> >
> > String groupName = "jcloudTest";
> >
> > and use an existing keypair say keyPair("jclouds#jcloud")
> >
> > Then runScriptOnNodesMatching gives error: no nodes matched filter:
> > inGroup(jcloudTest)
> >
> > Please let me know how groupName and keypair work together
> >
> > 3. Also keypair is expected to be appended with "jclouds#"  i.e. jclouds
> > finds for keypair with jclouds# prefix
> >
> > The groupName and keypair name should be same, then how can i create
> > machines in multiple groups.
> >
> > Can u please let me know what is going wrong with using existing keypair.
> >
> > ````
> >  Template template = templateBuilder.build();
> >
> > template.getOptions().as(AWSEC2TemplateOptions.class).
> subnetId("subnet-a1e1d08b").
> >
> > keyPair("jclouds#jcloud").overrideLoginPrivateKey(login.credential)
> > ````
> > By using above template options i dont get issues while launching
> instance,
> > but while executing service i get below error,
> >
> > ````
> > java.util.NoSuchElementException: no nodes matched filter:
> inGroup(jcloud1)
> > at org.jclouds.compute.internal.BaseComputeService.
> > nodesMatchingFilterAndNotTerminatedExceptionIfNotFound(
> > BaseComputeService.java:325)
> > at org.jclouds.compute.internal.BaseComputeService.
> runScriptOnNodesMatching(
> > BaseComputeService.java:579)
> > at org.jclouds.examples.compute.basics.MainApp.main(MainApp.java:187)
> > error: no nodes matched filter: inGroup(jcloud1)
> > ````
> >
> >
> > Thanks & Regards,
> > Poornima.BS
>

Reply via email to