Minor fixups to daemon process and reloading the database on configuring a new node

This commit is contained in:
Gregory Kurtzer
2021-02-23 19:52:39 -08:00
parent 93a2eeaf2c
commit 33e68eaeac
3 changed files with 13 additions and 3 deletions

View File

@@ -27,6 +27,7 @@ type iPxeTemplate struct {
}
func IpxeSend(w http.ResponseWriter, req *http.Request) {
url := strings.Split(req.URL.Path, "/")
var unconfiguredNode bool
@@ -45,6 +46,8 @@ func IpxeSend(w http.ResponseWriter, req *http.Request) {
return
}
log.Printf("IPXEREQ: %s\n", req.URL.Path)
nodeobj, err := GetNode(hwaddr)
if err != nil {
@@ -58,7 +61,7 @@ func IpxeSend(w http.ResponseWriter, req *http.Request) {
return
}
wwlog.Printf(wwlog.VERBOSE, "Node was not found, looking for discoverable nodes...\n")
wwlog.Printf(wwlog.INFO, "Node was not found, looking for discoverable nodes...\n")
n, netdev, err := nodeDB.FindDiscoverableNode()
if err != nil {
@@ -85,6 +88,14 @@ func IpxeSend(w http.ResponseWriter, req *http.Request) {
_ = overlay.BuildSystemOverlay([]node.NodeInfo{n})
wwlog.Printf(wwlog.INFO, "Building Runtime Overlay:\n")
_ = overlay.BuildRuntimeOverlay([]node.NodeInfo{n})
wwlog.Printf(wwlog.INFO, "Added node %s\n", nodeobj.Id.Get())
err := LoadNodeDB()
if err != nil {
wwlog.Printf(wwlog.WARN, "Could not reload database: %s\n", err)
}
}
}
}

View File

@@ -53,7 +53,6 @@ func GetNode(val string) (node.NodeInfo, error) {
defer db.lock.RUnlock()
if _, ok := db.NodeInfo[val]; ok {
wwlog.Printf(wwlog.DEBUG, "Found node:\n%+v\n", db.NodeInfo[val])
return db.NodeInfo[val], nil
}

View File

@@ -19,7 +19,7 @@ func getSanity(req *http.Request) (node.NodeInfo, error) {
nodeobj, err := GetNode(hwaddr)
if err != nil {
var ret node.NodeInfo
return ret, errors.New("Could not find node by HW address")
return ret, errors.New("Could not find node by HW address: " + req.URL.Path)
}
log.Printf("REQ: %15s: %s\n", nodeobj.Id.Get(), req.URL.Path)