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

Sheng Yang commented on CLOUDSTACK-4745:
----------------------------------------

The StaticNatRule object should be applied by firewall, rather than static nat 
service provider. In the future we need to move every StaticNatRule to 
StaticNat, and update the db as well. It has already caused too many confusions.
                
> Exception happened when try to apply static nat rule using 
> CreateIpForwardingCmd API
> ------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-4745
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4745
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>    Affects Versions: 4.2.0
>            Reporter: Sheng Yang
>            Assignee: Sheng Yang
>            Priority: Critical
>             Fix For: 4.2.1
>
>
> Though CreateIpForwardingCmd should be deprecated, we didn't expect the 
> following exception: 
> java.lang.ClassCastException: com.cloud.network.rules.StaticNatRuleImpl 
> cannot be cast to com.cloud.network.rules.StaticNat
> at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.createApplyStaticNatCommands(VirtualNetworkApplianceManagerImpl.java:3876)
> at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyStaticNat(VirtualNetworkApplianceManagerImpl.java:3867)
> at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl$10.execute(VirtualNetworkApplianceManagerImpl.java:3859)
> at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyRules(VirtualNetworkApplianceManagerImpl.java:3796)
> at 
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.applyStaticNats(VirtualNetworkApplianceManagerImpl.java:3856)
> at 
> com.cloud.network.element.VirtualRouterElement.applyStaticNats(VirtualRouterElement.java:630)
> at 
> com.cloud.network.firewall.FirewallManagerImpl.applyRules(FirewallManagerImpl.java:578)
> at 
> com.cloud.network.NetworkManagerImpl.applyRules(NetworkManagerImpl.java:3230)
> at 
> com.cloud.network.firewall.FirewallManagerImpl.applyRules(FirewallManagerImpl.java:510)
> at 
> com.cloud.network.NetworkManagerImpl.shutdownNetworkResources(NetworkManagerImpl.java:4124)
> at 
> com.cloud.network.NetworkManagerImpl.shutdownNetworkElementsAndResources(NetworkManagerImpl.java:2993)
> at 
> com.cloud.network.NetworkManagerImpl.restartNetwork(NetworkManagerImpl.java:3409)
> at 
> com.cloud.network.NetworkServiceImpl.restartNetwork(NetworkServiceImpl.java:1804)
> at 
> com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
> at 
> org.apache.cloudstack.api.command.user.network.RestartNetworkCmd.execute(RestartNetworkCmd.java:92)
> at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
> at com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
> 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:1146)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:679)

--
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