Fix a panic during wwctl node list --ipmi for nodes with no ipmi configuration. #1847
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
This commit is contained in:
@@ -187,6 +187,18 @@ nodes:
|
||||
profiles:
|
||||
- default
|
||||
`,
|
||||
},
|
||||
{
|
||||
name: "node list with no ipmi data",
|
||||
args: []string{"--ipmi"},
|
||||
wantErr: false,
|
||||
stdout: `
|
||||
NODE IPMI IPADDR IPMI PORT IPMI USERNAME IPMI INTERFACE
|
||||
---- ----------- --------- ------------- --------------
|
||||
n1 -- -- -- --`,
|
||||
inDb: `
|
||||
nodes:
|
||||
n1: {}`,
|
||||
},
|
||||
{
|
||||
name: "node list profile with ipmi user",
|
||||
|
||||
@@ -64,13 +64,20 @@ func NodeList(nodeGet *wwapiv1.GetNodeList) (nodeList wwapiv1.NodeList, err erro
|
||||
nodeList.Output = append(nodeList.Output,
|
||||
fmt.Sprintf("%s:=:%s:=:%s:=:%s:=:%s", "NODE", "IPMI IPADDR", "IPMI PORT", "IPMI USERNAME", "IPMI INTERFACE"))
|
||||
for _, n := range node.FilterNodeListByName(nodes, nodeGet.Nodes) {
|
||||
ipaddr, port, username, iface := "", "", "", ""
|
||||
if n.Ipmi != nil {
|
||||
ipaddr = n.Ipmi.Ipaddr.String()
|
||||
port = n.Ipmi.Port
|
||||
username = n.Ipmi.UserName
|
||||
iface = n.Ipmi.Interface
|
||||
}
|
||||
nodeList.Output = append(nodeList.Output,
|
||||
fmt.Sprintf("%s:=:%s:=:%s:=:%s:=:%s",
|
||||
n.Id(),
|
||||
n.Ipmi.Ipaddr.String(),
|
||||
n.Ipmi.Port,
|
||||
n.Ipmi.UserName,
|
||||
n.Ipmi.Interface))
|
||||
ipaddr,
|
||||
port,
|
||||
username,
|
||||
iface))
|
||||
}
|
||||
} else if nodeGet.Type == wwapiv1.GetNodeList_Long {
|
||||
nodeList.Output = append(nodeList.Output,
|
||||
|
||||
Reference in New Issue
Block a user