Return-Path: Delivered-To: apmail-incubator-deltacloud-dev-archive@minotaur.apache.org Received: (qmail 34759 invoked from network); 7 Dec 2010 04:10:55 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 7 Dec 2010 04:10:55 -0000 Received: (qmail 37162 invoked by uid 500); 7 Dec 2010 04:10:55 -0000 Delivered-To: apmail-incubator-deltacloud-dev-archive@incubator.apache.org Received: (qmail 37074 invoked by uid 500); 7 Dec 2010 04:10:52 -0000 Mailing-List: contact deltacloud-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: deltacloud-dev@incubator.apache.org Delivered-To: mailing list deltacloud-dev@incubator.apache.org Received: (qmail 36990 invoked by uid 99); 7 Dec 2010 04:10:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Dec 2010 04:10:52 +0000 X-ASF-Spam-Status: No, hits=-5.0 required=10.0 tests=RCVD_IN_DNSWL_HI,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of imain@redhat.com designates 209.132.183.28 as permitted sender) Received: from [209.132.183.28] (HELO mx1.redhat.com) (209.132.183.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Dec 2010 04:10:44 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id oB74ALx5021829 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 6 Dec 2010 23:10:22 -0500 Received: from [10.3.112.11] ([10.3.112.11]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id oB74AKQe017809 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO) for ; Mon, 6 Dec 2010 23:10:21 -0500 Subject: 'Name' usage in deltacloud drivers From: Ian Main To: deltacloud-dev@incubator.apache.org Content-Type: text/plain; charset="UTF-8" Date: Mon, 06 Dec 2010 20:10:19 -0800 Message-ID: <1291695019.3244.4880.camel@len.mains.priv> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Virus-Checked: Checked by ClamAV on apache.org 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