Skip to content

Commit

Permalink
Add 'resource.pool.discover' method for discovering ResourcePool mana…
Browse files Browse the repository at this point in the history
…ged objects
  • Loading branch information
dnaeon committed Mar 29, 2014
1 parent 4bafd34 commit bca0e46
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 1 deletion.
33 changes: 33 additions & 0 deletions src/vpoller/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,39 @@ def cluster_discover(self, msg):
properties.extend(msg['properties'])

return self._discover_objects(properties=properties, obj_type=pyVmomi.vim.ClusterComputeResource)

def resource_pool_discover(self, msg):
"""
Discover all pyVmomi.vim.ResourcePool managed objects
Example client message would be:
{
"method": "resource.pool.discover",
"hostname": "vc01.example.org",
}
Example client message which also requests additional properties:
{
"method": "resource.pool.discover",
"hostname": "vc01.example.org",
"properties": [
"name",
"overallStatus"
]
}
Returns:
The discovered objects in JSON format
"""
# Property names to be collected
properties = ['name']
if msg.has_key('properties') and msg['properties']:
properties.extend(msg['properties'])

return self._discover_objects(properties=properties, obj_type=pyVmomi.vim.ResourcePool)

def host_discover(self, msg):
"""
Expand Down
6 changes: 5 additions & 1 deletion src/vpoller/worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,11 @@ def process_client_msg(self, msg):
},
'cluster.discover': {
'method': self.agents[vsphere_host].cluster_discover,
'msg_attr': ('method', 'name'),
'msg_attr': ('method', 'hostname'),
},
'resource.pool.discover': {
'method': self.agents[vsphere_host].resource_pool_discover,
'msg_attr': ('method', 'hostname'),
},
'host.discover': {
'method': self.agents[vsphere_host].host_discover,
Expand Down

0 comments on commit bca0e46

Please sign in to comment.