Mike Kolesnik has uploaded a new change for review.

Change subject: engine: Added audit logging to provider commands
......................................................................

engine: Added audit logging to provider commands

Change-Id: Ic1430d75d77195c9274304d53bd66ddc1e7a073e
Signed-off-by: Mike Kolesnik <mkole...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
M 
backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
6 files changed, 75 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/63/12363/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
index 50a0d5f..4c987a4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/AddProviderCommand.java
@@ -5,6 +5,7 @@
 
 import org.ovirt.engine.core.bll.CommandBase;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
+import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.ProviderParameters;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
@@ -12,8 +13,10 @@
 import org.ovirt.engine.core.common.validation.group.CreateEntity;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.VdcBllMessages;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.CustomLogField;
 
 @SuppressWarnings("serial")
+@CustomLogField("ProviderName")
 public class AddProviderCommand<P extends ProviderParameters> extends 
CommandBase<P> {
 
     public AddProviderCommand(Guid commandId) {
@@ -26,6 +29,10 @@
 
     private Provider getProvider() {
         return getParameters().getProvider();
+    }
+
+    public String getProviderName() {
+        return getProvider().getName();
     }
 
     @Override
@@ -60,4 +67,9 @@
         addValidationGroup(CreateEntity.class);
         return super.getValidationGroups();
     }
+
+    @Override
+    public AuditLogType getAuditLogTypeValue() {
+        return getSucceeded() ? AuditLogType.PROVIDER_ADDED : 
AuditLogType.PROVIDER_ADDITION_FAILED;
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
index d62504c..9c9c561 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/RemoveProviderCommand.java
@@ -5,14 +5,18 @@
 
 import org.ovirt.engine.core.bll.CommandBase;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
+import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.ProviderParameters;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
+import org.ovirt.engine.core.common.businessentities.Provider;
 import org.ovirt.engine.core.common.validation.group.RemoveEntity;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.VdcBllMessages;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.CustomLogField;
 
 @SuppressWarnings("serial")
+@CustomLogField("ProviderName")
 public class RemoveProviderCommand<P extends ProviderParameters> extends 
CommandBase<P> {
 
     public RemoveProviderCommand(Guid commandId) {
@@ -21,6 +25,11 @@
 
     public RemoveProviderCommand(P parameters) {
         super(parameters);
+    }
+
+    public String getProviderName() {
+        Provider provider = 
getDbFacade().getNetworkProviderDao().get(getParameters().getProvider().getId());
+        return provider == null ? null : provider.getName();
     }
 
     @Override
@@ -47,4 +56,9 @@
         addValidationGroup(RemoveEntity.class);
         return super.getValidationGroups();
     }
+
+    @Override
+    public AuditLogType getAuditLogTypeValue() {
+        return getSucceeded() ? AuditLogType.PROVIDER_REMOVED : 
AuditLogType.PROVIDER_REMOVAL_FAILED;
+    }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
index 43b040a..9b04b56 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/provider/UpdateProviderCommand.java
@@ -5,6 +5,7 @@
 
 import org.ovirt.engine.core.bll.CommandBase;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
+import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.ProviderParameters;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
@@ -12,9 +13,13 @@
 import org.ovirt.engine.core.common.validation.group.UpdateEntity;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.VdcBllMessages;
+import org.ovirt.engine.core.dal.dbbroker.auditloghandling.CustomLogField;
 
 @SuppressWarnings("serial")
+@CustomLogField("ProviderName")
 public class UpdateProviderCommand<P extends ProviderParameters> extends 
CommandBase<P> {
+
+    private Provider oldProvider;
 
     public UpdateProviderCommand(Guid commandId) {
         super(commandId);
@@ -28,15 +33,26 @@
         return getParameters().getProvider();
     }
 
+    private Provider getOldProvider() {
+        if (oldProvider == null) {
+            oldProvider = 
getDbFacade().getNetworkProviderDao().get(getProvider().getId());
+        }
+
+        return oldProvider;
+    }
+
+    public String getProviderName() {
+        return getOldProvider().getName();
+    }
+
     @Override
     protected boolean canDoAction() {
         ProviderValidator validator = new ProviderValidator(getProvider());
-        Provider oldProvider = 
getDbFacade().getNetworkProviderDao().get(getProvider().getId());
-        return nameKept(oldProvider) || validate(validator.nameAvailable());
+        return nameKept() || validate(validator.nameAvailable());
     }
 
-    private boolean nameKept(Provider oldProvider) {
-        return oldProvider.getName().equals(getProvider().getName());
+    private boolean nameKept() {
+        return getOldProvider().getName().equals(getProvider().getName());
     }
 
     @Override
@@ -63,4 +79,9 @@
         addValidationGroup(UpdateEntity.class);
         return super.getValidationGroups();
     }
+
+    @Override
+    public AuditLogType getAuditLogTypeValue() {
+        return getSucceeded() ? AuditLogType.PROVIDER_UPDATED : 
AuditLogType.PROVIDER_UPDATE_FAILED;
+    }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
index eb9d1e4..524b8ab 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
@@ -643,6 +643,14 @@
     USER_ACCOUNT_DISABLED_OR_LOCKED(1100, 
AuditLogTimeInterval.HOUR.getValue()),
     USER_ACCOUNT_PASSWORD_EXPIRED(1101, AuditLogTimeInterval.HOUR.getValue()),
 
+    // Providers
+    PROVIDER_ADDED(1150),
+    PROVIDER_ADDITION_FAILED(1151),
+    PROVIDER_UPDATED(1152),
+    PROVIDER_UPDATE_FAILED(1153),
+    PROVIDER_REMOVED(1154),
+    PROVIDER_REMOVAL_FAILED(1155),
+
     // General
     ENTITY_RENAMED(1200),
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
index 425f1ba..af7002b 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
@@ -40,6 +40,7 @@
 
     private static void initSeverities() {
         initDefaultSeverities();
+        initProviderSeverities();
         initNetworkSeverities();
         initImportExportSeverities();
         initEngineSeverities();
@@ -60,6 +61,15 @@
         initCommonSeverities();
     }
 
+    private static void initProviderSeverities() {
+        severities.put(AuditLogType.PROVIDER_ADDED, AuditLogSeverity.NORMAL);
+        severities.put(AuditLogType.PROVIDER_ADDITION_FAILED, 
AuditLogSeverity.ERROR);
+        severities.put(AuditLogType.PROVIDER_UPDATED, AuditLogSeverity.NORMAL);
+        severities.put(AuditLogType.PROVIDER_UPDATE_FAILED, 
AuditLogSeverity.ERROR);
+        severities.put(AuditLogType.PROVIDER_REMOVED, AuditLogSeverity.NORMAL);
+        severities.put(AuditLogType.PROVIDER_REMOVAL_FAILED, 
AuditLogSeverity.ERROR);
+    }
+
     private static void initGlusterVolumeSeverities() {
         severities.put(AuditLogType.GLUSTER_VOLUME_CREATE, 
AuditLogSeverity.NORMAL);
         severities.put(AuditLogType.GLUSTER_VOLUME_CREATE_FAILED, 
AuditLogSeverity.ERROR);
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
 
b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
index b776f06..8b09e91 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
@@ -419,6 +419,12 @@
 VDS_NETWORKS_OUT_OF_SYNC=Host ${VdsName}'s following network(s) are not 
synchronized with their Logical Network configuration: ${Networks}.
 VDS_SET_NONOPERATIONAL_IFACE_DOWN=Host ${VdsName} moved to Non-Operational 
state because interfaces '${Interfaces}' are down but are needed by networks 
'${Networks}' in the current cluster
 BRIDGED_NETWORK_OVER_MULTIPLE_INTERFACES=Bridged network ${NetworkName} is 
attached to multiple interfaces: ${Interfaces} on Host ${VdsName}.
+PROVIDER_ADDED=Provider ${ProviderName} was added. (User: ${UserName})
+PROVIDER_ADDITION_FAILED=Failed to add provider ${ProviderName}. (User: 
${UserName})
+PROVIDER_UPDATED=Provider ${ProviderName} was updated. (User: ${UserName})
+PROVIDER_UPDATE_FAILED=Failed to update provider ${ProviderName}. (User: 
${UserName})
+PROVIDER_REMOVED=Provider ${ProviderName} was removed. (User: ${UserName})
+PROVIDER_REMOVAL_FAILED=Failed to remove provider ${ProviderName}. (User: 
${UserName})
 NETWORK_ADD_NETWORK=Network ${NetworkName} was added to Data Center: 
${StoragePoolName}
 NETWORK_ADD_NETWORK_FAILED=Failed to add Network ${NetworkName} to Data 
Center: ${StoragePoolName}
 NETWORK_ADD_TEMPLATE_INTERFACE=Interface ${InterfaceName} (${InterfaceType}) 
was added to Template ${VmTemplateName}. (User: ${UserName})


--
To view, visit http://gerrit.ovirt.org/12363
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic1430d75d77195c9274304d53bd66ddc1e7a073e
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Mike Kolesnik <mkole...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to