add flags for marking droplets as archived
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
1ca936e98e
commit
cc0ca1dd7c
11
config.go
11
config.go
|
@ -23,9 +23,18 @@ func (c *Cluster) ConfigSave() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// make a new droplets struct
|
||||||
var d *Droplets
|
var d *Droplets
|
||||||
d = new(Droplets)
|
d = new(Droplets)
|
||||||
d.Droplets = c.Droplets
|
d.Droplets = c.Droplets
|
||||||
|
// copy all the records over to the new struct
|
||||||
|
for _, drop := range c.Droplets {
|
||||||
|
d.Droplets = append(d.Droplets, drop)
|
||||||
|
}
|
||||||
|
// delete all the Current data so it's not put in the config file
|
||||||
|
for _, drop := range d.Droplets {
|
||||||
|
drop.Current = nil
|
||||||
|
}
|
||||||
if err := ConfigWriteJSON(d, "droplets.json"); err != nil {
|
if err := ConfigWriteJSON(d, "droplets.json"); err != nil {
|
||||||
fmt.Println("droplets.json write failed")
|
fmt.Println("droplets.json write failed")
|
||||||
return err
|
return err
|
||||||
|
@ -139,6 +148,8 @@ func (c *Cluster) ConfigLoad() error {
|
||||||
e = new(Events)
|
e = new(Events)
|
||||||
|
|
||||||
if c.E == nil {
|
if c.E == nil {
|
||||||
|
// this seems to panic on nil. something is wrong about doing this
|
||||||
|
// does it not stay allocated after this function ends?
|
||||||
c.E = new(Events)
|
c.E = new(Events)
|
||||||
}
|
}
|
||||||
if err := e.loadEvents(); err != nil {
|
if err := e.loadEvents(); err != nil {
|
||||||
|
|
|
@ -11,23 +11,24 @@ message Droplets {
|
||||||
}
|
}
|
||||||
|
|
||||||
message Droplet {
|
message Droplet {
|
||||||
string uuid = 1; // should be unique across the cluster
|
string uuid = 1; // should be unique across the cluster
|
||||||
string hostname = 2; // should be unique and work in DNS
|
string hostname = 2; // should be unique and work in DNS
|
||||||
int64 cpus = 3; // what's the point of int64 vs int32
|
int64 cpus = 3; // what's the point of int64 vs int32
|
||||||
int64 memory = 4; // in bytes
|
int64 memory = 4; // in bytes
|
||||||
Current current = 5; // what the state and values of the droplet is
|
Current current = 5; // what the state and values of the droplet is
|
||||||
DropletState start_state = 6; // what the state of the droplet is SUPPOSED TO BE ('on' or 'off')
|
DropletState start_state = 6; // what the state of the droplet is SUPPOSED TO BE ('on' or 'off')
|
||||||
string preferred_hypervisor = 7; // the hypervisor to prefer to run the droplet on
|
string qemu_machine = 7; // the qemu machine type to use "pc-q35-9.0"
|
||||||
string force_hypervisor = 8; // use this hypervisor and this hypervisor only
|
int64 spice_port = 8; // preferred port to use for spice
|
||||||
string preferred_arch = 9; // the cpu arch to use "x86_64" (should really get this from the disk?)
|
|
||||||
string qemu_machine = 10; // the qemu machine type to use "pc-q35-9.0"
|
|
||||||
int64 spice_port = 11; // preferred port to use for spice
|
|
||||||
|
|
||||||
|
string preferred_hypervisor = 9; // the hypervisor to prefer to run the droplet on
|
||||||
|
string force_hypervisor = 10; // use this hypervisor and this hypervisor only
|
||||||
|
string preferred_arch = 11; // the cpu arch to use "x86_64" (should really get this from the disk?)
|
||||||
repeated Network networks = 12; // really just mac addresses. should be unique across cluster
|
repeated Network networks = 12; // really just mac addresses. should be unique across cluster
|
||||||
repeated Disk disks = 13; // disks to attach
|
repeated Disk disks = 13; // disks to attach
|
||||||
|
|
||||||
string local_only = 14; // this is only defined locally on the hypervisor
|
string local_only = 14; // this is only defined locally on the hypervisor
|
||||||
string custom_xml = 15; // if needed,
|
string custom_xml = 15; // if needed,
|
||||||
|
DropletArchive archive = 16; // what the state of the droplet is SUPPOSED TO BE ('on' or 'off')
|
||||||
}
|
}
|
||||||
|
|
||||||
// volatile data. the current settings and values of things.
|
// volatile data. the current settings and values of things.
|
||||||
|
@ -42,6 +43,11 @@ message Current {
|
||||||
string image_url = 6; // url to the image
|
string image_url = 6; // url to the image
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message Archive {
|
||||||
|
DropletArchive reason = 1; // why the droplet was archived
|
||||||
|
google.protobuf.Timestamp when = 2; // when it was archived
|
||||||
|
}
|
||||||
|
|
||||||
// virtual machine state
|
// virtual machine state
|
||||||
enum DropletState {
|
enum DropletState {
|
||||||
ON = 0;
|
ON = 0;
|
||||||
|
@ -52,6 +58,11 @@ enum DropletState {
|
||||||
INMIGRATE = 5;
|
INMIGRATE = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum DropletArchive {
|
||||||
|
ARCHIVE_DUP = 0;
|
||||||
|
ARCHIVE_USER = 1;
|
||||||
|
}
|
||||||
|
|
||||||
message Network {
|
message Network {
|
||||||
string mac = 1;
|
string mac = 1;
|
||||||
string name = 2;
|
string name = 2;
|
||||||
|
|
Loading…
Reference in New Issue