You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by Florin Ardelian <f....@gmail.com> on 2012/11/13 12:50:13 UTC

Creating the ProfitBricks driver

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.

>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

Re: Creating the ProfitBricks driver

Posted by Florin Ardelian <f....@gmail.com>.
Your idea sounds good enough, thanks! I will look into supporting
add/edit/delete ralms.

On Tue, Nov 13, 2012 at 2:03 PM, Koper, Dies <di...@fast.au.fujitsu.com>wrote:

> Hi Florin,
>
> I believe Deltacloud is very flexible on the definition of realms.
> With the FGCP I have mapped realms to two FGCP concepts: Systems (which
> are equivalent to the CIMI concept: a bunch of servers part of a private
> tiered network) and the network tiers. They could be in any region, any
> data centre.
> It's not a perfect mapping - listing the realms lists both types but
> when you create a resource the realm you are allowed to specify is
> specific for the resource (i.e. a volume needs a system realm while an
> instance needs a network realm) - but it works.
>
> Add the time, we discussed adding create/delete actions to realms to
> allow the creation/deletion of fgcp systems.
> As fgcp was the only driver with this requirement, and I found an
> acceptable workaround (each system is fronted by a firewall, so I mapped
> create_firewall to creating a system), so that never materialised.
>
> Regards,
> Dies Koper
>
>
> > -----Original Message-----
> > From: Florin Ardelian [mailto:f.ardelian@gmail.com]
> > Sent: Tuesday, 13 November 2012 10:50 PM
> > To: dev@deltacloud.apache.org
> > Subject: Creating the ProfitBricks driver
> >
> > 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.
> >
> > 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
>
>


-- 
+40-740-903838

RE: Creating the ProfitBricks driver

Posted by "Koper, Dies" <di...@fast.au.fujitsu.com>.
Hi Florin,

I believe Deltacloud is very flexible on the definition of realms.
With the FGCP I have mapped realms to two FGCP concepts: Systems (which
are equivalent to the CIMI concept: a bunch of servers part of a private
tiered network) and the network tiers. They could be in any region, any
data centre.
It's not a perfect mapping - listing the realms lists both types but
when you create a resource the realm you are allowed to specify is
specific for the resource (i.e. a volume needs a system realm while an
instance needs a network realm) - but it works.

Add the time, we discussed adding create/delete actions to realms to
allow the creation/deletion of fgcp systems.
As fgcp was the only driver with this requirement, and I found an
acceptable workaround (each system is fronted by a firewall, so I mapped
create_firewall to creating a system), so that never materialised.

Regards,
Dies Koper


> -----Original Message-----
> From: Florin Ardelian [mailto:f.ardelian@gmail.com]
> Sent: Tuesday, 13 November 2012 10:50 PM
> To: dev@deltacloud.apache.org
> Subject: Creating the ProfitBricks driver
> 
> 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.
> 
> 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


Re: Creating the ProfitBricks driver

Posted by "marios@redhat.com" <ma...@redhat.com>.
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
>