1
0
mirror of https://github.com/Oxalide/vsphere-influxdb-go.git synced 2023-10-10 13:36:51 +02:00

check if there are clusters before retrieving configuration; don't get respool config twice

This commit is contained in:
Adrian Todorov 2017-11-12 15:37:04 +01:00
parent b47e66dea1
commit 9508bf0dae

View File

@ -297,19 +297,23 @@ func (vcenter *VCenter) Query(config Configuration, InfluxDBClient influxclient.
//Retrieve properties for Cluster(s)
var clmo []mo.ClusterComputeResource
if len(clusterRefs) > 0 {
err = pc.Retrieve(ctx, clusterRefs, []string{"name", "configuration", "host"}, &clmo)
if err != nil {
fmt.Println(err)
return
}
}
//Retrieve properties for ResourcePool
var rpmo []mo.ResourcePool
if len(respoolRefs) > 0 {
err = pc.Retrieve(ctx, respoolRefs, []string{"summary"}, &rpmo)
if err != nil {
fmt.Println(err)
return
}
}
// Retrieve summary property for all datastores
var dss []mo.Datastore
@ -322,12 +326,12 @@ func (vcenter *VCenter) Query(config Configuration, InfluxDBClient influxclient.
// Initialize the map that will hold the VM MOR to ResourcePool reference
vmToPool := make(map[types.ManagedObjectReference]string)
var respool []mo.ResourcePool
// Retrieve properties for ResourcePools
if len(respoolRefs) > 0 {
if debug == true {
stdlog.Println("going inside ResourcePools")
}
var respool []mo.ResourcePool
err = pc.Retrieve(ctx, respoolRefs, []string{"name", "config", "vm"}, &respool)
if err != nil {
fmt.Println(err)
@ -631,12 +635,12 @@ func (vcenter *VCenter) Query(config Configuration, InfluxDBClient influxclient.
}
}
var respool []mo.ResourcePool
err = pc.Retrieve(ctx, respoolRefs, []string{"name", "config", "vm"}, &respool)
if err != nil {
errlog.Println(err)
continue
}
// var respool []mo.ResourcePool
// err = pc.Retrieve(ctx, respoolRefs, []string{"name", "config", "vm"}, &respool)
// if err != nil {
// errlog.Println(err)
// continue
// }
for _, pool := range respool {
respoolFields := map[string]interface{}{