How to run object_walker on arbitrary object?

automate

#1

Hi Guys!
Do you known how to run object_walker on arbitrary object ? I want to investigate cloud_volume and cloud_volume_snapshot objects for relationships and methods but simulation does not allow to select these objects. Is there any way to pass objects as parameters to object_walker instance/method ? Curently I use CFME 5.7.


#2

Hmm

Found this solution:

For own instance I add Attribute by VM type:

from “run” method I can set this attribute and than call object_walker:

cloud_volume_snapshot = $evm.vmdb('cloud_volume_snapshot', 63)

$evm.root['attribute'] = cloud_volume_snapshot

$evm.instantiate('/Discovery/ObjectWalker/object_walker')

#3

I don’t think you’d need to define the schema attribute, just add an object of the type that you want to dump into $evm.root, i.e.

$evm.root['ocp_cluster'] = $evm.vmdb(:ems).first
$evm.root['container_project'] = $evm.vmdb(:ContainerProject).where(:name => 'cftest').first
$evm.root['container_service'] = $evm.vmdb(:ContainerService).first
$evm.root['container_route'] = $evm.vmdb(:ContainerRoute).first
$evm.root['container_node'] = $evm.vmdb(:ContainerNode).first
$evm.root['container_group'] = $evm.vmdb(:ContainerGroup).where(:name => 'service-1').first
$evm.instantiate('/Discovery/ObjectWalker/object_walker')

#4

Hi @pemcg

How easy !