cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-8763) Deleting a POD/Zone always fails due to a SQLException
Date Wed, 23 Sep 2015 12:01:05 GMT

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

ASF subversion and git services commented on CLOUDSTACK-8763:
-------------------------------------------------------------

Commit a0f8f56a5dd3a323a72eb2a145d64cb1b5abea49 in cloudstack's branch refs/heads/master from
[~widodh]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=a0f8f56 ]

Merge pull request #845 from borisroman/CLOUDSTACK-8763

[4.6][BLOCKER]CLOUDSTACK-8763: Resolved POD/ZONE deletion failure.Instead of having both checkIfPodIsDeletable()
and checkIfZoneIsDeletable have there own SQL query, I've refactored them so they use DAO
SQL Queries.

This resolves the SQL Exception thrown by both classes.

Test to confirm working order:
- deploy ACS
- Add zones / pods. -> Try to delete without resources. -> Direct success.
- Add resources to zones / pods. -> Try to delete with resources in the pod / zone. ->
Correct exception thrown. (Error message is why it cannot remove the zone / pod. IE: There
is still a hosts or vm or .... )

* pr/845:
  Added unit tests for checkIfPodIsDeletable() and checkIfZoneIsDeletable().
  Updated Dao classes with correct field names.
  Refactored checkIfZoneIsDeletable().
  Added findByDc(long dcId) to VolumeDao and VolumeDaoImpl.
  Added countIPs(long dcId, boolean onlyCountAllocated) to IPAddressDao and IPAddressDaoImpl.
  Added countIPs(long dcId, boolean onlyCountAllocated) to DataCenterIpAddressDao and DataCenterIpAddressDaoImpl.
  Refactored checkIfPodIsDeletable().
  Added findByPodId(Long podId) to HostDao and HostDaoImpl.

Signed-off-by: Wido den Hollander <wido@widodh.nl>


> Deleting a POD/Zone always fails due to a SQLException
> ------------------------------------------------------
>
>                 Key: CLOUDSTACK-8763
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8763
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>    Affects Versions: 4.6.0
>            Reporter: Remi Bergsma
>            Assignee: Boris Schrijver
>            Priority: Blocker
>
> The Management Server failed to detect if pod is deletable. Please contact Cloud Support.
> This also means Marvin cannot clean up after a test.
> 2015-08-21 10:07:10,822 DEBUG [c.c.a.ApiServlet] (1226927357@qtp-701028225-5:ctx-0000a82e)
===START===  192.168.22.240 -- GET  command=deletePod&id=358df0b2-0bc0-480b-81a8-0675c59a808e&response=json&_=1440151630775
> 2015-08-21 10:07:10,826 ERROR [c.c.a.ApiServer] (1226927357@qtp-701028225-5:ctx-0000a82e
ctx-1c95970d) unhandled exception executing api command: [Ljava.lang.String;@3cc57321
> com.cloud.utils.exception.CloudRuntimeException: The Management Server failed to detect
if pod is deletable. Please contact Cloud Support.
>         at com.cloud.configuration.ConfigurationManagerImpl.checkIfPodIsDeletable(ConfigurationManagerImpl.java:954)
>         at com.cloud.configuration.ConfigurationManagerImpl.deletePod(ConfigurationManagerImpl.java:1032)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>         at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>         at com.sun.proxy.$Proxy110.deletePod(Unknown Source)
>         at org.apache.cloudstack.api.command.admin.pod.DeletePodCmd.execute(DeletePodCmd.java:70)
>         at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:141)
>         at com.cloud.api.ApiServer.queueCommand(ApiServer.java:704)
>         at com.cloud.api.ApiServer.handleRequest(ApiServer.java:529)
>         at com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:296)
>         at com.cloud.api.ApiServlet$1.run(ApiServlet.java:127)
>         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:124)
>         at com.cloud.api.ApiServlet.doGet(ApiServlet.java:86)
>         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)
> 2015-08-21 10:07:10,827 DEBUG [c.c.a.ApiServlet] (1226927357@qtp-701028225-5:ctx-0000a82e
ctx-1c95970d) ===END===  192.168.22.240 -- GET  command=deletePod&id=358df0b2-0bc0-480b-81a8-0675c59a808e&response=json&_=1440151630775
> 2015-08-21 10:07:11,540 INFO  [o.a.c.f.j.i.AsyncJobManagerImpl] (AsyncJobMgr-Heartbeat-1:ctx-37b4fb95)
Begin cleanup expired async-jobs
> Same for deleting a zone:
> (local) � > delete zone id=47b7f0d0-7018-419a-8e44-99ed022f0de4
> Error 530: The Management Server failed to detect if zone is deletable. Please contact
Cloud Support.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message