Bug 1019740

Summary: REST-API: add user from domain causes to internal error (happens when you are logged in with user from other domain)
Product: Red Hat Enterprise Virtualization Manager Reporter: Ilia Meerovich <iliam>
Component: ovirt-engine-restapiAssignee: Ravi Nori <rnori>
Status: CLOSED NOTABUG QA Contact: Ilia Meerovich <iliam>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.3.0CC: acathrow, bazulay, iheim, iliam, mpastern, oramraz, pstehlik, Rhev-m-bugs, yeylon
Target Milestone: ---Keywords: Triaged
Target Release: 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: infra
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-17 15:16:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Infra RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
engine log none

Description Ilia Meerovich 2013-10-16 10:31:58 UTC
Created attachment 812859 [details]
engine log

I did next via rhevm-shell (but it could be done also via other apis):

1. add domain on rhevm:
 engine-manage-domains -action=add -domain=qa.lab.tlv.redhat.com -user=vdcadmin -addPermissions -provider=ActiveDirectory -ldapServers=qa1.qa.lab.tlv.redhat.com -interactive

2. login to rhevm with admin@internal
3. add user from qa.lab.tlv.redhat.com

and got next internal error without details:
-------------------------------------------------
[RHEVM shell (connected)]# add user --user_name 'istein.tlv.redhat.com'
send: 'POST /api/users HTTP/1.1\r\nHost: ilia-rhevm.qa.lab.tlv.redhat.com\r\nAccept-Encoding: identity\r\nContent-Length: 71\r\nFilter: False\r\nPrefer: persistent-auth\r\ncookie: JSESSIONID=IgFQgjEp164KFmC2w4430GnG\r\nContent-type: application/xml\r\nAccept: application/xml\r\n\r\n'
send: '\n    istein.tlv.redhat.com\n\n'
reply: 'HTTP/1.1 500 Internal Server Error\r\n'
header: Date: Wed, 16 Oct 2013 10:02:17 GMT
header: Content-Type: application/xml
header: Content-Length: 133
header: Vary: Accept-Encoding
header: Connection: close

error:
status: 500
reason: Internal Server Error
detail:

[RHEVM shell (connected)]#
---------------------------------------------------

In ovirt-engine log I can see next:
---------------------------------------------------
2013-10-16 13:02:46,532 ERROR [org.ovirt.engine.core.bll.adbroker.LdapBrokerCommandBase] (ajp-/127.0.0.1:8702-11) Failed to run command LdapSearchUserByQueryCommand. Domain is qa.lab.tlv.redhat.com. User is null.
2013-10-16 13:02:46,532 ERROR [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (ajp-/127.0.0.1:8702-11) Operation Failed: : org.ovirt.engine.api.restapi.resource.BaseBackendResource$BackendFailureException:
        at org.ovirt.engine.api.restapi.resource.BackendResource.backendFailure(BackendResource.java:435) [restapi-jaxrs.jar:]
        at org.ovirt.engine.api.restapi.resource.BackendResource.getEntity(BackendResource.java:58) [restapi-jaxrs.jar:]
        at org.ovirt.engine.api.restapi.resource.BackendUsersResource.add(BackendUsersResource.java:52) [restapi-jaxrs.jar:]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_40]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_40]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_40]
        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_40]
        at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs.jar:2.3.6.Final-redhat-1]
        at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs.jar:2.3.6.Final-redhat-1]
        at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs.jar:2.3.6.Final-redhat-1]
        at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs.jar:2.3.6.Final-redhat-1]
        at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs.jar:2.3.6.Final-redhat-1]
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs.jar:2.3.6.Final-redhat-1]
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs.jar:2.3.6.Final-redhat-1]
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs.jar:2.3.6.Final-redhat-1]
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs.jar:2.3.6.Final-redhat-1]
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs.jar:2.3.6.Final-redhat-1]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec.jar:1.0.2.Final-redhat-1]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web.jar:7.2.0.Final-redhat-8]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.jboss.web.rewrite.RewriteValve.invoke(RewriteValve.java:465) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:488) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420) [jbossweb.jar:7.2.0.Final-redhat-1]
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb.jar:7.2.0.Final-redhat-1]
        at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_40]
---------------------------------------------------

Comment 1 Ilia Meerovich 2013-10-16 10:33:35 UTC
build: is18

Comment 2 Ravi Nori 2013-10-16 17:48:12 UTC
I was unable tp reproduce this on is18 and current master

Steps followed

1. add domain on rhevm:
 engine-manage-domains -action=add -domain=qa.lab.tlv.redhat.com -user=vdcadmin -addPermissions -provider=ActiveDirectory -ldapServers=qa1.qa.lab.tlv.redhat.com -interactive

2. Restart engine service
3. login to rhevm with admin@internal
4. add user from qa.lab.tlv.redhat.com from rhevm-shell

Please try restarting engine before adding user from rhevm-shell and let me know if you can still reproduce the bug.

Comment 3 Ilia Meerovich 2013-10-17 09:06:01 UTC
unfortunately i cannot reproduce this issue now... (i did engine restart as you wrote when i found this issue)

Comment 4 Barak 2013-10-17 15:16:08 UTC
per comment #3 moving to CLOSE NOTABUG