命令行参考

分配候选列表

列出分配候选者。

返回一个分配请求和资源提供者摘要的集合的表示。每个分配请求都包含向相关资源提供者集合声明资源所需的 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 - 它用于确定提供程序的资源消耗是否超过物理限制。例如,对于具有 allocation_ratio = 16.0,total = 8 的 vcpu 资源,总容量等于 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 插件提供。

资源提供程序库存显示

显示给定资源提供程序/类别的库存。

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

资源提供者的 UUID

resource_class

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

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

资源提供程序列表

列出资源提供程序

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

此参数至少需要 --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 插件提供。

trait show

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

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

openstack trait show <name>
name

特性的名称。

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