mirror of
https://github.com/puppetlabs/vmpooler-provider-vsphere.git
synced 2026-01-26 11:28:40 -05:00
Add provider method get_provisioning_trace
This commit is contained in:
parent
c91e62150a
commit
48bdf4505b
1 changed files with 19 additions and 0 deletions
|
|
@ -1225,6 +1225,25 @@ module Vmpooler
|
|||
return true if pool['create_linked_clone']
|
||||
return true if @config[:config]['create_linked_clones']
|
||||
end
|
||||
|
||||
def get_provisioning_trace(vm_name, pool_name)
|
||||
vm_object = nil
|
||||
events = nil
|
||||
@connection_pool.with_metrics do |pool_object|
|
||||
connection = ensured_vsphere_connection(pool_object)
|
||||
vm_object = find_vm(pool_name, vm_name, connection)
|
||||
event_manager = connection.serviceContent.eventManager
|
||||
event_filter_spec = RbVmomi::VIM::EventFilterSpec.new(
|
||||
entity: RbVmomi::VIM::EventFilterSpecByEntity.new(entity: vm_object, recursion: RbVmomi::VIM::EventFilterSpecRecursionOption(:all)),
|
||||
maxCount: 100 # Limit the number of events returned
|
||||
)
|
||||
# find events for vm
|
||||
events = event_manager.QueryEvents(filter: event_filter_spec)
|
||||
end
|
||||
# convert events to json, include only the fullFormattedMessage
|
||||
messages = events.map { |e| e.fullFormattedMessage }
|
||||
JSON.generate(messages)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue