Move the node flags options to cli.py
[ganeti-local] / lib / cli.py
index b56bfb9..67b3fcc 100644 (file)
@@ -45,6 +45,7 @@ from optparse import (OptionParser, TitledHelpFormatter,
 __all__ = [
   # Command line options
   "ALL_OPT",
+  "AUTO_REPLACE_OPT",
   "BACKEND_OPT",
   "CLEANUP_OPT",
   "CONFIRM_OPT",
@@ -53,6 +54,7 @@ __all__ = [
   "DISKIDX_OPT",
   "DISK_OPT",
   "DISK_TEMPLATE_OPT",
+  "DRAINED_OPT",
   "FIELDS_OPT",
   "FILESTORE_DIR_OPT",
   "FILESTORE_DRIVER_OPT",
@@ -62,7 +64,9 @@ __all__ = [
   "IALLOCATOR_OPT",
   "IGNORE_CONSIST_OPT",
   "IGNORE_FAILURES_OPT",
+  "IGNORE_SIZE_OPT",
   "FORCE_OPT",
+  "MC_OPT",
   "NET_OPT",
   "NEW_SECONDARY_OPT",
   "NODE_LIST_OPT",
@@ -72,13 +76,21 @@ __all__ = [
   "NONICS_OPT",
   "NONLIVE_OPT",
   "NOSTART_OPT",
+  "NOSSH_KEYCHECK_OPT",
   "NWSYNC_OPT",
+  "ON_PRIMARY_OPT",
+  "ON_SECONDARY_OPT",
+  "OFFLINE_OPT",
   "OS_OPT",
   "OS_SIZE_OPT",
+  "READD_OPT",
+  "SECONDARY_IP_OPT",
   "SELECT_OS_OPT",
   "SEP_OPT",
   "SHOWCMD_OPT",
   "SINGLE_NODE_OPT",
+  "SRC_DIR_OPT",
+  "SRC_NODE_OPT",
   "SUBMIT_OPT",
   "STATIC_OPT",
   "SYNC_OPT",
@@ -444,6 +456,9 @@ class CliOption(Option):
 cli_option = CliOption
 
 
+_YESNO = ("yes", "no")
+_YORNO = "yes|no"
+
 DEBUG_OPT = cli_option("-d", "--debug", default=False,
                        action="store_true",
                        help="Turn debugging on")
@@ -642,6 +657,59 @@ NEW_SECONDARY_OPT = cli_option("-n", "--new-secondary", dest="dst_node",
                                metavar="NODE", default=None,
                                completion_suggest=OPT_COMPL_ONE_NODE)
 
+ON_PRIMARY_OPT = cli_option("-p", "--on-primary", dest="on_primary",
+                            default=False, action="store_true",
+                            help="Replace the disk(s) on the primary"
+                            " node (only for the drbd template)")
+
+ON_SECONDARY_OPT = cli_option("-s", "--on-secondary", dest="on_secondary",
+                              default=False, action="store_true",
+                              help="Replace the disk(s) on the secondary"
+                              " node (only for the drbd template)")
+
+AUTO_REPLACE_OPT = cli_option("-a", "--auto", dest="auto",
+                              default=False, action="store_true",
+                              help="Automatically replace faulty disks"
+                              " (only for the drbd template)")
+
+IGNORE_SIZE_OPT = cli_option("--ignore-size", dest="ignore_size",
+                             default=False, action="store_true",
+                             help="Ignore current recorded size"
+                             " (useful for forcing activation when"
+                             " the recorded size is wrong)")
+
+SRC_NODE_OPT = cli_option("--src-node", dest="src_node", help="Source node",
+                          metavar="<node>",
+                          completion_suggest=OPT_COMPL_ONE_NODE)
+
+SRC_DIR_OPT = cli_option("--src-dir", dest="src_dir", help="Source directory",
+                         metavar="<dir>")
+
+SECONDARY_IP_OPT = cli_option("-s", "--secondary-ip", dest="secondary_ip",
+                              help="Specify the secondary ip for the node",
+                              metavar="ADDRESS", default=None)
+
+READD_OPT = cli_option("--readd", dest="readd",
+                       default=False, action="store_true",
+                       help="Readd old node after replacing it")
+
+NOSSH_KEYCHECK_OPT = cli_option("--no-ssh-key-check", dest="ssh_key_check",
+                                default=True, action="store_false",
+                                help="Disable SSH key fingerprint checking")
+
+
+MC_OPT = cli_option("-C", "--master-candidate", dest="master_candidate",
+                    choices=_YESNO, default=None, metavar=_YORNO,
+                    help="Set the master_candidate flag on the node")
+
+OFFLINE_OPT = cli_option("-O", "--offline", dest="offline", metavar=_YORNO,
+                         choices=_YESNO, default=None,
+                         help="Set the offline flag on the node")
+
+DRAINED_OPT = cli_option("-D", "--drained", dest="drained", metavar=_YORNO,
+                         choices=_YESNO, default=None,
+                         help="Set the drained flag on the node")
+
 
 def _ParseArgs(argv, commands, aliases):
   """Parser for the command line arguments.