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 <LDM_interface> Tag. The <action> tag details the type of event for which to register or unregister and the <data> section is left empty.
Example 7 Example Event Registration Request Message<LDM_interface version="1.3"> <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.
Example 8 Example Event Registration Response Message<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>
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.
Example 9 Example <LDM_event> Notification<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>
You can subscribe to the following event types:
Domain events
Hardware events
Progress events
Resource events
All the events correspond to ldm subcommands.
Domain events describe which actions can be performed directly to a domain. The following domain events can be specified in the <action> tag in the <LDM_event> message:
add-domain
bind-domain
domain-reset
migrate-domain
panic-domain
remove-domain
start-domain
stop-domain
unbind-domain
These events always contain only a <Content> tag in the OVF <data> section that describes the domain to which the event happened. To register for the domain events, send an <LDM_interface> message with the <action> tag set to reg-domain-events. To unregister for these events, send 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 Oracle VM Server for SPARC software, the only hardware changes are those to the service processor (SP) when you add, remove, or set 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. To unregister for these events, send 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. To unregister for these events, send 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 providing a service name in the OVF <data> section.
The following events can be specified in the <action> tag in the <LDM_event> message:
add-vdiskserverdevice
remove-vdiskserverdevice
set-vdiskserverdevice
remove-vdiskserver
set-vconscon
remove-vconscon
set-vswitch
remove-vswitch
The following resource events always contain only the <Content> tag in the OVF <data> section that describes the domain to which the event happened:
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
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.