[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-5831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13868533#comment-13868533
 ] 

Jessica Wang commented on CLOUDSTACK-5831:
------------------------------------------

Edison,

Your server-side change caused a regression of listVolumes API when log in as 
regular user.
So, Volume page is not working for regular user right now.

To reproduce this bug:
(1) log in as regular user
(2) Click "Storage" menu => error shows

ERROR [c.c.a.ApiServer] (1233087122@qtp-1650345361-6:ctx-8c4e2db6 ctx-3a50a122) 
unhandled exception executing api command: listVolumes
java.lang.NullPointerException
        at 
org.apache.cloudstack.storage.datastore.manager.PrimaryDataStoreProviderManagerImpl.getPrimaryDataStore(PrimaryDataStoreProviderManagerImpl.java:81)
        at 
org.apache.cloudstack.storage.datastore.DataStoreManagerImpl.getPrimaryDataStore(DataStoreManagerImpl.java:101)
        at 
com.cloud.api.query.QueryManagerImpl.searchForVolumes(QueryManagerImpl.java:1647)
        at 
org.apache.cloudstack.api.command.user.volume.ListVolumesCmd.execute(ListVolumesCmd.java:130)
        at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:161)
        at com.cloud.api.ApiServer.queueCommand(ApiServer.java:530)
        at com.cloud.api.ApiServer.handleRequest(ApiServer.java:373)
        at com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:322)
        at com.cloud.api.ApiServlet.access$000(ApiServlet.java:52)
        at com.cloud.api.ApiServlet$1.run(ApiServlet.java:114)
        at 
org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
        at 
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
        at 
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
        at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:111)
        at com.cloud.api.ApiServlet.doGet(ApiServlet.java:73)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)


Jessica

> As regular user , when trying to take a snapshot , snapshot succeeds but user 
> is presented with "The given command does not exist or it is not available 
> for user" message.
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-5831
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-5831
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: UI
>    Affects Versions: 4.3.0
>         Environment: Build from 4.3
>            Reporter: Sangeetha Hariharan
>            Assignee: edison su
>            Priority: Blocker
>             Fix For: 4.3.0
>
>         Attachments: snapshot.png, 
> the_checkin_that_causes_error_TheGivinCommandDoesNotExistOrItIsNotAvailableForUser.PNG
>
>
> As regular user , when trying to take a snapshot , snapshot succeeds but user 
> is presented with "The given command does not exist or it is not available 
> for user" message.
> As a regular user ,  deploy a VM.
> From storage list view , select ROOT volume and create a snapshot.
> On "Take Snapshot" notification pop up , click on "OK".
> Notice that you are presented withe following message:
> "The given command does not exist or it is not available for user" 
> Following api call was made by the UI:
> http://10.223.49.5:8080/client/api?command=listStoragePools&id=undefined&response=json&sessionkey=4vcnR7sxOFnZcx6pUcyfnj%2BrN3o%3D&_=1389134167406
> { "errorresponse" : 
> {"uuidList":[],"errorcode":432,"cserrorcode":9999,"errortext":"The given 
> command does not exist or it is not available for user"} }
> This issue is not seen when testing as "Admin" user and happens only with 
> regular users.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to