manasaveloori created CLOUDSTACK-3974:
-----------------------------------------
Summary: Upgrade from 3.0.6 to 4.2 failed with DB Exception while
adding F5 load balancer device.
Key: CLOUDSTACK-3974
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-3974
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: Upgrade
Affects Versions: 4.2.0
Environment: upgrade from 3.0.6 patch E with external devices to 4.2
Reporter: manasaveloori
Priority: Blocker
Fix For: 4.2.0
Steps:
1. Have a CS 3.0.6 patchE with KVM and Xen hypervisors(both Advanced
zones).
2. Add the external devices F5,SRX,Netscaler to CS.
3. Delpoy VMs and create firewall,LB rules using the external devices.
4. Upgrade to 4.2 build.
Observed the following DB exception:
2013-07-31 21:01:31,901 DEBUG [upgrade.dao.Upgrade410to420] (Timer-1:null)
Adding default egress firewall rule for network 208
2013-07-31 21:01:31,902 DEBUG [upgrade.dao.Upgrade410to420] (Timer-1:null)
Inserting default egress firewall rule
com.mysql.jdbc.JDBC4PreparedStatement@278eb834: INSERT INTO firewall_rules
(uuid, state, protocol, purpose, account_id, domain_id, network_id, xid,
created, traffic_type) VALUES ('0ddd6caf-f767-4b82-b3a4-b1b2f221d4c5',
'Active', 'all', 'Firewall', 2, 1, 208, 'c4b25ffa-c785-44e9-ac50-52bea932c5c6',
now(), 'Egress')
2013-07-31 21:01:31,925 DEBUG [upgrade.dao.Upgrade410to420] (Timer-1:null)
Inserting rule for cidr 0.0.0.0/0 for the new Firewall rule id=4 with statement
com.mysql.jdbc.JDBC4PreparedStatement@7cd82990: insert into
firewall_rules_cidrs (firewall_rule_id,source_cidr) values (4, '0.0.0.0/0')
2013-07-31 21:01:31,942 DEBUG [upgrade.dao.Upgrade410to420] (Timer-1:null)
Updating network ACLs
2013-07-31 21:01:31,949 DEBUG [upgrade.dao.Upgrade410to420] (Timer-1:null) Done
updating network ACLs
2013-07-31 21:01:31,950 DEBUG [upgrade.dao.Upgrade410to420] (Timer-1:null)
Checking if host_details index exists, if not we will add it
2013-07-31 21:01:31,951 DEBUG [upgrade.dao.Upgrade410to420] (Timer-1:null)
Index already exists on host_details - not adding new one
2013-07-31 21:01:31,969 DEBUG [upgrade.dao.Upgrade410to420] (Timer-1:null)
Adding PhysicalNetworkServiceProvider F5BigIp in to physical network201
2013-07-31 21:01:31,971 DEBUG [upgrade.dao.Upgrade410to420] (Timer-1:null)
Adding F5 Big IP load balancer with host id 11 in to physical network201
2013-07-31 21:01:31,987 ERROR [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) Unable to upgrade the database
com.cloud.utils.exception.CloudRuntimeException: Exception while adding F5 load
balancer device
at
com.cloud.upgrade.dao.Upgrade410to420.addF5LoadBalancer(Upgrade410to420.java:1431)
at
com.cloud.upgrade.dao.Upgrade410to420.correctExternalNetworkDevicesSetup(Upgrade410to420.java:1359)
at
com.cloud.upgrade.dao.Upgrade410to420.performDataMigration(Upgrade410to420.java:92)
at
com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:295)
at
com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker.java:420)
at
com.cloud.utils.component.ComponentContext.initComponentsLifeCycle(ComponentContext.java:90)
at
com.cloud.servlet.CloudStartupServlet$1.run(CloudStartupServlet.java:54)
at java.util.TimerThread.mainLoop(Timer.java:534)
at java.util.TimerThread.run(Timer.java:484)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown
column 'is_inline' in 'field list'
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:1053)
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.upgrade.dao.Upgrade410to420.addF5LoadBalancer(Upgrade410to420.java:1429)
... 8 more
2013-07-31 21:01:31,995 DEBUG [db.Transaction.Transaction] (Timer-1:null)
Rolling back the transaction: Time = 2325 Name =
-CloudStartupServlet$1.run:52-TimerThread.mainLoop:534-TimerThread.run:484;
called by
-Transaction.rollback:896-Transaction.removeUpTo:839-Transaction.close:663-DatabaseUpgradeChecker.upgrade:324-DatabaseUpgradeChecker.check:420-ComponentContext.initComponentsLifeCycle:90-CloudStartupServlet$1.run:54-TimerThread.mainLoop:534-TimerThread.run:484
2013-07-31 21:01:32,034 ERROR [utils.component.ComponentContext] (Timer-1:null)
System integrity check failed. Refuse to startup
Attaching the MS logs DB dumps before and after upgrade.
--
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