Talked to Nicolas in IRC, he's opened a bug for this - AFAIK this should be a blocker, since we do consider upgrades pretty important.
Jira issue: https://issues.apache.org/jira/browse/CLOUDSTACK-2172 On Wed, Apr 24, 2013, at 03:59 AM, nicolas.lamira...@orange.com wrote: > hi, > 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() }); > > > if someone have any idea ... > thanks > regards. > > -- > Nicolas Lamirault > > _________________________________________________________________________________________________________________________ > > Ce message et ses pieces jointes peuvent contenir des informations > confidentielles ou privilegiees et ne doivent donc > pas etre diffuses, exploites ou copies sans autorisation. Si vous avez > recu ce message par erreur, veuillez le signaler > a l'expediteur et le detruire ainsi que les pieces jointes. Les messages > electroniques etant susceptibles d'alteration, > France Telecom - Orange decline toute responsabilite si ce message a ete > altere, deforme ou falsifie. Merci. > > This message and its attachments may contain confidential or privileged > information that may be protected by law; > they should not be distributed, used or copied without authorisation. > If you have received this email in error, please notify the sender and > delete this message and its attachments. > As emails may be altered, France Telecom - Orange is not liable for > messages that have been modified, changed or falsified. > Thank you. > Best, jzb -- Joe Brockmeier j...@zonker.net Twitter: @jzb http://www.dissociatedpress.net/