Skip to content

Commit 683826b

Browse files
committed
cmd/power: Add support for setting pxe boot persistent and booting
1 parent 4044e46 commit 683826b

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

cmd/power/power.go

+9-2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ var (
4747
"soft",
4848
"status",
4949
"bmc-reset",
50+
// set PXE boot persistent and power on/cycle the server
51+
"boot-pxe-persistent",
5052
}
5153

5254
errInvalidAction = errors.New("invalid power action requested")
@@ -124,21 +126,26 @@ func paramsFromFlags(f *powerActionFlags) (*rctypes.ServerControlTaskParameters,
124126

125127
var action rctypes.ServerControlAction
126128

129+
var bootDevicePersistent, efiBoot bool
127130
switch actionParam {
128131
case "on", "off", "cycle", "reset", "soft":
129132
action = rctypes.SetPowerState
130133
case "bmc-reset":
131134
action = rctypes.PowerCycleBMC
132135
case "status":
133136
action = rctypes.GetPowerState
137+
case "boot-pxe-persistent":
138+
action = rctypes.PxeBootPersistent
139+
bootDevicePersistent = true
140+
efiBoot = true
134141
}
135142

136143
return rctypes.NewServerControlTaskParameters(
137144
uuid.MustParse(f.serverID),
138145
action,
139146
actionParam,
140-
false,
141-
false,
147+
bootDevicePersistent,
148+
efiBoot,
142149
), nil
143150
}
144151

0 commit comments

Comments
 (0)