summaryrefslogtreecommitdiff
path: root/start.go
blob: 3cd319b109ba2c9669719ff9f210207b84aab903 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright 2024 WIT.COM Inc Licensed GPL 3.0

package main

import (
	"fmt"
	"os"

	"go.wit.com/log"
	"libvirt.org/go/libvirtxml"
)

func makeDroplet(start string) {
	tmp := findDroplet(start)
	d := tmp.pb
	if d == nil {
		log.Info("droplet is unknown:", start)
		os.Exit(0)
	}
	log.Info("start droplet here:", d.Hostname)
	domcfg := &libvirtxml.Domain{}

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

	domcfg.Type = "kvm"
	domcfg.Name = d.Hostname
	domcfg.UUID = d.Uuid

	var i uint
	i = uint(d.Memory / (1024 * 1024))

	domcfg.Memory.Value = i
	domcfg.Memory.Unit = "MiB"

	fmt.Printf("Virt Memory %d %s\n", domcfg.Memory.Value, domcfg.Memory.Unit)

	// addEthernet(domcfg, "04:44:33:11:22:11", "worldbr")
	// addEthernet(domcfg, "04:44:33:33:44:55", "greenbr")

	for _, n := range d.Networks {
		log.Info("add network", d.Hostname, "mac addr", n.Mac, "interface", n.Name)
	}

	// add a check here to make these unique
	// setRandomMacs(domcfg)

	qcow := "/home/nfs/" + d.Hostname + ".qcow2"
	setSimpleDisk(domcfg, qcow)

	writeoutXml(domcfg, "blahcarr")
}