You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Daan Hoogland (JIRA)" <ji...@apache.org> on 2015/05/12 14:05:35 UTC

[jira] [Updated] (CLOUDSTACK-252) UpdateNetwork Operation on a guest network that is currently using Virtual Router for Lb services to a network offering that uses "F5" for Lb services Fails due to MySQLIntegrityConstraintViolationException.

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

Daan Hoogland updated CLOUDSTACK-252:
-------------------------------------
    Fix Version/s:     (was: 4.5.1)
                   4.5.2

> UpdateNetwork Operation on a guest network that is currently using Virtual Router for Lb services to a network offering that uses "F5" for Lb services Fails due to MySQLIntegrityConstraintViolationException.
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-252
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-252
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: Management Server
>    Affects Versions: pre-4.0.0
>            Reporter: Chandan Purushothama
>            Assignee: Sudhansu Sahu
>             Fix For: 4.4.3, 4.5.2
>
>         Attachments: managementserverlog_mysqldumps.zip
>
>
> ===============
> Steps to Reproduce:
> ===============
> 1. On an Advanced Zone with two physical networks, create a guest network from a network offering with services as mentioned below
> {noformat}
> mysql> select * from network_offerings where id=13 \G
> *************************** 1. row ***************************
>                        id: 13
>                      name: Network-SNAT-guest1
>                      uuid: 277b7b7a-8aeb-46f8-94e9-e83de34912a8
>               unique_name: Network-SNAT-guest1
>              display_text: Network-SNAT-guest1
>                   nw_rate: 500
>                   mc_rate: 10
>              traffic_type: Guest
>                      tags: guest1
>               system_only: 0
>              specify_vlan: 0
>       service_offering_id: NULL
>             conserve_mode: 0
>                   created: 2012-09-26 18:43:35
>                   removed: NULL
>                   default: 0
>              availability: Optional
>      dedicated_lb_service: 1
> shared_source_nat_service: 0
>                  sort_key: 0
>  redundant_router_service: 0
>                     state: Enabled
>                guest_type: Isolated
>        elastic_ip_service: 0
>        elastic_lb_service: 0
>         specify_ip_ranges: 0
> 1 row in set (0.00 sec)
> {noformat}
> {noformat}
> mysql> select * from ntwk_offering_service_map where network_offering_id=13;
> +----+---------------------+----------------+---------------+---------------------+
> | id | network_offering_id | service        | provider      | created             |
> +----+---------------------+----------------+---------------+---------------------+
> | 48 |                  13 | Dhcp           | VirtualRouter | 2012-09-26 18:43:35 |
> | 51 |                  13 | Dns            | VirtualRouter | 2012-09-26 18:43:35 |
> | 52 |                  13 | Firewall       | VirtualRouter | 2012-09-26 18:43:35 |
> | 49 |                  13 | Lb             | VirtualRouter | 2012-09-26 18:43:35 |
> | 50 |                  13 | PortForwarding | VirtualRouter | 2012-09-26 18:43:35 |
> | 53 |                  13 | SourceNat      | VirtualRouter | 2012-09-26 18:43:35 |
> | 46 |                  13 | StaticNat      | VirtualRouter | 2012-09-26 18:43:35 |
> | 54 |                  13 | UserData       | VirtualRouter | 2012-09-26 18:43:35 |
> | 47 |                  13 | Vpn            | VirtualRouter | 2012-09-26 18:43:35 |
> +----+---------------------+----------------+---------------+---------------------+
> 9 rows in set (0.00 sec)
> mysql>
> {noformat}
> 2, Deploy three VMs on a guest network that is created from the above mentioned network offering.
> 3. Create a Load balancing rule servicing the VMs on the guest network.
> 4. Stop All the VMs and UpdateNetwork to the Network offering with services as mentioned below. Notice that the LB Service is provided by F5 in the new network offering.
> {noformat}
> mysql> select * from network_offerings where id=18 \G
> *************************** 1. row ***************************
>                        id: 18
>                      name: Network-F5-guest1
>                      uuid: 5c7746b8-e29f-4a74-8369-e88647081053
>               unique_name: Network-F5-guest1
>              display_text: Network-F5-guest1
>                   nw_rate: 535
>                   mc_rate: 10
>              traffic_type: Guest
>                      tags: guest1
>               system_only: 0
>              specify_vlan: 0
>       service_offering_id: NULL
>             conserve_mode: 0
>                   created: 2012-09-27 01:13:38
>                   removed: NULL
>                   default: 0
>              availability: Optional
>      dedicated_lb_service: 0
> shared_source_nat_service: 0
>                  sort_key: 0
>  redundant_router_service: 0
>                     state: Enabled
>                guest_type: Isolated
>        elastic_ip_service: 0
>        elastic_lb_service: 0
>         specify_ip_ranges: 0
> 1 row in set (0.00 sec)
> {noformat}
> {noformat}
> mysql> select * from ntwk_offering_service_map where network_offering_id=18;
> +----+---------------------+----------------+---------------+---------------------+
> | id | network_offering_id | service        | provider      | created             |
> +----+---------------------+----------------+---------------+---------------------+
> | 81 |                  18 | Dhcp           | VirtualRouter | 2012-09-27 01:13:38 |
> | 86 |                  18 | Dns            | VirtualRouter | 2012-09-27 01:13:38 |
> | 83 |                  18 | Firewall       | VirtualRouter | 2012-09-27 01:13:38 |
> | 85 |                  18 | Lb             | F5BigIp       | 2012-09-27 01:13:38 |
> | 80 |                  18 | PortForwarding | VirtualRouter | 2012-09-27 01:13:38 |
> | 84 |                  18 | SourceNat      | VirtualRouter | 2012-09-27 01:13:38 |
> | 82 |                  18 | StaticNat      | VirtualRouter | 2012-09-27 01:13:38 |
> | 79 |                  18 | UserData       | VirtualRouter | 2012-09-27 01:13:38 |
> | 87 |                  18 | Vpn            | VirtualRouter | 2012-09-27 01:13:38 |
> +----+---------------------+----------------+---------------+---------------------+
> 9 rows in set (0.00 sec)
> {noformat}
> 5. Observe the Exception mentioned below.
> ===========
> Observations:
> ===========
> ==================================
> MySQLIntegrityConstraintViolationException:
> ==================================
> {noformat}
> 2012-10-03 17:36:57,449 DEBUG [db.Transaction.Transaction] (ExternalNetworkMonitor-1:null) Rolling back the transaction: Time = 4 Name =  -ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.manageStatsEntries:537-ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.runExternalLoadBalancerNetworkUsageTask:403-ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.run:323-Executors$RunnableAdapter.call:471-FutureTask$Sync.innerRunAndReset:351-FutureTask.runAndReset:178-ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201:165-ScheduledThreadPoolExecutor$ScheduledFutureTask.run:267-ThreadPoolExecutor.runWorker:1110-ThreadPoolExecutor$Worker.run:603-Thread.run:679; called by -Transaction.rollback:887-Transaction.removeUpTo:830-Transaction.close:649-DatabaseCallback.interceptComplete:71-DatabaseCallback.intercept:36-ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.createStatsEntry:442-ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.createOrUpdateStatsEntry:523-ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.manageStatsEntries:547-ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.runExternalLoadBalancerNetworkUsageTask:403-ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.run:323-Executors$RunnableAdapter.call:471-FutureTask$Sync.innerRunAndReset:351
> 2012-10-03 17:36:57,451 WARN  [cloud.network.ExternalLoadBalancerUsageManagerImpl] (ExternalNetworkMonitor-1:null) Exception:
> javax.persistence.EntityExistsException: Entity already exists:
>         at com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1309)
>         at com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34)
>         at com.cloud.network.ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.createStatsEntry(ExternalLoadBalancerUsageManagerImpl.java:442)
>         at com.cloud.network.ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.createOrUpdateStatsEntry(ExternalLoadBalancerUsageManagerImpl.java:523)
>         at com.cloud.network.ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.manageStatsEntries(ExternalLoadBalancerUsageManagerImpl.java:547)
>         at com.cloud.network.ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.runExternalLoadBalancerNetworkUsageTask(ExternalLoadBalancerUsageManagerImpl.java:403)
>         at com.cloud.network.ExternalLoadBalancerUsageManagerImpl$ExternalLoadBalancerDeviceNetworkUsageTask.run(ExternalLoadBalancerUsageManagerImpl.java:323)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>         at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
>         at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
>         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 '3-1-10.223.139.12-6-ExternalLoadBalancer' for key 'account_id'
>         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:3597)
>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
>         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)
>         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)
>         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2625)
>         at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
>         at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)
>         at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)
>         at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)
>         at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:106)
>         at com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1274)
>         ... 18 more
> 2012-10-03 17:36:57,455 DEBUG [cloud.network.ExternalLoadBalancerUsageManagerImpl] (ExternalNetworkMonitor-1:null) Network 205 is not configured for external networking, so skipping usage check.
> 2012-10-03 17:36:57,457 DEBUG [cloud.network.ExternalLoadBalancerUsageManagerImpl] (ExternalNetworkMonitor-1:null) Network 206 is not configured for external networking, so skipping usage check.
> 2012-10-03 17:36:57,468 DEBUG [cloud.network.ExternalLoadBalancerUsageManagerImpl] (ExternalNetworkMonitor-1:null) Successfully updated stats for account atoms, zone ZONE-ASF, network ID 209, host ID 200-F5BigIpLoadBalancer-10.223.60.3, public IP: 10.223.139.8
> {noformat}
> =======
> Git Info:
> =======
> Git Revision: 61e1cf3c44863b5104364ccb27c43a45708f2b57
> Git URL: https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)