summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addDroplet.go10
-rw-r--r--change.go136
-rw-r--r--validate.go8
3 files changed, 9 insertions, 145 deletions
diff --git a/addDroplet.go b/addDroplet.go
index 7c0bb59..7903348 100644
--- a/addDroplet.go
+++ b/addDroplet.go
@@ -111,12 +111,12 @@ func updateDroplet(d *pb.Droplet, domcfg *libvirtxml.Domain) ([]*pb.Event, error
// OS Type: &{Arch:x86_64 Machine:pc-i440fx-5.2 Type:hvm}
t := domcfg.OS.Type
if d.QemuArch != t.Arch {
- e := NewChangeEvent(d, "Droplet.QemuArch", d.QemuArch, t.Arch)
+ e := d.NewChangeEvent("Droplet.QemuArch", d.QemuArch, t.Arch)
alle = append(alle, e)
d.QemuArch = t.Arch
}
if d.QemuMachine != t.Machine {
- e := NewChangeEvent(d, "Droplet.QemuMachine", d.QemuMachine, t.Machine)
+ e := d.NewChangeEvent("Droplet.QemuMachine", d.QemuMachine, t.Machine)
alle = append(alle, e)
d.QemuMachine = t.Machine
}
@@ -126,7 +126,7 @@ func updateDroplet(d *pb.Droplet, domcfg *libvirtxml.Domain) ([]*pb.Event, error
if d.Cpus != int64(domcfg.VCPU.Value) {
// fmt.Printf("cpus changed. VCPU = %+v\n", domcfg.VCPU)
fmt.Printf("cpus changed. from %d to %d\n", d.Cpus, domcfg.VCPU.Value)
- alle = append(alle, NewChangeEvent(d, "Droplet.Cpus", d.Cpus, domcfg.VCPU.Value))
+ alle = append(alle, d.NewChangeEvent("Droplet.Cpus", d.Cpus, domcfg.VCPU.Value))
d.Cpus = int64(domcfg.VCPU.Value)
}
@@ -146,7 +146,7 @@ func updateDroplet(d *pb.Droplet, domcfg *libvirtxml.Domain) ([]*pb.Event, error
// print out, but ignore the port number
d.SpicePort = int64(s.Port)
fmt.Printf("Spice Port set to = %d\n", s.Port)
- alle = append(alle, NewChangeEvent(d, "Droplet.SpicePort", d.SpicePort, s.Port))
+ alle = append(alle, d.NewChangeEvent("Droplet.SpicePort", d.SpicePort, s.Port))
}
}
}
@@ -324,7 +324,7 @@ func updateNetwork(d *pb.Droplet, domcfg *libvirtxml.Domain) ([]*pb.Event, error
}
eth.Name = brname
d.Networks = append(d.Networks, eth)
- allEvents = append(allEvents, NewChangeEvent(d, "Droplet NewNetwork", "", mac+" "+brname))
+ allEvents = append(allEvents, d.NewChangeEvent("Droplet NewNetwork", "", mac+" "+brname))
}
}
diff --git a/change.go b/change.go
deleted file mode 100644
index 2352d38..0000000
--- a/change.go
+++ /dev/null
@@ -1,136 +0,0 @@
-package main
-
-import (
- // "reflect"
-
- "errors"
- "fmt"
- "time"
-
- "google.golang.org/protobuf/types/known/anypb"
- "google.golang.org/protobuf/types/known/timestamppb"
- "google.golang.org/protobuf/types/known/wrapperspb"
-
- pb "go.wit.com/lib/protobuf/virtbuf"
- "go.wit.com/log"
-)
-
-func convertToAnypb(x any) *anypb.Any {
- switch v := x.(type) {
- case int64:
- var a *anypb.Any
- a, _ = anypb.New(wrapperspb.Int64(x.(int64)))
- return a
- case string:
- var a *anypb.Any
- a, _ = anypb.New(wrapperspb.String(x.(string)))
- return a
- case int:
- var a *anypb.Any
- a, _ = anypb.New(wrapperspb.Int64(x.(int64)))
- return a
- case bool:
- var a *anypb.Any
- a, _ = anypb.New(wrapperspb.Bool(x.(bool)))
- return a
- default:
- log.Error(errors.New("convertToAnypb() unknown type"), "v =", v, "x =", x)
- 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.(int))
- case uint:
- return fmt.Sprintf("%d", x.(uint))
- case bool:
- if x.(bool) {
- return "true"
- }
- return "false"
- default:
- log.Info("convertToSTring() unknown type", v)
- log.Error(errors.New("convertToSTring() unknown type"), "v =", v, "x =", x)
- return ""
- }
- return ""
-}
-
-// Wrapping the int into a protobuf message
-func NewChangeEvent(d *pb.Droplet, fname string, origval any, newval any) *pb.Event {
- var e *pb.Event
- e = new(pb.Event)
-
- e.Droplet = d.Hostname
- e.OrigVal = convertToString(origval)
- e.NewVal = convertToString(newval)
- e.FieldName = fname
-
- now := time.Now()
- e.Start = timestamppb.New(now)
-
- // this also works, but it's a bit overkill
- // e.NewAny = convertToAnypb(newval)
-
- // me.events.Events = append(me.events.Events, e)
- // stuff := me.events.FormatJSON()
- // log.Info("events:", stuff)
- return e
-}
-
-// work in progress
-func NewAddEvent(a any, fname string, newval any) *pb.Event {
- var e *pb.Event
- e = new(pb.Event)
-
- switch v := a.(type) {
- case *pb.Droplet:
- var d *pb.Droplet
- d = a.(*pb.Droplet)
- e.Droplet = d.Hostname
- case *pb.Cluster:
- e.Droplet = "Cluster"
- case nil:
- e.Droplet = "<nil>"
- default:
- log.Info("newAddEvent() unknown type", v)
- e.Droplet = "on something somewhere"
- }
-
- e.NewVal = convertToString(newval)
- e.FieldName = fname
-
- now := time.Now()
- e.Start = timestamppb.New(now)
-
- return e
-}
-
-/*
-// update the droplet memory
-func (d *pb.Droplet) SetMemory(b int64) *pb.Event {
- oldm := pb.HumanFormatBytes(d.pb.Memory)
- newm := pb.HumanFormatBytes(b)
- if d.pb.Memory == b {
- // log.Info("droplet", d.pb.Hostname, "memory unchanged", oldm, "to", newm)
- return nil
- }
- log.Info("droplet", d.pb.Hostname, "memory change from", oldm, "to", newm)
-
- return NewChangeEvent(d.pb, "Droplet.Memory", d.pb.Memory, b)
-}
-*/
-
-/*
-// update the droplet memory
-func (d *pb.Droplet) SetCpus(b int64) {
- log.Info("Set the number of cpus for the droplet", b)
-}
-*/
diff --git a/validate.go b/validate.go
index 2668e9f..3822c2a 100644
--- a/validate.go
+++ b/validate.go
@@ -51,7 +51,7 @@ func addClusterFilepath(dir string) *pb.Event {
if !found {
if dir != "." {
// make a new Add Event
- e = NewAddEvent(nil, "Add Cluster Directory", dir)
+ e = pb.NewAddEvent(nil, "Add Cluster Directory", dir)
me.cluster.Dirs = append(me.cluster.Dirs, dir)
}
}
@@ -93,7 +93,7 @@ func insertFilename(d *pb.Droplet, filename string) (*pb.Event, error) {
}
}
// make a new Add Event
- e := NewChangeEvent(d, "Add Disk", "", filename)
+ e := d.NewChangeEvent("Add Disk", "", filename)
// add the disk protobuf entry
var disk *pb.Disk
@@ -146,7 +146,7 @@ func checkDiskFilenames() []*pb.Event {
addClusterFilepath(dir)
if disk.Filename != filebase {
// update filename
- e := NewChangeEvent(d, "Disk.Filename", disk.Filename, filebase)
+ e := d.NewChangeEvent("Disk.Filename", disk.Filename, filebase)
alle = append(alle, e)
disk.Filename = filebase
}
@@ -158,7 +158,7 @@ func checkDiskFilenames() []*pb.Event {
}
if disk.Filepath != dir {
// update filename
- e := NewChangeEvent(d, "Disk.Filepath", disk.Filepath, dir)
+ e := d.NewChangeEvent("Disk.Filepath", disk.Filepath, dir)
alle = append(alle, e)
disk.Filepath = dir
}