Disable --no-node-setup
authorHelga Velroyen <helgav@google.com>
Tue, 10 Nov 2015 10:02:41 +0000 (11:02 +0100)
committerHelga Velroyen <helgav@google.com>
Fri, 13 Nov 2015 09:02:57 +0000 (10:02 +0100)
This patch disables the option --no-node-setup of
'gnt-node add'. The option is the equivalent to
--no-ssh-init for 'gnt-cluster init'. However, it
was rather cumbersome for users to remember whether
or not the cluster was initialized with that to
not forget to use this option. Instead making the
user use --no-node-setup, Ganeti shall determine
whether or not to change the SSH setup by reading
the configuration parameter 'modify_ssh_setup' which
is set with --no-ssh-init.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

lib/client/gnt_node.py
man/gnt-cluster.rst
man/gnt-node.rst

index 22e5107..b1ce8dc 100644 (file)
@@ -312,7 +312,17 @@ def AddNode(opts, args):
   # read the cluster name from the master
   (cluster_name, ) = cl.QueryConfigValues(["cluster_name"])
 
-  if opts.node_setup:
+  if not opts.node_setup:
+    ToStdout("-- WARNING -- \n"
+             "The option --no-node-setup is disabled. Whether or not the\n"
+             "SSH setup is manipulated while adding a node is determined\n"
+             "by the 'modify_ssh_setup' value in the cluster-wide\n"
+             "configuration instead.\n")
+
+  (modify_ssh_setup, ) = \
+    cl.QueryConfigValues(["modify_ssh_setup"])
+
+  if modify_ssh_setup:
     ToStderr("-- WARNING -- \n"
              "Performing this operation is going to perform the following\n"
              "changes to the target machine (%s) and the current cluster\n"
@@ -325,7 +335,7 @@ def AddNode(opts, args):
              "  generated public SSH key will be distributed to all other\n"
              "  cluster nodes.\n", node)
 
-  if opts.node_setup:
+  if modify_ssh_setup:
     _SetupSSH(opts, cluster_name, node, ssh_port, cl)
 
   bootstrap.SetupNodeDaemon(opts, cluster_name, node, ssh_port)
@@ -343,7 +353,7 @@ def AddNode(opts, args):
                          master_capable=opts.master_capable,
                          disk_state=disk_state,
                          hv_state=hv_state,
-                         node_setup=opts.node_setup)
+                         node_setup=modify_ssh_setup)
   SubmitOpCode(op, opts=opts)
 
 
index 7b0e135..b50d7d4 100644 (file)
@@ -271,7 +271,10 @@ The ``--no-etc-hosts`` option allows you to initialize the cluster
 without modifying the /etc/hosts file.
 
 The ``--no-ssh-init`` option allows you to initialize the cluster
-without creating or distributing SSH key pairs.
+without creating or distributing SSH key pairs. This also sets the
+cluster-wide configuration parameter ``modify ssh setup`` to False.
+When adding nodes, Ganeti will consider this parameter to determine
+whether to create and distributed SSH key pairs on new nodes as well.
 
 The ``--file-storage-dir``, ``--shared-file-storage-dir`` and
 ``--gluster-storage-dir`` options allow you set the directory to use for
index 0940d7f..bf3fff3 100644 (file)
@@ -62,13 +62,15 @@ The ``-g (--node-group)`` option is used to add the new node into a
 specific node group, specified by UUID or name. If only one node group
 exists you can skip this option, otherwise it's mandatory.
 
-The ``--no-node-setup`` option prevents Ganeti from performing the
-initial SSH setup on the new node. This means that Ganeti will not
-touch the SSH keys or the ``authorized_keys`` file of the node at
-all. Using this option, it lies in the administrators responsibility
-to ensure SSH connectivity between the hosts by other means. Note,
-that the equivalent of this option in ``gnt-cluster init`` is called
-``--no-ssh-init``.
+The ``--no-node-setup`` option that used to prevent Ganeti from performing
+the initial SSH setup on the new node is no longer valid. Instead,
+Ganeti consideres the ``modify ssh setup`` configuration parameter
+(which is set using ``--no-ssh-init`` during cluster initialization)
+to determine whether or not to do the SSH setup on a new node or not.
+If this parameter is set to ``False``, Ganeti will not touch the SSH
+keys or the ``authorized_keys`` file of the node at all. Using this option,
+it lies in the administrators responsibility to ensure SSH connectivity
+between the hosts by other means.
 
 The ``vm_capable``, ``master_capable``, ``ndparams``, ``diskstate`` and
 ``hvstate`` options are described in **ganeti**\(7), and are used to set