[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sheng Yang resolved CLOUDSTACK-689.
-----------------------------------

    Resolution: Fixed

Fixed at:

commit 53e6825b744252daeab7c4e694adae69c65cf0d3
Author: Sheng Yang <[email protected]>
Date:   Thu Dec 20 17:01:12 2012 -0800

    CLOUDSTACK-689: Clean stop pending flags when VR start/stop

                
> RVR: Stop pending flag is not cleared when user start the disconnected router 
> from another host
> -----------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-689
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-689
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Network Controller
>    Affects Versions: 4.0.0
>            Reporter: Sheng Yang
>            Assignee: Sheng Yang
>             Fix For: 4.1.0
>
>
> Here is what's happened: 
> 2012-09-16 21:27:24,285 WARN 
> [network.router.VirtualNetworkApplianceManagerImpl] (HA-Worker-0:work-37779) 
> Unable to apply dhcp entry on disconnected router r-38445-VM 
> com.cloud.exception.AgentUnavailableException: Resource [Host:610] is 
> unreachable: Host 610: Host is not in the right state: Down 
> [...] 
> 2012-09-16 21:27:24,286 DEBUG 
> [network.router.VirtualNetworkApplianceManagerImpl] (HA-Worker-0:work-37779) 
> About to stop the router r-38445-VM due to: Unable to apply dhcp entry on 
> disconnected router 
> At the above time, we set stop pending flag, due to host 610 is down, and we 
> failed to reach the router r-38445-VM. 
> Then: 
> 2012-09-16 21:51:54,067 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (catalina-exec-28:null) submit async job-296045, details: AsyncJobVO 
> {id:296045, userId: 6217, accountId: 6178, sessionKey: null, instanceType: 
> DomainRouter, instanceId: 38445, cmd: com.cloud.api.commands.StartRouterCmd, 
> cmdOriginator: null, cmdInfo: 
> {"response":"json","id":"f14313a7-5490-408f-a9d7-292303784f8f","sessionkey":"lByhfEpE7fygtOASvMH3i8xgEok\u003d","ctxUserId":"6217","_":"1347799961307","ctxAccountId":"6178","ctxStartEventId":"1533940"},
>  cmdVersion: 0, callbackType: 0, callbackAddress: null, status: 0, 
> processStatus: 0, resultCode: 0, result: null, initMsid: 152687106451262, 
> completeMsid: null, lastUpdated: null, lastPolled: null, created: null} 
> 2012-09-16 21:51:54,070 DEBUG [cloud.async.AsyncJobManagerImpl] 
> (Job-Executor-126:job-296045) Executing com.cloud.api.commands.StartRouterCmd 
> for job-296045 
> User start the router manually, and CS deploy it on host 606: 
> 2012-09-16 21:51:56,069 DEBUG [cloud.vm.VirtualMachineManagerImpl] 
> (Job-Executor-126:job-296045) Deployment found - 
> P0=VM[DomainRouter|r-38445-VM], 
> P0=Dest[Zone(Id)-Pod(Id)-Cluster(Id)-Host(Id)-Storage(Volume(Id|Type-->Pool(Id))]
>  : Dest[Zone( 
> 2)-Pod(29)-Cluster(52)-Host(606)-Storage()] 
> 2012-09-16 21:51:56,090 DEBUG [cloud.capacity.CapacityManagerImpl] 
> (Job-Executor-126:job-296045) VM state transitted from :Starting to Starting 
> with event: OperationRetryvm's original host id: 610 new host id: 606 host id 
> before state transiti 
> on: null 
> We didn't cover this situation in our code. And this won't clear stop pending 
> flag of course.
> Also the stop pending flag can be set if the command sent to router is time 
> out, but host is not detected as Disconnected by CS. 
> See the mgmt log attached for r-5-VM: 
> 2012-09-29 22:20:55,413 DEBUG [agent.manager.AgentAttache] 
> (Job-Executor-130:job-450) Seq 1-1662189781: Cancelling. 
> 2012-09-29 22:20:55,413 WARN 
> [network.router.VirtualNetworkApplianceManagerImpl] 
> (Job-Executor-130:job-450) Timed Out 
> com.cloud.exception.OperationTimedoutException: Commands 1662189781 to Host 1 
> timed out after 3600 
>         at com.cloud.agent.manager.AgentAttache.send(AgentAttache.java:425) 
>         at 
> com.cloud.agent.manager.AgentManagerImpl.send(AgentManagerImpl.java:501) 
>         at 
> com.cloud.agent.manager.AgentManagerImpl.send(AgentManagerImpl.java:1022) 
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.sendCommandsToRouter(VirtualNetworkApplianceManagerImpl.java:2590)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.sendPortForwardingRules(VirtualNetworkApplianceManagerImpl.java:2725)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl$5.execute(VirtualNetworkApplianceManagerImpl.java:2703)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyRules(VirtualNetworkApplianceManagerImpl.java:2809)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyFirewallRules(VirtualNetworkApplianceManagerImpl.java:2688)
>  
>         at 
> com.cloud.network.element.VirtualRouterElement.applyPFRules(VirtualRouterElement.java:636)
>  
>         at 
> com.cloud.network.NetworkManagerImpl.applyRules(NetworkManagerImpl.java:3245) 
>         at 
> com.cloud.network.firewall.FirewallManagerImpl.applyRules(FirewallManagerImpl.java:374)
>  
>         at 
> com.cloud.network.rules.RulesManagerImpl.applyPortForwardingRulesForNetwork(RulesManagerImpl.java:714)
>  
>         at 
> com.cloud.network.NetworkManagerImpl.reprogramNetworkRules(NetworkManagerImpl.java:3516)
>  
>         at 
> com.cloud.network.NetworkManagerImpl.implementNetworkElementsAndResources(NetworkManagerImpl.java:1812)
>  
>         at 
> com.cloud.network.NetworkManagerImpl.implementNetwork(NetworkManagerImpl.java:1754)
>  
>         at 
> com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:30) 
>         at 
> com.cloud.network.NetworkManagerImpl.startNetwork(NetworkManagerImpl.java:3436)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.startRouter(VirtualNetworkApplianceManagerImpl.java:2285)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.startRouter(VirtualNetworkApplianceManagerImpl.java:2255)
>  
>         at 
> com.cloud.event.ActionEventCallback.intercept(ActionEventCallback.java:32) 
>         at 
> com.cloud.api.commands.StartRouterCmd.execute(StartRouterCmd.java:101) 
>         at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:134) 
>         at 
> com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:427) 
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>  
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>  
>         at java.lang.Thread.run(Thread.java:636) 
> 2012-09-29 22:20:55,414 WARN 
> [network.router.VirtualNetworkApplianceManagerImpl] 
> (Job-Executor-130:job-450) Unable to apply firewall rules on disconnected 
> router r-5-VM 
> com.cloud.exception.AgentUnavailableException: Resource [Host:1] is 
> unreachable: Host 1: Unable to send commands to virtual router 
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.sendCommandsToRouter(VirtualNetworkApplianceManagerImpl.java:2593)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.sendPortForwardingRules(VirtualNetworkApplianceManagerImpl.java:2725)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl$5.execute(VirtualNetworkApplianceManagerImpl.java:2703)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyRules(VirtualNetworkApplianceManagerImpl.java:2809)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyFirewallRules(VirtualNetworkApplianceManagerImpl.java:2688)
>  
>         at 
> com.cloud.network.element.VirtualRouterElement.applyPFRules(VirtualRouterElement.java:636)
>  
>         at 
> com.cloud.network.NetworkManagerImpl.applyRules(NetworkManagerImpl.java:3245) 
>         at 
> com.cloud.network.firewall.FirewallManagerImpl.applyRules(FirewallManagerImpl.java:374)
>  
>         at 
> com.cloud.network.rules.RulesManagerImpl.applyPortForwardingRulesForNetwork(RulesManagerImpl.java:714)
>  
>         at 
> com.cloud.network.NetworkManagerImpl.reprogramNetworkRules(NetworkManagerImpl.java:3516)
>  
>         at 
> com.cloud.network.NetworkManagerImpl.implementNetworkElementsAndResources(NetworkManagerImpl.java:1812)
>  
>         at 
> com.cloud.network.NetworkManagerImpl.implementNetwork(NetworkManagerImpl.java:1754)
>  
>         at 
> com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:30) 
>         at 
> com.cloud.network.NetworkManagerImpl.startNetwork(NetworkManagerImpl.java:3436)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.startRouter(VirtualNetworkApplianceManagerImpl.java:2285)
>  
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.startRouter(VirtualNetworkApplianceManagerImpl.java:2255)
>  
>         at 
> com.cloud.event.ActionEventCallback.intercept(ActionEventCallback.java:32) 
>         at 
> com.cloud.api.commands.StartRouterCmd.execute(StartRouterCmd.java:101) 
>         at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:134) 
>         at 
> com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:427) 
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>  
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>  
>         at java.lang.Thread.run(Thread.java:636) 
> Caused by: com.cloud.exception.OperationTimedoutException: Commands 
> 1662189781 to Host 1 timed out after 3600 
>         at com.cloud.agent.manager.AgentAttache.send(AgentAttache.java:425) 
>         at 
> com.cloud.agent.manager.AgentManagerImpl.send(AgentManagerImpl.java:501) 
>         at 
> com.cloud.agent.manager.AgentManagerImpl.send(AgentManagerImpl.java:1022) 
>         at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.sendCommandsToRouter(VirtualNetworkApplianceManagerImpl.java:2590)
>  
>         ... 33 more 
> 2012-09-29 22:20:55,415 DEBUG 
> [network.router.VirtualNetworkApplianceManagerImpl] 
> (Job-Executor-130:job-450) About to stop the router r-5-VM due to: Unable to 
> apply firewall rules on disconnected router

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to