Hey Florin: On 13/11/12 13:50, Florin Ardelian wrote: > Hi folks, > > I began work on the ProfitBricks driver, but I had to halt because I found > an inconsistency between the common models implemented by Deltacloud and > the ProfitBricks model. ProfitBricks defines physical data centers as > "regions" (currently EUROPE and NORTH_AMERICA), but it also reserves "data > centers" for virtual data centers which users can define in any region they > want. All virtual resources must be placed in a virtual data center. For > example, a user can create two virtual data centers in the EUROPE region > and one in the NORTH_AMERICA region, each with their own servers, storages > and firewalls.
first off - welcome to the project! So, the above sounds kinda similar to what we do with the ec2 driver: EC2 "Region" --> Deltacloud Provider EC2 "Availability Zone" --> Deltacloud Realm So you can possibly map your "physical data center" to "provider" and then "virtual data center" to realm. Might this work? All that remains then is, as Dies said, to add and expose 'create'/'delete' for realms in the frofitbricks driver. Looking at the website it seems we don't have much info there about 'providers' (some here http://deltacloud.apache.org/drivers.html). I put some notes here: * clients can use the X-Deltacloud-Provider header to change provider that deltacloud 'talks' to * you can launch your deltacloud server with a particular provider like: deltacloudd -i <driver> -P <provider> * alternatively you can set API_PROVIDER env variable * see ec2 driver as example on how providers are used (e.g. see new_client method) happy hacking! marios > > From what I have seen, Deltacloud uses the term "realm" to define a > physical data center. This is the equivalent of "region" used by both > Amazon and ProfitBricks. The problem with ProfitBricks is that if a user > wants to create a resource in a region, he must put that resource in a > virtual data center that belongs to that same region. For example, if a > user wants to create a ProfitBricks server in NORTH_AMERICA, he must first > create a virtual data center in NORTH_AMERICA and then create his server in > that virtual data center. > > What can I do to account for the missing step? Any tips on how I should > begin to implement these virtual data centers? Would this involve adding > support for a new driver feature, maybe called :virtual_datacenters or > something similar? > > Thanks, > Florin >
