[openstack-dev] Listing regions and availability zones - Doesn't this belong in Keystone?

Jay Pipes jaypipes at gmail.com
Fri Jan 18 16:10:45 UTC 2013

A couple folks have recently brought up why there isn't any ability in
Nova to list the availability zones and show the AZ and region for an

Phil Day shared the related blueprint [1] which led me to investigate
one of the patches proposed for the blueprint for listing availability


I'd like to bring up a point that I think is important to address before
such a patch is accepted.

Why is the listing of availability zones or regions an operation in Nova
at all? This information more naturally belongs in Keystone.

Many installations of Nova (including ours) do not use one giant Nova
database that stores data for instances in multiple availability zones.
To scale more effectively, we have a single Nova database for one
availability zone in a region.

On the other hand, we have a singular Keystone database cluster that
stores catalog information for more than one availability zone and more
than one region. We do this to enable a unified authentication model
across regions and AZs.

IMHO, it makes more sense to put operations for listing AZs and regions
into Keystone since:

a) Keystone already has natural interfaces for returning service
catalogs. Listing availability zones (and further, regions) is a natural
extension of the service catalog.

b) Availability zones and regions apply to more than just Nova. At a
minimum, volumes in Cinder are assigned in an availability zone.
Keystone advertises more endpoints than just Nova, so again it seems
more natural to have Keystone advertise the availability zones and
regions a tenant has access to.


[1] https://blueprints.launchpad.net/nova/+spec/show-availability-zone

More information about the OpenStack-dev mailing list