f-25: code: move load data to dedicated function
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
This commit is contained in:
parent
2063199ebd
commit
378808ba64
6 changed files with 228 additions and 214 deletions
100
internal/vm/data.go
Normal file
100
internal/vm/data.go
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
package vm
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"git.g3e.fr/syonad/two/pkg/db/kv"
|
||||
"github.com/dgraph-io/badger/v4"
|
||||
)
|
||||
|
||||
type vmData struct {
|
||||
subnetName string
|
||||
vpcName string
|
||||
gatewayIP string
|
||||
bridge string
|
||||
tapID int
|
||||
ip string
|
||||
metadataPort string
|
||||
mac string
|
||||
volumePath string
|
||||
memory int
|
||||
cpus int
|
||||
password string
|
||||
sshkey string
|
||||
}
|
||||
|
||||
func loadVM(db *badger.DB, name string) (vmData, error) {
|
||||
var d vmData
|
||||
|
||||
subnetName, err := kv.GetFromDB(db, "vm/"+name+"/subnet")
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("get subnet: %w", err)
|
||||
}
|
||||
d.subnetName = subnetName
|
||||
d.bridge = "br-" + strings.SplitN(subnetName, "-", 2)[1]
|
||||
|
||||
vpcName, err := kv.GetFromDB(db, "subnet/"+subnetName+"/vpc")
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("get vpc: %w", err)
|
||||
}
|
||||
d.vpcName = vpcName
|
||||
|
||||
gatewayIP, err := kv.GetFromDB(db, "subnet/"+subnetName+"/gateway_ip")
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("get gateway_ip: %w", err)
|
||||
}
|
||||
d.gatewayIP = gatewayIP
|
||||
|
||||
tapIDStr, err := kv.GetFromDB(db, "vm/"+name+"/tap_id")
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("get tap_id: %w", err)
|
||||
}
|
||||
tapID, err := strconv.Atoi(tapIDStr)
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("parse tap_id: %w", err)
|
||||
}
|
||||
d.tapID = tapID
|
||||
|
||||
ip, err := kv.GetFromDB(db, "vm/"+name+"/ip")
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("get ip: %w", err)
|
||||
}
|
||||
d.ip = ip
|
||||
|
||||
metadataPort, err := kv.GetFromDB(db, "vm/"+name+"/metadata_port")
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("get metadata_port: %w", err)
|
||||
}
|
||||
d.metadataPort = metadataPort
|
||||
|
||||
mac, err := kv.GetFromDB(db, "vm/"+name+"/mac")
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("get mac: %w", err)
|
||||
}
|
||||
d.mac = mac
|
||||
|
||||
volumePath, err := kv.GetFromDB(db, "vm/"+name+"/volume_path")
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("get volume_path: %w", err)
|
||||
}
|
||||
d.volumePath = volumePath
|
||||
|
||||
memoryStr, err := kv.GetFromDB(db, "vm/"+name+"/memory")
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("get memory: %w", err)
|
||||
}
|
||||
d.memory, _ = strconv.Atoi(memoryStr)
|
||||
|
||||
cpusStr, err := kv.GetFromDB(db, "vm/"+name+"/cpus")
|
||||
if err != nil {
|
||||
return d, fmt.Errorf("get cpus: %w", err)
|
||||
}
|
||||
d.cpus, _ = strconv.Atoi(cpusStr)
|
||||
|
||||
d.password, _ = kv.GetFromDB(db, "vm/"+name+"/password")
|
||||
d.sshkey, _ = kv.GetFromDB(db, "vm/"+name+"/sshkey")
|
||||
|
||||
return d, nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue