您可以订阅以接收发生的某些状态更改的事件通知,而不使用轮询。可以单独订阅或集体订阅的事件类型有三种。有关完整的详细信息,请参见事件类型。
使用 <LDM_interface> 消息可注册事件。请参见<LDM_interface> 标记。<action> 标记详细说明了要注册或注销的事件类型,<data> 段保留为空。
示例 7 事件注册请求消息示例<LDM_interface version="1.3"> <cmd> <action>reg-domain-events</action> <data version="3.0"/> </cmd> </LDM_interface>
Logical Domains Manager 通过表示注册或注销是否成功的 <LDM_interface> 响应消息进行响应。
示例 8 事件注册响应消息示例<LDM_interface version="1.3"> <cmd> <action>reg-domain-events</action> <data version="3.0"/> <response> <status>success</status> </response> </data> <response> <status>success</status> </response> </cmd> <response> <status>success</status> </response> </LDM_interface>
在事件子段中会列出每个类型的事件的操作字符串。
事件消息除其开始标记是 <LDM_event> 之外,其格式与传入 <LDM_interface> 消息相同。消息的 <action> 标记是为触发事件而执行的操作。消息的 <data> 段用于描述与事件关联的对象;其详细信息取决于所发生事件的类型。
示例 9 <LDM_event> 通知示例<LDM_event version='1.1'> <cmd> <action>Event command here</action> <data version='3.0'> <Envelope <References/> <Content xsi:type='ovf:VirtualSystem_Type' ovf:id='ldg1'/> <Section xsi:type="ovf:ResourceAllocationSection_type"> <Item> <rasd:OtherResourceType>LDom Resource Type</rasd:OtherResourceType> <gprop:GenericProperty key="Property name">Property Value</gprop:GenericProperty> </Item> </Section> </Envelope> </data> </cmd> </LDM_event>
您可以订阅以下事件类型:
域事件
硬件事件
进度事件
资源事件
所有事件都与 ldm 子命令相对应。
域事件用于描述可直接对域执行的操作。可以在 <LDM_event> 消息的 <action> 标记中指定以下域事件:
add-domain
bind-domain
domain-reset
migrate-domain
panic-domain
remove-domain
start-domain
stop-domain
unbind-domain
这些事件在 OVF <data> 段中始终仅包含一个 <Content> 标记,用于描述发生事件的域。要注册域事件,请发送 <LDM_interface> 消息,其中,<action> 标记设置为 reg-domain-events。要取消注册这些事件,请发送 <LDM_interface> 消息,其中,<action> 标记设置为 unreg-domain-events。
硬件事件与更改物理系统硬件相关。如果使用 Oracle VM Server for SPARC 软件,则唯一的硬件更改是,在添加、删除或设置服务处理器 (service processor, SP) 配置时对 SP 进行的更改。当前,适用于此情况的仅有三种事件:
add-spconfig
set-spconfig
remove-spconfig
硬件事件在 OVF <data> 段中始终仅包含一个 <Section> 标记,用于描述发生事件的 SP 配置。要注册这些事件,请发送 <LDM_interface> 消息,其中,<action> 标记设置为 reg-hardware-events。要取消注册这些事件,请发送 <LDM_interface> 消息,其中,<action> 标记设置为 unreg-hardware-events。
进度事件是针对长时间运行的命令(例如,域迁移)发布的。这些事件可报告在运行命令期间完成的进展程度。目前,仅报告 migration-process 事件。
进度事件在 OVF <data> 段中始终仅包含一个 <Section> 标记,用于描述受事件影响的 SP 配置。要注册这些事件,请发送 <LDM_interface> 消息,其中,<action> 标记设置为 reg-hardware-events。要取消注册这些事件,请发送 <LDM_interface> 消息,其中,<action> 标记设置为 unreg-hardware-events。
进度事件的 <data> 段包含一个 <content> 段,用于描述受影响的域。此 <content> 段使用 ldom_info <Section> 标记来更新进度。下列常规属性显示于 ldom_info 段中:
--progress-命令执行的进度百分比
--status-命令状态,可以是 ongoing、failed 或 done 中的一种。
--source-报告进度的计算机
在任意域中添加、删除或更改资源时,会发生资源事件。其中某些事件的 <data> 段包含 <Content> 标记,该标记下的 <Section> 标记用于在 OVF <data> 段提供服务名称。
可以在 <LDM_event> 消息的 <action> 标记中指定以下事件:
add-vdiskserverdevice
remove-vdiskserverdevice
set-vdiskserverdevice
remove-vdiskserver
set-vconscon
remove-vconscon
set-vswitch
remove-vswitch
以下资源事件在 OVF <data> 段中始终仅包含 <Content> 标记,用于描述发生事件的域。
add-vcpu
add-crypto
add-memory
add-io
add-variable
add-vconscon
add-vdisk
add-vdiskserver
add-vnet
add-vsan
add-vswitch
remove-crypto
remove-io
remove-memory
remove-variable
remove-vcpu
remove-vdisk
remove-vnet
set-crypto
set-memory
set-variable
set-vconsole
set-vcpu
set-vdisk
set-vnet
要注册资源事件,请发送 <LDM_interface> 消息,其中,<action> 标记设置为 reg-resource-events。要注销这些事件,需要使用 <LDM_interface> 消息,其中,<action> 标记设置为 unreg-resource-events。
您还可以注册以侦听所有三种类型的事件,而无需单独注册每个事件。要同时注册所有这三种事件,需要发送 <LDM_interface> 消息,其中,<action> 标记设置为 reg-all-events。要注销这些事件,需要使用 <LDM_interface> 消息,其中,<action> 标记设置为 unreg-all-events。