前言
openstack的各个模块中,都有相应的客户端模块实现,其作用是为用户访问具体模块提供了接口,并且也作为模块之间相互访问的途径。Cinder也一样,有着自己的cinder-client。这里以命令行cinder get-pools --detail为例,在代码中实现这个功能。
示例
[root@controller01 ~]# cinder get-pools --detail
+---------------------+-------------------------------+
| Property | Value |
+---------------------+-------------------------------+
| driver_version | 1.0.0 |
| filter_function | None |
| free_capacity_gb | 926.733192444 |
| goodness_function | None |
| name | compute03@QFS#local-compute03 |
| reserved_percentage | 0 |
| storage_protocol | qcow2 |
| timestamp | 2019-11-27T05:36:08.431242 |
| total_capacity_gb | 931.058551788 |
| vendor_name | Huayun Inc. |
| volume_backend_name | local-compute03 |
+---------------------+-------------------------------+
这个命令行调用的代码在cinderclient\v2\pools.py中
class PoolManager(base.Manager):
"""Manage :class:`Pool` resources."""
resource_class =