附录 C. 自动配置集标记
内省操作会执行一系列的基准数据测试,director 将保存这些测试数据。您可以使用这些数据来产生一组报告用来识别并隔离 Overcloud 中那些性能较低或不稳定的节点。另外,您也可以基于定制的策略来自动把节点标记为特定配置集。本节介绍了如何创建这些报告,以及如何创建策略来自动把节点标记为特定角色。
创建一个带有需要应用的内省规则的 JSON 文件(如
rules.json
):
[ { "description": "Fail introspection for unexpected nodes", "conditions": [ {"op": "lt", "field": "memory_mb", "value": 4096} ], "actions": [ {"action": "fail", "message": "Memory too low, expected at least 4 GiB"} ] }, { "description": "Assign profile for object storage", "conditions": [ {"op": "ge", "field": "local_gb", "value": 1024} ], "actions": [ {"action": "set-capability", "name": "profile", "value": "swift-storage"} ] }, { "description": "Assign possible profiles for compute and controller", "conditions": [ {"op": "lt", "field": "local_gb", "value": 1024}, {"op": "ge", "field": "local_gb", "value": 40} ], "actions": [ {"action": "set-capability", "name": "compute_profile", "value": "1"}, {"action": "set-capability", "name": "control_profile", "value": "1"}, {"action": "set-capability", "name": "profile", "value": null} ] } ]
这个示例包括 3 个规则:
- 如果内存低于 4096 MiB,内省失败。通过使用这个规则可以排除那些不应该成为您的云环境组成部分的节点。
- 硬盘容量大于或等于 1 TiB 的节点会被无条件地分配 swift-storage 配置集。
- 硬盘容量在 1 TiB 和 40 GiB 间的节点可以作为 Compute 节点或 Controller 节点。我们分配了两个配置集(
compute_profile
和control_profile
)以便openstack overcloud profiles match
命令可以做最终的决定。另外,在这种情况下,还需要删除存在的配置集(如果不删除,存在的配置集会被优先使用)。
其它节点没有改变
注意
使用内省规则分配
配置集
总会覆盖存在的值。但是,[PROFILE]_profile
是一个例外,已存在配置集的节点会忽略它。
使用以下命令把这个文件导入到 director:
$ openstack baremetal introspection rule import /path/to/rules.json
然后运行内省进程。
$ openstack baremetal introspection bulk start
在内省结束后,检查节点以及分配给它们的配置集:
$ openstack overcloud profiles list
如果您的内省规则有错误,可以把它们删除:
$ openstack baremetal introspection rule purge