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

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


The following commit(s) were added to refs/heads/ranger-2.2 by this push:
     new 7691bce  Added code to log the no. of users/groups that are marked for 
delete and update it as part of ugsync audits
7691bce is described below

commit 7691bce9f37c4c0197468f7e236bd3ef9a54b7b0
Author: Sailaja Polavarapu <[email protected]>
AuthorDate: Tue May 25 21:38:28 2021 -0700

    Added code to log the no. of users/groups that are marked for delete and 
update it as part of ugsync audits
---
 .../apache/ranger/view/VXFileSyncSourceInfo.java   | 20 ++++++++++++++++
 .../apache/ranger/view/VXLdapSyncSourceInfo.java   | 20 ++++++++++++++++
 .../apache/ranger/view/VXUnixSyncSourceInfo.java   | 20 ++++++++++++++++
 .../webapp/scripts/modules/globalize/message/en.js |  2 ++
 .../ugsyncutil/model/FileSyncSourceInfo.java       | 20 ++++++++++++++++
 .../ugsyncutil/model/LdapSyncSourceInfo.java       | 20 ++++++++++++++++
 .../ugsyncutil/model/UnixSyncSourceInfo.java       | 20 ++++++++++++++++
 .../process/PolicyMgrUserGroupBuilder.java         | 28 ++++++++++++++++++----
 8 files changed, 146 insertions(+), 4 deletions(-)

diff --git 
a/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java 
b/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java
index b078a19..52d94c2 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/view/VXFileSyncSourceInfo.java
@@ -44,6 +44,8 @@ public class VXFileSyncSourceInfo implements 
java.io.Serializable  {
        private String lastModified;
        private long totalUsersSynced;
        private long totalGroupsSynced;
+       private long totalUsersDeleted;
+       private long totalGroupsDeleted;
 
        public VXFileSyncSourceInfo() {
        }
@@ -88,6 +90,22 @@ public class VXFileSyncSourceInfo implements 
java.io.Serializable  {
                this.totalGroupsSynced = totalGroupsSynced;
        }
 
+       public long getTotalUsersDeleted() {
+               return totalUsersDeleted;
+       }
+
+       public void setTotalUsersDeleted(long totalUsersDeleted) {
+               this.totalUsersDeleted = totalUsersDeleted;
+       }
+
+       public long getTotalGroupsDeleted() {
+               return totalGroupsDeleted;
+       }
+
+       public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+               this.totalGroupsDeleted = totalGroupsDeleted;
+       }
+
        @Override
        public String toString() {
                StringBuilder sb = new StringBuilder();
@@ -101,6 +119,8 @@ public class VXFileSyncSourceInfo implements 
java.io.Serializable  {
                sb.append("\", \"lastModified\":\"").append(lastModified);
                sb.append("\", 
\"totalUsersSynced\":\"").append(totalUsersSynced);
                sb.append("\", 
\"totalGroupsSynced\":\"").append(totalGroupsSynced);
+               sb.append("\", 
\"totalUsersDeleted\":\"").append(totalUsersDeleted);
+               sb.append("\", 
\"totalGroupsDeleted\":\"").append(totalGroupsDeleted);
                sb.append("\"}");
                return sb;
        }
diff --git 
a/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java 
b/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java
index be391de..d349a9e 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/view/VXLdapSyncSourceInfo.java
@@ -49,6 +49,8 @@ public class VXLdapSyncSourceInfo implements 
java.io.Serializable  {
        private String groupHierarchyLevel;
        private long totalUsersSynced;
        private long totalGroupsSynced;
+       private long totalUsersDeleted;
+       private long totalGroupsDeleted;
 
        public VXLdapSyncSourceInfo() {
        }
@@ -133,6 +135,22 @@ public class VXLdapSyncSourceInfo implements 
java.io.Serializable  {
                this.userSearchEnabled = userSearchEnabled;
        }
 
+       public long getTotalUsersDeleted() {
+               return totalUsersDeleted;
+       }
+
+       public void setTotalUsersDeleted(long totalUsersDeleted) {
+               this.totalUsersDeleted = totalUsersDeleted;
+       }
+
+       public long getTotalGroupsDeleted() {
+               return totalGroupsDeleted;
+       }
+
+       public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+               this.totalGroupsDeleted = totalGroupsDeleted;
+       }
+
        @Override
        public String toString() {
                StringBuilder sb = new StringBuilder();
@@ -151,6 +169,8 @@ public class VXLdapSyncSourceInfo implements 
java.io.Serializable  {
                sb.append("\", 
\"groupHierarchyLevel\":\"").append(groupHierarchyLevel);
                sb.append("\", 
\"totalUsersSynced\":\"").append(totalUsersSynced);
                sb.append("\", 
\"totalGroupsSynced\":\"").append(totalGroupsSynced);
+               sb.append("\", 
\"totalUsersDeleted\":\"").append(totalUsersDeleted);
+               sb.append("\", 
\"totalGroupsDeleted\":\"").append(totalGroupsDeleted);
                sb.append("\"}");
                return sb;
        }
diff --git 
a/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java 
b/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java
index 55afec7..dc87f31 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/view/VXUnixSyncSourceInfo.java
@@ -47,6 +47,8 @@ public class VXUnixSyncSourceInfo implements 
java.io.Serializable  {
        private String minGroupId;
        private long totalUsersSynced;
        private long totalGroupsSynced;
+       private long totalUsersDeleted;
+       private long totalGroupsDeleted;
 
        public VXUnixSyncSourceInfo() {
        }
@@ -115,6 +117,22 @@ public class VXUnixSyncSourceInfo implements 
java.io.Serializable  {
                this.totalGroupsSynced = totalGroupsSynced;
        }
 
+       public long getTotalUsersDeleted() {
+               return totalUsersDeleted;
+       }
+
+       public void setTotalUsersDeleted(long totalUsersDeleted) {
+               this.totalUsersDeleted = totalUsersDeleted;
+       }
+
+       public long getTotalGroupsDeleted() {
+               return totalGroupsDeleted;
+       }
+
+       public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+               this.totalGroupsDeleted = totalGroupsDeleted;
+       }
+
        @Override
        public String toString() {
                StringBuilder sb = new StringBuilder();
@@ -131,6 +149,8 @@ public class VXUnixSyncSourceInfo implements 
java.io.Serializable  {
                sb.append("\", \"minGroupId\":\"").append(minGroupId);
                sb.append("\", 
\"totalUsersSynced\":\"").append(totalUsersSynced);
                sb.append("\", 
\"totalGroupsSynced\":\"").append(totalGroupsSynced);
+               sb.append("\", 
\"totalUsersDeleted\":\"").append(totalUsersDeleted);
+               sb.append("\", 
\"totalGroupsDeleted\":\"").append(totalGroupsDeleted);
                sb.append("\"}");
                return sb;
        }
diff --git 
a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js 
b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
index cc18902..d30ed4d 100644
--- a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
+++ b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
@@ -267,6 +267,8 @@ define(function(require) {
                 editValidityPeriod              : ' Edit Validity Period',
                 totalUsersSynced                : 'Total number of users 
synced',
                 totalGroupsSynced               : 'Total number of groups 
synced',
+                totalUsersDeleted               : 'Total number of users 
marked for delete',
+                totalGroupsDeleted              : 'Total number of groups 
marked for delete',
                 addPolicyCondition              : 'Add Policy Condition',
                 editPolicyCondition             : 'Edit Policy Condition',
                 agentHost                          :'Agent Host Name',
diff --git 
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/FileSyncSourceInfo.java
 
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/FileSyncSourceInfo.java
index d6f12f1..4e122c2 100644
--- 
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/FileSyncSourceInfo.java
+++ 
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/FileSyncSourceInfo.java
@@ -25,6 +25,8 @@ public class FileSyncSourceInfo {
        private String lastModified;
        private long totalUsersSynced;
        private long totalGroupsSynced;
+       private long totalUsersDeleted;
+       private long totalGroupsDeleted;
 
        public String getFileName() {
                return fileName;
@@ -66,6 +68,22 @@ public class FileSyncSourceInfo {
                this.totalGroupsSynced = totalGroupsSynced;
        }
 
+       public long getTotalUsersDeleted() {
+               return totalUsersDeleted;
+       }
+
+       public void setTotalUsersDeleted(long totalUsersDeleted) {
+               this.totalUsersDeleted = totalUsersDeleted;
+       }
+
+       public long getTotalGroupsDeleted() {
+               return totalGroupsDeleted;
+       }
+
+       public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+               this.totalGroupsDeleted = totalGroupsDeleted;
+       }
+
        @Override
        public String toString() {
                StringBuilder sb = new StringBuilder();
@@ -79,6 +97,8 @@ public class FileSyncSourceInfo {
                sb.append(", lastModified= ").append(lastModified);
                sb.append(", totalUsersSynced= ").append(totalUsersSynced);
                sb.append(", totalGroupsSynced= ").append(totalGroupsSynced);
+               sb.append(", totalUsersDeleted= ").append(totalUsersDeleted);
+               sb.append(", totalGroupsDeleted= ").append(totalGroupsDeleted);
                sb.append("]");
                return sb;
        }
diff --git 
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/LdapSyncSourceInfo.java
 
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/LdapSyncSourceInfo.java
index 2de4faf..227c897 100644
--- 
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/LdapSyncSourceInfo.java
+++ 
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/LdapSyncSourceInfo.java
@@ -31,6 +31,8 @@ public class LdapSyncSourceInfo {
 
        private long totalUsersSynced;
        private long totalGroupsSynced;
+       private long totalUsersDeleted;
+       private long totalGroupsDeleted;
 
        public String getLdapUrl() {
                return ldapUrl;
@@ -112,6 +114,22 @@ public class LdapSyncSourceInfo {
                this.userSearchEnabled = userSearchEnabled;
        }
 
+       public long getTotalUsersDeleted() {
+               return totalUsersDeleted;
+       }
+
+       public void setTotalUsersDeleted(long totalUsersDeleted) {
+               this.totalUsersDeleted = totalUsersDeleted;
+       }
+
+       public long getTotalGroupsDeleted() {
+               return totalGroupsDeleted;
+       }
+
+       public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+               this.totalGroupsDeleted = totalGroupsDeleted;
+       }
+
        @Override
        public String toString() {
                StringBuilder sb = new StringBuilder();
@@ -130,6 +148,8 @@ public class LdapSyncSourceInfo {
                sb.append(", groupHierarchyLevel= 
").append(groupHierarchyLevel);
                sb.append(", totalUsersSynced= ").append(totalUsersSynced);
                sb.append(", totalGroupsSynced= ").append(totalGroupsSynced);
+               sb.append(", totalUsersDeleted= ").append(totalUsersDeleted);
+               sb.append(", totalGroupsDeleted= ").append(totalGroupsDeleted);
                sb.append("]");
                return sb;
        }
diff --git 
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UnixSyncSourceInfo.java
 
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UnixSyncSourceInfo.java
index 1445655..17b6362 100644
--- 
a/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UnixSyncSourceInfo.java
+++ 
b/ugsync-util/src/main/java/org/apache/ranger/ugsyncutil/model/UnixSyncSourceInfo.java
@@ -28,6 +28,8 @@ public class UnixSyncSourceInfo {
        private String minGroupId;
        private long totalUsersSynced;
        private long totalGroupsSynced;
+       private long totalUsersDeleted;
+       private long totalGroupsDeleted;
 
        public String getMinGroupId() {
                return minGroupId;
@@ -93,6 +95,22 @@ public class UnixSyncSourceInfo {
                this.totalGroupsSynced = totalGroupsSynced;
        }
 
+       public long getTotalUsersDeleted() {
+               return totalUsersDeleted;
+       }
+
+       public void setTotalUsersDeleted(long totalUsersDeleted) {
+               this.totalUsersDeleted = totalUsersDeleted;
+       }
+
+       public long getTotalGroupsDeleted() {
+               return totalGroupsDeleted;
+       }
+
+       public void setTotalGroupsDeleted(long totalGroupsDeleted) {
+               this.totalGroupsDeleted = totalGroupsDeleted;
+       }
+
        @Override
        public String toString() {
                StringBuilder sb = new StringBuilder();
@@ -109,6 +127,8 @@ public class UnixSyncSourceInfo {
                sb.append(", minGroupId= ").append(minGroupId);
                sb.append(", totalUsersSynced= ").append(totalUsersSynced);
                sb.append(", totalGroupsSynced= ").append(totalGroupsSynced);
+               sb.append(", totalUsersDeleted= ").append(totalUsersDeleted);
+               sb.append(", totalGroupsDeleted= ").append(totalGroupsDeleted);
                sb.append("]");
                return sb;
        }
diff --git 
a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
 
b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
index 7e9a364..cb071cd 100644
--- 
a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
+++ 
b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/PolicyMgrUserGroupBuilder.java
@@ -125,6 +125,8 @@ public class PolicyMgrUserGroupBuilder extends 
AbstractUserGroupSource implement
        private int noOfNewGroups;
        private int noOfModifiedUsers;
        private int noOfModifiedGroups;
+       private int noOfDeletedUsers = 0;
+       private int noOfDeletedGroups = 0;
 
        private boolean userNameCaseConversionFlag;
        private boolean groupNameCaseConversionFlag;
@@ -246,14 +248,20 @@ public class PolicyMgrUserGroupBuilder extends 
AbstractUserGroupSource implement
                        case "LDAP/AD":
                                
ugsyncAuditInfo.getLdapSyncSourceInfo().setTotalUsersSynced(noOfCachedUsers);
                                
ugsyncAuditInfo.getLdapSyncSourceInfo().setTotalGroupsSynced(noOfCachedGroups);
+                               
ugsyncAuditInfo.getLdapSyncSourceInfo().setTotalUsersDeleted(noOfDeletedUsers);
+                               
ugsyncAuditInfo.getLdapSyncSourceInfo().setTotalGroupsDeleted(noOfDeletedGroups);
                                break;
                        case "Unix":
                                
ugsyncAuditInfo.getUnixSyncSourceInfo().setTotalUsersSynced(noOfCachedUsers);
                                
ugsyncAuditInfo.getUnixSyncSourceInfo().setTotalGroupsSynced(noOfCachedGroups);
+                               
ugsyncAuditInfo.getUnixSyncSourceInfo().setTotalUsersDeleted(noOfDeletedUsers);
+                               
ugsyncAuditInfo.getUnixSyncSourceInfo().setTotalGroupsDeleted(noOfDeletedGroups);
                                break;
                        case "File" :
                                
ugsyncAuditInfo.getFileSyncSourceInfo().setTotalUsersSynced(noOfCachedUsers);
                                
ugsyncAuditInfo.getFileSyncSourceInfo().setTotalGroupsSynced(noOfCachedGroups);
+                               
ugsyncAuditInfo.getFileSyncSourceInfo().setTotalUsersDeleted(noOfDeletedUsers);
+                               
ugsyncAuditInfo.getFileSyncSourceInfo().setTotalGroupsDeleted(noOfDeletedGroups);
                                break;
                        default:
                                break;
@@ -1615,6 +1623,8 @@ public class PolicyMgrUserGroupBuilder extends 
AbstractUserGroupSource implement
                                throw new Exception(msg);
                        }
                }
+               LOG.info("No. of groups marked for delete = " + 
deletedGroups.size());
+               noOfDeletedGroups += deletedGroups.size();
        }
 
        private void computeDeletedGroups(Map<String, Map<String, String>> 
sourceGroups) {
@@ -1629,8 +1639,12 @@ public class PolicyMgrUserGroupBuilder extends 
AbstractUserGroupSource implement
                        if (StringUtils.isNotEmpty(groupDN) && 
!sourceGroups.containsKey(groupDN)
                                        && 
StringUtils.equalsIgnoreCase(groupOtherAttrs.get(UgsyncCommonConstants.SYNC_SOURCE),
 currentSyncSource)
                                        && 
StringUtils.equalsIgnoreCase(groupOtherAttrs.get(UgsyncCommonConstants.LDAP_URL),
 ldapUrl)) {
-                               groupInfo.setIsVisible(ISHIDDEN);
-                               deletedGroups.put(groupInfo.getName(), 
groupInfo);
+                               if (groupInfo.getIsVisible() != ISHIDDEN) {
+                                       groupInfo.setIsVisible(ISHIDDEN);
+                                       deletedGroups.put(groupInfo.getName(), 
groupInfo);
+                               } else {
+                                       LOG.info("group " + groupInfo.getName() 
+ " already marked for delete ");
+                               }
                        }
                }
                if (LOG.isDebugEnabled()) {
@@ -1730,6 +1744,8 @@ public class PolicyMgrUserGroupBuilder extends 
AbstractUserGroupSource implement
                                throw new Exception(msg);
                        }
                }
+               LOG.info("No. of users marked for delete = " + 
deletedUsers.size());
+               noOfDeletedUsers += deletedUsers.size();
        }
 
        private void computeDeletedUsers(Map<String, Map<String, String>> 
sourceUsers) {
@@ -1744,8 +1760,12 @@ public class PolicyMgrUserGroupBuilder extends 
AbstractUserGroupSource implement
                        if (StringUtils.isNotEmpty(userDN) && 
!sourceUsers.containsKey(userDN)
                                        && 
StringUtils.equalsIgnoreCase(userOtherAttrs.get(UgsyncCommonConstants.SYNC_SOURCE),
 currentSyncSource)
                                        && 
StringUtils.equalsIgnoreCase(userOtherAttrs.get(UgsyncCommonConstants.LDAP_URL),
 ldapUrl)) {
-                               userInfo.setIsVisible(ISHIDDEN);
-                               deletedUsers.put(userInfo.getName(), userInfo);
+                               if (userInfo.getIsVisible() != ISHIDDEN) {
+                                       userInfo.setIsVisible(ISHIDDEN);
+                                       deletedUsers.put(userInfo.getName(), 
userInfo);
+                               } else {
+                                       LOG.info("user " + userInfo.getName() + 
" already marked for delete ");
+                               }
                        }
                }
                if (LOG.isDebugEnabled()) {

Reply via email to