You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2015/10/22 02:41:30 UTC
incubator-ranger git commit: RANGER-704: Service enable/disable
should refresh the policies in the plugins
Repository: incubator-ranger
Updated Branches:
refs/heads/tag-policy be03c44b6 -> f17ed1150
RANGER-704: Service enable/disable should refresh the policies in the plugins
Signed-off-by: Madhan Neethiraj <ma...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/f17ed115
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/f17ed115
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/f17ed115
Branch: refs/heads/tag-policy
Commit: f17ed11505a8504954dc3a0f4a7a8751507a1315
Parents: be03c44
Author: Abhay Kulkarni <ak...@hortonworks.com>
Authored: Wed Oct 21 14:04:45 2015 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Wed Oct 21 17:40:32 2015 -0700
----------------------------------------------------------------------
.../plugin/store/file/ServiceFileStore.java | 25 +++++++---
.../org/apache/ranger/biz/ServiceDBStore.java | 48 +++++++++++---------
2 files changed, 45 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/f17ed115/agents-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
index d71436f..4552fc1 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
@@ -346,6 +346,11 @@ public class ServiceFileStore extends AbstractServiceStore {
}
}
+ boolean hasIsEnabledChanged = !existing.getIsEnabled().equals(service.getIsEnabled());
+
+ if (hasIsEnabledChanged) {
+ handlePolicyUpdate(service);
+ }
RangerService ret = null;
try {
@@ -741,10 +746,16 @@ public class ServiceFileStore extends AbstractServiceStore {
}
if(lastKnownVersion == null || service.getPolicyVersion() == null || lastKnownVersion.longValue() != service.getPolicyVersion().longValue()) {
- SearchFilter filter = new SearchFilter(SearchFilter.SERVICE_NAME, serviceName);
- List<RangerPolicy> policies = getPolicies(filter);
+ List<RangerPolicy> policies = null;
+
+ if (service.getIsEnabled()) {
+ SearchFilter filter = new SearchFilter(SearchFilter.SERVICE_NAME, serviceName);
+ policies = getPolicies(filter);
+ } else {
+ policies = new ArrayList<RangerPolicy>();
+ }
ret = new ServicePolicies();
ret.setServiceId(service.getId());
@@ -760,7 +771,7 @@ public class ServiceFileStore extends AbstractServiceStore {
}
if(ret != null && ret.getPolicies() != null) {
- Collections.sort(ret.getPolicies(), predicateUtil.idComparator);
+ Collections.sort(ret.getPolicies(), ServicePredicateUtil.idComparator);
}
return ret;
@@ -901,10 +912,10 @@ public class ServiceFileStore extends AbstractServiceStore {
}
if(ret != null) {
- Collections.sort(ret, predicateUtil.idComparator);
+ Collections.sort(ret, ServicePredicateUtil.idComparator);
for(RangerServiceDef sd : ret) {
- Collections.sort(sd.getResources(), predicateUtil.resourceLevelComparator);
+ Collections.sort(sd.getResources(), ServicePredicateUtil.resourceLevelComparator);
}
}
@@ -931,7 +942,7 @@ public class ServiceFileStore extends AbstractServiceStore {
}
if(ret != null) {
- Collections.sort(ret, predicateUtil.idComparator);
+ Collections.sort(ret, ServicePredicateUtil.idComparator);
}
return ret;
@@ -953,7 +964,7 @@ public class ServiceFileStore extends AbstractServiceStore {
}
if(ret != null) {
- Collections.sort(ret, predicateUtil.idComparator);
+ Collections.sort(ret, ServicePredicateUtil.idComparator);
}
if(LOG.isDebugEnabled()) {
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/f17ed115/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index 30c0897..123e5ac 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -1177,6 +1177,8 @@ public class ServiceDBStore extends AbstractServiceStore {
hasTagServiceValueChanged = true;
}
+ boolean hasIsEnabledChanged = !existing.getIsenabled().equals(service.getIsEnabled());
+
if(populateExistingBaseFields) {
svcServiceWithAssignedId.setPopulateExistingBaseFields(true);
service = svcServiceWithAssignedId.update(service);
@@ -1190,12 +1192,11 @@ public class ServiceDBStore extends AbstractServiceStore {
service.setTagVersion(existing.getTagVersion());
service.setTagUpdateTime(existing.getTagUpdateTime());
- if (hasTagServiceValueChanged) {
- service.setPolicyVersion(getNextVersion(service.getPolicyVersion()));
- }
-
-
service = svcService.update(service);
+
+ if (hasTagServiceValueChanged || hasIsEnabledChanged) {
+ updatePolicyVersion(service);
+ }
}
XXService xUpdService = daoMgr.getXXService().getById(service.getId());
@@ -1726,30 +1727,35 @@ public class ServiceDBStore extends AbstractServiceStore {
throw new Exception("service-def does not exist. id=" + serviceDbObj.getType());
}
+ List<RangerPolicy> policies = null;
ServicePolicies.TagPolicies tagPolicies = null;
- if(serviceDbObj.getTagService() != null) {
- XXService tagServiceDbObj = daoMgr.getXXService().getById(serviceDbObj.getTagService());
+ if (serviceDbObj.getIsenabled()) {
+ if (serviceDbObj.getTagService() != null) {
+ XXService tagServiceDbObj = daoMgr.getXXService().getById(serviceDbObj.getTagService());
- if(tagServiceDbObj != null) {
- RangerServiceDef tagServiceDef = getServiceDef(tagServiceDbObj.getType());
+ if (tagServiceDbObj != null && tagServiceDbObj.getIsenabled()) {
+ RangerServiceDef tagServiceDef = getServiceDef(tagServiceDbObj.getType());
- if(tagServiceDef == null) {
- throw new Exception("service-def does not exist. id=" + tagServiceDbObj.getType());
- }
+ if (tagServiceDef == null) {
+ throw new Exception("service-def does not exist. id=" + tagServiceDbObj.getType());
+ }
- tagPolicies = new ServicePolicies.TagPolicies();
+ tagPolicies = new ServicePolicies.TagPolicies();
- tagPolicies.setServiceId(tagServiceDbObj.getId());
- tagPolicies.setServiceName(tagServiceDbObj.getName());
- tagPolicies.setPolicyVersion(tagServiceDbObj.getPolicyVersion());
- tagPolicies.setPolicyUpdateTime(tagServiceDbObj.getPolicyUpdateTime());
- tagPolicies.setPolicies(getServicePolicies(tagServiceDbObj.getName(), null));
- tagPolicies.setServiceDef(tagServiceDef);
+ tagPolicies.setServiceId(tagServiceDbObj.getId());
+ tagPolicies.setServiceName(tagServiceDbObj.getName());
+ tagPolicies.setPolicyVersion(tagServiceDbObj.getPolicyVersion());
+ tagPolicies.setPolicyUpdateTime(tagServiceDbObj.getPolicyUpdateTime());
+ tagPolicies.setPolicies(getServicePolicies(tagServiceDbObj.getName(), null));
+ tagPolicies.setServiceDef(tagServiceDef);
+ }
}
- }
- List<RangerPolicy> policies = getServicePolicies(serviceName, null);
+ policies = getServicePolicies(serviceName, null);
+ } else {
+ policies = new ArrayList<RangerPolicy>();
+ }
ret = new ServicePolicies();