Nicolas Lamirault created CLOUDSTACK-2172:
---------------------------------------------
Summary: Upgrade from 2.2.14 to 4.1.0 failed
Key: CLOUDSTACK-2172
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2172
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Affects Versions: 4.1.0
Reporter: Nicolas Lamirault
due to BUG CS 528, we can't upgrade our production to 4.0.x.
So we try to upgrade to 4.1.0.
When we start CS, we 've read theses logs :
2013-04-24 10:57:23,407 DEBUG [upgrade.dao.VersionDaoImpl] (Timer-1:null)
Checking to see if the database is at a version before it was the version table
is created
2013-04-24 10:57:23,420 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) DB version = 2.2.14 Code Version = 4.1.0
2013-04-24 10:57:23,421 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) Database upgrade must be performed from 2.2.14 to 4.1.0
2013-04-24 10:57:23,421 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.7
2013-04-24 10:57:23,421 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 3.0.0 3.0.1
3.0.2 4.0.0
2013-04-24 10:57:23,421 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.6
2013-04-24 10:57:23,421 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 3.0.0 3.0.1
3.0.2 4.0.0
2013-04-24 10:57:23,421 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.5
2013-04-24 10:57:23,421 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.6 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 3.0.0
3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,421 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.4
2013-04-24 10:57:23,421 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.5 2.2.6 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14
3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.3
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.4 2.2.4 2.2.5 2.2.6 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 2.2.13
2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.2
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.4 2.2.4 2.2.5 2.2.6 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 2.2.13
2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.1
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.2 2.2.4 2.2.4 2.2.5 2.2.6 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12
2.2.13 2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 3.0.2
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 4.0.0
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 3.0.1
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 3.0.2 4.0.0
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.10
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.11 2.2.12 2.2.13 2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,422 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.11
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.12 2.2.13 2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.8
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.12
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.13 2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.9
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.13
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.1.7
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.1.8 2.2.1 2.2.2 2.2.4 2.2.4 2.2.5 2.2.6 2.2.8 2.2.9 2.2.10
2.2.11 2.2.12 2.2.13 2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.2.14
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.1.8
2013-04-24 10:57:23,423 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.1 2.2.2 2.2.4 2.2.4 2.2.4 2.2.5 2.2.6 2.2.8 2.2.9 2.2.10
2.2.11 2.2.12 2.2.13 2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 4.0.2
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 4.1.0
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 2.1.9
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 2.2.1 2.2.2 2.2.4 2.2.4 2.2.4 2.2.5 2.2.6 2.2.8 2.2.9 2.2.10
2.2.11 2.2.12 2.2.13 2.2.14 3.0.0 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 4.0.0
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 4.1.0
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 3.0.0
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 3.0.1 3.0.2 4.0.0
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) => Version 4.0.1
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) 4.1.0
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) DBVersion upgrade from : 2.2.14
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) --> Upgrade: 3.0.0
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) --> Upgrade: 3.0.1
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) --> Upgrade: 3.0.2
2013-04-24 10:57:23,425 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) --> Upgrade: 4.0.0
2013-04-24 10:57:23,425 ERROR [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) The end upgrade version is actually at 4.0.0 but our management
server code version is at 4.1.0
2013-04-24 10:57:23,429 ERROR [utils.component.ComponentContext] (Timer-1:null)
System integrity check failed. Refuse to startup
from this code in
*./server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java* :
protected void upgrade(String dbVersion, String currentVersion) {
s_logger.info("Database upgrade must be performed from " +
dbVersion + " to " + currentVersion);
for (String versionKey : _upgradeMap.keySet()) {
s_logger.info("=> Version " + versionKey);
DbUpgrade[] up = (DbUpgrade[]) _upgradeMap.get(versionKey);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < up.length; i++) {
sb.append(" ").append(up[i].getUpgradedVersion());
}
s_logger.info(sb.toString());
}
String trimmedDbVersion = Version.trimToPatch(dbVersion);
String trimmedCurrentVersion = Version.trimToPatch(currentVersion);
s_logger.info("DBVersion upgrade from : " + trimmedDbVersion);
DbUpgrade[] upgrades = _upgradeMap.get(trimmedDbVersion);
if (upgrades == null) {
s_logger.error("There is no upgrade path from " + dbVersion
+ " to " + currentVersion);
throw new CloudRuntimeException("There is no upgrade path
from " + dbVersion + " to " + currentVersion);
}
for (int i = 0; i < upgrades.length; i++) {
s_logger.info("--> Upgrade: " +
upgrades[i].getUpgradedVersion());
}
if (Version.compare(trimmedCurrentVersion,
upgrades[upgrades.length - 1].getUpgradedVersion()) != 0) {
s_logger.error("The end upgrade version is actually at " +
upgrades[upgrades.length - 1].getUpgradedVersion() + " but our
management server code version is at " + currentVersion);
throw new CloudRuntimeException("The end upgrade version is
actually at " + upgrades[upgrades.length - 1].getUpgradedVersion() + "
but our management server code version is at "
+ currentVersion);
}
[...]
}
We don't understand theses lines :
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) DBVersion upgrade from : 2.2.14
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) --> Upgrade: 3.0.0
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) --> Upgrade: 3.0.1
2013-04-24 10:57:23,424 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) --> Upgrade: 3.0.2
2013-04-24 10:57:23,425 INFO [cloud.upgrade.DatabaseUpgradeChecker]
(Timer-1:null) --> Upgrade: 4.0.0
while in code there is :
_upgradeMap.put("2.2.14", new DbUpgrade[] { new Upgrade2214to30(), new
Upgrade30to301(), new Upgrade301to302(),
new Upgrade302to40(), new Upgrade40to41() });
Regards.
--
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