A.5. 定义自定义属性
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: 4.3 UserDefinedVMProperties: version: 4.4 UserDefinedVMProperties : memory=^[0-9]+$ version: 4.4
因为
memory
custom 属性已在UserDefinedVMProperties
配置键中定义,所以新的自定义属性必须附加到其中。其他自定义属性smartcard
添加到配置键的值中。新的自定义属性可以容纳值true
或false
。# engine-config -s UserDefinedVMProperties='memory=^[0-9]+$;smartcard=^(true|false)$' --cver=4.4
验证
UserDefinedVMProperties
配置键定义的自定义属性已正确更新。# engine-config -g UserDefinedVMProperties UserDefinedVMProperties: version: 4.3 UserDefinedVMProperties: version: 4.4 UserDefinedVMProperties : memory=^[0-9]+$;smartcard=^(true|false)$ version: 4.4
最后,必须重启 ovirt-engine 服务才能使配置更改生效。
# systemctl restart ovirt-engine.service
例 A.2. 设备属性 - 定义 接口
自定义属性
使用以下命令,检查
CustomDeviceProperties
配置键定义的现有自定义属性:# engine-config -g CustomDeviceProperties
如以下输出所示,尚未定义任何自定义属性。
# engine-config -g CustomDeviceProperties CustomDeviceProperties: version: 4.3 CustomDeviceProperties: version: 4.4
接口
自定义属性尚不存在,因此可以将其附加为。在本例中,速度
子操作的值设置为 0 到 99999,而duplex
子选项的值设定为full
或half
。# engine-config -s CustomDeviceProperties="{type=interface;prop={speed=^([0-9]{1,5})$;duplex=^(full|half)$}}" --cver=4.4
验证
CustomDeviceProperties
配置键定义的自定义属性已正确更新。# engine-config -g CustomDeviceProperties UserDefinedVMProperties: version: 4.3 UserDefinedVMProperties: version: 4.4 UserDefinedVMProperties : {type=interface;prop={speed=^([0-9]{1,5})$;duplex=^(full|half)$}} version: 4.4
最后,必须重启 ovirt-engine 服务才能使配置更改生效。
# systemctl restart ovirt-engine.service