diff --git a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OzoneAcl.java b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OzoneAcl.java index 57ba7b3df691..414a217d5a56 100644 --- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OzoneAcl.java +++ b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OzoneAcl.java @@ -33,6 +33,7 @@ import java.util.EnumSet; import java.util.List; import java.util.Objects; +import java.util.Set; import java.util.function.Function; import java.util.function.IntFunction; import java.util.function.Supplier; @@ -81,7 +82,7 @@ public static OzoneAcl of(ACLIdentityType type, String name, AclScope scope, ACL return new OzoneAcl(type, name, scope, toInt(acls)); } - public static OzoneAcl of(ACLIdentityType type, String name, AclScope scope, EnumSet acls) { + public static OzoneAcl of(ACLIdentityType type, String name, AclScope scope, Set acls) { return new OzoneAcl(type, name, scope, toInt(acls)); } @@ -321,6 +322,10 @@ public List getAclList() { return getAclList(aclBits, Function.identity()); } + public Set getAclSet() { + return Collections.unmodifiableSet(EnumSet.copyOf(getAclList())); + } + private static List getAclList(int aclBits, Function converter) { if (aclBits == 0) { return Collections.emptyList(); diff --git a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OmConfig.java b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OmConfig.java index f94d05f1be9d..2c3e94c9116d 100644 --- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OmConfig.java +++ b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OmConfig.java @@ -19,12 +19,16 @@ import com.google.common.base.Preconditions; import java.time.Duration; +import java.util.Collections; +import java.util.EnumSet; +import java.util.Set; import org.apache.hadoop.hdds.conf.Config; import org.apache.hadoop.hdds.conf.ConfigGroup; import org.apache.hadoop.hdds.conf.ConfigTag; import org.apache.hadoop.hdds.conf.ConfigType; import org.apache.hadoop.hdds.conf.PostConstruct; import org.apache.hadoop.hdds.conf.ReconfigurableConfig; +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer.ACLType; /** * Ozone Manager configuration. @@ -81,6 +85,27 @@ public class OmConfig extends ReconfigurableConfig { ) private long ratisBasedFinalizationTimeout = Duration.ofSeconds(30).getSeconds(); + // OM Default user/group permissions + @Config(key = "user.rights", + defaultValue = "ALL", + type = ConfigType.STRING, + tags = {ConfigTag.OM, ConfigTag.SECURITY}, + description = "Default user permissions set for an object in " + + "OzoneManager." + ) + private String userDefaultRights; + private Set userDefaultRightSet; + + @Config(key = "group.rights", + defaultValue = "READ, LIST", + type = ConfigType.STRING, + tags = {ConfigTag.OM, ConfigTag.SECURITY}, + description = "Default group permissions set for an object in " + + "OzoneManager." + ) + private String groupDefaultRights; + private Set groupDefaultRightSet; + public long getRatisBasedFinalizationTimeout() { return ratisBasedFinalizationTimeout; } @@ -111,6 +136,32 @@ public void setMaxUserVolumeCount(int newValue) { validate(); } + public Set getUserDefaultRights() { + if (userDefaultRightSet == null) { + userDefaultRightSet = getUserDefaultRightSet(); + } + return userDefaultRightSet; + } + + private Set getUserDefaultRightSet() { + return userDefaultRights == null + ? Collections.singleton(ACLType.ALL) + : ACLType.parseList(userDefaultRights); + } + + public Set getGroupDefaultRights() { + if (groupDefaultRightSet == null) { + groupDefaultRightSet = getGroupDefaultRightSet(); + } + return groupDefaultRightSet; + } + + private Set getGroupDefaultRightSet() { + return groupDefaultRights == null + ? Collections.unmodifiableSet(EnumSet.of(ACLType.READ, ACLType.LIST)) + : ACLType.parseList(groupDefaultRights); + } + @PostConstruct public void validate() { if (maxListSize <= 0) { @@ -119,6 +170,9 @@ public void validate() { Preconditions.checkArgument(this.maxUserVolumeCount > 0, Keys.USER_MAX_VOLUME + " value should be greater than zero"); + + userDefaultRightSet = getUserDefaultRightSet(); + groupDefaultRightSet = getGroupDefaultRightSet(); } public OmConfig copy() { @@ -131,6 +185,10 @@ public void setFrom(OmConfig other) { fileSystemPathEnabled = other.fileSystemPathEnabled; maxListSize = other.maxListSize; maxUserVolumeCount = other.maxUserVolumeCount; + userDefaultRights = other.userDefaultRights; + groupDefaultRights = other.groupDefaultRights; + + validate(); } /** diff --git a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OzoneAclUtil.java b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OzoneAclUtil.java index f3af4f73da98..d89f9282b7f0 100644 --- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OzoneAclUtil.java +++ b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OzoneAclUtil.java @@ -28,13 +28,12 @@ import java.util.Objects; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.ozone.OzoneAcl; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.exceptions.OMException; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OzoneAclInfo; import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer.ACLType; -import org.apache.hadoop.ozone.security.acl.OzoneAclConfig; import org.apache.hadoop.ozone.security.acl.RequestContext; import org.apache.hadoop.security.UserGroupInformation; import org.slf4j.Logger; @@ -46,9 +45,6 @@ public final class OzoneAclUtil { static final Logger LOG = LoggerFactory.getLogger(OzoneAclUtil.class); - private static ACLType[] userRights; - private static ACLType[] groupRights; - private OzoneAclUtil() { } @@ -59,19 +55,14 @@ private OzoneAclUtil() { * @param conf current configuration * @return list of OzoneAcls * */ - public static List getDefaultAclList(UserGroupInformation ugi, OzoneConfiguration conf) { + public static List getDefaultAclList(UserGroupInformation ugi, OmConfig conf) { // Get default acl rights for user and group. - if (userRights == null || groupRights == null) { - OzoneAclConfig aclConfig = conf.getObject(OzoneAclConfig.class); - userRights = aclConfig.getUserDefaultRights(); - groupRights = aclConfig.getGroupDefaultRights(); - } List listOfAcls = new ArrayList<>(); // User ACL. - listOfAcls.add(OzoneAcl.of(USER, ugi.getShortUserName(), ACCESS, userRights)); + listOfAcls.add(OzoneAcl.of(USER, ugi.getShortUserName(), ACCESS, conf.getUserDefaultRights())); try { String groupName = ugi.getPrimaryGroupName(); - listOfAcls.add(OzoneAcl.of(GROUP, groupName, ACCESS, groupRights)); + listOfAcls.add(OzoneAcl.of(GROUP, groupName, ACCESS, conf.getGroupDefaultRights())); } catch (IOException e) { // do nothing, since user has the permission, user can add ACL for selected groups later. LOG.warn("Failed to get primary group from user {}", ugi); diff --git a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/IAccessAuthorizer.java b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/IAccessAuthorizer.java index 128939a87146..f1218a9aa088 100644 --- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/IAccessAuthorizer.java +++ b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/IAccessAuthorizer.java @@ -17,7 +17,13 @@ package org.apache.hadoop.ozone.security.acl; +import java.util.Arrays; import java.util.BitSet; +import java.util.Collections; +import java.util.EnumSet; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; import org.apache.hadoop.hdds.annotation.InterfaceAudience; import org.apache.hadoop.hdds.annotation.InterfaceStability; import org.apache.hadoop.ozone.OzoneConsts; @@ -119,7 +125,6 @@ public static ACLType getACLRight(String type) { throw new IllegalArgumentException("[" + type + "] ACL right is not " + "recognized"); } - } /** @@ -160,6 +165,15 @@ public static String getAclString(ACLType acl) { throw new IllegalArgumentException("ACL right is not recognized"); } } + + public static Set parseList(String conf) { + String[] array = Objects.requireNonNull(conf, "conf == null") + .trim() + .split(","); + return Collections.unmodifiableSet(Arrays.stream(array) + .map(each -> ACLType.valueOf(each.trim())) + .collect(Collectors.toCollection(() -> EnumSet.noneOf(ACLType.class)))); + } } /** diff --git a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneAclConfig.java b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneAclConfig.java deleted file mode 100644 index 206ba53df5f9..000000000000 --- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/security/acl/OzoneAclConfig.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.hadoop.ozone.security.acl; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import org.apache.hadoop.hdds.conf.Config; -import org.apache.hadoop.hdds.conf.ConfigGroup; -import org.apache.hadoop.hdds.conf.ConfigTag; -import org.apache.hadoop.hdds.conf.ConfigType; -import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer.ACLType; - -/** - * Ozone ACL config pojo. - * */ -@ConfigGroup(prefix = "ozone.om") -public class OzoneAclConfig { - - // OM Default user/group permissions - @Config(key = "user.rights", - defaultValue = "ALL", - type = ConfigType.STRING, - tags = {ConfigTag.OM, ConfigTag.SECURITY}, - description = "Default user permissions set for an object in " + - "OzoneManager." - ) - private String userDefaultRights; - - @Config(key = "group.rights", - defaultValue = "READ, LIST", - type = ConfigType.STRING, - tags = {ConfigTag.OM, ConfigTag.SECURITY}, - description = "Default group permissions set for an object in " + - "OzoneManager." - ) - private String groupDefaultRights; - - public ACLType[] getUserDefaultRights() { - List types = new ArrayList(); - if (userDefaultRights == null) { - types.add(ACLType.ALL); - } else { - String[] array = userDefaultRights.trim().split(","); - Arrays.stream(array).forEach(t -> types.add(ACLType.valueOf(t.trim()))); - } - return types.toArray(new ACLType[0]); - } - - public ACLType[] getGroupDefaultRights() { - List types = new ArrayList(); - if (groupDefaultRights == null) { - types.add(ACLType.READ); - types.add(ACLType.LIST); - } else { - String[] array = groupDefaultRights.trim().split(","); - Arrays.stream(array).forEach(t -> types.add(ACLType.valueOf(t.trim()))); - } - return types.toArray(new ACLType[0]); - } -} diff --git a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOzoneAclUtil.java b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOzoneAclUtil.java index ac95929cb344..20265874969e 100644 --- a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOzoneAclUtil.java +++ b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOzoneAclUtil.java @@ -32,9 +32,8 @@ import java.util.Arrays; import java.util.List; import org.apache.hadoop.ozone.OzoneAcl; -import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer.ACLType; -import org.apache.hadoop.ozone.security.acl.OzoneAclConfig; import org.apache.hadoop.security.UserGroupInformation; import org.junit.jupiter.api.Test; @@ -181,16 +180,14 @@ private static List getDefaultAcls() { ugi = UserGroupInformation.createRemoteUser("user0"); } - OzoneAclConfig aclConfig = newInstanceOf(OzoneAclConfig.class); - IAccessAuthorizer.ACLType[] userRights = aclConfig.getUserDefaultRights(); - IAccessAuthorizer.ACLType[] groupRights = aclConfig.getGroupDefaultRights(); + OmConfig omConfig = newInstanceOf(OmConfig.class); OzoneAclUtil.addAcl(ozoneAcls, OzoneAcl.of(USER, - ugi.getUserName(), ACCESS, userRights)); + ugi.getUserName(), ACCESS, omConfig.getUserDefaultRights())); //Group ACLs of the User List userGroups = Arrays.asList(ugi.getGroupNames()); userGroups.stream().forEach((group) -> OzoneAclUtil.addAcl(ozoneAcls, - OzoneAcl.of(GROUP, group, ACCESS, groupRights))); + OzoneAcl.of(GROUP, group, ACCESS, omConfig.getGroupDefaultRights()))); return ozoneAcls; } diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java index 9d129435baff..6cfe5b13f55c 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/fs/ozone/AbstractRootedOzoneFileSystemTest.java @@ -116,13 +116,13 @@ import org.apache.hadoop.ozone.client.protocol.ClientProtocol; import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.TrashPolicyOzone; import org.apache.hadoop.ozone.om.exceptions.OMException; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.QuotaUtil; import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer.ACLIdentityType; import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer.ACLType; -import org.apache.hadoop.ozone.security.acl.OzoneAclConfig; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.tools.DistCp; import org.apache.hadoop.tools.DistCpOptions; @@ -1190,8 +1190,7 @@ void testSharedTmpDir() throws IOException { // Use ClientProtocol to pass in volume ACL, ObjectStore won't do it ClientProtocol proxy = objectStore.getClientProxy(); // Get default acl rights for user - OzoneAclConfig aclConfig = conf.getObject(OzoneAclConfig.class); - ACLType[] userRights = aclConfig.getUserDefaultRights(); + OmConfig omConfig = cluster.getOzoneManager().getConfig(); // Construct ACL for world access // ACL admin owner, world read+write EnumSet aclRights = EnumSet.of(READ, WRITE); @@ -1202,7 +1201,7 @@ void testSharedTmpDir() throws IOException { .setAdmin("admin") .setOwner("admin") .addAcl(OzoneAcl.of(ACLIdentityType.WORLD, "", ACCESS, aclRights)) - .addAcl(OzoneAcl.of(ACLIdentityType.USER, "admin", ACCESS, userRights)) + .addAcl(OzoneAcl.of(ACLIdentityType.USER, "admin", ACCESS, omConfig.getUserDefaultRights())) .setQuotaInNamespace(1000) .setQuotaInBytes(Long.MAX_VALUE).build(); // Sanity check @@ -1237,7 +1236,7 @@ void testSharedTmpDir() throws IOException { BucketArgs bucketArgs = new BucketArgs.Builder() .setOwner("admin") .addAcl(OzoneAcl.of(ACLIdentityType.WORLD, "", ACCESS, READ, WRITE, LIST)) - .addAcl(OzoneAcl.of(ACLIdentityType.USER, "admin", ACCESS, userRights)) + .addAcl(OzoneAcl.of(ACLIdentityType.USER, "admin", ACCESS, omConfig.getUserDefaultRights())) .setQuotaInNamespace(1000) .setQuotaInBytes(Long.MAX_VALUE).build(); @@ -1293,11 +1292,10 @@ void testTempMount() throws IOException { // Use ClientProtocol to pass in volume ACL, ObjectStore won't do it ClientProtocol proxy = objectStore.getClientProxy(); // Get default acl rights for user - OzoneAclConfig aclConfig = conf.getObject(OzoneAclConfig.class); - ACLType[] userRights = aclConfig.getUserDefaultRights(); + OmConfig omConfig = cluster.getOzoneManager().getConfig(); // Construct ACL for world access OzoneAcl aclWorldAccess = OzoneAcl.of(ACLIdentityType.WORLD, "", - ACCESS, userRights); + ACCESS, omConfig.getUserDefaultRights()); // Construct VolumeArgs VolumeArgs volumeArgs = VolumeArgs.newBuilder() .addAcl(aclWorldAccess) @@ -2273,11 +2271,10 @@ void testNonPrivilegedUserMkdirCreateBucket() throws IOException { ClientProtocol proxy = objectStore.getClientProxy(); // Get default acl rights for user - OzoneAclConfig aclConfig = conf.getObject(OzoneAclConfig.class); - ACLType[] userRights = aclConfig.getUserDefaultRights(); + OmConfig omConfig = cluster.getOzoneManager().getConfig(); // Construct ACL for world access OzoneAcl aclWorldAccess = OzoneAcl.of(ACLIdentityType.WORLD, "", - ACCESS, userRights); + ACCESS, omConfig.getUserDefaultRights()); // Construct VolumeArgs, set ACL to world access VolumeArgs volumeArgs = VolumeArgs.newBuilder() .addAcl(aclWorldAccess) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/OzoneRpcClientTests.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/OzoneRpcClientTests.java index 0b26710b7e83..dbe01d94eb20 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/OzoneRpcClientTests.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/OzoneRpcClientTests.java @@ -162,6 +162,7 @@ import org.apache.hadoop.ozone.container.keyvalue.KeyValueContainerData; import org.apache.hadoop.ozone.container.keyvalue.helpers.BlockUtils; import org.apache.hadoop.ozone.om.OMMetadataManager; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.OmFailoverProxyUtil; import org.apache.hadoop.ozone.om.OzoneManager; import org.apache.hadoop.ozone.om.ResolvedBucket; @@ -187,7 +188,6 @@ import org.apache.hadoop.ozone.om.ratis.OzoneManagerStateMachine; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer.ACLType; -import org.apache.hadoop.ozone.security.acl.OzoneAclConfig; import org.apache.hadoop.ozone.security.acl.OzoneObj; import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; import org.apache.hadoop.security.UserGroupInformation; @@ -4108,13 +4108,11 @@ private List getAclList(OzoneConfiguration conf) List listOfAcls = new ArrayList<>(); //User ACL UserGroupInformation ugi = UserGroupInformation.getCurrentUser(); - OzoneAclConfig aclConfig = conf.getObject(OzoneAclConfig.class); - ACLType[] userRights = aclConfig.getUserDefaultRights(); - ACLType[] groupRights = aclConfig.getGroupDefaultRights(); + OmConfig omConfig = conf.getObject(OmConfig.class); - listOfAcls.add(OzoneAcl.of(USER, ugi.getShortUserName(), ACCESS, userRights)); + listOfAcls.add(OzoneAcl.of(USER, ugi.getShortUserName(), ACCESS, omConfig.getUserDefaultRights())); //Group ACL of the User - listOfAcls.add(OzoneAcl.of(GROUP, ugi.getPrimaryGroupName(), ACCESS, groupRights)); + listOfAcls.add(OzoneAcl.of(GROUP, ugi.getPrimaryGroupName(), ACCESS, omConfig.getGroupDefaultRights())); return listOfAcls; } diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestRecursiveAclWithFSO.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestRecursiveAclWithFSO.java index c609de6eea35..1f652cd12200 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestRecursiveAclWithFSO.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestRecursiveAclWithFSO.java @@ -19,7 +19,6 @@ import static org.apache.hadoop.ozone.TestDataUtil.createKey; import static org.apache.hadoop.ozone.security.acl.OzoneObj.StoreType.OZONE; -import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -41,7 +40,6 @@ import org.apache.hadoop.ozone.client.OzoneVolume; import org.apache.hadoop.ozone.client.protocol.ClientProtocol; import org.apache.hadoop.ozone.om.exceptions.OMException; -import org.apache.hadoop.ozone.security.acl.OzoneAclConfig; import org.apache.hadoop.ozone.security.acl.OzoneObj; import org.apache.hadoop.ozone.security.acl.OzoneObjInfo; import org.apache.hadoop.security.UserGroupInformation; @@ -213,12 +211,12 @@ public void testKeyDefaultACL() throws Exception { List acls = objectStore.getAcl(obj); assertEquals(3, acls.size()); assertEquals(AclTests.ADMIN_UGI.getShortUserName(), acls.get(0).getName()); - OzoneAclConfig aclConfig = cluster().getConf().getObject(OzoneAclConfig.class); - assertArrayEquals(aclConfig.getUserDefaultRights(), acls.get(0).getAclList().toArray()); + OmConfig omConfig = cluster().getOzoneManager().getConfig(); + assertEquals(omConfig.getUserDefaultRights(), acls.get(0).getAclSet()); assertEquals(AclTests.ADMIN_UGI.getPrimaryGroupName(), acls.get(1).getName()); - assertArrayEquals(aclConfig.getGroupDefaultRights(), acls.get(1).getAclList().toArray()); + assertEquals(omConfig.getGroupDefaultRights(), acls.get(1).getAclSet()); assertEquals("WORLD", acls.get(2).getName()); - assertArrayEquals(aclConfig.getUserDefaultRights(), acls.get(2).getAclList().toArray()); + assertEquals(omConfig.getUserDefaultRights(), acls.get(2).getAclSet()); } // set LoginUser as user3 @@ -239,10 +237,10 @@ public void testKeyDefaultACL() throws Exception { List acls = objectStore.getAcl(obj); assertEquals(2, acls.size()); assertEquals(user3.getShortUserName(), acls.get(0).getName()); - OzoneAclConfig aclConfig = cluster().getConf().getObject(OzoneAclConfig.class); - assertArrayEquals(aclConfig.getUserDefaultRights(), acls.get(0).getAclList().toArray()); + OmConfig omConfig = cluster().getOzoneManager().getConfig(); + assertEquals(omConfig.getUserDefaultRights(), acls.get(0).getAclSet()); assertEquals(user3.getPrimaryGroupName(), acls.get(1).getName()); - assertArrayEquals(aclConfig.getGroupDefaultRights(), acls.get(1).getAclList().toArray()); + assertEquals(omConfig.getGroupDefaultRights(), acls.get(1).getAclSet()); // verify key default ACLs int length = 10; @@ -256,9 +254,9 @@ public void testKeyDefaultACL() throws Exception { acls = objectStore.getAcl(obj); assertEquals(2, acls.size()); assertEquals(user3.getShortUserName(), acls.get(0).getName()); - assertArrayEquals(aclConfig.getUserDefaultRights(), acls.get(0).getAclList().toArray()); + assertEquals(omConfig.getUserDefaultRights(), acls.get(0).getAclSet()); assertEquals(user3.getPrimaryGroupName(), acls.get(1).getName()); - assertArrayEquals(aclConfig.getGroupDefaultRights(), acls.get(1).getAclList().toArray()); + assertEquals(omConfig.getGroupDefaultRights(), acls.get(1).getAclSet()); } } diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java index 0ac5f5094077..09d7c20e4572 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java @@ -323,7 +323,7 @@ private void addDefaultAcls(OmBucketInfo omBucketInfo, OmVolumeArgs omVolumeArgs, OzoneManager ozoneManager) throws OMException { List acls = new ArrayList<>(); // Add default acls - acls.addAll(getDefaultAclList(createUGIForApi(), ozoneManager.getConfiguration())); + acls.addAll(getDefaultAclList(createUGIForApi(), ozoneManager.getConfig())); if (omBucketInfo.getAcls() != null) { // Add acls for bucket creator. acls.addAll(omBucketInfo.getAcls()); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java index 311017bed1b3..9c8d7c2dc9bf 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java @@ -181,7 +181,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut dirKeyInfo = createDirectoryKeyInfoWithACL(keyName, keyArgs, baseObjId, omBucketInfo, omPathInfo, trxnLogIndex, - ozoneManager.getDefaultReplicationConfig(), ozoneManager.getConfiguration()); + ozoneManager.getDefaultReplicationConfig(), ozoneManager.getConfig()); missingParentInfos = getAllParentInfo(ozoneManager, keyArgs, missingParents, omBucketInfo, omPathInfo, trxnLogIndex); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequestWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequestWithFSO.java index 3ad7cbd17fec..eca6554c5040 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequestWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequestWithFSO.java @@ -152,7 +152,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut omPathInfo.getLeafNodeName(), keyArgs, omPathInfo.getLeafNodeObjectId(), omPathInfo.getLastKnownParentId(), trxnLogIndex, - omBucketInfo, omPathInfo, ozoneManager.getConfiguration()); + omBucketInfo, omPathInfo, ozoneManager.getConfig()); OMFileRequest.addDirectoryTableCacheEntries(omMetadataManager, volumeId, bucketId, trxnLogIndex, missingParentInfos, dirInfo); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java index 1d65363463a8..f8747ac07dd3 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java @@ -244,7 +244,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut keyArgs.getDataSize(), locations, getFileEncryptionInfo(keyArgs), ozoneManager.getPrefixManager(), omBucketInfo, pathInfo, trxnLogIndex, ozoneManager.getObjectIdFromTxId(trxnLogIndex), - repConfig, ozoneManager.getConfiguration()); + repConfig, ozoneManager.getConfig()); validateEncryptionKeyInfo(omBucketInfo, keyArgs); long openVersion = omKeyInfo.getLatestVersionLocations().getVersion(); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java index 6b9a9d76aae4..3f5b16ec3634 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java @@ -168,7 +168,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut getFileEncryptionInfo(keyArgs), ozoneManager.getPrefixManager(), bucketInfo, pathInfoFSO, trxnLogIndex, pathInfoFSO.getLeafNodeObjectId(), - repConfig, ozoneManager.getConfiguration()); + repConfig, ozoneManager.getConfig()); validateEncryptionKeyInfo(bucketInfo, keyArgs); long openVersion = omFileInfo.getLatestVersionLocations().getVersion(); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java index 8874fc4f582b..477b9d8a9289 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java @@ -274,7 +274,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut keyArgs.getDataSize(), locations, getFileEncryptionInfo(keyArgs), ozoneManager.getPrefixManager(), bucketInfo, pathInfo, trxnLogIndex, ozoneManager.getObjectIdFromTxId(trxnLogIndex), - replicationConfig, ozoneManager.getConfiguration()); + replicationConfig, ozoneManager.getConfig()); validateEncryptionKeyInfo(bucketInfo, keyArgs); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java index 806a640b9a92..3672899163b2 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java @@ -152,7 +152,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut getFileEncryptionInfo(keyArgs), ozoneManager.getPrefixManager(), bucketInfo, pathInfoFSO, trxnLogIndex, pathInfoFSO.getLeafNodeObjectId(), - repConfig, ozoneManager.getConfiguration()); + repConfig, ozoneManager.getConfig()); validateEncryptionKeyInfo(bucketInfo, keyArgs); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java index 0a1d4215e84c..3242f0f436ad 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java @@ -53,7 +53,6 @@ import org.apache.hadoop.hdds.client.ContainerBlockID; import org.apache.hadoop.hdds.client.ECReplicationConfig; import org.apache.hadoop.hdds.client.ReplicationConfig; -import org.apache.hadoop.hdds.conf.OzoneConfiguration; import org.apache.hadoop.hdds.protocol.proto.HddsProtos; import org.apache.hadoop.hdds.scm.container.common.helpers.AllocatedBlock; import org.apache.hadoop.hdds.scm.container.common.helpers.ExcludeList; @@ -68,6 +67,7 @@ import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.OzoneManager; import org.apache.hadoop.ozone.om.PrefixManager; import org.apache.hadoop.ozone.om.ResolvedBucket; @@ -403,7 +403,7 @@ public EncryptedKeyVersion run() throws IOException { protected List getAclsForKey(KeyArgs keyArgs, OmBucketInfo bucketInfo, OMFileRequest.OMPathInfo omPathInfo, - PrefixManager prefixManager, OzoneConfiguration config) throws OMException { + PrefixManager prefixManager, OmConfig config) throws OMException { List acls = new ArrayList<>(); acls.addAll(getDefaultAclList(createUGIForApi(), config)); @@ -463,7 +463,7 @@ protected List getAclsForKey(KeyArgs keyArgs, * @return Acls which inherited parent DEFAULT and keyArgs ACCESS acls. */ protected List getAclsForDir(KeyArgs keyArgs, OmBucketInfo bucketInfo, - OMFileRequest.OMPathInfo omPathInfo, OzoneConfiguration config) throws OMException { + OMFileRequest.OMPathInfo omPathInfo, OmConfig config) throws OMException { // Acls inherited from parent or bucket will convert to DEFAULT scope List acls = new ArrayList<>(); // add default ACLs @@ -528,7 +528,7 @@ protected List getAllMissingParentDirInfo( missingKey); OmDirectoryInfo dirInfo = createDirectoryInfoWithACL(missingKey, keyArgs, nextObjId, lastKnownParentId, trxnLogIndex, - bucketInfo, pathInfo, ozoneManager.getConfiguration()); + bucketInfo, pathInfo, ozoneManager.getConfig()); objectCount++; missingParentInfos.add(dirInfo); @@ -584,7 +584,7 @@ protected List getAllParentInfo(OzoneManager ozoneManager, OmKeyInfo parentKeyInfo = createDirectoryKeyInfoWithACL(missingKey, keyArgs, nextObjId, bucketInfo, omPathInfo, trxnLogIndex, - ozoneManager.getDefaultReplicationConfig(), ozoneManager.getConfiguration()); + ozoneManager.getDefaultReplicationConfig(), ozoneManager.getConfig()); objectCount++; missingParentInfos.add(parentKeyInfo); @@ -609,7 +609,7 @@ protected OmDirectoryInfo createDirectoryInfoWithACL( String dirName, KeyArgs keyArgs, long objectId, long parentObjectId, long transactionIndex, OmBucketInfo bucketInfo, OMFileRequest.OMPathInfo omPathInfo, - OzoneConfiguration config) throws OMException { + OmConfig config) throws OMException { return OmDirectoryInfo.newBuilder() .setName(dirName) .setOwner(keyArgs.getOwnerName()) @@ -640,7 +640,7 @@ protected OmDirectoryInfo createDirectoryInfoWithACL( protected OmKeyInfo createDirectoryKeyInfoWithACL(String keyName, KeyArgs keyArgs, long objectId, OmBucketInfo bucketInfo, OMFileRequest.OMPathInfo omPathInfo, long transactionIndex, - ReplicationConfig serverDefaultReplConfig, OzoneConfiguration config) throws OMException { + ReplicationConfig serverDefaultReplConfig, OmConfig config) throws OMException { return dirKeyInfoBuilderNoACL(keyName, keyArgs, objectId, serverDefaultReplConfig) .setAcls(getAclsForDir(keyArgs, bucketInfo, omPathInfo, config)) @@ -1006,7 +1006,7 @@ protected OmKeyInfo prepareKeyInfo( @Nullable OmBucketInfo omBucketInfo, OMFileRequest.OMPathInfo omPathInfo, long transactionLogIndex, long objectID, - ReplicationConfig replicationConfig, OzoneConfiguration config) + ReplicationConfig replicationConfig, OmConfig config) throws IOException { return prepareFileInfo(omMetadataManager, keyArgs, dbKeyInfo, size, @@ -1030,7 +1030,7 @@ protected OmKeyInfo prepareFileInfo( OMFileRequest.OMPathInfo omPathInfo, long transactionLogIndex, long objectID, ReplicationConfig replicationConfig, - OzoneConfiguration config) throws IOException { + OmConfig config) throws IOException { if (keyArgs.getIsMultipartKey()) { return prepareMultipartFileInfo(omMetadataManager, keyArgs, size, locations, encInfo, prefixManager, omBucketInfo, @@ -1095,7 +1095,7 @@ protected OmKeyInfo createFileInfo( @Nullable OmBucketInfo omBucketInfo, OMFileRequest.OMPathInfo omPathInfo, long transactionLogIndex, long objectID, - OzoneConfiguration config) throws OMException { + OmConfig config) throws OMException { OmKeyInfo.Builder builder = new OmKeyInfo.Builder(); builder.setVolumeName(keyArgs.getVolumeName()) .setBucketName(keyArgs.getBucketName()) @@ -1143,7 +1143,7 @@ private OmKeyInfo prepareMultipartFileInfo( @Nullable OmBucketInfo omBucketInfo, OMFileRequest.OMPathInfo omPathInfo, @Nonnull long transactionLogIndex, long objectID, - OzoneConfiguration configuration) throws IOException { + OmConfig configuration) throws IOException { Preconditions.checkArgument(args.getMultipartNumber() > 0, "PartNumber Should be greater than zero"); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java index a87eb4ae5966..519ed3024cbd 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java @@ -207,7 +207,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut .setOmKeyLocationInfos(Collections.singletonList( new OmKeyLocationInfoGroup(0, new ArrayList<>(), true))) .setAcls(getAclsForKey(keyArgs, bucketInfo, pathInfo, - ozoneManager.getPrefixManager(), ozoneManager.getConfiguration())) + ozoneManager.getPrefixManager(), ozoneManager.getConfig())) .setObjectID(objectID) .setUpdateID(transactionLogIndex) .setFileEncryptionInfo(keyArgs.hasFileEncryptionInfo() ? diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java index c4110c1ea416..3dcbcc969435 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java @@ -181,7 +181,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut .setOmKeyLocationInfos(Collections.singletonList( new OmKeyLocationInfoGroup(0, new ArrayList<>(), true))) .setAcls(getAclsForKey(keyArgs, bucketInfo, pathInfoFSO, - ozoneManager.getPrefixManager(), ozoneManager.getConfiguration())) + ozoneManager.getPrefixManager(), ozoneManager.getConfig())) .setObjectID(pathInfoFSO.getLeafNodeObjectId()) .setUpdateID(transactionLogIndex) .setFileEncryptionInfo(keyArgs.hasFileEncryptionInfo() ? diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java index 09685eacd6d2..4355dc13b2a5 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java @@ -230,7 +230,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut .setOmKeyLocationInfos(Collections.singletonList( new OmKeyLocationInfoGroup(0, new ArrayList<>(), true))) .setAcls(getAclsForKey(keyArgs, omBucketInfo, pathInfoFSO, - ozoneManager.getPrefixManager(), ozoneManager.getConfiguration())) + ozoneManager.getPrefixManager(), ozoneManager.getConfig())) .setObjectID(pathInfoFSO.getLeafNodeObjectId()) .setUpdateID(trxnLogIndex) .setFileEncryptionInfo(keyArgs.hasFileEncryptionInfo() ? diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeCreateRequest.java index 6507351522a7..43afb3f73594 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeCreateRequest.java @@ -156,7 +156,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, Execut // Add default ACL for volume List listOfAcls = getDefaultAclList(UserGroupInformation.createRemoteUser(owner), - ozoneManager.getConfiguration()); + ozoneManager.getConfig()); // ACLs from VolumeArgs if (omVolumeArgs.getAcls() != null) { listOfAcls.addAll(omVolumeArgs.getAcls()); diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithOMResponse.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithOMResponse.java index cae1a33b703d..3f1d1df52f30 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithOMResponse.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithOMResponse.java @@ -47,6 +47,7 @@ import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; import org.apache.hadoop.ozone.om.OzoneManager; import org.apache.hadoop.ozone.om.execution.flowcontrol.ExecutionContext; @@ -104,6 +105,7 @@ public void setup() throws IOException { auditLogger = mock(AuditLogger.class); when(ozoneManager.getAuditLogger()).thenReturn(auditLogger); when(ozoneManager.getConfiguration()).thenReturn(ozoneConfiguration); + when(ozoneManager.getConfig()).thenReturn(ozoneConfiguration.getObject(OmConfig.class)); doNothing().when(auditLogger).logWrite(any(AuditMessage.class)); doubleBuffer = OzoneManagerDoubleBuffer.newBuilder() .setOmMetadataManager(omMetadataManager) diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestBucketRequest.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestBucketRequest.java index 81e227bbce0c..018e60633a50 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestBucketRequest.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestBucketRequest.java @@ -32,6 +32,7 @@ import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; import org.apache.hadoop.ozone.om.OzoneManager; import org.apache.hadoop.ozone.om.ResolvedBucket; @@ -63,6 +64,7 @@ public void setup() throws Exception { ozoneConfiguration.set(OMConfigKeys.OZONE_OM_DB_DIRS, folder.toAbsolutePath().toString()); when(ozoneManager.getConfiguration()).thenReturn(ozoneConfiguration); + when(ozoneManager.getConfig()).thenReturn(ozoneConfiguration.getObject(OmConfig.class)); omMetadataManager = new OmMetadataManagerImpl(ozoneConfiguration, ozoneManager); when(ozoneManager.getMetrics()).thenReturn(omMetrics); diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequest.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequest.java index 65cc1c0d7e51..1cdf808ff3d8 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequest.java @@ -51,6 +51,7 @@ import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; import org.apache.hadoop.ozone.om.OzoneManager; import org.apache.hadoop.ozone.om.ResolvedBucket; @@ -97,6 +98,7 @@ public void setup() throws Exception { omMetadataManager = new OmMetadataManagerImpl(ozoneConfiguration, ozoneManager); when(ozoneManager.getConfiguration()).thenReturn(ozoneConfiguration); + when(ozoneManager.getConfig()).thenReturn(ozoneConfiguration.getObject(OmConfig.class)); when(ozoneManager.getMetrics()).thenReturn(omMetrics); when(ozoneManager.getMetadataManager()).thenReturn(omMetadataManager); AuditLogger auditLogger = mock(AuditLogger.class); diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequestWithFSO.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequestWithFSO.java index 0c36d57da4c2..2f8fdffc5f51 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequestWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/file/TestOMDirectoryCreateRequestWithFSO.java @@ -51,6 +51,7 @@ import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; import org.apache.hadoop.ozone.om.OzoneManager; import org.apache.hadoop.ozone.om.ResolvedBucket; @@ -97,6 +98,7 @@ public void setup() throws Exception { omMetadataManager = new OmMetadataManagerImpl(ozoneConfiguration, ozoneManager); when(ozoneManager.getConfiguration()).thenReturn(ozoneConfiguration); + when(ozoneManager.getConfig()).thenReturn(ozoneConfiguration.getObject(OmConfig.class)); when(ozoneManager.getMetrics()).thenReturn(omMetrics); when(ozoneManager.getMetadataManager()).thenReturn(omMetadataManager); auditLogger = mock(AuditLogger.class); diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequest.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequest.java index 2a7632705178..78d30550e82e 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyCreateRequest.java @@ -58,6 +58,7 @@ import org.apache.hadoop.hdds.protocol.proto.HddsProtos.KeyValue; import org.apache.hadoop.ozone.OzoneAcl; import org.apache.hadoop.ozone.OzoneConsts; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.PrefixManager; import org.apache.hadoop.ozone.om.PrefixManagerImpl; import org.apache.hadoop.ozone.om.exceptions.OMException; @@ -783,6 +784,7 @@ public void testKeyCreateWithFileSystemPathsEnabled( OzoneConfiguration configuration = getOzoneConfiguration(); configuration.setBoolean(OZONE_OM_ENABLE_FILESYSTEM_PATHS, true); when(ozoneManager.getConfiguration()).thenReturn(configuration); + when(ozoneManager.getConfig()).thenReturn(configuration.getObject(OmConfig.class)); when(ozoneManager.getEnableFileSystemPaths()).thenReturn(true); when(ozoneManager.getOzoneLockProvider()).thenReturn( new OzoneLockProvider(setKeyPathLock, true)); diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java index dae04b2e0ed7..8ddb1a23d136 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/key/TestOMKeyRequest.java @@ -66,6 +66,7 @@ import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OMMetrics; import org.apache.hadoop.ozone.om.OMPerformanceMetrics; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; import org.apache.hadoop.ozone.om.OmMetadataReader; import org.apache.hadoop.ozone.om.OmSnapshotManager; @@ -153,6 +154,7 @@ public void setup() throws Exception { when(ozoneManager.getDeletionMetrics()).thenReturn(delMetrics); when(ozoneManager.getMetadataManager()).thenReturn(omMetadataManager); when(ozoneManager.getConfiguration()).thenReturn(ozoneConfiguration); + when(ozoneManager.getConfig()).thenReturn(ozoneConfiguration.getObject(OmConfig.class)); OMLayoutVersionManager lvm = mock(OMLayoutVersionManager.class); when(lvm.isAllowed(anyString())).thenReturn(true); when(ozoneManager.getVersionManager()).thenReturn(lvm); diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartRequest.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartRequest.java index a28836782882..ce224d9895ab 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartRequest.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/s3/multipart/TestS3MultipartRequest.java @@ -40,6 +40,7 @@ import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; import org.apache.hadoop.ozone.om.OmMetadataReader; import org.apache.hadoop.ozone.om.OzoneManager; @@ -110,6 +111,7 @@ public void setup() throws Exception { when(lvm.getMetadataLayoutVersion()).thenReturn(0); when(ozoneManager.getVersionManager()).thenReturn(lvm); when(ozoneManager.getConfiguration()).thenReturn(ozoneConfiguration); + when(ozoneManager.getConfig()).thenReturn(ozoneConfiguration.getObject(OmConfig.class)); } @AfterEach diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/volume/TestOMVolumeRequest.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/volume/TestOMVolumeRequest.java index 80b3d26f3394..9a4b4e76c6d1 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/volume/TestOMVolumeRequest.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/volume/TestOMVolumeRequest.java @@ -31,6 +31,7 @@ import org.apache.hadoop.ozone.om.OMConfigKeys; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OMMetrics; +import org.apache.hadoop.ozone.om.OmConfig; import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; import org.apache.hadoop.ozone.om.OzoneManager; import org.apache.hadoop.ozone.om.upgrade.OMLayoutVersionManager; @@ -75,6 +76,7 @@ public void setup() throws Exception { when(ozoneManager.getAuditLogger()).thenReturn(auditLogger); doNothing().when(auditLogger).logWrite(any(AuditMessage.class)); when(ozoneManager.getConfiguration()).thenReturn(ozoneConfiguration); + when(ozoneManager.getConfig()).thenReturn(ozoneConfiguration.getObject(OmConfig.class)); } @AfterEach