[openstack-dev] [nova][scheduler] Availability Zones and Host aggregates..

Chris Friesen chris.friesen at windriver.com
Thu Mar 27 18:15:23 UTC 2014

On 03/27/2014 11:48 AM, Day, Phil wrote:
> Sorry if I'm coming late to this thread, but why would you define AZs
> to cover "othognal zones" ?

See Vish's first message.

> AZs are a very specific form of aggregate - they provide a particular
> isolation schematic between the hosts (i.e. physical hosts are never
> in more than one AZ) - hence the "availability" in the name.

That's why I specified orthogonal.  If you're looking at different 
resources then it makes sense to have one host be in different AZs 
because the AZs are essentially in different namespaces.

So you could have "hosts in server room A" vs "hosts in server room B". 
  Or "hosts on network switch A" vs "hosts on network switch B".  Or 
"hosts with SSDs" vs "hosts with disks".  Then you could specify you 
want to boot an instance in server room A, on switch B, on a host with SSDs.

> AZs are built on aggregates, and yes aggregates can overlap and
> aggreagtes are used for scheduling.
> So if you want to schedule on features as well as (or instead of)
> physical isolation, then you can already:
> - Create an aggregate that contains "hosts with fast CPUs" - Create
> another aggregate that includes "hosts with SSDs" - Write (or
> configure in some cases) schedule filters that look at something in
> the request (such as schedule hint, an image property, or a flavor
> extra_spec) so that the scheduler can filter on those aggregates
> nova boot --availability-zone az1 --scheduler-hint want-fast-cpu
> --scheduler-hint want-ssd  ...

Does this actually work?  The docs only describe setting the metadata on 
the flavor, not as part of the boot command.

> nova boot --availability-zone az1 --flavor 1000 (where flavor 1000
> has extra spec that says it needs fast cpu and ssd)
> But there is no need that I can see to make AZs overlapping just to
> so the same thing - that would break what everyone (including folks
> used to working with AWS) expects from an AZ

As an admin user you can create arbitrary host aggregates, assign 
metadata, and have flavors with extra specs to look for that metadata.

But as far as I know there is no way to match host aggregate information 
on a per-instance basis.

Also, unless things have changed since I looked at it last as a regular 
user you can't create new flavors so the only way to associate an 
instance with a host aggregate is via an availability zone.


More information about the OpenStack-dev mailing list