Ondřej Macháček has uploaded a new change for review.

Change subject: aaa: provide UI error for builtin krbldap
......................................................................

aaa: provide UI error for builtin krbldap

Bug-Url: https://bugzilla.redhat.com/1106435
Change-Id: Idb1d19d8642ad2aaccd56ada23bebf12f540bf38
Signed-off-by: Ondra Machacek <[email protected]>
---
M 
backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/KerberosLdapAuthz.java
M 
backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/LdapBrokerCommandBase.java
2 files changed, 20 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/52/34852/1

diff --git 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/KerberosLdapAuthz.java
 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/KerberosLdapAuthz.java
index 79ae6ee..d83eafd 100644
--- 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/KerberosLdapAuthz.java
+++ 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/KerberosLdapAuthz.java
@@ -18,6 +18,7 @@
 import org.ovirt.engine.core.common.businessentities.aaa.LdapGroup;
 import org.ovirt.engine.core.common.businessentities.aaa.LdapUser;
 
+
 /**
  * This directory implementation is a bridge between the new directory 
interfaces and the existing LDAP infrastructure.
  * It will exist only while the engine is migrated to use the new directory 
interfaces, then it will be removed.
@@ -92,6 +93,7 @@
                         false,
                         false)
                 );
+        checkForErrors(ldapResult, output);
         List<LdapGroup> ldapGroups = (List<LdapGroup>) 
ldapResult.getReturnValue();
         List<ExtMap> results = new ArrayList<>();
         for (LdapGroup ldapGroup : ldapGroups) {
@@ -117,6 +119,7 @@
 
                 )
         );
+        checkForErrors(ldapResult, output);
         List<LdapUser> ldapUsers = (List<LdapUser>) 
ldapResult.getReturnValue();
         List<ExtMap> results = new ArrayList<>();
         for (LdapUser ldapUser : ldapUsers) {
@@ -355,4 +358,13 @@
         return result;
     }
 
+    public void checkForErrors(LdapReturnValueBase ldapResult, ExtMap output) {
+        if (!ldapResult.getSucceeded()) {
+            output.mput(
+                    Base.InvokeKeys.RESULT, Base.InvokeResult.FAILED
+            ).mput(
+                    Base.InvokeKeys.MESSAGE, ldapResult.getExceptionString()
+            );
+        }
+    }
 }
diff --git 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/LdapBrokerCommandBase.java
 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/LdapBrokerCommandBase.java
index 6f79546..dc4bc47 100644
--- 
a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/LdapBrokerCommandBase.java
+++ 
b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/LdapBrokerCommandBase.java
@@ -101,20 +101,24 @@
     @Override
     public LdapReturnValueBase execute() {
         boolean exceptionOccurred = true;
+        DirectorySearcher directorySearcher = null;
         try {
             log.debug("Running LDAP command: {}", getClass().getName());
             String loginNameForKerberos =
                     LdapBrokerUtils.modifyLoginNameForKerberos(getLoginName(), 
getAuthenticationDomain(), configuration);
             LdapCredentials ldapCredentials = new 
LdapCredentials(loginNameForKerberos, getPassword());
-            DirectorySearcher directorySearcher = new 
DirectorySearcher(configuration, ldapCredentials);
+            directorySearcher = new DirectorySearcher(configuration, 
ldapCredentials);
             executeQuery(directorySearcher);
             exceptionOccurred = directorySearcher.getException() != null;
-        }
- finally {
+        } finally {
             if (exceptionOccurred) {
                 log.error("Failed to run command {}. Domain is {}. User is 
{}.",
                         getClass().getSimpleName(), getDomain(), 
getLoginName());
-                
_ldapReturnValue.setExceptionString(VdcBllMessages.FAILED_TO_RUN_LDAP_QUERY.name());
+                _ldapReturnValue.setExceptionString(
+                        directorySearcher != null ?
+                                directorySearcher.getException().getMessage() :
+                                VdcBllMessages.FAILED_TO_RUN_LDAP_QUERY.name()
+                );
                 _ldapReturnValue.setSucceeded(false);
             }
         }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idb1d19d8642ad2aaccd56ada23bebf12f540bf38
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ondřej Macháček <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to