#
#
-# Copyright (C) 2006, 2007, 2010 Google Inc.
+# Copyright (C) 2006, 2007, 2010, 2013 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
"""OS scripts related commands"""
-# pylint: disable-msg=W0401,W0613,W0614,C0103
+# pylint: disable=W0401,W0613,W0614,C0103
# W0401: Wildcard import ganeti.cli
# W0613: Unused argument, since all functions follow the same API
# W0614: Unused import %s from wildcard import (since we need cli)
op = opcodes.OpOsDiagnose(output_fields=["name", "variants"], names=[])
result = SubmitOpCode(op, opts=opts)
- if not result:
- ToStderr("Can't get the OS list")
- return 1
-
if not opts.no_headers:
headers = {"name": "Name"}
else:
else:
nodes_bad[node_name] = "OS not found"
+ # TODO: Shouldn't the global status be calculated by the LU?
if nodes_valid and not nodes_bad:
status = "valid"
elif not nodes_valid and nodes_bad:
osparams=osp,
hidden_os=ohid,
blacklisted_os=oblk)
- SubmitOpCode(op, opts=opts)
+ SubmitOrSend(op, opts)
return 0
commands = {
- 'list': (
+ "list": (
ListOS, ARGS_NONE, [NOHDR_OPT, PRIORITY_OPT],
"", "Lists all valid operating systems on the cluster"),
- 'diagnose': (
+ "diagnose": (
DiagnoseOS, ARGS_NONE, [PRIORITY_OPT],
"", "Diagnose all operating systems"),
- 'info': (
+ "info": (
ShowOSInfo, [ArgOs()], [PRIORITY_OPT],
"", "Show detailed information about "
"operating systems"),
- 'modify': (
+ "modify": (
ModifyOS, ARGS_ONE_OS,
[HVLIST_OPT, OSPARAMS_OPT, DRY_RUN_OPT, PRIORITY_OPT,
- HID_OS_OPT, BLK_OS_OPT],
+ HID_OS_OPT, BLK_OS_OPT] + SUBMIT_OPTS,
"", "Modify the OS parameters"),
}
+#: dictionary with aliases for commands
+aliases = {
+ "show": "info",
+ }
+
def Main():
- return GenericMain(commands)
+ return GenericMain(commands, aliases=aliases)