A.7. 定义自定义属性
Red Hat Virtualization Manager 接受的自定义属性 - 依次传递给自定义 hook - 使用 engine-config 命令定义。在安装了 Red Hat Virtualization Manager 的主机中以
root
用户身份运行此命令。
UserDefinedVMProperties
和 CustomDeviceProperties
配置键用于存储支持的自定义属性的名称。定义每个命名自定义属性的有效值的正则表达式也包含在这些配置键中。
多个自定义属性由分号分隔。请注意,在设置配置键时,它包含的任何现有值都会被覆盖。在组合新的和现有的自定义属性时,必须包含用于设置键值的命令中的所有自定义属性。
更新配置密钥后,必须重启
ovirt-engine
服务,才能使新值生效。
例 A.1. 虚拟机属性 - 定义 智能卡
自定义属性
- 使用以下命令,检查
UserDefinedVMProperties
配置键定义的现有自定义属性:# engine-config -g UserDefinedVMProperties
如以下输出所示,自定义属性内存
已定义。正则表达式^[0-9]+$
确保自定义属性仅包含数字字符。# engine-config -g UserDefinedVMProperties UserDefinedVMProperties: version: 3.6 UserDefinedVMProperties: version: 4.0 UserDefinedVMProperties : memory=^[0-9]+$ version: 4.0
- 由于
memory
custom 属性已在UserDefinedVMProperties
配置键中定义,新的自定义属性必须附加到其中。额外的自定义属性smartcard
被添加到配置键的值中。新的自定义属性可以保存值true
或false
。# engine-config -s UserDefinedVMProperties='memory=^[0-9]+$;smartcard=^(true|false)$' --cver=4.0
- 验证
UserDefinedVMProperties
配置键定义的自定义属性是否已正确更新。# engine-config -g UserDefinedVMProperties UserDefinedVMProperties: version: 3.6 UserDefinedVMProperties: version: 4.0 UserDefinedVMProperties : memory=^[0-9]+$;smartcard=^(true|false)$ version: 4.0
- 最后,必须重启
ovirt-engine
服务才能使配置更改生效。# systemctl restart ovirt-engine.service
例 A.2. 设备属性 - 定义 接口
自定义属性
- 使用以下命令,检查
CustomDeviceProperties
配置键定义的现有自定义属性:# engine-config -g CustomDeviceProperties
如以下输出所示,还没有定义自定义属性。# engine-config -g CustomDeviceProperties CustomDeviceProperties: version: 3.6 CustomDeviceProperties: version: 4.0
接口
自定义属性不存在,因此它可以附加为。在本例中,speed
sub-property 的值设置为范围 0 到 99999,且duplex
子的值被设置为full
或half
的选择。# engine-config -s CustomDeviceProperties="{type=interface;prop={speed=^([0-9]{1,5})$;duplex=^(full|half)$}}" --cver=4.0
- 验证
CustomDeviceProperties
配置键定义的自定义属性是否已正确更新。# engine-config -g CustomDeviceProperties UserDefinedVMProperties: version: 3.6 UserDefinedVMProperties: version: 4.0 UserDefinedVMProperties : {type=interface;prop={speed=^([0-9]{1,5})$;duplex=^(full|half)$}} version: 4.0
- 最后,必须重启
ovirt-engine
服务才能使配置更改生效。# systemctl restart ovirt-engine.service