From 3158f479d3b7d06783e6d9c27fd677faf05a9f0d Mon Sep 17 00:00:00 2001 From: Weiwei Yang Date: Wed, 3 May 2017 11:21:15 +0800 Subject: [PATCH] HDFS-11725. Ozone: Revise create container CLI specification and implementation. Contributed by Weiwei Yang --- .../cli/container/CreateContainerHandler.java | 21 ++++++++++--------- .../apache/hadoop/ozone/scm/TestSCMCli.java | 5 ++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/cli/container/CreateContainerHandler.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/cli/container/CreateContainerHandler.java index 9e5cc1a49a..b68d872054 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/cli/container/CreateContainerHandler.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/cli/container/CreateContainerHandler.java @@ -35,7 +35,9 @@ public class CreateContainerHandler extends OzoneCommandHandler { public static final String CONTAINER_CREATE = "create"; - public static final String PIPELINE_ID = "p"; + public static final String OPT_CONTAINER_NAME = "c"; + // TODO Support an optional -p option to create + // container on given datanodes. public CreateContainerHandler(ScmClient scmClient) { super(scmClient); @@ -46,25 +48,23 @@ public void execute(CommandLine cmd) throws IOException { if (!cmd.hasOption(CONTAINER_CREATE)) { throw new IOException("Expecting container create"); } - // TODO requires pipeline id (instead of optional as in the design) for now - if (!cmd.hasOption(PIPELINE_ID)) { + if (!cmd.hasOption(OPT_CONTAINER_NAME)) { displayHelp(); if (!cmd.hasOption(HELP_OP)) { - throw new IOException("Expecting container ID"); + throw new IOException("Expecting container name"); } else { return; } } - String pipelineID = cmd.getOptionValue(PIPELINE_ID); + String containerName = cmd.getOptionValue(OPT_CONTAINER_NAME); - logOut("Creating container : %s.", pipelineID); - getScmClient().createContainer(pipelineID); + logOut("Creating container : %s.", containerName); + getScmClient().createContainer(containerName); logOut("Container created."); } @Override public void displayHelp() { - // TODO : may need to change this if we decide to make -p optional later Options options = new Options(); addOptions(options); HelpFormatter helpFormatter = new HelpFormatter(); @@ -73,7 +73,8 @@ public void displayHelp() { } public static void addOptions(Options options) { - Option pipelineID = new Option(PIPELINE_ID, true, "Specify pipeline ID"); - options.addOption(pipelineID); + Option containerNameOpt = new Option(OPT_CONTAINER_NAME, + true, "Specify container name"); + options.addOption(containerNameOpt); } } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestSCMCli.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestSCMCli.java index b8ebec1196..ec586773c8 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestSCMCli.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/scm/TestSCMCli.java @@ -113,9 +113,8 @@ public void testCreateContainer() throws Exception { assertTrue(ioe.getMessage().contains( "Specified key does not exist. key : " + containerName)); } - String[] args = {"-container", "-create", "-p", containerName}; + String[] args = {"-container", "-create", "-c", containerName}; assertEquals(ResultCode.SUCCESS, cli.run(args)); - Thread.sleep(3000); Pipeline container = scm.getContainer(containerName); assertNotNull(container); assertEquals(containerName, container.getContainerName()); @@ -226,7 +225,7 @@ public void testHelp() throws Exception { String expected2 = "usage: hdfs scm -container -create