cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-4596) CloudStack is currently allowing same ip range to be defined in different VLANs across public and portable ranges
Date Fri, 18 Oct 2013 09:38:42 GMT

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

ASF subversion and git services commented on CLOUDSTACK-4596:
-------------------------------------------------------------

Commit c1294fdfa019e4e86e52299378b244d46b06b5c2 in branch refs/heads/4.2 from [~murali.reddy]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c1294fd ]

CLOUDSTACK-4596: CloudStack is currently allowing same ip range to be
defined in different VLANs across public and portable ranges

added checks to restric same ip range to be configure as both public ip
range and portable ip range


> CloudStack is currently allowing same ip range to be defined in different VLANs across
public and portable ranges
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-4596
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4596
>             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
>            Reporter: venkata swamybabu budumuru
>            Assignee: Murali Reddy
>            Priority: Critical
>             Fix For: 4.2.1
>
>
> Steps to reproduce :
> 1. Have latest CloudStack with at least 1 advanced zone.
> 2. Have at least 1 public VLAN and a range added for advanced zone
> For ex : 
> VLAN : 44
> Startip  : 10.147.44.100
> Endip  : 10.147.44.109
> netmask : 255.255.255.0
> 3. add the same above ip range for portable IPs with a different VLAN
> Observations:
> (i) The above step (3) doesn't throw any error that the same ip range is being used in
different VLAN and that is allowing it.
> (ii) Due to the above behaviour when user tries to acquire the same ip from different
vlans then it throws an error saying "Entity already exists"
> Here is the snippet from mgmt server log.
> 2013-09-03 04:39:50,996 DEBUG [cloud.api.ApiServlet] (catalina-exec-7:null) ===START===
 10.252.192.43 -- GET  command=associateIpAddress&response=json&sessionkey=A9SZ7jF%2Fu24xbL7DG%2BGdGT4BcyY%3D&isportable=true&networkid=24c91328-27a8-4981-a704-1efd6e5aeca8&_=1378197591134
> 2013-09-03 04:39:51,038 DEBUG [db.Transaction.Transaction] (catalina-exec-7:null) Rolling
back the transaction: Time = 13 Name =  allocatePortableIp; called by -Transaction.rollback:898-Transaction.removeUpTo:841-Transaction.close:665-TransactionContextBuilder.interceptException:63-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:133-NetworkManagerImpl.allocatePortableIp:870-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:125-NetworkServiceImpl.allocatePortableIP:589-ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept:125-AssociateIPAddrCmd.create:276-ApiDispatcher.dispatchCreateCmd:104-ApiServer.queueCommand:460
> 2013-09-03 04:39:51,150 ERROR [cloud.api.ApiServer] (catalina-exec-7:null) unhandled
exception executing api command: associateIpAddress
> javax.persistence.EntityExistsException: Entity already exists: 
> 	at com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1346)
> 	at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
> 	at com.cloud.network.NetworkManagerImpl.allocatePortableIp(NetworkManagerImpl.java:870)
> 	at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
> 	at com.cloud.network.NetworkServiceImpl.allocatePortableIP(NetworkServiceImpl.java:589)
> 	at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
> 	at org.apache.cloudstack.api.command.user.address.AssociateIPAddrCmd.create(AssociateIPAddrCmd.java:276)
> 	at com.cloud.api.ApiDispatcher.dispatchCreateCmd(ApiDispatcher.java:104)
> 	at com.cloud.api.ApiServer.queueCommand(ApiServer.java:460)
> 	at com.cloud.api.ApiServer.handleRequest(ApiServer.java:372)
> 	at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:305)
> 	at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> 	at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
> 	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
> 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2268)
> 	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:679)
> Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
Duplicate entry '10.0.0.2-200' for key 'public_ip_address'
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
> 	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
> 	at com.mysql.jdbc.Util.getInstance(Util.java:386)
> 	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1040)
> 	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
> 	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
> 	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
> 	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
> 	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
> 	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
> 	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2450)
> 	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2371)
> 	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2355)
> 	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> 	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> 	at com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1311)
> 	... 40 more



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message