venkata swamybabu budumuru created CLOUDSTACK-1514: ------------------------------------------------------
Summary: Unable to remove secondary ips though there are no PF rules associated with it Key: CLOUDSTACK-1514 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1514 Project: CloudStack Issue Type: Bug Security Level: Public (Anyone can view this level - this is the default.) Components: Network Controller Affects Versions: 4.2.0 Environment: - Advanced Zone with latest master code - single cluster with 1 XenServer Reporter: venkata swamybabu budumuru Assignee: venkata swamybabu budumuru Priority: Critical Fix For: 4.2.0 Steps to reproduce : 1. Have at least 1 VM deployed using ISOLATED network 2. add multiple ips to guest nic using "addIpToNic" 3. createPF rule on the first secondary ip 4. try to removeIpFromNic on second, third etc.., secondary ips Observations: i. It fails saying there are PF rules associated with it though it doesnt have any. here is the snippet from log ==================== 10.147.59.194:8096/api?command=createPortForwardingRule&ipaddressid=b947d555-d7e5-4548-8a53-ff9c1a4fd669&privateport=22&privateendport=22&publicport=22&publicendport=22&protocol=tcp&virtualmachineid=7024e36c-049e-402d-906e-ee80a0364d63&openfirewall=true&networkid=3f7d8660-a2f7-4fde-b364-7b931f56ce86&vmguestip=10.1.1.10 2013-03-05 11:47:04,844 DEBUG [cloud.async.AsyncJobManagerImpl] (ApiServer-8:null) submit async job-62, details: AsyncJobVO {id:62, userId: 1, accountId: 1, sessionKey: null, instanceType: null, instanceId: null, cmd: org.apache.cloudstack.api.command.user.vm.RemoveIpFromVmNicCmd, cmdOriginator: null, cmdInfo: {"id":"6","ctxUserId":"1","ctxAccountId":"1","ctxStartEventId":"171"}, cmdVersion: 0, callbackType: 0, callbackAddress: null, status: 0, processStatus: 0, resultCode: 0, result: null, initMsid: 7280707764394, completeMsid: null, lastUpdated: null, lastPolled: null, created: null} 2013-03-05 11:47:04,859 DEBUG [cloud.async.AsyncJobManagerImpl] (Job-Executor-16:job-62) Executing org.apache.cloudstack.api.command.user.vm.RemoveIpFromVmNicCmd for job-62 2013-03-05 11:47:05,123 DEBUG [cloud.network.NetworkServiceImpl] (Job-Executor-16:job-62) ip id and nic id6...8 2013-03-05 11:47:05,158 DEBUG [cloud.network.NetworkServiceImpl] (Job-Executor-16:job-62) VM nic IP 10.1.1.151 is associated with the port forwarding rule 2013-03-05 11:47:05,160 ERROR [cloud.async.AsyncJobManagerImpl] (Job-Executor-16:job-62) Unexpected exception while executing org.apache.cloudstack.api.command.user.vm.RemoveIpFromVmNicCmd com.cloud.exception.InvalidParameterValueException: Can't remove the secondary ip 10.1.1.151 is associate with the port forwarding rule at com.cloud.network.NetworkServiceImpl.releaseSecondaryIpFromNic(NetworkServiceImpl.java:575) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) at com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:48) at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) at org.apache.cloudstack.api.command.user.vm.RemoveIpFromVmNicCmd.execute(RemoveIpFromVmNicCmd.java:104) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at com.cloud.utils.db.TransactionContextBuilder.invoke(TransactionContextBuilder.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:161) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) at com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:54) at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) at com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:437) 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) 2013-03-05 11:47:05,196 DEBUG [cloud.async.AsyncJobManagerImpl] (Job-Executor-16:job-62) Complete async job-62, jobStatus: 2, resultCode: 530, result: Error Code: 530 Error text: Can't remove the secondary ip 10.1.1.151 is associate with the port forwarding rule -- 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