Marios Andreou created DTACLOUD-488:
---------------------------------------

             Summary: Openstack driver - re-map regions to providers rather 
than realms
                 Key: DTACLOUD-488
                 URL: https://issues.apache.org/jira/browse/DTACLOUD-488
             Project: DeltaCloud
          Issue Type: Bug
            Reporter: Marios Andreou
            Assignee: Marios Andreou


In DTACLOUD-443 [1] we introduced support for Openstack 'regions' - for when 
Openstack service providers support different endpoints for services in 
different 'regions' in the serviceCatalog returned after authentication. The 
initial and current mapping in Deltacloud is from  Openstack 'regions' to 
Deltacloud 'realms'. However, this has caused problems with the Openstack 
driver. For example, when you list Instances - which region's Instances should 
be retrieved? Similarly, when you create an Instance, if the client hasn't 
specified a 'realm_id' - which region should the Instance be created in? A 
slightly more complex problem is that not all services are supported in all 
regions - e.g. in the HPCloud Openstack deployment, region 
"region-a.geo-1" exposes only the 'object-store' service, whereas region 
"az-2.region-a.geo-1" exposes 'compute' and 'volume' services.

A better solution IMO is to map 'regions' to 'providers'. This is what the 
attach patch does. You can specify the provider (i.e. 'region') you'd like to 
use in the API_PROVIDER URL - either when starting the deltacloud server or 
with the X-Deltacloud-Provider header in HTTP requests [2]. For example - when 
starting the deltacloud server and with the Keystone service @ 
"https://keystone.service.org:35357/v2.0/"; and assuming you wish to manage 
resources in region 'region-1a' you would use:

deltacloudd -i openstack -P "https://keystone.service.org:35357/v2.0/;region-1a";

When you specify a region for the openstack driver, the collections exposed 
after a request to the Deltacloud entry point (e.g. /api) will only include 
those that are supported by the specified region (e.g. only object-store 
(buckets) or only compute (instances, images, realms, keys etc etc)). If you 
don't specify a region at all, but only provide the url for the keystone 
authentication service, then you will see no difference to current behaviour; 
the first region is picked from the returned serviceCatalog.

Testing and comments please!

marios


[1] https://issues.apache.org/jira/browse/DTACLOUD-443
[2] http://deltacloud.apache.org/drivers.html

--
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