[openstack-dev] API and implementation about show-availability-zone blueprint

lzy.dev at gmail.com lzy.dev at gmail.com
Tue Jan 15 07:10:31 UTC 2013


Hi TianTian,

I have saw the show-availability-zone blueprint you created at
https://blueprints.launchpad.net/nova/+spec/show-availability-zone,
for "show all availibility_zone in a region" part, it's on TODO
status, I also have this requirement so I have designed and commited
the implementation to our internal. Since I don't want to revisit it
in Grizll, so shall we talk about a)YOUR PLAN and b)ALIGN OUR
IMPLEMENTATION WITH IT in future? There are API and implementation two
parts, thanks.

1. For API part, I need it expose two restful endpoints to return a
summary or detailed list of availability zone to client, just like EC2
API allowed.
Summary list (normal role) API: /v2/{tenant}/os-availability-zone
Details list (admin  role) API: /v2/{tenant}/os-availability-zone/detail

I have one consern for API is that as we know nova-api ec2 API
endpoint has ready support AZ listing function, so do you think it is
a duplication on the design principle level? @Vish, could you pls give
input? and @TianTian, what about reuse "os-availability-zone"
extension but not create "availability_zones" new one and what's your
plan?

2. For implementation part, I have wrote an API extension base on
os-availability-zone extension and a ResourceExtension to adding
availability zone listing api extension to nova-api. In my current
implementation, listing result like below:

Example summary list as following (python-novaclient changed also):
lzy at dev-controller-ibm-folsom:˜/workspace/openstack-es/python-novaclient$
nova availability-zone-list
+----------------------------------------+---------------------------------+
| Name                                   | Status                          |
+----------------------------------------+---------------------------------+
| nova                                   | available                       |
+----------------------------------------+---------------------------------+

Example details list as following  (python-novaclient changed also):
lzy at dev-controller-ibm-folsom:˜/workspace/openstack-es/python-novaclient$
nova availability-zone-list
+----------------------------------------+---------------------------------+
| Name                                   | Status                          |
+----------------------------------------+---------------------------------+
| nova                                   | available                       |
| |- dev-compute-ibm-folsom-1            |                                 |
| | |- nova-compute                      | enabled XXX 2012-12-11 11:35:06 |
| |- dev-controller-ibm-folsom           |                                 |
| | |- nova-scheduler                    | enabled XXX 2012-12-12 03:41:11 |
| | |- nova-cert                         | enabled XXX 2012-11-29 12:27:04 |
| | |- nova-network                      | enabled XXX 2012-12-12 03:41:11 |
| |- dev-nova-network-gateway-ibm-folsom |                                 |
| | |- nova-network                      | enabled XXX 2012-12-11 08:47:54 |
+----------------------------------------+---------------------------------+

I have also one consern for this implementation part. As we know in
grizzly we will import Cell concept, I'm not sure this change can keep
consistency between the Availability zone and Cell concept? @Vish,
could you pls input something to make me sure?

Thanks.
Zhi Yan Liu



More information about the OpenStack-dev mailing list