placement

分配候选列表

列出分配候选者。

返回分配请求和资源提供者摘要的表示。每个分配请求都包含向相关的资源提供者集合声明资源所需的openstack resource provider allocation set 请求的信息。

由于有多个分配请求可用,因此有必要选择一个。为了做出决定,提供了资源提供者摘要,其中包含库存/容量信息。

例如

$ export OS_PLACEMENT_API_VERSION=1.10
$ openstack allocation candidate list --resource VCPU=1
+---+------------+-------------------------+-------------------------+
| # | allocation | resource provider       | inventory used/capacity |
+---+------------+-------------------------+-------------------------+
| 1 | VCPU=1     | 66bcaca9-9263-45b1-a569 | VCPU=0/128              |
|   |            | -ea708ff7a968           |                         |
+---+------------+-------------------------+-------------------------+

在这种情况下,用户正在寻找能够分配 1 VCPU 资源类的资源提供者。有一个资源提供者可以满足该分配请求,并且该资源提供者当前的 VCPU 库存使用量为 0,可用容量为 128。

此命令至少需要 --os-placement-api-version 1.10

openstack allocation candidate list
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--resource <resource_class>=<value>]
    [--limit <limit>]
    [--required <required>]
    [--forbidden <forbidden>]
    [--member-of <member_of>]
    [--group <group>]
    [--group-policy <group_policy>]
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

--resource <resource_class>=<value>

字符串,指示提供者在每个分配请求中必须集体具有容量和可用性以服务的指定类别的资源量。可以为每个资源类别指定多次。例如:--resource VCPU=4 --resource DISK_GB=64 --resource MEMORY_MB=2048

--limit <limit>

限制分配候选者最大数量的正整数。此选项至少需要 --os-placement-api-version 1.16

--required <required>

必需的特性。可以重复。分配候选者必须集体包含所有必需的特性。此选项至少需要 --os-placement-api-version 1.17。从 --os-placement-api-version 1.39 开始,此参数的值可以是逗号分隔的特性名称列表,以表达这些特性之间的 OR 关系。

--forbidden <forbidden>

禁止的特性。可以重复。返回的分配候选者不得包含任何指定的特性。此选项至少需要 --os-placement-api-version 1.22

--member-of <member_of>

逗号分隔的资源提供者聚合 UUID 列表。返回的分配候选者必须与由 UUID 标识的至少一个聚合相关联。此参数至少需要 --os-placement-api-version 1.21,并且可以重复以使用 --os-placement-api-version 1.24 或更高版本添加(限制)条件。例如,要获取 agg1 或 agg2 中的候选者,并且肯定在 agg3 中,请指定

--member_of <agg1>,<agg2> --member_of <agg3>

--group <group>

用于分组粒度请求的整数。如果指定,以下资源的给定选项、必需/禁止的特性和聚合将与该组关联,并在响应中由相同的资源提供者满足。可以重复以从同一资源提供者树中的多个资源提供者处获取候选者。例如,--group 1 --resource VCPU=3 --required HW_CPU_X86_AVX --group 2 --resource VCPU=2 --required HW_CPU_X86_SSE 将提供来自具有 HW_CPU_X86_AVX 特性的提供者的三个 VCPU 候选者,以及来自具有 HW_CPU_X86_SSE 特性的提供者的两个 VCPU 候选者。此选项至少需要 --os-placement-api-version 1.25 或更高版本,但要使放置服务器意识到资源提供者树,请使用 --os-placement-api-version 1.29 或更高版本。

--group-policy <group_policy>

这指示了当提供多个组时,组应该如何交互。对于 group_policy=none(默认值),单独的组可能由相同的提供者或不同的提供者满足。对于 group_policy=isolate,编号的组保证由不同的提供者满足。

此命令由 osc-placement 插件提供。

资源类创建

创建一个新的资源类。

此命令至少需要 --os-placement-api-version 1.2

openstack resource class create <name>
name

资源类的名称

此命令由 osc-placement 插件提供。

资源类删除

删除由 <name> 标识的资源类。

只能删除自定义资源类。

此命令至少需要 --os-placement-api-version 1.2

openstack resource class delete <name>
name

资源类的名称

此命令由 osc-placement 插件提供。

资源类列表

返回所有资源类的列表。

此命令至少需要 --os-placement-api-version 1.2

openstack resource class list
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

此命令由 osc-placement 插件提供。

资源类设置

创建或验证单个资源类是否存在。

openstack resource class create 不同,如果资源类已经存在,此命令也会成功,这使其成为一个幂等检查或创建命令。

此命令至少需要 --os-placement-api-version 1.7

openstack resource class set <name>
name

资源类的名称

此命令由 osc-placement 插件提供。

资源类显示

返回由 <name> 标识的资源类的表示。

此命令至少需要 --os-placement-api-version 1.2

openstack resource class show <name>
name

资源类的名称

此命令由 osc-placement 插件提供。

资源提供者聚合列表

列出资源提供者聚合。

此命令至少需要 --os-placement-api-version 1.1

openstack resource provider aggregate list
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

uuid

资源提供者的 UUID

此命令由 osc-placement 插件提供。

资源提供者聚合设置

将聚合列表与资源提供者关联。

每个请求都会清除先前关联的资源提供者聚合,并设置新的聚合。传递空的聚合 UUID 列表将删除与特定资源提供者的所有聚合关联。

此命令至少需要 --os-placement-api-version 1.1

openstack resource provider aggregate set
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--aggregate <aggregate_uuid>]
    [--generation <resource_provider_generation>]
    <uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

--aggregate <aggregate_uuid>

聚合的 UUID。多次指定以将资源提供者与多个聚合关联。

--generation <resource_provider_generation>

资源提供者的生成版本。必须与服务器端资源提供者的生成版本匹配,否则操作将失败。

此参数至少需要 --os-placement-api-version 1.19

uuid

资源提供者的 UUID

此命令由 osc-placement 插件提供。

资源提供者分配删除

删除给定消费者的所有资源分配。

openstack resource provider allocation delete <uuid>
uuid

消费者的 UUID

此命令由 osc-placement 插件提供。

资源提供者分配设置

替换给定消费者的资源分配集。

请注意,这是现有分配的完全替换。如果您想保留现有分配并添加新的资源类分配,则必须指定所有资源类分配,包括旧的和新的。

--os-placement-api-version 1.8 开始,需要指定 --project-id--user-id 以设置分配。出于会计和数据一致性的原因,强烈建议提供 --project-id--user-id

--os-placement-api-version 1.12 开始,API 响应包含分配的 project_iduser_id,这些信息也出现在 CLI 输出中。

--os-placement-api-version 1.28 开始,使用消费者生成版本,这有助于安全地并发修改分配。

--os-placement-api-version 1.38 开始,需要指定 --consumer-type 以设置分配。提供 --consumer-type 以设置分配,以便可以按消费者类型过滤资源使用情况,这很有帮助。

openstack resource provider allocation set
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--allocation <rp=resource-provider-id,resource-class-name=amount-of-resource-used>]
    [--project-id project_id]
    [--user-id user_id]
    [--consumer-type consumer_type]
    <uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

--allocation <rp=resource-provider-id,resource-class-name=amount-of-resource-used>

创建(或更新)资源类的分配。多次指定该选项以设置多个分配。

--project-id project_id

消耗项目的 ID。从 --os-placement-api-version 1.8 开始,此选项是必需的。

--user-id user_id

消耗用户的 ID。从 --os-placement-api-version 1.8 开始,此选项是必需的。

--consumer-type consumer_type

消费者的类型。从 --os-placement-api-version 1.38 开始,此选项是必需的。

uuid

消费者的 UUID

此命令由 osc-placement 插件提供。

resource provider allocation show

显示给定消费者的资源分配。

--os-placement-api-version 1.12 开始,API 响应包含分配的 project_iduser_id,这些信息也出现在 CLI 输出中。

--os-placement-api-version 1.38 开始,API 响应包含消费者的 consumer_type,该信息也会出现在 CLI 输出中。

openstack resource provider allocation show
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

uuid

消费者的 UUID

此命令由 osc-placement 插件提供。

resource provider allocation unset

移除消费者的提供者分配集合。

请注意,省略 --provider--resource-class 选项都等同于移除给定消费者的所有分配。

此命令需要 --os-placement-api-version 1.12 或更高版本。使用 openstack resource provider allocation set 获取旧版本。

openstack resource provider allocation unset
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--provider provider_uuid]
    [--resource-class resource_class]
    <consumer_uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

--provider provider_uuid

要移除分配的特定资源提供者的 UUID。当消费者在多个提供者上具有分配时,例如在将服务器迁移到另一个计算节点后,并且您希望清理源计算节点资源提供者上的分配以便删除它时,此选项很有用。多次指定此选项以移除多个资源提供者的分配。省略此选项以移除消费者的所有分配,或使用 --resource_class 选项从所有资源提供者移除特定资源类的所有分配。

--resource-class resource_class

要移除分配的资源类的名称。当消费者在多个资源类上具有分配时,此选项很有用。默认情况下,这将从所有提供者移除给定资源类的分配。如果同时指定了 --provider 选项,则要移除的分配将限制为给定资源提供者的该资源类。

consumer_uuid

消费者的 UUID。强烈建议使用 --os-placement-api-version 1.28 或更高版本,以便在使用此选项时保留其他分配信息。

此命令由 osc-placement 插件提供。

resource provider create

创建一个新的资源提供者

openstack resource provider create
    [--parent-provider <parent_provider>]
    [--uuid <uuid>]
    <name>
--parent-provider <parent_provider>

父提供者的 UUID。如果没有父提供者,则省略此选项。此选项需要至少 --os-placement-api-version 1.14

--uuid <uuid>

资源提供者的 UUID

name

资源提供者的名称

此命令由 osc-placement 插件提供。

resource provider delete

删除资源提供程序

openstack resource provider delete <uuid>
uuid

资源提供者的 UUID

此命令由 osc-placement 插件提供。

resource provider inventory class set

替换资源提供者类别的库存记录。

示例

openstack resource provider inventory class set <uuid> VCPU             --total 16             --max_unit 4             --reserved 1
openstack resource provider inventory class set
    [--allocation_ratio <allocation_ratio>]
    [--min_unit <min_unit>]
    [--max_unit <max_unit>]
    [--reserved <reserved>]
    [--step_size <step_size>]
    --total <total>
    <uuid>
    <class>
--allocation_ratio <allocation_ratio>

它用于确定提供者的资源消耗是否可以超过物理限制。例如,对于具有以下配置的 vCPU 资源:allocation_ratio = 16.0,total = 8。总容量等于 128 个 vCPU。

--min_unit <min_unit>

库存可以拥有的最小分配量。

--max_unit <max_unit>

库存可以拥有的最大分配量。

--reserved <reserved>

提供程序为其自身用途保留的资源的量。

--step_size <step_size>

可以请求的资源的整除量表示。例如,step_size = 5 表示只能请求可被 5 整除的值(5、10、15 等)。

--total <total>

提供程序可以容纳的资源的实际量。

uuid

资源提供者的 UUID

class

<resource_class> 是一个实体,指示资源提供者可以提供的标准或部署者特定的资源。例如,VCPU、MEMORY_MB、DISK_GB。

此命令由 osc-placement 插件提供。

resource provider inventory delete

删除库存。

根据资源类参数的存在,删除给定资源提供者或资源提供者/类对的所有库存。

删除给定资源提供者的所有库存需要至少 --os-placement-api-version 1.5

openstack resource provider inventory delete
    --resource-class <resource_class>
    <uuid>
--resource-class <resource_class>

<resource_class> 是一个实体,指示资源提供者可以提供的标准或部署者特定的资源。例如,VCPU、MEMORY_MB、DISK_GB。从 --os-placement-api-version 1.5 开始,可以省略此参数。如果省略,将删除指定资源提供者的所有库存。

uuid

资源提供者的 UUID

此命令由 osc-placement 插件提供。

resource provider inventory list

列出给定资源提供者的库存。

openstack resource provider inventory list
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

uuid

资源提供者的 UUID

此命令由 osc-placement 插件提供。

resource provider inventory set

替换资源提供者的库存记录集合。

请注意,默认情况下,这是对现有库存的完全替换。如果您想保留现有库存并添加新的资源类库存,则必须指定所有资源类库存,旧的和新的,或者指定 --amend 选项。

如果未指定给定资源类的特定库存字段,则假定为总数,即 --resource VCPU=16 等效于 --resource VCPU:total=16

示例

openstack resource provider inventory set <uuid>             --resource VCPU=16             --resource MEMORY_MB=2048             --resource MEMORY_MB:step_size=128
openstack resource provider inventory set
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--resource <resource_class>:<inventory_field>=<value>]
    [--aggregate]
    [--amend]
    [--dry-run]
    <uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

--resource <resource_class>:<inventory_field>=<value>

描述资源的字符串。<resource_class> 是一个实体,指示资源提供者可以提供的标准或部署者特定的资源。例如,VCPU、MEMORY_MB、DISK_GB。<inventory_field>(可选)可以是:allocation_ratio - 它用于确定提供者的资源消耗是否可以超过物理限制。例如,对于具有以下配置的 vcpu 资源:allocation_ratio = 16.0,total = 8。总容量等于 128 个 vcpu。min_unit - 任何单个针对库存的分配可以拥有的最小数量。max_unit - 任何单个针对库存的分配可以拥有的最大数量。reserved - 提供者为其自身用途保留的资源量。step_size - 可请求资源的整除量的一种表示。例如,step_size = 5 表示只能请求可被 5 整除的值(5、10、15 等)。total - 提供者可以容纳的资源的实际数量。

--aggregate

如果指定此选项,将设置属于聚合体的所有资源提供者的库存。此选项需要至少 --os-placement-api-version 1.3

--amend

如果指定此选项,库存将被修改而不是完全替换

--dry-run

如果指定此选项,将返回将要设置的库存,而不会实际设置任何库存

uuid

资源提供者的 UUID 或如果指定了 –aggregate,则聚合体的 UUID

此命令由 osc-placement 插件提供。

resource provider inventory show

显示给定资源提供者/类对的库存。

openstack resource provider inventory show <uuid> <resource_class>
uuid

资源提供者的 UUID

resource_class

<resource_class> 是一个实体,指示资源提供者可以提供的标准或部署者特定的资源。例如,VCPU、MEMORY_MB、DISK_GB。

此命令由 osc-placement 插件提供。

resource provider list

列出资源提供程序

openstack resource provider list
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--uuid <uuid>]
    [--name <name>]
    [--resource <resource_class>=<value>]
    [--in-tree <in_tree>]
    [--required <required>]
    [--forbidden <forbidden>]
    [--member-of <member_of>]
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

--uuid <uuid>

资源提供者的 UUID

--name <name>

资源提供者的名称

--resource <resource_class>=<value>

资源类值对,指示提供者必须具有服务指定类资源的能力量。可以重复使用。

此参数需要至少 --os-placement-api-version 1.4

--in-tree <in_tree>

限制列出与指定提供者 UUID 相同的“提供者树”。此选项需要至少 --os-placement-api-version 1.14

--required <required>

必需的特性。可以重复使用。资源提供者必须集体包含所有必需的特性。此选项需要至少 --os-placement-api-version 1.18。从 --os-placement-api-version 1.39 开始,此参数的值可以是逗号分隔的特性名称列表,以表达这些特性之间的 OR 关系。

--forbidden <forbidden>

禁止的特性。可以重复使用。返回的资源提供者不得包含任何指定的特性。此选项需要至少 --os-placement-api-version 1.22

--member-of <member_of>

资源提供者聚合的 UUID 逗号分隔列表。返回的资源提供者必须与 UUID 标识的至少一个聚合相关联。此参数需要至少 --os-placement-api-version 1.3,并且可以重复使用以添加(限制)条件,版本为 --os-placement-api-version 1.24 或更高版本。例如,要获取同时存在于 agg1 或 agg2 中且肯定存在于 agg3 中的候选者,请指定

--member_of <agg1>,<agg2> --member_of <agg3>

此命令由 osc-placement 插件提供。

资源提供者集合

更新现有的资源提供者

openstack resource provider set
    --name <name>
    [--parent-provider <parent_provider>]
    <uuid>
--name <name>

资源提供者的新名称

--parent-provider <parent_provider>

父提供者的 UUID。只能在资源提供者尚未有父项的情况下设置。此选项需要至少 --os-placement-api-version 1.14

uuid

资源提供者的 UUID

此命令由 osc-placement 插件提供。

资源提供者显示

显示资源提供者详细信息

openstack resource provider show [--allocations] <uuid>
--allocations

包含提供者资源的分配信息

uuid

资源提供者的 UUID

此命令由 osc-placement 插件提供。

资源提供者特性删除

解离资源提供者的所有特性。

请注意,如果多个进程正在管理同一提供者的特性,则此命令不是原子的。

此命令需要至少 --os-placement-api-version 1.6

openstack resource provider trait delete <uuid>
uuid

资源提供者的 UUID。

此命令由 osc-placement 插件提供。

资源提供者特性列表

列出与由 {uuid} 标识的资源提供者关联的特性。

此命令需要至少 --os-placement-api-version 1.6

openstack resource provider trait list
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

uuid

资源提供者的 UUID。

此命令由 osc-placement 插件提供。

资源提供者特性设置

将特性与由 {uuid} 标识的资源提供者关联。

所有关联的特性都将被指定特性替换。

此命令需要至少 --os-placement-api-version 1.6

openstack resource provider trait set
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--trait <trait>]
    <uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

--trait <trait>

特性的名称。可以重复使用。

uuid

资源提供者的 UUID。

此命令由 osc-placement 插件提供。

资源提供者使用情况显示

显示给定资源提供者的按类资源使用情况。

openstack resource provider usage show
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    <uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

uuid

资源提供者的 UUID

此命令由 osc-placement 插件提供。

资源使用情况显示

显示项目(以及可选的用户)按类的资源使用情况。

提供与由 project_id 参数标识的项目和由 --user-id 选项标识的用户关联的资源的使用信息报告。

此命令需要至少 --os-placement-api-version 1.9

openstack resource usage show
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--user-id <user-uuid>]
    <project-uuid>
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

--user-id <user-uuid>

用户的 ID。

project-uuid

项目的 ID。

此命令由 osc-placement 插件提供。

特性创建

创建一个新的自定义特性。

自定义特性必须以 CUSTOM_ 前缀开头,并且仅包含字母 A 到 Z、数字 0 到 9 和下划线“_”字符。

此命令需要至少 --os-placement-api-version 1.6

openstack trait create <name>
name

特性的名称。

此命令由 osc-placement 插件提供。

特性删除

删除由 {name} 指定的特性。

此命令需要至少 --os-placement-api-version 1.6

openstack trait delete <name>
name

特性的名称。

此命令由 osc-placement 插件提供。

特性列表

返回有效的特性字符串列表。

此命令需要至少 --os-placement-api-version 1.6

openstack trait list
    [--sort-column SORT_COLUMN]
    [--sort-ascending | --sort-descending]
    [--name <name>]
    [--associated]
--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

--name <name>

用于过滤特性的字符串。可用的选项如下:startswith 运算符过滤名称以特定前缀开头的特性,例如 name=startswith:CUSTOM,in 运算符过滤名称在指定列表中包含的特性,例如 name=in:HW_CPU_X86_AVX,HW_CPU_X86_SSE, HW_CPU_X86_INVALID_FEATURE。

--associated

如果呈现此参数,则返回的特性将是与至少一个资源提供者关联的那些特性。

此命令由 osc-placement 插件提供。

特性显示

检查特性名称是否存在于此云中。

此命令需要至少 --os-placement-api-version 1.6

openstack trait show <name>
name

特性的名称。

此命令由 osc-placement 插件提供。