hypervisors: add hvparams to GetNodeInfo
[ganeti-local] / lib / client / gnt_os.py
index 4241e34..f522633 100644 (file)
@@ -1,7 +1,7 @@
 #
 #
 
-# 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
@@ -20,7 +20,7 @@
 
 """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)
@@ -45,10 +45,6 @@ def ListOS(opts, args):
   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:
@@ -195,6 +191,7 @@ def DiagnoseOS(opts, args):
       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:
@@ -273,29 +270,34 @@ def ModifyOS(opts, args):
                                   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)