You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Sheng Yang (JIRA)" <ji...@apache.org> on 2013/09/26 22:34:07 UTC

[jira] [Commented] (CLOUDSTACK-4745) Exception happened when try to apply static nat rule using CreateIpForwardingCmd API

    [ 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