Repository: knox
Updated Branches:
  refs/heads/v0.5.0 daf343418 -> 4aa01c380


KNOX-444 KnoxCLI Usability Improvements


Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/4aa01c38
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/4aa01c38
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/4aa01c38

Branch: refs/heads/v0.5.0
Commit: 4aa01c38029bb9d6d1e45dd3a3b5692e408dc7de
Parents: daf3434
Author: Larry McCay <lmc...@hortonworks.com>
Authored: Tue Oct 14 22:26:05 2014 -0400
Committer: Larry McCay <lmc...@hortonworks.com>
Committed: Tue Oct 14 22:27:51 2014 -0400

----------------------------------------------------------------------
 .../org/apache/hadoop/gateway/util/KnoxCLI.java | 41 +++++++++++++++-----
 1 file changed, 32 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/4aa01c38/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
----------------------------------------------------------------------
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
index 499e001..6b6587b 100644
--- a/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
+++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
@@ -30,6 +30,7 @@ import 
org.apache.hadoop.gateway.services.topology.TopologyService;
 import org.apache.hadoop.gateway.services.security.AliasService;
 import org.apache.hadoop.gateway.services.security.KeystoreService;
 import org.apache.hadoop.gateway.services.security.KeystoreServiceException;
+import org.apache.hadoop.gateway.topology.Topology;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
 import org.apache.log4j.PropertyConfigurator;
@@ -120,11 +121,11 @@ public class KnoxCLI extends Configured implements Tool {
    * <pre>
    * % knoxcli version
    * % knoxcli master-create keyName [--size size] [--generate]
-   * % knoxcli create-alias alias [--cluster c] [--generate] [--value v]
-   * % knoxcli list-alias [--cluster c]
-   * % knoxcli delete=alias alias [--cluster c]
+   * % knoxcli create-alias alias [--cluster clustername] [--generate] 
[--value v]
+   * % knoxcli list-alias [--cluster clustername]
+   * % knoxcli delete=alias alias [--cluster clustername]
    * % knoxcli create-cert alias [--hostname h]
-   * % knoxcli redeploy [--cluster c]
+   * % knoxcli redeploy [--cluster clustername]
    * </pre>
    * @param args
    * @return
@@ -283,7 +284,7 @@ public class KnoxCLI extends Configured implements Tool {
   
  private class AliasListCommand extends Command {
 
-  public static final String USAGE = "list-alias [--cluster c]";
+  public static final String USAGE = "list-alias [--cluster clustername]";
   public static final String DESC = "The list-alias command lists all of the 
aliases\n" +
                                     "for the given hadoop --cluster. The 
default\n" +
                                     "--cluster being the gateway itself.";
@@ -382,7 +383,7 @@ public class KnoxCLI extends Configured implements Tool {
 
  public class AliasCreateCommand extends Command {
 
-  public static final String USAGE = "create-alias aliasname [--cluster c] " +
+  public static final String USAGE = "create-alias aliasname [--cluster 
clustername] " +
                                      "[ (--value v) | (--generate) ]";
   public static final String DESC = "The create-alias command will create an 
alias\n" +
                                     "and secret pair within the credential 
store for the\n" +
@@ -439,7 +440,7 @@ public class KnoxCLI extends Configured implements Tool {
   *
   */
  public class AliasDeleteCommand extends Command {
-  public static final String USAGE = "delete-alias aliasname [--cluster c]";
+  public static final String USAGE = "delete-alias aliasname [--cluster 
clustername]";
   public static final String DESC = "The delete-alias command removes the\n" +
                                     "indicated alias from the --cluster 
specific\n" +
                                     "credential store or the gateway 
credential store.";
@@ -585,7 +586,7 @@ public class KnoxCLI extends Configured implements Tool {
 
   private class RedeployCommand extends Command {
 
-    public static final String USAGE = "redeploy [--cluster c]";
+    public static final String USAGE = "redeploy [--cluster clustername]";
     public static final String DESC =
         "Redeploys one or all of the gateway's clusters (a.k.a topologies).";
 
@@ -593,7 +594,29 @@ public class KnoxCLI extends Configured implements Tool {
     public void execute() throws Exception {
       TopologyService ts = getTopologyService();
       ts.reloadTopologies();
-      ts.redeployTopologies(cluster);
+      if (cluster != null) {
+        if (validateClusterName(cluster, ts)) {
+          ts.redeployTopologies(cluster);
+        }
+        else {
+          out.println("Invalid clusterName provided. No topologies to 
redeploy.");
+        }
+      }
+    }
+
+    /**
+     * @param cluster
+     * @param ts
+     */
+    private boolean validateClusterName(String cluster, TopologyService ts) {
+      boolean valid = false;
+      for (Topology t : ts.getTopologies() ) {
+        if (t.getName().equals(cluster)) {
+          valid = true;
+          break;
+        }
+      }
+      return valid;
     }
 
     @Override

Reply via email to