From 142947da936c8c99242a1242c39a5702da4b66cc Mon Sep 17 00:00:00 2001 From: maobaolong <307499405@qq.com> Date: Wed, 5 Aug 2020 17:42:38 +0800 Subject: [PATCH 1/6] HDDS-4064. Show container verbose info with verbose option --- .../hadoop/hdds/scm/cli/container/InfoSubcommand.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java index 31e2a45dfc58..03b8ee230c95 100644 --- a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java +++ b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java @@ -29,6 +29,7 @@ import com.google.common.base.Preconditions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import picocli.CommandLine; import picocli.CommandLine.Command; import picocli.CommandLine.Parameters; import picocli.CommandLine.ParentCommand; @@ -52,6 +53,10 @@ public class InfoSubcommand implements Callable { @Parameters(description = "Decimal id of the container.") private long containerID; + @CommandLine.Option(names = {"--verbose"}, + description = "Show detailed info of the container.") + private boolean verbose; + @Override public Void call() throws Exception { try (ScmClient scmClient = parent.getParent().createScmClient()) { @@ -61,7 +66,11 @@ public Void call() throws Exception { // Print container report info. LOG.info("Container id: {}", containerID); - LOG.info("Pipeline id: {}", container.getPipeline().getId().getId()); + if (verbose) { + LOG.info("Pipeline Info: {}", container.getPipeline()); + } else { + LOG.info("Pipeline id: {}", container.getPipeline().getId().getId()); + } LOG.info("Container State: {}", container.getContainerInfo().getState()); // Print pipeline of an existing container. From b175bc5a251c0a1a46c67dcc67819ccc690f7214 Mon Sep 17 00:00:00 2001 From: baoloongmao Date: Thu, 27 Aug 2020 11:51:57 +0800 Subject: [PATCH 2/6] Use GenericParentCommand to get the verbose mode --- .../hadoop/hdds/scm/cli/container/InfoSubcommand.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java index 03b8ee230c95..496e3cc7b649 100644 --- a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java +++ b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java @@ -20,6 +20,7 @@ import java.util.concurrent.Callable; import java.util.stream.Collectors; +import org.apache.hadoop.hdds.cli.GenericParentCommand; import org.apache.hadoop.hdds.cli.HddsVersionProvider; import org.apache.hadoop.hdds.protocol.DatanodeDetails; import org.apache.hadoop.hdds.scm.client.ScmClient; @@ -53,10 +54,6 @@ public class InfoSubcommand implements Callable { @Parameters(description = "Decimal id of the container.") private long containerID; - @CommandLine.Option(names = {"--verbose"}, - description = "Show detailed info of the container.") - private boolean verbose; - @Override public Void call() throws Exception { try (ScmClient scmClient = parent.getParent().createScmClient()) { @@ -66,6 +63,8 @@ public Void call() throws Exception { // Print container report info. LOG.info("Container id: {}", containerID); + boolean verbose = parent.getParent() instanceof GenericParentCommand && + ((GenericParentCommand) parent.getParent()).isVerbose(); if (verbose) { LOG.info("Pipeline Info: {}", container.getPipeline()); } else { From 33c9d499316a8df60ca765bc7b42e95a6c3a3560 Mon Sep 17 00:00:00 2001 From: baoloongmao Date: Thu, 27 Aug 2020 12:26:01 +0800 Subject: [PATCH 3/6] Use GenericParentCommand to get the verbose mode --- .../org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java | 1 - 1 file changed, 1 deletion(-) diff --git a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java index 496e3cc7b649..3e748f932624 100644 --- a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java +++ b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java @@ -30,7 +30,6 @@ import com.google.common.base.Preconditions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import picocli.CommandLine; import picocli.CommandLine.Command; import picocli.CommandLine.Parameters; import picocli.CommandLine.ParentCommand; From 738c83485905bbfb617638c17cae3dff545e1f1b Mon Sep 17 00:00:00 2001 From: "Doroszlai, Attila" Date: Thu, 27 Aug 2020 12:53:21 +0200 Subject: [PATCH 4/6] HDDS-4064. Add robot test for verbose mode --- .../dist/src/main/smoketest/admincli/container.robot | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hadoop-ozone/dist/src/main/smoketest/admincli/container.robot b/hadoop-ozone/dist/src/main/smoketest/admincli/container.robot index 0560880de79d..80edfd127487 100644 --- a/hadoop-ozone/dist/src/main/smoketest/admincli/container.robot +++ b/hadoop-ozone/dist/src/main/smoketest/admincli/container.robot @@ -46,8 +46,13 @@ List containers with explicit host Container info ${output} = Execute ozone admin container info "${CONTAINER}" Should contain ${output} Container id: ${CONTAINER} + Should contain ${output} Pipeline id Should contain ${output} Datanodes +Verbose container info + ${output} = Execute ozone admin --verbose container info "${CONTAINER}" + Should contain ${output} Pipeline Info + Close container Execute ozone admin container close "${CONTAINER}" ${output} = Execute ozone admin container info "${CONTAINER}" From ee4b45c3c930544bd9c0c2e6d62a7879fec6042f Mon Sep 17 00:00:00 2001 From: "Doroszlai, Attila" Date: Thu, 27 Aug 2020 13:14:38 +0200 Subject: [PATCH 5/6] HDDS-4064. Fix checkstyle --- .../apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java index d598f4aa8db2..0a2ac4a302c4 100644 --- a/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java +++ b/hadoop-hdds/tools/src/main/java/org/apache/hadoop/hdds/scm/cli/container/InfoSubcommand.java @@ -63,8 +63,8 @@ public void execute(ScmClient scmClient) throws IOException { // Print container report info. LOG.info("Container id: {}", containerID); - boolean verbose = spec.root().userObject() instanceof GenericParentCommand && - ((GenericParentCommand) spec.root().userObject()).isVerbose(); + boolean verbose = spec.root().userObject() instanceof GenericParentCommand + && ((GenericParentCommand) spec.root().userObject()).isVerbose(); if (verbose) { LOG.info("Pipeline Info: {}", container.getPipeline()); } else { From 4dffd17eae06881e9b8487201f417a5ba29c45f3 Mon Sep 17 00:00:00 2001 From: "Doroszlai, Attila" Date: Thu, 27 Aug 2020 16:11:27 +0200 Subject: [PATCH 6/6] trigger new CI check