用户文档

本文档描述了osc-placement 插件的各种使用方面,包括但不限于命令行示例和解释、参考以及微版本的使用。

完整的 Placement API 参考可以在这里找到

微版本使用

默认情况下,所有命令都使用 1.0 Placement API 版本运行。可以使用 --os-placement-api-version 选项指定不同的微版本,例如

$ openstack resource provider aggregate list --os-placement-api-version 1.1 dc43b86a-1261-4f8b-8330-28289fe754e3
+--------------------------------------+
| uuid                                 |
+--------------------------------------+
| 42896e0d-205d-4fe3-bd1e-100924931787 |
| 42896e0d-205d-4fe3-bd1e-100924931788 |
+--------------------------------------+

或者,可以设置 OS_PLACEMENT_API_VERSION 环境变量,例如

$ export OS_PLACEMENT_API_VERSION=1.1
$ openstack resource provider aggregate list dc43b86a-1261-4f8b-8330-28289fe754e3
+--------------------------------------+
| uuid                                 |
+--------------------------------------+
| 42896e0d-205d-4fe3-bd1e-100924931787 |
| 42896e0d-205d-4fe3-bd1e-100924931788 |
+--------------------------------------+

Placement API 版本历史记录可以在这里找到

示例

本节提供一些常见的命令行使用示例。

要查看资源提供程序可用的命令列表,请运行

$ openstack resource -h

资源提供程序

资源提供程序命令子集具有基本的 CRUD 接口。首先,可以轻松创建

$ p=$(openstack resource provider create Baremetal_node_01 -c uuid -f value)

并重命名

$ openstack resource provider set $p --name Baremetal_node_02
+------------+--------------------------------------+
| Field      | Value                                |
+------------+--------------------------------------+
| uuid       | c33caafc-b59c-46bc-b396-19f117171fec |
| name       | Baremetal_node_02                    |
| generation | 0                                    |
+------------+--------------------------------------+

要获取与资源提供程序相关的所有分配,请对 show 命令使用 --allocations 选项

$ openstack resource provider show $p --allocations
+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field       | Value                                                                                                                                                                                                                |
+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| uuid        | c33caafc-b59c-46bc-b396-19f117171fec                                                                                                                                                                                 |
| name        | Baremetal_node_02                                                                                                                                                                                                    |
| generation  | 4                                                                                                                                                                                                                    |
| allocations | {u'45f4ccf9-36e3-4d13-8c6b-80fd6c66a195': {u'resources': {u'VCPU': 1, u'MEMORY_MB': 512, u'DISK_GB': 10}}, u'2892c6f6-6ee7-4a34-aa20-156b8216de3c': {u'resources': {u'VCPU': 1, u'MEMORY_MB': 512, u'DISK_GB': 10}}} |
+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

如果资源提供程序具有分配,则无法删除它,否则只需执行

$ openstack resource provider delete $p

就完成了。

分配

可以通过多种方式为给定的消费者设置资源提供程序的分配。

在为单个资源提供程序设置分配时,通常最容易使用类似以下命令:

$ openstack resource provider allocation set 45f4ccf9-36e3-4d13-8c6b-80fd6c66a195 --allocation rp=dc43b86a-1261-4f8b-8330-28289fe754e3,DISK_GB=10,VCPU=1,MEMORY_MB=512
+--------------------------------------+------------+-------------------------------------------------+
| resource_provider                    | generation | resources                                       |
+--------------------------------------+------------+-------------------------------------------------+
| dc43b86a-1261-4f8b-8330-28289fe754e3 | 9          | {u'VCPU': 1, u'MEMORY_MB': 512, u'DISK_GB': 10} |
+--------------------------------------+------------+-------------------------------------------------+

或者,可以针对单独的提供程序设置资源分配

$ openstack resource provider allocation set 45f4ccf9-36e3-4d13-8c6b-80fd6c66a195 --allocation rp=dc43b86a-1261-4f8b-8330-28289fe754e3,VCPU=1,MEMORY_MB=512 --allocation rp=762746bc-de0d-47a7-b47a-a14028643663,DISK_GB=10
+--------------------------------------+------------+---------------------------------+
| resource_provider                    | generation | resources                       |
+--------------------------------------+------------+---------------------------------+
| dc43b86a-1261-4f8b-8330-28289fe754e3 | 9          | {u'VCPU': 1, u'MEMORY_MB': 512} |
| 762746bc-de0d-47a7-b47a-a14028643663 | 1          | {u'DISK_GB': 10}                |
+--------------------------------------+------------+---------------------------------+

在这种情况下,消费者 45f4ccf9-36e3-4d13-8c6b-80fd6c66a195 针对一个提供程序 dc43b86a-1261-4f8b-8330-28289fe754e3 具有 VCPU 和 MEMORY_MB 分配,针对另一个提供程序 762746bc-de0d-47a7-b47a-a14028643663 具有 DISK_GB 分配。

注意

在为消费者设置分配时,该命令会覆盖该消费者的任何现有分配。因此,如果您想添加或更改一个资源类别的分配,但保留其他现有的资源类别分配不变,则必须同时指定这些其他现有的未更改的分配,以免被删除。

资源类别

Placement 服务本身定义了一组标准的资源类别。这些标准资源类别无法修改。

用户可以创建和删除自定义资源类别,这些类别的名称前缀为 CUSTOM_