incubator-deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Main <im...@redhat.com>
Subject 'Name' usage in deltacloud drivers
Date Tue, 07 Dec 2010 04:10:19 GMT
Hi Guys..

So with our work on deltacloud aggregator, we've been trying to figure
out what to use for the instance name.  I haven't actually looked at
the providers but I presume some of them require unique instance names.

In the web UI, the instance name can be entered before we know which
provider this instance is going to be started on.  Therefore, the
various restrictions listed below are a real cause for concern.

The latest thinking is to generate a UUID and the append the instance
name given by the user, and then chop it to the maximum length of the
'name' field for the selected provider.  Another idea is to use a pure
UUID for the name and store the user given name as some form of
metadata, tags, key/value pairs etc in the provider.

Either way we are going to require changes to the API.  Probably the
easiest is to just support a notion of the maximum instance name
length for a given provider.

Here is my notes on what I managed to round up looking at the various
providers API docs:


EC2:

- key/value pair tags.  Tags is probably the way to go here, tags are
  more easily accessible in the AWS WUI.
- user data
- 'name' does not seem to ever show up in AWS console (bug?)

Gogrid:

- 20 character limit on 'name'
- there is an optional 'description' field to the server.add method that
  could possibly be used to house the name.  This is currently not set
  in the gogrid driver.

Rackspace:

- rackspace uses 'metadata' in their server/instance create api call
  which uses the key/value pair setup.
- No mention on 'name' restrictions.

RHEVM:

- Doesn't seem to have anything other than 'name'.
- Name has 64 char limit, no special characters.  Although apparently '-'
and '_' work.

Rimuhosting:

- instance 'name' appears to require that it be a fqdn 'domain_name'. 
  The driver code has:
  
  # really bad, but at least its a fqdn
  Time.now.to_s + '.com'
  
  in the case where the 'name' is not set by the user.  It looks like it
requires a fqdn in the docs:

  domain_name | xsd:string | The label you want to give the server.  It
will need to be a fully qualified domain name.

- I see no provisions for any kind of key/value or user data etc.


Terramark:

- 'name' can be alphanumeric and '-', must begin with a letter, 15 char
limit.
- I don't see any kind of user data, key/value etc.  Only thing might be
the 'group' designation which I'm not sure how that's really used.


	Ian




Mime
View raw message