This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 868a2376fe HDDS-12756. Speed up TestReconfigShell and 
TestOzoneDebugShell (#8219)
868a2376fe is described below

commit 868a2376fe43bac5fc8635b6f0b0e5882ed065a2
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Thu Apr 3 16:24:11 2025 +0200

    HDDS-12756. Speed up TestReconfigShell and TestOzoneDebugShell (#8219)
---
 .../hadoop/ozone/shell/TestOzoneDebugShell.java    | 113 ++++---------
 .../hadoop/ozone/shell/TestReconfigShell.java      | 187 ++++++++-------------
 .../java/org/apache/ozone/test/NonHATests.java     |  18 ++
 3 files changed, 121 insertions(+), 197 deletions(-)

diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestOzoneDebugShell.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestOzoneDebugShell.java
index a1ace9f97f..6e4e9ab063 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestOzoneDebugShell.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestOzoneDebugShell.java
@@ -17,12 +17,6 @@
 
 package org.apache.hadoop.ozone.shell;
 
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static 
org.apache.hadoop.hdds.HddsConfigKeys.HDDS_COMMAND_STATUS_REPORT_INTERVAL;
-import static 
org.apache.hadoop.hdds.HddsConfigKeys.HDDS_CONTAINER_REPORT_INTERVAL;
-import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL;
-import static 
org.apache.hadoop.hdds.HddsConfigKeys.HDDS_PIPELINE_REPORT_INTERVAL;
-import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_HEARTBEAT_PROCESS_INTERVAL;
 import static org.apache.hadoop.ozone.OzoneConsts.OM_DB_NAME;
 import static org.apache.hadoop.ozone.OzoneConsts.OM_KEY_PREFIX;
 import static org.apache.hadoop.ozone.OzoneConsts.OM_SNAPSHOT_CHECKPOINT_DIR;
@@ -36,27 +30,22 @@
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.nio.charset.StandardCharsets;
-import java.time.Duration;
 import java.util.HashSet;
 import java.util.Set;
 import java.util.UUID;
-import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hdds.client.ECReplicationConfig;
 import org.apache.hadoop.hdds.client.ReplicationConfig;
 import org.apache.hadoop.hdds.client.ReplicationFactor;
 import org.apache.hadoop.hdds.client.ReplicationType;
-import org.apache.hadoop.hdds.conf.OzoneConfiguration;
+import org.apache.hadoop.hdds.scm.ScmConfigKeys;
 import org.apache.hadoop.hdds.scm.container.ContainerID;
 import org.apache.hadoop.hdds.scm.container.ContainerInfo;
-import org.apache.hadoop.hdds.scm.container.replication.ReplicationManager;
 import org.apache.hadoop.hdds.utils.IOUtils;
-import org.apache.hadoop.ozone.MiniOzoneCluster;
 import org.apache.hadoop.ozone.OzoneTestUtils;
 import org.apache.hadoop.ozone.TestDataUtil;
 import org.apache.hadoop.ozone.client.OzoneClient;
-import org.apache.hadoop.ozone.client.OzoneClientFactory;
 import org.apache.hadoop.ozone.client.OzoneSnapshot;
 import org.apache.hadoop.ozone.debug.OzoneDebug;
 import org.apache.hadoop.ozone.debug.ldb.RDBParser;
@@ -66,9 +55,11 @@
 import org.apache.hadoop.ozone.om.helpers.OmKeyArgs;
 import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfo;
 import org.apache.ozone.test.GenericTestUtils;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
+import org.apache.ozone.test.NonHATests;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ValueSource;
 import picocli.CommandLine;
@@ -76,41 +67,21 @@
 /**
  * Test Ozone Debug shell.
  */
-public class TestOzoneDebugShell {
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
+public abstract class TestOzoneDebugShell implements NonHATests.TestCase {
 
-  private static MiniOzoneCluster cluster = null;
-  private static OzoneClient client;
-  private static OzoneDebug ozoneDebugShell;
+  private OzoneClient client;
+  private OzoneDebug ozoneDebugShell;
 
-  private static OzoneConfiguration conf = null;
-
-  protected static void startCluster() throws Exception {
-    // Init HA cluster
-    final int numDNs = 5;
-    cluster = MiniOzoneCluster.newBuilder(conf)
-        .setNumDatanodes(numDNs)
-        .build();
-    cluster.waitForClusterToBeReady();
-    client = cluster.newClient();
+  @BeforeEach
+  void init() throws Exception {
+    ozoneDebugShell = new OzoneDebug();
+    client = cluster().newClient();
   }
 
-
-  @BeforeAll
-  public static void init() throws Exception {
-    ozoneDebugShell = new OzoneDebug();
-    conf = ozoneDebugShell.getOzoneConf();
-    conf.setTimeDuration(OZONE_SCM_HEARTBEAT_PROCESS_INTERVAL,
-        100, TimeUnit.MILLISECONDS);
-    conf.setTimeDuration(HDDS_HEARTBEAT_INTERVAL, 1, SECONDS);
-    conf.setTimeDuration(HDDS_PIPELINE_REPORT_INTERVAL, 1, SECONDS);
-    conf.setTimeDuration(HDDS_COMMAND_STATUS_REPORT_INTERVAL, 1, SECONDS);
-    conf.setTimeDuration(HDDS_CONTAINER_REPORT_INTERVAL, 1, SECONDS);
-    ReplicationManager.ReplicationManagerConfiguration replicationConf =
-        conf.getObject(
-            ReplicationManager.ReplicationManagerConfiguration.class);
-    replicationConf.setInterval(Duration.ofSeconds(1));
-    conf.setFromObject(replicationConf);
-    startCluster();
+  @AfterEach
+  void shutdown() {
+    IOUtils.closeQuietly(client);
   }
 
   @ParameterizedTest
@@ -171,13 +142,13 @@ public void testLdbCliForOzoneSnapshot() throws Exception 
{
     assertThat(cmdOut).contains(keyName);
   }
 
-  private static String getSnapshotDBPath(String checkPointDir) {
-    return OMStorage.getOmDbDir(conf) +
+  private String getSnapshotDBPath(String checkPointDir) {
+    return OMStorage.getOmDbDir(cluster().getConf()) +
         OM_KEY_PREFIX + OM_SNAPSHOT_CHECKPOINT_DIR + OM_KEY_PREFIX +
         OM_DB_NAME + checkPointDir;
   }
 
-  private static void writeKey(String volumeName, String bucketName,
+  private void writeKey(String volumeName, String bucketName,
       String keyName, boolean isEcKey) throws IOException {
     ReplicationConfig repConfig;
     if (isEcKey) {
@@ -186,14 +157,12 @@ private static void writeKey(String volumeName, String 
bucketName,
       repConfig = ReplicationConfig.fromTypeAndFactor(ReplicationType.RATIS,
           ReplicationFactor.THREE);
     }
-    try (OzoneClient client = OzoneClientFactory.getRpcClient(conf)) {
-      // see HDDS-10091 for making this work with FILE_SYSTEM_OPTIMIZED layout
-      TestDataUtil.createVolumeAndBucket(client, volumeName, bucketName,
-          BucketLayout.LEGACY);
-      TestDataUtil.createKey(
-          client.getObjectStore().getVolume(volumeName).getBucket(bucketName),
-          keyName, repConfig, "test".getBytes(StandardCharsets.UTF_8));
-    }
+    // see HDDS-10091 for making this work with FILE_SYSTEM_OPTIMIZED layout
+    TestDataUtil.createVolumeAndBucket(client, volumeName, bucketName,
+        BucketLayout.LEGACY);
+    TestDataUtil.createKey(
+        client.getObjectStore().getVolume(volumeName).getBucket(bucketName),
+        keyName, repConfig, "test".getBytes(StandardCharsets.UTF_8));
   }
 
   private int runChunkInfoCommand(String volumeName, String bucketName,
@@ -202,23 +171,18 @@ private int runChunkInfoCommand(String volumeName, String 
bucketName,
         Path.SEPARATOR + volumeName + Path.SEPARATOR + bucketName;
     String[] args = new String[] {
         getSetConfStringFromConf(OMConfigKeys.OZONE_OM_ADDRESS_KEY),
+        getSetConfStringFromConf(ScmConfigKeys.OZONE_SCM_CLIENT_ADDRESS_KEY),
         "replicas", "chunk-info", bucketPath + Path.SEPARATOR + keyName };
 
-    int exitCode = ozoneDebugShell.execute(args);
-    return exitCode;
+    return ozoneDebugShell.execute(args);
   }
 
   private int runChunkInfoAndVerifyPaths(String volumeName, String bucketName,
       String keyName) throws Exception {
-    String bucketPath =
-        Path.SEPARATOR + volumeName + Path.SEPARATOR + bucketName;
-    String[] args = new String[] {
-        getSetConfStringFromConf(OMConfigKeys.OZONE_OM_ADDRESS_KEY),
-        "replicas", "chunk-info", bucketPath + Path.SEPARATOR + keyName };
     int exitCode = 1;
     try (GenericTestUtils.SystemOutCapturer capture = new GenericTestUtils
         .SystemOutCapturer()) {
-      exitCode = ozoneDebugShell.execute(args);
+      exitCode = runChunkInfoCommand(volumeName, bucketName, keyName);
       Set<String> blockFilePaths = new HashSet<>();
       String output = capture.getOutput();
       ObjectMapper objectMapper = new ObjectMapper();
@@ -244,34 +208,23 @@ private int runChunkInfoAndVerifyPaths(String volumeName, 
String bucketName,
    * connect to OM by setting the right om address.
    */
   private String getSetConfStringFromConf(String key) {
-    return String.format("--set=%s=%s", key, conf.get(key));
+    return String.format("--set=%s=%s", key, cluster().getConf().get(key));
   }
 
-  private static void closeContainerForKey(String volumeName, String 
bucketName,
+  private void closeContainerForKey(String volumeName, String bucketName,
       String keyName)
       throws IOException, TimeoutException, InterruptedException {
     OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName)
         .setBucketName(bucketName).setKeyName(keyName).build();
 
     OmKeyLocationInfo omKeyLocationInfo =
-        cluster.getOzoneManager().lookupKey(keyArgs).getKeyLocationVersions()
+        cluster().getOzoneManager().lookupKey(keyArgs).getKeyLocationVersions()
             .get(0).getBlocksLatestVersionOnly().get(0);
 
     ContainerInfo container =
-        
cluster.getStorageContainerManager().getContainerManager().getContainer(
+        
cluster().getStorageContainerManager().getContainerManager().getContainer(
             ContainerID.valueOf(omKeyLocationInfo.getContainerID()));
-    OzoneTestUtils.closeContainer(cluster.getStorageContainerManager(),
+    OzoneTestUtils.closeContainer(cluster().getStorageContainerManager(),
         container);
   }
-
-  /**
-   * shutdown MiniOzoneCluster.
-   */
-  @AfterAll
-  public static void shutdown() {
-    IOUtils.closeQuietly(client);
-    if (cluster != null) {
-      cluster.shutdown();
-    }
-  }
 }
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestReconfigShell.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestReconfigShell.java
index 28a35a3887..d6001a2fd8 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestReconfigShell.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/shell/TestReconfigShell.java
@@ -17,166 +17,119 @@
 
 package org.apache.hadoop.ozone.shell;
 
-import static 
org.apache.hadoop.hdds.protocol.proto.HddsProtos.NodeOperationalState.DECOMMISSIONED;
-import static 
org.apache.hadoop.hdds.protocol.proto.HddsProtos.NodeOperationalState.IN_SERVICE;
-import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_STALENODE_INTERVAL;
+import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_CLIENT_ADDRESS_KEY;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import java.io.UnsupportedEncodingException;
 import java.net.InetSocketAddress;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
-import java.util.UUID;
-import java.util.concurrent.TimeUnit;
 import org.apache.hadoop.conf.ReconfigurableBase;
-import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import org.apache.hadoop.hdds.protocol.DatanodeDetails;
+import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
 import org.apache.hadoop.hdds.scm.node.NodeManager;
 import org.apache.hadoop.hdds.scm.server.StorageContainerManager;
-import org.apache.hadoop.ozone.HddsDatanodeClientProtocolServer;
+import org.apache.hadoop.hdds.utils.IOUtils;
 import org.apache.hadoop.ozone.HddsDatanodeService;
-import org.apache.hadoop.ozone.MiniOzoneCluster;
 import org.apache.hadoop.ozone.admin.OzoneAdmin;
 import org.apache.hadoop.ozone.om.OzoneManager;
-import org.apache.ozone.test.GenericTestUtils.SystemOutCapturer;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
+import org.apache.ozone.test.GenericTestUtils;
+import org.apache.ozone.test.NonHATests;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 import org.junit.jupiter.api.Timeout;
 
 /**
- * * Integration test for {@code ozone admin reconfig} command. HA enabled.
+ * Integration test for {@code ozone admin reconfig} command.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 @Timeout(300)
-public class TestReconfigShell {
-
-  private static final int DATANODE_COUNT = 3;
-  private static MiniOzoneCluster cluster;
-  private static List<HddsDatanodeService> datanodeServices;
-  private static OzoneAdmin ozoneAdmin;
-  private static OzoneManager ozoneManager;
-  private static StorageContainerManager storageContainerManager;
-  private static NodeManager nm;
-
-
-  /**
-   * Create a Mini Cluster for testing.
-   */
-  @BeforeAll
-  public static void setup() throws Exception {
+public abstract class TestReconfigShell implements NonHATests.TestCase {
+
+  private OzoneAdmin ozoneAdmin;
+  private GenericTestUtils.PrintStreamCapturer out;
+  private GenericTestUtils.PrintStreamCapturer err;
+
+  @BeforeEach
+  void capture() {
+    out = GenericTestUtils.captureOut();
+    err = GenericTestUtils.captureErr();
     ozoneAdmin = new OzoneAdmin();
-    OzoneConfiguration conf = ozoneAdmin.getOzoneConf();
-    conf.setTimeDuration(OZONE_SCM_STALENODE_INTERVAL, 3, TimeUnit.SECONDS);
-    String omServiceId = UUID.randomUUID().toString();
-    cluster = MiniOzoneCluster.newHABuilder(conf)
-        .setOMServiceId(omServiceId)
-        .setNumOfOzoneManagers(1)
-        .setNumOfStorageContainerManagers(1)
-        .setNumDatanodes(DATANODE_COUNT)
-        .build();
-    cluster.waitForClusterToBeReady();
-    ozoneManager = cluster.getOzoneManager();
-    storageContainerManager = cluster.getStorageContainerManager();
-    datanodeServices = cluster.getHddsDatanodes();
-    nm = storageContainerManager.getScmNodeManager();
   }
 
-  @AfterAll
-  public static void shutdown() {
-    if (cluster != null) {
-      cluster.shutdown();
-    }
+  @AfterEach
+  void stopCapture() {
+    IOUtils.closeQuietly(out);
   }
 
   @Test
-  public void testDataNodeGetReconfigurableProperties() throws Exception {
-    try (SystemOutCapturer capture = new SystemOutCapturer()) {
-      for (HddsDatanodeService datanodeService : datanodeServices) {
-        HddsDatanodeClientProtocolServer server =
-            datanodeService.getClientProtocolServer();
-        InetSocketAddress socket = server.getClientRpcAddress();
-        
executeAndAssertProperties(datanodeService.getReconfigurationHandler(), 
"--service=DATANODE",
-            socket, capture);
-      }
+  void testDataNodeGetReconfigurableProperties() {
+    for (HddsDatanodeService dn : cluster().getHddsDatanodes()) {
+      InetSocketAddress socket = 
dn.getClientProtocolServer().getClientRpcAddress();
+      executeAndAssertProperties(dn.getReconfigurationHandler(), "DATANODE", 
socket);
     }
   }
 
   @Test
-  public void testOzoneManagerGetReconfigurationProperties() throws Exception {
-    try (SystemOutCapturer capture = new SystemOutCapturer()) {
-      InetSocketAddress socket = ozoneManager.getOmRpcServerAddr();
-      executeAndAssertProperties(ozoneManager.getReconfigurationHandler(), 
"--service=OM",
-          socket, capture);
-    }
+  void testOzoneManagerGetReconfigurationProperties() {
+    OzoneManager om = cluster().getOzoneManager();
+    InetSocketAddress socket = om.getOmRpcServerAddr();
+    executeAndAssertProperties(om.getReconfigurationHandler(), "OM", socket);
+  }
+
+  @Test
+  void testStorageContainerManagerGetReconfigurationProperties() {
+    StorageContainerManager scm = cluster().getStorageContainerManager();
+    executeAndAssertProperties(scm.getReconfigurationHandler(), "SCM", 
scm.getClientRpcAddress());
+  }
+
+  @Test
+  void testDatanodeBulkCommand() {
+    executeForInServiceDatanodes(cluster().getHddsDatanodes().size());
   }
 
   @Test
-  public void testStorageContainerManagerGetReconfigurationProperties()
-      throws Exception {
-    try (SystemOutCapturer capture = new SystemOutCapturer()) {
-      InetSocketAddress socket = storageContainerManager.getClientRpcAddress();
-      executeAndAssertProperties(
-          storageContainerManager.getReconfigurationHandler(), 
"--service=SCM", socket, capture);
+  void testDatanodeBulkCommandWithOutOfServiceNode() throws Exception {
+    DatanodeDetails dn = 
cluster().getHddsDatanodes().get(0).getDatanodeDetails();
+    NodeManager nodeManager = 
cluster().getStorageContainerManager().getScmNodeManager();
+    nodeManager.setNodeOperationalState(dn, 
HddsProtos.NodeOperationalState.DECOMMISSIONING);
+
+    try {
+      executeForInServiceDatanodes(cluster().getHddsDatanodes().size() - 1);
+    } finally {
+      nodeManager.setNodeOperationalState(dn, 
HddsProtos.NodeOperationalState.IN_SERVICE);
     }
   }
 
   private void executeAndAssertProperties(
       ReconfigurableBase reconfigurableBase, String service,
-      InetSocketAddress socket, SystemOutCapturer capture)
-      throws UnsupportedEncodingException {
+      InetSocketAddress socket) {
     String address = socket.getHostString() + ":" + socket.getPort();
-    ozoneAdmin.execute(
-        new String[] {"reconfig", service, "--address", address, 
"properties"});
-    assertReconfigurablePropertiesOutput(
-        reconfigurableBase.getReconfigurableProperties(), capture.getOutput());
+    ozoneAdmin.getCmd().execute("reconfig", "--service", service, "--address", 
address, "properties");
+    
assertReconfigurablePropertiesOutput(reconfigurableBase.getReconfigurableProperties());
   }
 
-  private void assertReconfigurablePropertiesOutput(
-      Collection<String> except, String output) {
-    List<String> outs =
-        Arrays.asList(output.split(System.getProperty("line.separator")));
-    for (String property : except) {
-      assertThat(outs).contains(property);
-    }
-  }
+  private void assertReconfigurablePropertiesOutput(Collection<String> 
expectedProperties) {
+    assertThat(err.get()).isEmpty();
 
-  @Test
-  public void testDatanodeBulkReconfig() throws Exception {
-    // All Dn are normal, So All the Dn will be reconfig
-    List<HddsDatanodeService> dns = cluster.getHddsDatanodes();
-    assertEquals(DATANODE_COUNT, dns.size());
-    executeAndAssertBulkReconfigCount(DATANODE_COUNT);
-
-    // Shutdown a Dn, it will not be reconfig,
-    // so only (datanodeCount - 1) Dn will be configured successfully
-    cluster.shutdownHddsDatanode(0);
-    executeAndAssertBulkReconfigCount(DATANODE_COUNT - 1);
-    cluster.restartHddsDatanode(0, true);
-    executeAndAssertBulkReconfigCount(DATANODE_COUNT);
-
-    // DECOMMISSIONED a Dn, it will not be reconfig,
-    // so only (datanodeCount - 1) Dn will be configured successfully
-    DatanodeDetails details = dns.get(1).getDatanodeDetails();
-    storageContainerManager.getScmDecommissionManager()
-        .startDecommission(details);
-    nm.setNodeOperationalState(details, DECOMMISSIONED);
-    executeAndAssertBulkReconfigCount(DATANODE_COUNT - 1);
-    storageContainerManager.getScmDecommissionManager()
-        .recommission(details);
-    nm.setNodeOperationalState(details, IN_SERVICE);
-    executeAndAssertBulkReconfigCount(DATANODE_COUNT);
+    List<String> outs = Arrays.asList(out.get().split(System.lineSeparator()));
+    assertThat(outs).containsAll(expectedProperties);
   }
 
-  private void executeAndAssertBulkReconfigCount(int except)
-      throws Exception {
-    try (SystemOutCapturer capture = new SystemOutCapturer()) {
-      ozoneAdmin.execute(new String[] {
-          "reconfig", "--service=DATANODE", "--in-service-datanodes", 
"properties"});
-      String output = capture.getOutput();
+  private void executeForInServiceDatanodes(int expectedCount) {
+    StorageContainerManager scm = cluster().getStorageContainerManager();
+    ozoneAdmin.getCmd().execute(
+        "-D", OZONE_SCM_CLIENT_ADDRESS_KEY + "=" + 
getAddress(scm.getClientRpcAddress()),
+        "reconfig", "--service", "DATANODE", "--in-service-datanodes", 
"properties");
 
-      assertThat(capture.getOutput()).contains(String.format("successfully 
%d", except));
-    }
+    assertThat(err.get()).isEmpty();
+    assertThat(out.get())
+        .contains(String.format("successfully %d ", expectedCount));
+  }
+
+  private String getAddress(InetSocketAddress socket) {
+    return socket.getHostString() + ":" + socket.getPort();
   }
 }
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/ozone/test/NonHATests.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/ozone/test/NonHATests.java
index df932ed34f..009c4fa5cf 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/ozone/test/NonHATests.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/ozone/test/NonHATests.java
@@ -55,6 +55,8 @@
 import org.apache.hadoop.ozone.reconfig.TestDatanodeReconfiguration;
 import org.apache.hadoop.ozone.reconfig.TestOmReconfiguration;
 import org.apache.hadoop.ozone.reconfig.TestScmReconfiguration;
+import org.apache.hadoop.ozone.shell.TestOzoneDebugShell;
+import org.apache.hadoop.ozone.shell.TestReconfigShell;
 import org.apache.hadoop.ozone.shell.TestReplicationConfigPreference;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.TestInstance;
@@ -370,6 +372,22 @@ public MiniOzoneCluster cluster() {
     }
   }
 
+  @Nested
+  class OzoneDebugShell extends TestOzoneDebugShell {
+    @Override
+    public MiniOzoneCluster cluster() {
+      return getCluster();
+    }
+  }
+
+  @Nested
+  class ReconfigShell extends TestReconfigShell {
+    @Override
+    public MiniOzoneCluster cluster() {
+      return getCluster();
+    }
+  }
+
   @Nested
   class ScmReconfiguration extends TestScmReconfiguration {
     @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to