You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by si...@apache.org on 2022/07/12 20:30:38 UTC

[ozone] branch master updated: HDDS-6993. [Multi-Tenant] Set QuotaInBytes and QuotaInNamespace during Tenant Create. (#3590)

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

siyao 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 e822caebe9 HDDS-6993. [Multi-Tenant] Set QuotaInBytes and QuotaInNamespace during Tenant Create. (#3590)
e822caebe9 is described below

commit e822caebe974211429dec40763e76473dacc22fa
Author: Aswin Shakil Balasubramanian <as...@gmail.com>
AuthorDate: Tue Jul 12 13:30:34 2022 -0700

    HDDS-6993. [Multi-Tenant] Set QuotaInBytes and QuotaInNamespace during Tenant Create. (#3590)
---
 .../om/multitenant/TestMultiTenantVolume.java      | 29 ++++++++++++++++++++++
 .../request/s3/tenant/OMTenantCreateRequest.java   |  2 ++
 2 files changed, 31 insertions(+)

diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/multitenant/TestMultiTenantVolume.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/multitenant/TestMultiTenantVolume.java
index 92be4285fd..f255bc93da 100644
--- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/multitenant/TestMultiTenantVolume.java
+++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/multitenant/TestMultiTenantVolume.java
@@ -18,6 +18,7 @@
 package org.apache.hadoop.ozone.om.multitenant;
 
 import com.google.protobuf.ServiceException;
+import org.apache.hadoop.hdds.client.OzoneQuota;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import org.apache.hadoop.hdds.scm.client.HddsClientUtils;
 import org.apache.hadoop.ozone.MiniOzoneCluster;
@@ -205,6 +206,7 @@ public class TestMultiTenantVolume {
 
     store.tenantRevokeUserAccessId(ACCESS_ID);
     store.deleteTenant(TENANT_ID);
+    store.deleteVolume(TENANT_ID);
   }
 
   /**
@@ -261,4 +263,31 @@ public class TestMultiTenantVolume {
 
     Assert.assertEquals(writtenVersion, readBackVersion);
   }
+
+  @Test
+  public void testTenantVolumeQuota() throws Exception {
+
+    ObjectStore store = getStoreForAccessID(ACCESS_ID);
+
+    // Create Tenant and check default quota
+    store.createTenant(TENANT_ID);
+    OzoneVolume volume;
+    volume = store.getVolume(TENANT_ID);
+    Assert.assertEquals(OzoneConsts.QUOTA_RESET, volume.getQuotaInNamespace());
+    Assert.assertEquals(OzoneConsts.QUOTA_RESET, volume.getQuotaInBytes());
+
+    long spaceQuota = 10;
+    long namespaceQuota = 20;
+    OzoneQuota quota = OzoneQuota.getOzoneQuota(spaceQuota, namespaceQuota);
+    volume.setQuota(quota);
+
+    // Check quota
+    volume = store.getVolume(TENANT_ID);
+    Assert.assertEquals(namespaceQuota, volume.getQuotaInNamespace());
+    Assert.assertEquals(spaceQuota, volume.getQuotaInBytes());
+
+    // Delete tenant and volume
+    store.deleteTenant(TENANT_ID);
+    store.deleteVolume(TENANT_ID);
+  }
 }
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
index b0e509bfc3..d678b8f1d1 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
@@ -259,6 +259,8 @@ public class OMTenantCreateRequest extends OMVolumeRequest {
 
       // TODO: dedup OMVolumeCreateRequest
       omVolumeArgs = OmVolumeArgs.getFromProtobuf(volumeInfo);
+      omVolumeArgs.setQuotaInBytes(OzoneConsts.QUOTA_RESET);
+      omVolumeArgs.setQuotaInNamespace(OzoneConsts.QUOTA_RESET);
       omVolumeArgs.setObjectID(
           ozoneManager.getObjectIdFromTxId(transactionLogIndex));
       omVolumeArgs.setUpdateID(transactionLogIndex,


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org