[ 
https://issues.apache.org/jira/browse/LIBCLOUD-367?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13725793#comment-13725793
 ] 

John Carr commented on LIBCLOUD-367:
------------------------------------

As per IRC conversation earlier: 
 
The end result of this issue is that we can trust the 'create_node' metadata, 
and that deploy_node continues to function as it does currently.

I plan to:

 * Update deploy_node to accept NodeAuth* objects whether or not the 
create_node API does and attempt to use them for authentication. A positive 
side effect of this change is that this allows deploy_node to work where a key 
or password is baked into an image as well.

 * If features['create_node'] supports a NodeAuthSSHKey ('ssh_key') or 
NodeAuthPassword ('password') and one is supplied to deploy_node, it will be 
passed to create_node. Otherwise the auth arg will not be forwarded to the 
create_node implementation

 * If features['create_node'] supports generate_password and no auth param is 
supplied deploy_node will use the generated password. But it will prefer 
provided authentication details if they are given.

 * I will audit the compute nodes to ensure that their feature flags are set 
correctly:

    ** abiquo - claims to support password but does not. Will remove metadata.
    ** bluebox - has no features, but supports NodeAuthSSHKey and 
NodeAuthPassword. Will fix metadata.
    ** brightbox - claims to support ssh_key but does not. Will remove metadata.
    ** digitalocean - claims to support ssh_key, but not via auth parameter. 
Initially I will just remove the feature metadata.
    ** ec2 - claims to support ssh_key, but not via auth parameter. For now I 
will just remove the feature metadata.
    ** hostvirtual - supports NodeAuthSSHKey and NodeAuthPassword, but doesnt 
have feature metadata. Will fix metadata.
    ** rimuhosting - already takes NodeAuthPassword but only claims to support 
generates_password. Support both.

I would also like to update the sphinx docs if they have landed in trunk when I 
have completed these changes. If they haven't i'll do a seperate PR.

I have identified some areas that could be improved and which I hope to work on:

 * cloudstack - this should be able to support NodeAuthSSHKey
 * digitialocean - this should be able to support NodeAuthSSHKey
 * ec2 - this could automatically create a keypair record and use it when a key 
is passed to the auth argument
 * gandi - could support NodeAuthPassword quite easily, but need to think about 
usernames.
 * ibm_sce - does not support NodeAuthSSHKey properly (expects pubkey to be a 
key *name*, not a key!!). Fix it.
 * voxel - Update to support NodeAuthPassword (equivalent to setting 
ex_rootpass?)
                
> Proper use of create_node and NodeAuthSSHKey
> --------------------------------------------
>
>                 Key: LIBCLOUD-367
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-367
>             Project: Libcloud
>          Issue Type: Bug
>          Components: Compute
>            Reporter: John Carr
>
> I've read through the documentation and code and it's not clear to me the 
> proper way to do this.
> My wishful thinking is that I can pass NodeAuthSSHKey to a Driver's 
> create_node function as the 'auth' argument... *if* 
> driver.features['create_node'] contains 'ssh_key'. Likewise NodeAuthPassword 
> is used to set the initial password when the 'create_node' feature contains 
> 'password'.
> However the code doesn't really back that up, and EC2 in particular doesn't 
> support that.
> Is there an interface to determine if I can pass NodeAuth* to create_node? If 
> there is, what is it? I will then submit patches to advertise support for 
> NodeAuth* on drivers that do and try and improve the docs.
> If there isn't, I would like to add one. The one I described would be the 
> ideal one, i think, but it would have side effects on EC2/deploy_node?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to