new ConfigSave()
This commit is contained in:
parent
814d36b9c9
commit
688b5039a0
7
add.go
7
add.go
|
@ -62,6 +62,13 @@ func (c *OldCluster) FindDropletByName(name string) *Droplet {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *OldCluster) FindDropletByUuid(id string) *Droplet {
|
func (c *OldCluster) FindDropletByUuid(id string) *Droplet {
|
||||||
|
log.Info("START FIND", id)
|
||||||
|
loop := c.d.All() // get the list of droplets
|
||||||
|
for loop.Scan() {
|
||||||
|
d := loop.Next()
|
||||||
|
log.Info("droplet:", d.Hostname, d.Uuid)
|
||||||
|
}
|
||||||
|
log.Info("END FIND", id)
|
||||||
return c.d.FindByUuid(id)
|
return c.d.FindByUuid(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
43
config.go
43
config.go
|
@ -9,11 +9,34 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
|
"go.wit.com/log"
|
||||||
"google.golang.org/protobuf/encoding/protojson"
|
"google.golang.org/protobuf/encoding/protojson"
|
||||||
"google.golang.org/protobuf/encoding/prototext"
|
"google.golang.org/protobuf/encoding/prototext"
|
||||||
"google.golang.org/protobuf/reflect/protoreflect"
|
"google.golang.org/protobuf/reflect/protoreflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func (c *Cluster) ConfigSave() error {
|
||||||
|
name := c.Name
|
||||||
|
if name == "" {
|
||||||
|
name = c.Uuid
|
||||||
|
}
|
||||||
|
fullname := filepath.Join(os.Getenv("VIRTIGO_HOME"), name+".pb")
|
||||||
|
cfgfile, err := os.OpenFile(fullname, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
|
||||||
|
defer cfgfile.Close()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("open config file :", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
log.Info("ConfigSave()", fullname)
|
||||||
|
data, err := c.Marshal()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("cluster Marshal() err:", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
fmt.Fprintln(cfgfile, data)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// writes out the cluster information it seperate files
|
// writes out the cluster information it seperate files
|
||||||
// to make it humanly possible to hand edit things as needed
|
// to make it humanly possible to hand edit things as needed
|
||||||
func (c *OldCluster) ConfigSave() error {
|
func (c *OldCluster) ConfigSave() error {
|
||||||
|
@ -34,20 +57,12 @@ func (c *OldCluster) ConfigSave() error {
|
||||||
for _, drop := range dcopy.Droplets {
|
for _, drop := range dcopy.Droplets {
|
||||||
drop.Current = nil
|
drop.Current = nil
|
||||||
}
|
}
|
||||||
if err := ConfigWriteJSON(dcopy, "droplets.json"); err != nil {
|
|
||||||
fmt.Println("droplets.json write failed")
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := ConfigWriteTEXT(dcopy, "droplets.text"); err != nil {
|
if err := ConfigWriteTEXT(dcopy, "droplets.text"); err != nil {
|
||||||
fmt.Println("droplets.json write failed")
|
fmt.Println("droplets.json write failed")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
c.configWriteDroplets()
|
c.configWriteDroplets()
|
||||||
|
|
||||||
if err := ConfigWriteJSON(c.H, "hypervisors.json"); err != nil {
|
|
||||||
fmt.Println("hypervisors.json write failed")
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := ConfigWriteTEXT(c.H, "hypervisors.text"); err != nil {
|
if err := ConfigWriteTEXT(c.H, "hypervisors.text"); err != nil {
|
||||||
fmt.Println("hypervisors.json write failed")
|
fmt.Println("hypervisors.json write failed")
|
||||||
return err
|
return err
|
||||||
|
@ -69,18 +84,18 @@ func (c *OldCluster) ConfigLoad() error {
|
||||||
return errors.New("It's not safe to run ConfigLoad() on a nil cluster")
|
return errors.New("It's not safe to run ConfigLoad() on a nil cluster")
|
||||||
}
|
}
|
||||||
|
|
||||||
if data, err := loadFile("droplets.json"); err == nil {
|
if data, err := loadFile("droplets.text"); err == nil {
|
||||||
if err = protojson.Unmarshal(data, c.d); err != nil {
|
if err = prototext.Unmarshal(data, c.d); err != nil {
|
||||||
fmt.Println("broken droplets.json config file")
|
fmt.Println("broken droplets.text config file")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if data, err := loadFile("hypervisors.json"); err == nil {
|
if data, err := loadFile("hypervisors.text"); err == nil {
|
||||||
if err = protojson.Unmarshal(data, c.H); err != nil {
|
if err = prototext.Unmarshal(data, c.H); err != nil {
|
||||||
fmt.Println("broken hypervisors.json config file")
|
fmt.Println("broken hypervisors.text config file")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue