In lieu of polling, you can subscribe to receive event notifications of certain state changes that occur. There are three types of events to which you can subscribe, individually or collectively. See Event Types for complete details.
Use an <LDM_interface> message to register for events. See The <LDM_interface> Tag. The action tag details the type of event for which to register or unregister and the <data> section is left empty.
<LDM_interface version="1.0"> <cmd> <action>reg-domain-events</action> <data version="3.0"/> </cmd> </LDM_interface> |
The Logical Domains Manager responds with an <LDM_interface> response message stating whether the registration or unregistration was successful.
<LDM_interface version="1.0"> <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> |
The action string for each type of event is listed in the events subsection.
Event messages have the same format as an incoming <LDM_interface> message with the exception that the start tag for the message is <LDM_event>. The action tag of the message is the action that was performed to trigger the event. The data section of the message describes the object associated with the event; the details depend on the type of event that occurred.
<LDM_event version='1.0'> <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> |
Following are the event types to which you can subscribe:
Domain events
Hardware events
Progress events
Resource events
All the events correspond to Logical Domains Manager (ldm) subcommands.
Domain events describe what actions can be performed directly to a domain. The following table shows the domain events which can be listed in the <action> tag in the <LDM_event> message.
Domain Events |
Domain Events |
Domain Events |
---|---|---|
add-domain |
remove-domain |
bind-domain |
unbind-domain |
start-domain |
stop-domain |
domain-reset |
panic-domain |
migrate-domain |
These events always contain only a <Content> tag in the OVF data section that describes to which domain the event happened. To register for the domain events, send an <LDM_interface> message with the <action> tag set to reg-domain-events. Unregistering for these events requires an <LDM_interface> message with the action tag set to unreg-domain-events.
Hardware events pertain to changing the physical system hardware. In the case of LDoms software, the only hardware changes that can be made are those to the service processor (SP) when a user adds, removes, or sets an SP configuration. Currently, the only three events of this type are:
add-spconfig
set-spconfig
remove-spconfig
The hardware events always contain only a <Section> tag in the OVF data section which describes which SP configuration to which the event is happening. To register for these events, send an <LDM_interface> message with the <action> tag set to reg-hardware-events. Unregistering for these events requires an <LDM_interface> message with the <action> tag set to unreg-hardware-events.
Progress events are issued for long-running commands, such as a domain migration. These events report the amount of progress that has been made during the life of the command. At this time, only the migration-process event is reported.
Progress events always contain only a <Section> tag in the OVF data section that describes the SP configuration affected by the event. To register for these events, send an <LDM_interface> message with the <action> tag set to reg-hardware-events. Unregistering for these events requires an <LDM_interface> message with the <action> tag set to unreg-hardware-events.
The <data> section of a progress event consists of a <content> section that describes the affected domain. This <content> section uses an ldom_info <Section> tag to update progress. The following generic properties are shown in the ldom_info section:
--progress – Percentage of the progress made by the command
--status – Command status, which can be one of ongoing, failed, or done
--source – Machine that is reporting the progress
Resource events occur when resources are added, removed, or changed in any domain. The data section for some of these events contains the <Content> tag with a <Section> tag giving a service name in the OVF data section. The following table shows events which can be listed in the <action> tag in the <LDM_event> message.
Resource Events |
Resource Events |
---|---|
add-vdiskserverdevice |
remove-vdiskserverdevice |
set-vdiskserverdevice |
remove-vdiskserver |
set-vconscon |
remove-vconscon |
set-vswitch |
remove-vswitch |
remove-vdpcs |
|
The remaining resource events always contain only the <Content> tag in the OVF data section that describes to which domain the event happened.
Resource Events |
Resource Events |
Resource Events |
---|---|---|
add-vcpu |
add-crypto |
add-memory |
add-io |
add-variable |
add-vconscon |
add-vdisk |
add-vdiskserver |
add-vnet |
add-vswitch |
add-vdpcs |
add-vdpcc |
set-vcpu |
set-crypto |
set-memory |
set-variable |
set-vnet |
set-vconsole |
set-vdisk |
remove-vcpu |
remove-crypto |
remove-memory |
remove-io |
remove-variable |
remove-vdisk |
remove-vnet |
remove-vdpcc |
To register for the resource events, send an <LDM_interface> message with the <action> tag set to reg-resource-events. Unregistering for these events requires an <LDM_interface> message with the <action> tag set to unreg-resource-events.
You can also register to listen for all three type of events without having to register for each one individually. To register for all three types of events simultaneously, send an <LDM_interface> message with the <action> tag set to reg-all-events. Unregistering for these events require an <LDM_interface> message with the <action> tag set to unreg-all-events.