diff options
| author | Jeff Carr <[email protected]> | 2025-04-21 20:44:36 -0500 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-04-21 20:54:45 -0500 | 
| commit | 688b5039a0570dee671cb3847ec9edad18bb13ec (patch) | |
| tree | f99e40e3f89e95120556763dedc131cb217e1b33 | |
| parent | 814d36b9c95359a12d3abd5d120080164184816c (diff) | |
new ConfigSave()v0.2.36
| -rw-r--r-- | add.go | 7 | ||||
| -rw-r--r-- | config.go | 43 | 
2 files changed, 36 insertions, 14 deletions
@@ -62,6 +62,13 @@ func (c *OldCluster) FindDropletByName(name 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)  } @@ -9,11 +9,34 @@ import (  	"os"  	"path/filepath" +	"go.wit.com/log"  	"google.golang.org/protobuf/encoding/protojson"  	"google.golang.org/protobuf/encoding/prototext"  	"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  // to make it humanly possible to hand edit things as needed  func (c *OldCluster) ConfigSave() error { @@ -34,20 +57,12 @@ func (c *OldCluster) ConfigSave() error {  	for _, drop := range dcopy.Droplets {  		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 {  		fmt.Println("droplets.json write failed")  		return err  	}  	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 {  		fmt.Println("hypervisors.json write failed")  		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")  	} -	if data, err := loadFile("droplets.json"); err == nil { -		if err = protojson.Unmarshal(data, c.d); err != nil { -			fmt.Println("broken droplets.json config file") +	if data, err := loadFile("droplets.text"); err == nil { +		if err = prototext.Unmarshal(data, c.d); err != nil { +			fmt.Println("broken droplets.text config file")  			return err  		}  	} else {  		return err  	} -	if data, err := loadFile("hypervisors.json"); err == nil { -		if err = protojson.Unmarshal(data, c.H); err != nil { -			fmt.Println("broken hypervisors.json config file") +	if data, err := loadFile("hypervisors.text"); err == nil { +		if err = prototext.Unmarshal(data, c.H); err != nil { +			fmt.Println("broken hypervisors.text config file")  			return err  		}  	} else {  | 
