virtbuf/sampleData.go

65 lines
1.3 KiB
Go

package virtbuf
import (
"fmt"
"log"
"github.com/google/uuid"
)
//
// This generates some sample data.
//
func CreateSampleDroplet(hostname string) *Droplet {
// TODO: flush this out to do all the fields
log.Println("CreateSampleDroplet() is generating a new droplet", hostname)
// Generate a new UUID
id := uuid.New()
d := &Droplet{
Uuid: id.String(),
Hostname: hostname,
Comment: "this is a droplet for testing",
}
return d
}
func CreateSampleHypervisor(hostname string, mem int) *Hypervisor {
// Generate a new UUID
id := uuid.New()
h := &Hypervisor{
Uuid: id.String(),
Hostname: hostname,
Cpus: 16,
Memory: 256,
Comment: "this is a fake hypervisor",
}
h.SetMemoryGB(mem * 32)
return h
}
func CreateSampleCluster(total int) *Cluster {
var c *Cluster
c = new(Cluster)
for i := 0; i < total; i++ {
hostname := fmt.Sprintf("bmath%d.wit.com", i)
d := CreateSampleDroplet(hostname)
d.Comment = fmt.Sprintf("Sample Droplet %d", i)
d.PreferredHypervisor = fmt.Sprintf("farm%d", i)
c.Droplets = append(c.Droplets, d)
}
for i := 0; i < 3; i++ {
hostname := fmt.Sprintf("farm%d", i)
h := CreateSampleHypervisor(hostname, i+1)
h.Comment = fmt.Sprintf("Sample hypervisor %d", i)
c.Hypervisors = append(c.Hypervisors, h)
}
return c
}