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