1295 |
1295 |
return self._SingleNodeCall(node, "run_oob", [oob_program, command,
|
1296 |
1296 |
remote_node, timeout])
|
1297 |
1297 |
|
1298 |
|
@_RpcTimeout(_TMO_FAST)
|
1299 |
|
def call_os_diagnose(self, node_list):
|
1300 |
|
"""Request a diagnose of OS definitions.
|
1301 |
|
|
1302 |
|
This is a multi-node call.
|
1303 |
|
|
1304 |
|
"""
|
1305 |
|
return self._MultiNodeCall(node_list, "os_diagnose", [])
|
1306 |
|
|
1307 |
|
@_RpcTimeout(_TMO_FAST)
|
1308 |
|
def call_os_get(self, node, name):
|
1309 |
|
"""Returns an OS definition.
|
1310 |
|
|
1311 |
|
This is a single-node call.
|
1312 |
|
|
1313 |
|
"""
|
1314 |
|
result = self._SingleNodeCall(node, "os_get", [name])
|
1315 |
|
if not result.fail_msg and isinstance(result.payload, dict):
|
1316 |
|
result.payload = objects.OS.FromDict(result.payload)
|
1317 |
|
return result
|
1318 |
|
|
1319 |
|
@_RpcTimeout(_TMO_FAST)
|
1320 |
|
def call_os_validate(self, nodes, required, name, checks, params):
|
1321 |
|
"""Run a validation routine for a given OS.
|
1322 |
|
|
1323 |
|
This is a multi-node call.
|
1324 |
|
|
1325 |
|
"""
|
1326 |
|
return self._MultiNodeCall(nodes, "os_validate",
|
1327 |
|
[required, name, checks, params])
|
1328 |
|
|
1329 |
1298 |
@_RpcTimeout(_TMO_NORMAL)
|
1330 |
1299 |
def call_hooks_runner(self, node_list, hpath, phase, env):
|
1331 |
1300 |
"""Call the hooks runner.
|