openstack中的nova api如何确定可用性区域列表顺序?
我想在horizon中的openstack设置中更改可用性区域的默认选项。但是,我很难找出是什么决定了nova api返回的可用性区域的顺序。例如,运行openstack中的nova api如何确定可用性区域列表顺序?,openstack,Openstack,我想在horizon中的openstack设置中更改可用性区域的默认选项。但是,我很难找出是什么决定了nova api返回的可用性区域的顺序。例如,运行openstack可用性区域列表I获得: +--------------+-------------+ | Zone Name | Zone Status | +--------------+-------------+ | zone2 | available | | zone1 | available
openstack可用性区域列表
I获得:
+--------------+-------------+
| Zone Name | Zone Status |
+--------------+-------------+
| zone2 | available |
| zone1 | available |
| internal | available |
| zone3 | available |
+--------------+-------------+
这与horizon的下拉框中的顺序相同。但是,直接查询数据库时,我得到:
mysql> select * from aggregate_metadata;
+---------------------+------------+------------+----+--------------+-------------------+--------------+---------+
| created_at | updated_at | deleted_at | id | aggregate_id | key | value | deleted |
+---------------------+------------+------------+----+--------------+-------------------+--------------+---------+
| 2015-06-12 08:43:07 | NULL | NULL | 1 | 1 | availability_zone | zone1 | 0 |
| 2015-06-12 08:43:08 | NULL | NULL | 2 | 2 | availability_zone | zone2 | 0 |
| 2015-10-26 05:30:15 | NULL | NULL | 3 | 3 | availability_zone | zone3 | 0 |
+---------------------+------------+------------+----+--------------+-------------------+--------------+---------+
3 rows in set (0.00 sec)
显然,openstack api在返回结果之前正在进行排序。。。但是,我不知道它是如何排序的,也不知道如何控制排序。是nova api用来收集可用区域列表的函数
此函数用于获取可用服务的列表(根据id排序),添加可用区域名称并将其添加到这些服务中
因为服务列表是第一步,所以它的id定义了顺序,而不是区域名称
可以根据需要以不同的方式修改排序顺序
availability\u zones.sort()
not\u availability\u zones.sort()
available_zones.sort()
not_available_zones.sort()