BTW, where I said "sensible" I meant "sentitive" :)



On 12 December 2016 at 16:40, Ignasi Barrera <ignasi.barr...@gmail.com> wrote:
> Hi!
>
> I'll try to answer inline:
>
>>> 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.
>
> That's right
>
>>> 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"
>
> You can create the keypairs yourself or let jclodus create them for
> you. You just need to take the mentioned limitation into account, so
> the group can be resolved.
> Take also into account that the group name is also resolved from the
> security groups, so if you configure access to your instance using the
> TemplateOptions#inboundPorts method, or you create the security groups
> following the jclouds naming convention, jclodus should eb able to
> resolve the group from the security groups the instance is assigned
> to, and you should be able to use whatever name you prefer for the key
> pair.
> But again, this is very sensible and you're relying on this limitation
> of jclouds.
>
>>> 3. if keyPair Name is 'jclouds#Testkeypair'  groupname should be
>>> TestKeyPair while creating an instance?
>
> Yes
>
>>> 4. In case of tags can u please elaborate on tags limitation
>
> Here you have the tag restrictions:
> http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions
>
>  Adding to above points if i want to create keypair using jcloud is it
>> necessary for me to use
>>
>> "jclouds#" prefix while calling createKeyPairInRegion(region,name)
>>
>> If i use without prefix i will get below,
>
> When you access directly the jclouds EC2/AWSEC2 APIs you get a client
> to their API without any addition. Any call you perform using those
> APIs directly will be translated into direct calls to the AWS API. So
> yes, you need to put the prefix if you're doing that. Take into
> account that the value of the prefix can be customized by setting the
> ComputeServiceProperties.RESOURCENAME_PREFIX property, so you'd better
> read that value to make sure you are always setting the right value
> for the prefix.
>
>
> HTH!
>
> I.
>
>
> [1] 
> https://jclouds.apache.org/reference/javadoc/2.0.x/org/jclouds/compute/config/ComputeServiceProperties.html#RESOURCENAME_PREFIX
>
>
>
> On 12 December 2016 at 13:05, Poornima BS <poornimabs.g...@gmail.com> wrote:
>> Also,
>>
>> Adding to above points if i want to create keypair using jcloud is it
>> necessary for me to use
>>
>> "jclouds#" prefix while calling createKeyPairInRegion(region,name)
>>
>> If i use without prefix i will get below,
>>
>> java.util.NoSuchElementException: no nodes matched filter:
>> inGroup(production)
>> 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(production)
>>
>> Any suggestion would be helpful
>>
>> Thanks & Regards,
>> Poornima.BS
>>
>> On Mon, Dec 12, 2016 at 4:29 PM, Poornima BS <poornimabs.g...@gmail.com>
>> wrote:
>>
>>> 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).subnet
>>>> Id("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.runScriptOnN
>>>> odesMatching(
>>>> > 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