It appears that vCloud is unable to handle the case where it receives multiple login requests from the same user account at or near the same time. From my testing this only affects LDAP accounts. When this issue occurs, I see the following in the logs:
vcloud-debug-container.log
2012_11_26.request.log
192.168.1.64 - - [26/Nov/2012:19:20:34 -0700] "POST /api/sessions HTTP/1.1" 401 0 "-" "Apache-HttpClient/4.1 (java 1.5)"
HTTP response code 401 is Unauthorized - http://www.checkupdown.com/status/E401.html
If you're working with the SDK, you'll receive the following when this issue occurs:
com.vmware.vcloud.sdk.exception.UnauthorizedAccessException: Unauthorized
at com.vmware.vcloud.sdk.RestUtil.login(RestUtil.java:296)
at com.vmware.vcloud.sdk.VcloudClient.login(VcloudClient.java:321)
at VcloudLogin.login(VcloudLogin.java:25)
at VcloudLogin$1LoginTask.run(VcloudLogin.java:44)
at java.lang.Thread.run(Unknown Source)
It looks like if vCD is in the process of updating the vCD database with a new login session, it will deny all login requests from the same user until the current transaction is completed.
We have a portal that issues multiple login request and are seeing this frequently. Perhaps our portal needs to be modified to use the same login session when possible (I'm not involved with coding our portal so I'm not sure how it works), but I wanted to see if anyone else has ran into this issue.
The issue occurs with vCD 1.5 and 5.1 and both Windows 2008 and 2003 LDAP servers. Local vCD accounts do not experience the issue.
I created a small Java app that creates multiple concurrent login requests and can reproduce the issue at any time.
I'll open up a ticket with support if I don't hear anything. Thanks.