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