Fixes for the new nodeDB API

This commit is contained in:
Gregory Kurtzer
2020-11-26 19:14:58 -08:00
parent 6d3ec350b6
commit e84b4e4d6a
7 changed files with 33 additions and 34 deletions

View File

@@ -46,13 +46,13 @@ func IpxeSend(w http.ResponseWriter, req *http.Request) {
return
}
if node.HostName.Defined() == true {
if node.Id.Defined() == true {
conf := config.New()
log.Printf("IPXE: %15s: %s\n", node.Fqdn.String(), req.URL.Path)
log.Printf("IPXE: %15s: %s\n", node.Fqdn.Get(), req.URL.Path)
// TODO: Fix template path to use config package
ipxeTemplate := fmt.Sprintf("/etc/warewulf/ipxe/%s.ipxe", node.Ipxe.String())
ipxeTemplate := fmt.Sprintf("/etc/warewulf/ipxe/%s.ipxe", node.Ipxe.Get())
tmpl, err := template.ParseFiles(ipxeTemplate)
if err != nil {
@@ -62,13 +62,13 @@ func IpxeSend(w http.ResponseWriter, req *http.Request) {
var replace iPxeTemplate
replace.Fqdn = node.Fqdn.String()
replace.Fqdn = node.Fqdn.Get()
replace.Ipaddr = conf.Ipaddr
replace.Port = strconv.Itoa(conf.Port)
replace.Hostname = node.HostName.String()
replace.Hostname = node.HostName.Get()
replace.Hwaddr = url[2]
replace.Vnfs = node.Vnfs.String()
replace.Kernelargs = node.KernelArgs.String()
replace.Vnfs = node.Vnfs.Get()
replace.Kernelargs = node.KernelArgs.Get()
err = tmpl.Execute(w, replace)
if err != nil {
@@ -76,7 +76,7 @@ func IpxeSend(w http.ResponseWriter, req *http.Request) {
return
}
log.Printf("SEND: %15s: %s\n", node.Fqdn.String(), ipxeTemplate)
log.Printf("SEND: %15s: %s\n", node.Fqdn.Get(), ipxeTemplate)
} else {
log.Printf("ERROR: iPXE request from unknown Node (hwaddr=%s)\n", url[2])

View File

@@ -17,18 +17,18 @@ func KernelSend(w http.ResponseWriter, req *http.Request) {
}
if node.KernelVersion.Defined() == true {
fileName := config.KernelImage(node.KernelVersion.String())
fileName := config.KernelImage(node.KernelVersion.Get())
err := sendFile(w, fileName, node.Fqdn.String())
err := sendFile(w, fileName, node.Fqdn.Get())
if err != nil {
log.Printf("ERROR: %s\n", err)
} else {
log.Printf("SEND: %15s: %s\n", node.Fqdn.String(), fileName)
log.Printf("SEND: %15s: %s\n", node.Fqdn.Get(), fileName)
}
} else {
w.WriteHeader(503)
log.Printf("ERROR: No 'kernel version' set for node %s\n", node.Fqdn.String())
log.Printf("ERROR: No 'kernel version' set for node %s\n", node.Fqdn.Get())
}
return

View File

@@ -17,18 +17,18 @@ func KmodsSend(w http.ResponseWriter, req *http.Request) {
}
if node.KernelVersion.Defined() == true {
fileName := config.KmodsImage(node.KernelVersion.String())
fileName := config.KmodsImage(node.KernelVersion.Get())
err := sendFile(w, fileName, node.Fqdn.String())
err := sendFile(w, fileName, node.Fqdn.Get())
if err != nil {
log.Printf("ERROR: %s\n", err)
} else {
log.Printf("SEND: %15s: %s\n", node.Fqdn.String(), fileName)
log.Printf("SEND: %15s: %s\n", node.Fqdn.Get(), fileName)
}
} else {
w.WriteHeader(503)
log.Printf("ERROR: No 'kernel version' set for node %s\n", node.Fqdn.String())
log.Printf("ERROR: No 'kernel version' set for node %s\n", node.Fqdn.Get())
}
return

View File

@@ -47,26 +47,26 @@ func RuntimeOverlaySend(w http.ResponseWriter, req *http.Request) {
return
}
if node.Fqdn.Defined() == false {
if node.Id.Defined() == false {
log.Printf("UNKNOWN: %15s: %s\n", remote[0], req.URL.Path)
w.WriteHeader(404)
return
} else {
log.Printf("REQ: %15s: %s\n", node.Fqdn.String(), req.URL.Path)
log.Printf("REQ: %15s: %s\n", node.Fqdn.Get(), req.URL.Path)
}
if node.RuntimeOverlay.Defined() == true {
fileName := config.RuntimeOverlayImage(node.Fqdn.String())
fileName := config.RuntimeOverlayImage(node.Fqdn.Get())
err := sendFile(w, fileName, node.Fqdn.String())
err := sendFile(w, fileName, node.Fqdn.Get())
if err != nil {
log.Printf("ERROR: %s\n", err)
} else {
log.Printf("SEND: %15s: %s\n", node.Fqdn.String(), fileName)
log.Printf("SEND: %15s: %s\n", node.Fqdn.Get(), fileName)
}
} else {
w.WriteHeader(503)
log.Printf("ERROR: No 'runtime system-overlay' set for node %s\n", node.Fqdn.String())
log.Printf("ERROR: No 'runtime system-overlay' set for node %s\n", node.Fqdn.Get())
}
return

View File

@@ -17,17 +17,17 @@ func SystemOverlaySend(w http.ResponseWriter, req *http.Request) {
}
if node.SystemOverlay.Defined() == true {
fileName := config.SystemOverlayImage(node.Fqdn.String())
fileName := config.SystemOverlayImage(node.Fqdn.Get())
err := sendFile(w, fileName, node.Fqdn.String())
err := sendFile(w, fileName, node.Fqdn.Get())
if err != nil {
log.Printf("ERROR: %s\n", err)
} else {
log.Printf("SEND: %15s: %s\n", node.Fqdn.String(), fileName)
log.Printf("SEND: %15s: %s\n", node.Fqdn.Get(), fileName)
}
} else {
w.WriteHeader(503)
log.Printf("ERROR: No 'system system-overlay' set for node %s\n", node.Fqdn.String())
log.Printf("ERROR: No 'system system-overlay' set for node %s\n", node.Fqdn.Get())
}
return

View File

@@ -2,8 +2,8 @@ package response
import (
"fmt"
"github.com/hpcng/warewulf/internal/pkg/node"
"github.com/hpcng/warewulf/internal/pkg/errors"
"github.com/hpcng/warewulf/internal/pkg/node"
"io"
"log"
"net/http"
@@ -31,7 +31,7 @@ func getSanity(req *http.Request) (node.NodeInfo, error) {
log.Printf("UNKNOWN: %15s: %s\n", hwaddr, req.URL.Path)
return ret, errors.New("Unknown node HW address: " + hwaddr)
} else {
log.Printf("REQ: %15s: %s\n", ret.Fqdn.String(), req.URL.Path)
log.Printf("REQ: %15s: %s\n", ret.Fqdn.Get(), req.URL.Path)
}
return ret, nil

View File

@@ -7,7 +7,6 @@ import (
)
func VnfsSend(w http.ResponseWriter, req *http.Request) {
// config := config.New()
node, err := getSanity(req)
if err != nil {
@@ -18,22 +17,22 @@ func VnfsSend(w http.ResponseWriter, req *http.Request) {
if node.Vnfs.Defined() == true {
v, err := vnfs.Load(node.Vnfs.String())
v, err := vnfs.Load(node.Vnfs.Get())
if err != nil {
w.WriteHeader(503)
log.Printf("ERROR: Could not load VNFS: %s\n", node.Fqdn.String())
log.Printf("ERROR: Could not load VNFS: %s\n", node.Fqdn.Get())
return
}
err = sendFile(w, v.Image, node.Fqdn.String())
err = sendFile(w, v.Image, node.Fqdn.Get())
if err != nil {
log.Printf("ERROR1: %s\n", err)
} else {
log.Printf("SEND: %15s: %s\n", node.Fqdn.String(), v.Image)
log.Printf("SEND: %15s: %s\n", node.Fqdn.Get(), v.Image)
}
} else {
w.WriteHeader(503)
log.Printf("ERROR: No VNFS set for node %s\n", node.Fqdn.String())
log.Printf("ERROR: No VNFS set for node %s\n", node.Fqdn.Get())
}
return