Thanks Vanson for pointing this scenario! Yes we would need to forcefully delete an application in certain scenarios.
Udara: +1 For the suggestion! On Monday, March 30, 2015, Udara Liyanage <ud...@wso2.com> wrote: > Hi, > > Sorry for the typo. We can add the flag as a query parameter. > > curl -X POST applications/single-cartridge-app/undeploy?*force=true* > > On Mon, Mar 30, 2015 at 10:04 AM, Udara Liyanage <ud...@wso2.com> wrote: > > Hi Imesh, > > How about the blow addition to the API? > > curl -X POST applications/single-cartridge-app/undeploy/*force=true* > > On Mon, Mar 30, 2015 at 9:48 AM, Udara Liyanage <ud...@wso2.com> wrote: > > > > On Sun, Mar 29, 2015 at 10:34 PM, Vanson Lim <v...@cisco.com> wrote: > > On 3/27/15, 5:57 PM, Vanson Lim wrote: > > On 3/27/15, 5:52 PM, Imesh Gunaratne wrote: > > Hi Vanson, > > I added a validation in Autoscaler to avoid applications being deleted > while they are being undeployed in the background. > > Now the following error would be raised if this condition is met: > "Application cannot be deleted, undeployment process is still in progress: > [application-id] <application-id>". > > In addition I have implemented your suggestion to set the application > status to CREATED once the application is completely undeployed. Now we can > check from the API whether the application is undeployed properly. Please > take a pull and verify. > > > > > Took me a while to experiment with the failure cases. > > Some observations: > > 1) The change to check that the Application state changes to CREATED > works. I am able to check that application status returns to Created before > deleting. > > 2) Application delete throws tracebacks to the wso2carbon.log. IMO, > this should only be informational rather then throw exceptions. > > I guess the reason for throwing an RuntimeException is to notify SM that > an problem has occured while deleting the application. I will investigate > firther. > > > ie > > org.apache.stratos.autoscaler.exception.AutoScalerException: Application > is in deployed state, please undeploy it before deleting: [application-id] > cisco-sample-vm > at > org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl.deleteApplication(AutoscalerServiceImpl.java:411) > 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.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) > at > org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66) > at > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) > at > org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) > at > org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) > at > org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178) > at > org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) > at > org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56) > at > org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141) > at > org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) > at > org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > TID: [0] [STRATOS] [2015-03-28 00:17:52,952] ERROR > {org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver} - Could not > delete application: [application-id] cisco-sample-vm > java.lang.RuntimeException: Could not delete application: [application-id] > cisco-sample-vm > at > org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl.deleteApplication(AutoscalerServiceImpl.java:426) > 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.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) > at > org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66) > at > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) > at > org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) > at > org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) > at > org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178) > at > org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) > at > org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56) > at > org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141) > at > org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) > at > org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.apache.stratos.autoscaler.exception.AutoScalerException: > Application is in deployed state, please undeploy it before deleting: > [application-id] cisco-sample-vm > at > org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl.deleteApplication(AutoscalerServiceImpl.java:411) > ... 44 more > > > 3) I am hitting the "redeploy application issue" that was fixed yesterday > as a part of testing this fix and found that the application is in a > broken state after an application redeploy such that application delete > doesn't work anymore because the partially deployed application is in stuck > in the "Deployed" state. > > This is similar to a valid use case which application delete doesn't > currently handle. Our current implementation of application delete only > works gracefully if the application is well behaved. If we have a single > VM that is unresponsive to a terminate event, won't the application > permanently be stuck in a "Deployed" state? This leads me to think that > application delete needs to able to clean up all the state in the various > components that make up stratos instead of preventing the delete requests > regardless of the cluster instance counts or application status. In other > words, the request should always be honored, otherwise we have no way of > forcing the undeploy and deletion of an application. If the user wants to > be graceful, they have the option to poll the application state changes > using the application GET api before calling the application delete API. > > > Your point seems to be valid since with the above fix, application will > not be able to be deleted if it doesn't become created for some reason. One > solution is to let the user explicitly specify to delete forcefully which > will delete the application regardless of the state. I will do a further > analysis and get back to you. > > > -Vanson > > okay, will give it a try. > > -Vanson > > Thanks > > On Sat, Mar 28, 2015 at 2:40 AM, Vanson Lim <v...@cisco.com> wrote: > > On 3/27/15, 2:26 PM, Imesh Gunaratne wrote: > > Hi Vanson, > > I analyzed this issue. Logically we cannot delete an application soon > after un-deploying it. The reason is that the un-deployment process > executes gracefully on each member in all the clusters in an application. > Depending on the complexity of the application, it may take some time to > completely terminate all the members, remove the clusters and then > un-deploy the application. > > IMO what we are missing here is a validation in the delete application > API method, to tell the API client that an application cannot be deleted > until it is completely un-deployed. > > Imesh, > > Thanks for looking at this. > > It sounds reasonable to hold off the removing to application and also have > the remove rest api call return that it's not ready. For applications > consisting of a lot of groups and cartridges the time to clean up could be > variable. Could we use the Rest api to get the application status, ie > check that status=Created before deleting. > > ie this api: > > > https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Getting+Details+of+an+Application+via+REST+API > > It looks like an application has two states: "Created" and "Deployed". > If we had a Undeploying state, then we could check and hold off > requesting the remove-application until it returns to the Created state. > > -Vanson > > > Thanks > Imesh > > On Wed, Mar 25, 2015 at 12:10 PM, Udara Liyanage <ud...@wso2.com> wrote: > > Hi, > > This arises when the application is deleted immediately after the > application underemployment. I guess CC does not have the member context > when the application is removed. I will have a look. > > A simple workaround it to wait sometime to remove application after > undeployment. > > On Tue, Mar 24, 2015 at 9:06 AM, Imesh Gunaratne <im...@apache.org> wrote: > > Thanks Martin! We will have a look at this. > > On Tue, Mar 24, 2015 at 1:21 AM, Martin Eppel (meppel) <mep...@cisco.com> > wrote: > > I opened a jira https://issues.apache.org/jira/browse/STRATOS-1281 to > track the issue, > > > > Thanks > > > > Martin > > > > *From:* Imesh Gunaratne [mailto:im...@apache.org] > *Sent:* Friday, March 20, 2015 3:27 AM > *To:* dev > *Subject:* Re: Stratos 4.1.0 - tracebacks seen when issuing application > undeploy/remove > > > > Hi Vanson, > > > > Thanks for reporting this problem. According to the logs stratos is trying > to remove the same member twice in this flow: > > > > TID: [0] [STRATOS] [2015-03-19 19:45:43,952] INFO > {org.apache.stratos.messaging.message.processor.application.ApplicationDeletedMessageProcessor} > - [Application] cisco-sample-vm has been successfully removed > > TID: [0] [STRATOS] [2015-03-19 19:45:44,786] INFO > {org.apache.stratos.cloud.controller.iaases.JcloudsIaas} - Member > terminated: [member-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > > > > TID: [0] [STRATOS] [2015-03-19 19:45:50,012] INFO > {org.apache.stratos.common.client.CloudControllerServiceClient} - > Terminating instance via cloud controller: [member] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > > TID: [0] [STRATOS] [2015-03-19 19:45:50,017] ERROR > {org.apache.stratos.cloud.controller.services.impl.CloudControllerServiceImpl} > - Could not terminate instance, member context not found: [member-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > > > > We might need to investigate and see what's causing this. > > > > Thanks > > > > > > On Fri, Mar 20, 2015 at 6:55 AM, Vanson Lim <v...@cisco.com> wrote: > > Hi, > > We are testing the behavior of stratos 4.1.0 rest api's and found that if > we issue an undeploy-application followed immediately with > application-remove, that we see the following traceback. > > The VM successfully get's deleted but not sure what kind of side effects > this has on the system. > > Here's the snippet from the wso2carbon.log file. I've also attached the > entire log. > > Steps to reproduce this: > > 1) deploy an application which leads to startup a single instance of a > cartridge. > 2) wait for it to become active > 3) issue the undeploy application and application remove rest api calls. > > > -Vanson > > > > TID: [0] [STRATOS] [2015-03-19 19:45:08,681] INFO > {org.wso2.carbon.databridge.core.DataBridge} - admin connected > TID: [0] [STRATOS] [2015-03-19 19:45:43,023] INFO > {org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl} - > Starting to undeploy application: [application-id] cisco-sample-vm > TID: [0] [STRATOS] [2015-03-19 19:45:43,024] INFO > {org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl} - > Removing application signup: [application-id] cisco-sample-vm > TID: [0] [STRATOS] [2015-03-19 19:45:43,051] INFO > {org.apache.stratos.manager.components.ApplicationSignUpHandler} - Removing > application signup: [application-id] cisco-sample-vm [tenant-id] -1234 > TID: [0] [STRATOS] [2015-03-19 19:45:43,084] INFO > {org.apache.stratos.manager.components.ApplicationSignUpHandler} - > Application signup removed successfully: [application-id] cisco-sample-vm > [tenant-id] -1234 > TID: [0] [STRATOS] [2015-03-19 19:45:43,091] INFO > {org.apache.stratos.autoscaler.context.AutoscalerContext} - Network > partition algorithm context is removed successfully: [id] cisco-sample-vm > TID: [0] [STRATOS] [2015-03-19 19:45:43,092] INFO > {org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor} - Publishing > Cluster terminating event for [application] cisco-sample-vm [cluster] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain [instance] > cisco-sample-vm-1 > TID: [0] [STRATOS] [2015-03-19 19:45:43,109] INFO > {org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder} - > Cluster Terminating adding status started > forcisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain > TID: [0] [STRATOS] [2015-03-19 19:45:43,117] INFO > {org.apache.stratos.autoscaler.applications.topic.ApplicationsEventPublisher} > - Publishing application inactivated event: [application] cisco-sample-vm > [instance] cisco-sample-vm-1 > TID: [0] [STRATOS] [2015-03-19 19:45:43,120] INFO > {org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventPublisher} > - Publishing Cluster terminating event: [application-id] cisco-sample-vm > [cluster id] cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain > [instance-id] cisco-sample-vm-1 > TID: [0] [STRATOS] [2015-03-19 19:45:43,144] INFO > {org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl} - > Application undeployed successfully: [application-id] cisco-sample-vm > TID: [0] [STRATOS] [2015-03-19 19:45:43,154] INFO > {org.apache.stratos.autoscaler.event.receiver.topology.AutoscalerTopologyEventReceiver} > - [ClusterTerminatingEvent] Received: class > org.apache.stratos.messaging.event.topology.ClusterInstanceTerminatingEvent > TID: [0] [STRATOS] [2015-03-19 19:45:43,155] INFO > {org.apache.stratos.autoscaler.event.publisher.InstanceNotificationPublisher} > - Publishing Instance Cleanup Event: [cluster] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain > TID: [0] [STRATOS] [2015-03-19 19:45:43,171] WARN > {org.apache.stratos.autoscaler.status.processor.cluster.ClusterStatusActiveProcessor} > - No possible state change found for [type] [cluster] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain [instance] > TID: [0] [STRATOS] [2015-03-19 19:45:43,192] INFO > {org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder} - > member maintenance mode event adding status started > TID: [0] [STRATOS] [2015-03-19 19:45:43,204] INFO > {org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventPublisher} > - Publishing member in maintenance mode event: [service-name] > cisco-sample-vm [cluster-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain > [cluster-instance-id] cisco-sample-vm-1 [member-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > [network-partition-id] RegionOne [partition-id] whole-region > TID: [0] [STRATOS] [2015-03-19 19:45:43,230] INFO > {org.apache.stratos.messaging.message.processor.topology.MemberMaintenanceModeProcessor} > - Member updated as In_Maintenance: [service] cisco-sample-vm [cluster] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain [member] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > TID: [0] [STRATOS] [2015-03-19 19:45:43,231] INFO > {org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder} - > Member Ready to shut down event adding status started > TID: [0] [STRATOS] [2015-03-19 19:45:43,242] INFO > {org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventPublisher} > - Publishing member ready to shut down event: [service-name] > cisco-sample-vm [cluster-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain > [cluster-instance-id] cisco-sample-vm-1 [member-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > [network-partition-id] RegionOne [partition-id] whole-region > TID: [0] [STRATOS] [2015-03-19 19:45:43,262] INFO > {org.apache.stratos.messaging.message.processor.topology.MemberReadyToShutdownMessageProcessor} > - Member updated as Ready to shutdown: [service] cisco-sample-vm [cluster] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain [member] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > TID: [0] [STRATOS] [2015-03-19 19:45:43,264] INFO > {org.apache.stratos.autoscaler.event.receiver.topology.AutoscalerTopologyEventReceiver} > - [MemberReadyToShutdownEvent] Received: class > org.apache.stratos.messaging.event.topology.MemberReadyToShutdownEvent > TID: [0] [STRATOS] [2015-03-19 19:45:43,264] INFO > {org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionContext} > - Starting the moving of termination pending to obsolete for [member] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > TID: [0] [STRATOS] [2015-03-19 19:45:43,264] INFO > {org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionContext} > - Found termination pending member and trying to move [member] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > to obsolete list > TID: [0] [STRATOS] [2015-03-19 19:45:43,266] INFO > {org.apache.stratos.common.client.CloudControllerServiceClient} - > Terminating instance via cloud controller: [member] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > TID: [0] [STRATOS] [2015-03-19 19:45:43,275] INFO > {org.apache.stratos.cloud.controller.iaases.JcloudsIaas} - Starting to > terminate member: [cartridge-type] cisco-sample-vm [member-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > TID: [0] [STRATOS] [2015-03-19 19:45:43,883] INFO > {org.apache.stratos.messaging.domain.application.locking.ApplicationLockHierarchy} > - Removed lock for application: [application-id] cisco-sample-vm > TID: [0] [STRATOS] [2015-03-19 19:45:43,909] INFO > {org.apache.stratos.cloud.controller.messaging.receiver.application.ApplicationEventReceiver} > - Application deleted event received: [application-id] cisco-sample-vm > TID: [0] [STRATOS] [2015-03-19 19:45:43,909] INFO > {org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder} - > Removed application [ cisco-sample-vm ]'s Cluster [ > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain ] from the topology > TID: [0] [STRATOS] [2015-03-19 19:45:43,910] INFO > {org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl} - > Application deleted successfully: [application-id] > TID: [0] [STRATOS] [2015-03-19 19:45:43,930] INFO > {org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventPublisher} > - Publishing application clusters removed event: [application-id] > cisco-sample-vm > TID: [0] [STRATOS] [2015-03-19 19:45:43,950] INFO > {org.apache.stratos.messaging.message.processor.topology.ApplicationClustersRemovedMessageProcessor} > - Cluster cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain removed > from topology for application cisco-sample-vm > TID: [0] [STRATOS] [2015-03-19 19:45:43,952] INFO > {org.apache.stratos.messaging.message.processor.application.ApplicationDeletedMessageProcessor} > - [Application] cisco-sample-vm has been successfully removed > TID: [0] [STRATOS] [2015-03-19 19:45:44,786] INFO > {org.apache.stratos.cloud.controller.iaases.JcloudsIaas} - Member > terminated: [member-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > TID: [0] [STRATOS] [2015-03-19 19:45:44,786] WARN > {org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder} - > Cluster cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain does not > exist > TID: [0] [STRATOS] [2015-03-19 19:45:50,012] INFO > {org.apache.stratos.common.client.CloudControllerServiceClient} - > Terminating instance via cloud controller: [member] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > TID: [0] [STRATOS] [2015-03-19 19:45:50,017] ERROR > {org.apache.stratos.cloud.controller.services.impl.CloudControllerServiceImpl} > - Could not terminate instance, member context not found: [member-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > TID: [0] [STRATOS] [2015-03-19 19:45:50,018] ERROR > {org.apache.stratos.cloud.controller.services.impl.CloudControllerServiceImpl} > - Could not terminate instance: [member-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > org.apache.stratos.cloud.controller.exception.InvalidMemberException: > Could not terminate instance, member context not found: [member-id] > cisco-sample-vm.cisco-sample-vm.cisco-sample-vm.domain41624077-30c4-4bfe-a2a8-ece2fc4f550d > at > org.apache.stratos.cloud.controller.services.impl.CloudControllerServiceImpl.terminateInstance(CloudControllerServiceImpl.java:553) > 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.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) > at > org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66) > at > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) > at > org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) > at > org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) > at > org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178) > at > org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) > at > org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56) > at > org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141) > at > org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) > at > org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > > -- Imesh Gunaratne Technical Lead, WSO2 Committer & PMC Member, Apache Stratos