summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addDroplet.go4
-rw-r--r--argv.go19
-rw-r--r--config.go (renamed from configfiles.go)0
-rw-r--r--main.go5
-rw-r--r--xml.go1
5 files changed, 21 insertions, 8 deletions
diff --git a/addDroplet.go b/addDroplet.go
index d9912c9..be08460 100644
--- a/addDroplet.go
+++ b/addDroplet.go
@@ -70,6 +70,8 @@ func findDomain(domcfg *libvirtxml.Domain) (*DropletT, error) {
}
if d.pb.Uuid == domcfg.UUID {
if d.pb.Hostname != domcfg.Name {
+ fmt.Println("protobuf has: UUID and Name:", d.pb.Uuid, d.pb.Hostname)
+ fmt.Println("libvirt has: UUID and Name:", domcfg.UUID, domcfg.Name)
fmt.Println("FOUND UUID WITH MIS-MATCHED NAME", domcfg.Name, domcfg.UUID)
return d, errors.New("UUID with mis-matched names")
}
@@ -224,7 +226,7 @@ func updateNetwork(d *DropletT, domcfg *libvirtxml.Domain) bool {
// fmt.Printf("source: %+v\n", iface.Source)
macs = append(macs, iface.MAC.Address)
} else {
- fmt.Printf("Interface: %s, MAC Address: not available\n", iface.Target.Dev)
+ fmt.Printf("Interface Target: %+v, MAC Address not available\n", iface.Target)
}
}
diff --git a/argv.go b/argv.go
index 4b06219..739c4b8 100644
--- a/argv.go
+++ b/argv.go
@@ -11,14 +11,14 @@ import "go.wit.com/log"
var argv args
type args struct {
- Xml []string `arg:"--add-xml" help:"add libvirt xml files"`
- CfgDir string `arg:"--dir" help:"defaults to ~/.config/virtigo/"`
- Hosts []string `arg:"--hosts" help:"hosts to connect to"`
+ Xml []string `arg:"--libvirt" help:"add current xml files: --libvirt /etc/libvirt/qemu/*.xml"`
+ Save bool `arg:"--save" default:"false" help:"save config protobuf after libvirt file import"`
+ Config string `arg:"--config" help:"defaults to ~/.config/virtigo/"`
Port int `arg:"--port" default:"8080" help:"allow droplet events via http"`
- Uptime bool `arg:"--uptime" default:"true" help:"allow uptime checks for things like Kuma"`
Daemon bool `arg:"--daemon" help:"run in daemon mode"`
- Save bool `arg:"--save" default:"false" help:"save xml changes to the protobuf values"`
}
+// Uptime bool `arg:"--uptime" default:"true" help:"allow uptime checks for things like Kuma"`
+// Hosts []string `arg:"--hosts" help:"hosts to connect to"`
func (a args) Description() string {
return `
@@ -27,6 +27,15 @@ virtigo will help control your cluster of hypervisiors
This maintains a master list of all your vm's (aka 'droplets')
in your homelab cloud. You can import libvirt xml files.
This app talks to your hypervisors via the virtigod daemon.
+
+Runs a http server so you can control your virtual machines with things like:
+start virtual machines with:
+
+ curl http://virtigo.wit.com/start?www.wit.com
+
+Import your existing libvirt xml files with:
+
+ virtigo --libvirt ~/mymachines/*.xml --save
`
}
diff --git a/configfiles.go b/config.go
index 220db76..220db76 100644
--- a/configfiles.go
+++ b/config.go
diff --git a/main.go b/main.go
index c942f27..7522435 100644
--- a/main.go
+++ b/main.go
@@ -24,9 +24,10 @@ func main() {
fullpath := filepath.Join(homeDir, ".config/virtigo")
os.Setenv("VIRTIGO_HOME", fullpath)
}
- pp := arg.MustParse(&argv)
+ var pp *arg.Parser
+ pp = arg.MustParse(&argv)
- if !argv.Uptime {
+ if pp == nil {
pp.WriteHelp(os.Stdout)
os.Exit(0)
}
diff --git a/xml.go b/xml.go
index b100b14..2584a54 100644
--- a/xml.go
+++ b/xml.go
@@ -96,6 +96,7 @@ func readXml(filename string) (*libvirtxml.Domain, error) {
}
if domcfg.Name != hostname {
+ log.Info("ERROR: filename:", filename)
log.Info("ERROR: domcfg.Name != name", domcfg.Name, hostname)
log.Info("ERROR: xml filenames must match the xml name")
os.Exit(-1)