summaryrefslogtreecommitdiff
path: root/start.go
blob: 4bd3844ec7b855344d45788f27f6840ded60fe69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright 2024 WIT.COM Inc Licensed GPL 3.0

package main

import (
	"errors"

	pb "go.wit.com/lib/protobuf/virtbuf"
	"go.wit.com/lib/virtigoxml"
	"go.wit.com/log"
	"libvirt.org/go/libvirtxml"
)

func newStart(start string, d *pb.Droplet) error {
	// d := me.cluster.FindDroplet(start)
	if d == nil {
		log.Info("log.Info: droplet is unknown:", start)
		return errors.New("droplet is unknown: " + start)
	}
	log.Info("start droplet here:", d.Hostname)
	domcfg := &libvirtxml.Domain{}

	newAddXml(domcfg, "standard.x86")
	// addDefaultXml(domcfg, "memory")
	// addDefaultXml(domcfg, "network")
	newAddXml(domcfg, "spice")
	newAddXml(domcfg, "qcow")

	return virtigoxml.GenerateDropletXml(me.cluster, d, domcfg, start)
}

func newAddXml(domcfg *libvirtxml.Domain, filename string) error {
	fullname := "resources/xml/" + filename + ".xml"
	pfile, err := resources.ReadFile(fullname)
	if err != nil {
		log.Println("ERROR:", err)
		return err
	}

	return virtigoxml.AddDefaultXml(domcfg, string(pfile))
}