make a change memory size event
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
7b3e24740d
commit
9518e70d7a
|
@ -178,34 +178,22 @@ func updateMemory(d *DropletT, domcfg *libvirtxml.Domain) bool {
|
||||||
// check memory
|
// check memory
|
||||||
if domcfg.Memory.Unit == "KiB" {
|
if domcfg.Memory.Unit == "KiB" {
|
||||||
m = int64(domcfg.Memory.Value * 1024)
|
m = int64(domcfg.Memory.Value * 1024)
|
||||||
if d.pb.Memory != m {
|
|
||||||
d.pb.Memory = m
|
|
||||||
me.changed = true
|
|
||||||
fmt.Printf("Memory changed %s to %d %s\n", pb.HumanFormatBytes(d.pb.Memory), domcfg.Memory.Value, domcfg.Memory.Unit)
|
|
||||||
}
|
|
||||||
d.SetMemory(m)
|
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if domcfg.Memory.Unit == "MiB" {
|
if domcfg.Memory.Unit == "MiB" {
|
||||||
m = int64(domcfg.Memory.Value * 1024 * 1024)
|
m = int64(domcfg.Memory.Value * 1024 * 1024)
|
||||||
if d.pb.Memory != m {
|
|
||||||
d.pb.Memory = m
|
|
||||||
me.changed = true
|
|
||||||
fmt.Printf("Memory changed %s to %d %s\n", pb.HumanFormatBytes(d.pb.Memory), domcfg.Memory.Value, domcfg.Memory.Unit)
|
|
||||||
}
|
|
||||||
d.SetMemory(m)
|
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if domcfg.Memory.Unit == "GiB" {
|
if domcfg.Memory.Unit == "GiB" {
|
||||||
m = int64(domcfg.Memory.Value * 1024 * 1024 * 1024)
|
m = int64(domcfg.Memory.Value * 1024 * 1024 * 1024)
|
||||||
if d.pb.Memory != m {
|
}
|
||||||
d.pb.Memory = m
|
if e := d.SetMemory(m); e != nil {
|
||||||
me.changed = true
|
fmt.Printf("Memory changed %s to %d %s\n", pb.HumanFormatBytes(d.pb.Memory), domcfg.Memory.Value, domcfg.Memory.Unit)
|
||||||
fmt.Printf("Memory changed %s, %d %s\n", pb.HumanFormatBytes(d.pb.Memory), domcfg.Memory.Value, domcfg.Memory.Unit)
|
d.pb.Memory = m
|
||||||
}
|
me.changed = true
|
||||||
d.SetMemory(m)
|
return true
|
||||||
|
} else {
|
||||||
|
// nothing changed
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
fmt.Println("Unknown Memory Unit", domcfg.Memory.Unit)
|
fmt.Println("Unknown Memory Unit", domcfg.Memory.Unit)
|
||||||
|
|
37
change.go
37
change.go
|
@ -4,6 +4,7 @@ import (
|
||||||
// "reflect"
|
// "reflect"
|
||||||
|
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"google.golang.org/protobuf/types/known/anypb"
|
"google.golang.org/protobuf/types/known/anypb"
|
||||||
"google.golang.org/protobuf/types/known/wrapperspb"
|
"google.golang.org/protobuf/types/known/wrapperspb"
|
||||||
|
@ -12,7 +13,7 @@ import (
|
||||||
"go.wit.com/log"
|
"go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
func convert(x any) *anypb.Any {
|
func convertToAnypb(x any) *anypb.Any {
|
||||||
switch v := x.(type) {
|
switch v := x.(type) {
|
||||||
case int64:
|
case int64:
|
||||||
var a *anypb.Any
|
var a *anypb.Any
|
||||||
|
@ -37,13 +38,37 @@ func convert(x any) *anypb.Any {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func convertToString(x any) string {
|
||||||
|
switch v := x.(type) {
|
||||||
|
case int64:
|
||||||
|
return fmt.Sprintf("%d", x.(int64))
|
||||||
|
case string:
|
||||||
|
return x.(string)
|
||||||
|
case int:
|
||||||
|
return fmt.Sprintf("%d", x.(int64))
|
||||||
|
case bool:
|
||||||
|
if x.(bool) {
|
||||||
|
return "true"
|
||||||
|
}
|
||||||
|
return "false"
|
||||||
|
default:
|
||||||
|
log.Error(errors.New("Set() unknown type"), "v =", v, "x =", x)
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
// Wrapping the int into a protobuf message
|
// Wrapping the int into a protobuf message
|
||||||
func NewEvent(origval any, newval any) *pb.Event {
|
func NewChangeEvent(d *pb.Droplet, origval any, newval any) *pb.Event {
|
||||||
var e *pb.Event
|
var e *pb.Event
|
||||||
e = new(pb.Event)
|
e = new(pb.Event)
|
||||||
|
|
||||||
e.OrigVal = convert(origval)
|
e.Droplet = d.Hostname
|
||||||
e.NewVal = convert(newval)
|
e.OrigVal = convertToString(origval)
|
||||||
|
e.NewVal = convertToString(newval)
|
||||||
|
|
||||||
|
// this also works, but it's a bit overkill
|
||||||
|
// e.NewAny = convertToAnypb(newval)
|
||||||
|
|
||||||
me.events.Events = append(me.events.Events, e)
|
me.events.Events = append(me.events.Events, e)
|
||||||
return e
|
return e
|
||||||
|
@ -55,12 +80,12 @@ func (d *DropletT) SetMemory(b int64) *pb.Event {
|
||||||
newm := pb.HumanFormatBytes(b)
|
newm := pb.HumanFormatBytes(b)
|
||||||
if d.pb.Memory == b {
|
if d.pb.Memory == b {
|
||||||
log.Info("droplet", d.pb.Hostname, "memory unchanged", oldm, "to", newm)
|
log.Info("droplet", d.pb.Hostname, "memory unchanged", oldm, "to", newm)
|
||||||
// return nil
|
return nil
|
||||||
}
|
}
|
||||||
log.Info("droplet", d.pb.Hostname, "memory change from", oldm, "to", newm)
|
log.Info("droplet", d.pb.Hostname, "memory change from", oldm, "to", newm)
|
||||||
|
|
||||||
var e *pb.Event
|
var e *pb.Event
|
||||||
e = NewEvent(d.pb.Memory, b)
|
e = NewChangeEvent(d.pb, d.pb.Memory, b)
|
||||||
e.FieldName = "Droplet.Memory"
|
e.FieldName = "Droplet.Memory"
|
||||||
|
|
||||||
stuff := me.events.FormatJSON()
|
stuff := me.events.FormatJSON()
|
||||||
|
|
Loading…
Reference in New Issue