← Back to team overview

openstack team mailing list archive

Re: Multi Clusters in a Region ...

 

On Wed, Feb 9, 2011 at 12:17 PM, Eric Day <eday@xxxxxxxxxxxx> wrote:
> Hi Sandy,
>
> Replying via email since it seems not much discussion is happening
> via the etherpad.
>
> I'm glad to see we're going with REST-API for inter-zone
> communication. This API should be the same thing we use for connecting
> any two clouds together, for example a customers private cloud and a
> public cloud (the private cloud would register resource availability
> for just their account). Keep this use case in mind (multi-tenant
> peering) as you're working through things, as this is probably going
> to be needed sooner than later.

++

> The main concern I have with the current proposal is the hosts
> table. Do we really need this? Instances can belong directly to zones
> and the capabilities can be live data, there is no reason to store
> this in a DB. Various workers (compute, network, volume) can notify
> the scheduler workers their current status either periodically or
> when something changes, and this information can be aggregated and
> pushed to other nodes. We're going to need to do this work eventually
> because we never want the hosts (ie, compute worker) writing directly
> to the DB, which it would need to do now for host stats.

When we discussed multi-cluster in San Antonio last week, Monsyne (or
maybe Chris B?) brought up a similar point, and I believe it was
decided to indeed leave off the hosts table since a zone can contain a
single host or many hosts, and a record in the zone table can be
attached to a set of attributes (I think we were using the term
"policy" or "SLA" for these set of attributes to attach to a zone).

Stuff that we might associate with a host -- for example, host
architecture, RAM, num processors, hypervisor, etc -- can instead be
stored as the zone attributes (policy or SLA).

So, in short, yes, I don't think the hosts table is necessary for the
given specification outlined for multi-cluster right now.

> As far as zone naming, I know we want to keep this free-form, but I'm
> starting to lean towards forcing a URI format. As we start integrating
> existing and introducing new services, we need some common locality
> references for objects between systems (more on this in another
> email later). For Nova, this would mean having something like:
>
> Example Zone Graph (assume a 'openstack-compute://' or other
> 'openstack-<service>://' prefix for all URIs):
>
> rackspace.com
>  north.rackspace.com
>    dc1.north.rackspace.com
>      rack1.dc1.north.rackspace.com
>      ...
>    dc2.north.rackspace.com
>      ...
>  south.rackspace.com
>    dc1.south.rackspace.com
>      ...
>    dc2.south.rackspace.com
>      ...
>  private.customer1.com
>  private.customer2.com
>  ...
>
> This allows us to make requests to the API with requests such as
> "Create an instance somewhere under zone 'north.rackspace.com'" or
> "Create an instance under 'existing_instance.zone' because this is
> where I have another instance already". Deployments can choose to be
> as specific as they want and organize names in any way. All URIs will
> be dynamic and could change at any point (migration from failover,
> re-balance, ...), so they should always be auto-discovered before
> being use via another API call.
>
> We can extend this one step further to also give every object in
> OpenStack a URI as well (it may or may not be resolvable via DNS). For
> example instanceXXXX.rack1.dc1.north.rackspace.com. These would also
> be dynamic since obviously a migration may cause it to move racks
> (or huddle, or whatever we want to call them). This would just be
> instance.name + '.' + current_zone_name.
>
> This type of locality naming gives us *some* structure so we can
> easily perform suffix matches across services to see if we're in
> the same zone without understanding the full hierarchy, as well as
> keeping it in a simple format everyone already understands.

I'm not sure I understand what the benefits of naming a zone as a URI
as opposed to just some name that describes it ("USNORTH",
"WINDOWSCAPABLE", "HIGH_SLA", whatever)

-jay

> On Mon, Feb 07, 2011 at 12:09:26PM +0000, Sandy Walsh wrote:
>>    Hi again,
>>    I've made some final changes to the Multi-Cluster spec and hope to start
>>    coding this week.
>>    In a nutshell:
>>    I spent the past week messing with RabbitMQ clusters, including WAN
>>    clusters between several Rackspace Data Centers. RabbitMQ doesn't really
>>    support inter-cluster communication without a nascent piece of technology
>>    called Shovel.
>>    Because of this and some concerns voiced by others, I've changed the spec
>>    to abstract the inter-zone communication approach to support Nova API
>>    communications initially, but leave room for AMQP communications down the
>>    road.
>>    http://wiki.openstack.org/MultiClusterZones now reflects these changes.
>>    Specifically: http://wiki.openstack.org/MultiClusterZones#Inter-Zone_Communication_and_Routing
>>    (ps> I have more data on the WAN testing I did this weekend and will put
>>    it on the wiki later today)
>>    Once again, look forward to your feedback
>>    here: http://etherpad.openstack.org/multiclusterdiscussion
>>    Thanks in advance,
>>    Sandy
>>
>>      ----------------------------------------------------------------------
>>
>>    From: openstack-bounces+sandy.walsh=rackspace.com@xxxxxxxxxxxxxxxxxxx
>>    [openstack-bounces+sandy.walsh=rackspace.com@xxxxxxxxxxxxxxxxxxx] on
>>    behalf of Sandy Walsh [sandy.walsh@xxxxxxxxxxxxx]
>>    Sent: Monday, January 31, 2011 3:26 PM
>>    To: openstack@xxxxxxxxxxxxxxxxxxx
>>    Subject: [Openstack] Multi Clusters in a Region ...
>>    Hi y'all,
>>    Now that the Network and API discussions have settled down a little I
>>    thought I'd kick up the dust again.
>>    I'm slated to work on the Multi Cluster in a Region BP for Cactus. This
>>    also touches on Zone/Host Capabilities and Distributed Scheduler, so
>>    feedback is important.
>>    https://blueprints.launchpad.net/nova/+spec/multi-cluster-in-a-region
>>    Here is my first draft at a spec. I'm putting it out there as strawman.
>>    Please burn as needed. Links to previous spec/notes are at the top of the
>>    spec.
>>    http://wiki.openstack.org/MultiClusterZones
>>    I will adjust as feedback is gathered.
>>    We can discuss this in this thread, or on the Etherpad (I prefer the
>>    etherpad since it's linked to the wiki page):
>>    http://etherpad.openstack.org/multiclusterdiscussion
>>    Thanks in advance,
>>    Sandy
>>
>>  Confidentiality Notice: This e-mail message (including any attached or
>>  embedded documents) is intended for the exclusive and confidential use of the
>>  individual or entity to which this message is addressed, and unless otherwise
>>  expressly indicated, is confidential and privileged information of Rackspace.
>>  Any dissemination, distribution or copying of the enclosed material is prohibited.
>>  If you receive this transmission in error, please notify us immediately by e-mail
>>  at abuse@xxxxxxxxxxxxx, and delete the original message.
>>  Your cooperation is appreciated.
>>
>>  Confidentiality Notice: This e-mail message (including any attached or
>>  embedded documents) is intended for the exclusive and confidential use of the
>>  individual or entity to which this message is addressed, and unless otherwise
>>  expressly indicated, is confidential and privileged information of Rackspace.
>>  Any dissemination, distribution or copying of the enclosed material is prohibited.
>>  If you receive this transmission in error, please notify us immediately by e-mail
>>  at abuse@xxxxxxxxxxxxx, and delete the original message.
>>  Your cooperation is appreciated.
>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openstack
>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>



Follow ups

References