From 68aa10846760758283a3f4a79d105c3c643150ed Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Fri, 13 Sep 2024 15:24:38 +1000 Subject: [PATCH] bugfix --- internal/tasks/processEvents.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/internal/tasks/processEvents.go b/internal/tasks/processEvents.go index 0489074..0304369 100644 --- a/internal/tasks/processEvents.go +++ b/internal/tasks/processEvents.go @@ -35,11 +35,14 @@ func (c *CronTask) RunVmCheck(ctx context.Context, logger *slog.Logger) error { for _, evt := range events { logger.Debug("Checking event", "event", evt) + // TODO - get a list of unique vcenters, then process each event in batches + // to avoid doing unnecessary login/logout of vcenter + c.Logger.Debug("connecting to vcenter") vc := vcenter.New(c.Logger) vc.Login(evt.Source) - //vmObject, err := vc.FindVMByName(vm.CloudEvent.Data.VM.Name) - //vmObject, err := vc.FindVMByID(vm.CloudEvent.Data.VM.VM.Value) + + datacenter = evt.DatacenterName.String vmObject, err := vc.FindVMByIDWithDatacenter(evt.VmId.String, evt.DatacenterId.String) if err != nil { @@ -48,7 +51,6 @@ func (c *CronTask) RunVmCheck(ctx context.Context, logger *slog.Logger) error { c.Logger.Debug("didn't find VM", "vm_id", evt.VmId.String) numRam = 0 numVcpus = 0 - datacenter = evt.DatacenterName.String } else { c.Logger.Debug("found VM") //prettyPrint(vmObject) @@ -56,7 +58,8 @@ func (c *CronTask) RunVmCheck(ctx context.Context, logger *slog.Logger) error { // calculate VM properties we want to store if vmObject.Vm.Config != nil { numRam = vmObject.Vm.Config.Hardware.MemoryMB - numVcpus = vmObject.Vm.Config.Hardware.NumCPU * vmObject.Vm.Config.Hardware.NumCoresPerSocket + //numVcpus = vmObject.Vm.Config.Hardware.NumCPU * vmObject.Vm.Config.Hardware.NumCoresPerSocket + numVcpus = vmObject.Vm.Config.Hardware.NumCPU } else { c.Logger.Error("Empty VM config") }