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

madhan pushed a commit to branch ranger-2.4
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.4 by this push:
     new c14a7cec7 RANGER-4114: updated plugin to use consistent 
property-prefix across all references
c14a7cec7 is described below

commit c14a7cec73298594a8cea0a278d0f598f86ee2e1
Author: Madhan Neethiraj <[email protected]>
AuthorDate: Fri Feb 10 22:42:18 2023 -0800

    RANGER-4114: updated plugin to use consistent property-prefix across all 
references
    
    (cherry picked from commit 6b5628fbd76d4c2c407a54d4e98b937eec21df1c)
---
 .../RangerAbstractContextEnricher.java                |  6 ++++++
 .../plugin/contextenricher/RangerTagEnricher.java     |  4 ++--
 .../contextenricher/RangerUserStoreEnricher.java      |  4 ++--
 .../ranger/plugin/util/RangerRolesProvider.java       |  5 +++--
 .../ranger/plugin/policyengine/TestPolicyEngine.java  | 19 ++++++++++---------
 .../policyengine/TestPolicyEngineForDeltas.java       | 19 ++++++++++---------
 6 files changed, 33 insertions(+), 24 deletions(-)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
index f65a0cf88..8714a9625 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
@@ -204,6 +204,12 @@ public abstract class RangerAbstractContextEnricher 
implements RangerContextEnri
                }
        }
 
+       public String getPropertyPrefix() {
+               RangerPluginConfig pluginConfig = getPluginConfig();
+
+               return pluginConfig != null ? pluginConfig.getPropertyPrefix() 
: "ranger.plugin." + serviceDef.getName();
+       }
+
        public String getConfig(String configName, String defaultValue) {
                RangerPluginContext pluginContext = this.pluginContext;
                String              ret           = defaultValue;
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
index 93d1e9d08..8f3410353 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
@@ -103,7 +103,7 @@ public class RangerTagEnricher extends 
RangerAbstractContextEnricher {
 
                super.init();
 
-               String propertyPrefix        = "ranger.plugin." + 
serviceDef.getName();
+               String propertyPrefix        = getPropertyPrefix();
                String tagRetrieverClassName = 
getOption(TAG_RETRIEVER_CLASSNAME_OPTION);
                long   pollingIntervalMs     = 
getLongOption(TAG_REFRESHER_POLLINGINTERVAL_OPTION, 60 * 1000);
 
@@ -404,7 +404,7 @@ public class RangerTagEnricher extends 
RangerAbstractContextEnricher {
        }
 
        protected RangerReadWriteLock createLock() {
-               String             propertyPrefix        = "ranger.plugin." + 
serviceDef.getName();
+               String             propertyPrefix        = getPropertyPrefix();
                RangerPluginConfig config                = getPluginConfig();
                boolean            deltasEnabled         = config != null && 
config.getBoolean(propertyPrefix + 
RangerCommonConstants.PLUGIN_CONFIG_SUFFIX_TAG_DELTA, 
RangerCommonConstants.PLUGIN_CONFIG_SUFFIX_TAG_DELTA_DEFAULT);
                boolean            inPlaceUpdatesEnabled = config != null && 
config.getBoolean(propertyPrefix + 
RangerCommonConstants.PLUGIN_CONFIG_SUFFIX_IN_PLACE_TAG_UPDATES, 
RangerCommonConstants.PLUGIN_CONFIG_SUFFIX_IN_PLACE_TAG_UPDATES_DEFAULT);
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java
index 34ccc766d..0ea5730aa 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerUserStoreEnricher.java
@@ -57,10 +57,11 @@ public class RangerUserStoreEnricher extends 
RangerAbstractContextEnricher {
 
         super.init();
 
+        String propertyPrefix              = getPropertyPrefix();
         String userStoreRetrieverClassName = 
getOption(USERSTORE_RETRIEVER_CLASSNAME_OPTION);
         long   pollingIntervalMs           = 
getLongOption(USERSTORE_REFRESHER_POLLINGINTERVAL_OPTION, 3600 * 1000);
 
-        dedupStrings = getBooleanConfig("ranger.plugin." + 
serviceDef.getName() + ".dedup.strings", true);
+        dedupStrings = getBooleanConfig(propertyPrefix + ".dedup.strings", 
true);
 
         if (StringUtils.isNotBlank(userStoreRetrieverClassName)) {
 
@@ -81,7 +82,6 @@ public class RangerUserStoreEnricher extends 
RangerAbstractContextEnricher {
             }
 
             if (userStoreRetriever != null) {
-                String propertyPrefix    = "ranger.plugin." + 
serviceDef.getName();
                 disableCacheIfServiceNotFound = 
getBooleanConfig(propertyPrefix + ".disable.cache.if.servicenotfound", true);
                 String cacheDir      = getConfig(propertyPrefix + 
".policy.cache.dir", null);
                 String cacheFilename = String.format("%s_%s_userstore.json", 
appId, serviceName);
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
index ef50b540e..7f6b4acb9 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerRolesProvider.java
@@ -24,6 +24,7 @@ import com.google.gson.GsonBuilder;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.ranger.admin.client.RangerAdminClient;
+import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.plugin.service.RangerBasePlugin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -57,7 +58,7 @@ public class RangerRolesProvider {
        private boolean rangerUserGroupRolesSetInPlugin;
        private boolean serviceDefSetInPlugin;
 
-       public RangerRolesProvider(String serviceType, String appId, String 
serviceName, RangerAdminClient rangerAdmin, String cacheDir, Configuration 
config) {
+       public RangerRolesProvider(String serviceType, String appId, String 
serviceName, RangerAdminClient rangerAdmin, String cacheDir, RangerPluginConfig 
config) {
                if (LOG.isDebugEnabled()) {
                        LOG.debug("==> RangerRolesProvider(serviceName=" + 
serviceName + ").RangerRolesProvider()");
                }
@@ -87,7 +88,7 @@ public class RangerRolesProvider {
                }
                this.gson = gson;
 
-               String propertyPrefix = "ranger.plugin." + serviceType;
+               String propertyPrefix = config.getPropertyPrefix();
                disableCacheIfServiceNotFound = 
config.getBoolean(propertyPrefix + ".disable.cache.if.servicenotfound", true);
 
                if (LOG.isDebugEnabled()) {
diff --git 
a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
 
b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
index f4f7aaafb..9651a9b18 100644
--- 
a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
+++ 
b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
@@ -520,8 +520,9 @@ public class TestPolicyEngine {
                        servicePolicies.setTagPolicies(tagPolicies);
                }
 
-               boolean useForwardedIPAddress = 
pluginContext.getConfig().getBoolean("ranger.plugin.hive.use.x-forwarded-for.ipaddress",
 false);
-               String trustedProxyAddressString = 
pluginContext.getConfig().get("ranger.plugin.hive.trusted.proxy.ipaddresses");
+               RangerPluginConfig config = pluginContext.getConfig();
+               boolean useForwardedIPAddress = 
config.getBoolean(config.getPropertyPrefix() + 
".use.x-forwarded-for.ipaddress", false);
+               String trustedProxyAddressString = 
config.get(config.getPropertyPrefix() + ".trusted.proxy.ipaddresses");
                String[] trustedProxyAddresses = 
StringUtils.split(trustedProxyAddressString, ';');
                if (trustedProxyAddresses != null) {
                        for (int i = 0; i < trustedProxyAddresses.length; i++) {
@@ -578,18 +579,18 @@ public class TestPolicyEngine {
 
                roles.setRangerRoles(rolesSet);
 
-        RangerPolicyEngineOptions policyEngineOptions = 
pluginContext.getConfig().getPolicyEngineOptions();
+        RangerPolicyEngineOptions policyEngineOptions = 
config.getPolicyEngineOptions();
 
         policyEngineOptions.disableAccessEvaluationWithPolicyACLSummary = true;
 
-        setPluginConfig(pluginContext.getConfig(), ".super.users", 
testCase.superUsers);
-        setPluginConfig(pluginContext.getConfig(), ".super.groups", 
testCase.superGroups);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.users", 
testCase.auditExcludedUsers);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.groups", 
testCase.auditExcludedGroups);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.roles", 
testCase.auditExcludedRoles);
+        setPluginConfig(config, ".super.users", testCase.superUsers);
+        setPluginConfig(config, ".super.groups", testCase.superGroups);
+        setPluginConfig(config, ".audit.exclude.users", 
testCase.auditExcludedUsers);
+        setPluginConfig(config, ".audit.exclude.groups", 
testCase.auditExcludedGroups);
+        setPluginConfig(config, ".audit.exclude.roles", 
testCase.auditExcludedRoles);
 
         // so that setSuperUsersAndGroups(), 
setAuditExcludedUsersGroupsRoles() will be called on the pluginConfig
-        new RangerBasePlugin(pluginContext.getConfig());
+        new RangerBasePlugin(config);
 
         RangerPolicyEngineImpl policyEngine = new 
RangerPolicyEngineImpl(servicePolicies, pluginContext, roles);
 
diff --git 
a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngineForDeltas.java
 
b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngineForDeltas.java
index 4e1844bc6..3e5086cdf 100644
--- 
a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngineForDeltas.java
+++ 
b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngineForDeltas.java
@@ -214,8 +214,9 @@ public class TestPolicyEngineForDeltas {
                        servicePolicies.setTagPolicies(tagPolicies);
                }
 
-               boolean useForwardedIPAddress = 
pluginContext.getConfig().getBoolean("ranger.plugin.hive.use.x-forwarded-for.ipaddress",
 false);
-               String trustedProxyAddressString = 
pluginContext.getConfig().get("ranger.plugin.hive.trusted.proxy.ipaddresses");
+               RangerPluginConfig config = pluginContext.getConfig();
+               boolean useForwardedIPAddress = 
config.getBoolean(config.getPropertyPrefix() + 
".use.x-forwarded-for.ipaddress", false);
+               String trustedProxyAddressString = 
config.get(config.getPropertyPrefix() + ".trusted.proxy.ipaddresses");
                String[] trustedProxyAddresses = 
StringUtils.split(trustedProxyAddressString, ';');
                if (trustedProxyAddresses != null) {
                        for (int i = 0; i < trustedProxyAddresses.length; i++) {
@@ -272,18 +273,18 @@ public class TestPolicyEngineForDeltas {
 
                roles.setRangerRoles(rolesSet);
 
-        RangerPolicyEngineOptions policyEngineOptions = 
pluginContext.getConfig().getPolicyEngineOptions();
+        RangerPolicyEngineOptions policyEngineOptions = 
config.getPolicyEngineOptions();
 
         policyEngineOptions.disableAccessEvaluationWithPolicyACLSummary = true;
 
-        setPluginConfig(pluginContext.getConfig(), ".super.users", 
testCase.superUsers);
-        setPluginConfig(pluginContext.getConfig(), ".super.groups", 
testCase.superGroups);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.users", 
testCase.auditExcludedUsers);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.groups", 
testCase.auditExcludedGroups);
-        setPluginConfig(pluginContext.getConfig(), ".audit.exclude.roles", 
testCase.auditExcludedRoles);
+        setPluginConfig(config, ".super.users", testCase.superUsers);
+        setPluginConfig(config, ".super.groups", testCase.superGroups);
+        setPluginConfig(config, ".audit.exclude.users", 
testCase.auditExcludedUsers);
+        setPluginConfig(config, ".audit.exclude.groups", 
testCase.auditExcludedGroups);
+        setPluginConfig(config, ".audit.exclude.roles", 
testCase.auditExcludedRoles);
 
         // so that setSuperUsersAndGroups(), 
setAuditExcludedUsersGroupsRoles() will be called on the pluginConfig
-        new RangerBasePlugin(pluginContext.getConfig());
+        new RangerBasePlugin(config);
 
         RangerPolicyEngineImpl policyEngine = new 
RangerPolicyEngineImpl(servicePolicies, pluginContext, roles);
 

Reply via email to