Will do, thank you, Rohit. -Alena.
On 7/28/14, 3:23 PM, "Rohit Yadav" <rohit.ya...@shapeblue.com> wrote: >Hi Alena, > >I've changed the upgrade path from 4.4.1 to 4.5.0, please verify at your >end especially the DatabaseUpgradeChecker since there are too many list >of upgrade path class changes. > >On master: d42e20429d1e238816a07edd865567c06a4914d3 > >Regards. > >Alena Prokharchyk wrote: >> The upgrade path should also be merged to master branch. Where btw I >> already see an upgrade path from 4.4 to 4.5 implemented. Should we >>change >> it to 4.4.1->4.5? >> >> -Alena. >> >> On 7/28/14, 2:54 PM, "Rohit Yadav"<rohit.ya...@shapeblue.com> wrote: >> >>> Hi, >>> >>> Adding upgrade paths is simple (you may add/update a wiki page on it): >>> >>> - You add a upgrade path class under com.cloud.upgrade.dao, something >>> like UpgradeVERAtoVERb, in our case Upgrade440to441 which should >>> implement the interface DbUpgrade. If there is some complex migration >>> you need to do in code put the sql and other statements in >>> performDataMigration method. >>> - Put upgrade path sql statements in db/schema-440to441.sql >>> - Put upgrade path cleanup statements in db/schema-440to441-cleanup.sql >>> - Finally add the version key and add/append the upgrade class in >>> DatabaseUpgradeChecker and all other keys where there is a previous >>> upgrade path. >>> >>> On 4.4 branch see the following commit for reference which fixes this: >>> 9de4abeb49f74cd9a4418a97a4d25e5266c81f94 >>> >>> I hope the way upgrade stuff works and the boilerplate code we add >>> everytime should be fixed/refactored in future. >>> >>> On 4.4, I went ahead and fixed an apidoc build issue using master's: >>> >>>https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=blobdiff;f=to >>>ol >>> >>>s/apidoc/gen_toc.py;h=1ad493d59ab6fb1fb52bbd07c17dc754bc128b0e;hp=bcc841 >>>7c >>> >>>3c5d3de2feb4129613038468c5ab9ac7;hb=628d8e6;hpb=0ac2eb4f671841b2525db810 >>>94 >>> 0d8502e6a3dcf4 >>> >>> Regards. >>> >>> Will Stevens wrote: >>>> If there is documentation for how to do this somewhere, I could >>>> implement >>>> an empty upgrade path. Do we know if there are database changes >>>>needed >>>> for >>>> the 4.4.1 upgrade from 4.4.0? How would that requirement be captured? >>>> >>>> Cheers, >>>> >>>> Will >>>> >>>> >>>> *Will STEVENS* >>>> Lead Developer >>>> >>>> *CloudOps* *| *Cloud Solutions Experts >>>> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6 >>>> w cloudops.com *|* tw @CloudOps_ >>>> >>>> >>>> On Mon, Jul 28, 2014 at 4:52 PM, Daan >>>>Hoogland<daan.hoogl...@gmail.com> >>>> wrote: >>>> >>>>> Will, >>>>> >>>>> this is a bug due to our upgrade scheme: we have not yet implemented >>>>> it so it is missing. We need to implement some (possibly empty) >>>>> upgrade path to make sure this will still work for 4.4.1. >>>>> >>>>> On Mon, Jul 28, 2014 at 9:46 PM, Will Stevens<wstev...@cloudops.com> >>>>> wrote: >>>>>> I am guessing this is a bug, but I want to post it here before I >>>>>> create a >>>>>> ticket. I have pulled down the latest code from the 4.4 branch >>>>>>(which >>>>>> results in the 4.4.1 release). >>>>>> >>>>>> I am able to compile the code without any issues, but when I run the >>>>>> following command to deploy my DB it fails. >>>>>> >>>>>> $ mvn -P developer -pl developer,tools/devcloud -Ddeploydb >>>>>> >>>>>> The error is: >>>>>> [ERROR] Failed to execute goal >>>>>> org.codehaus.mojo:exec-maven-plugin:1.2.1:java (create-schema) on >>>>>> project >>>>>> cloud-developer: An exception occured while executing the Java >>>>>>class. >>>>> null: >>>>>> InvocationTargetException: The end upgrade version is actually at >>>>>> 4.4.0 >>>>> but >>>>>> our management server code version is at 4.4.1-SNAPSHOT -> [Help >>>>>>1] >>>>>> >>>>>> It looks like there is no upgrade path from 4.4.0 to 4.4.1, but I am >>>>>> just >>>>>> taking that from the error. >>>>>> >>>>>> I checked the './setup/db/db' directory and there is no file for >>>>>> 'schema-440to441.sql'. Also, I looked in >>>>>> './engine/schema/src/com/cloud/upgrade/dao' and there is no >>>>>> 'Upgrade440to441.java' file. Since this file does not exist, it is >>>>>> obviously not included in the >>>>>> './engine/schema/src/com/cloud/upgrade/DatabaseUpgradeChecker.java' >>>>>> file >>>>>> either (which is where the error originates from). >>>>>> >>>>>> I have included the entire output for completeness... >>>>>> >>>>>> Listening for transport dt_socket at address: 8787 >>>>>> [INFO] Scanning for projects... >>>>>> [INFO] >>>>>> >>>>>> >>>>>>--------------------------------------------------------------------- >>>>>>-- >>>>>> - >>>>>> [INFO] Reactor Build Order: >>>>>> [INFO] >>>>>> [INFO] Apache CloudStack Developer Mode >>>>>> [INFO] Apache CloudStack DevCloud >>>>>> [INFO] >>>>>> >>>>>> [INFO] >>>>>> >>>>>> >>>>>>--------------------------------------------------------------------- >>>>>>-- >>>>>> - >>>>>> [INFO] Building Apache CloudStack Developer Mode 4.4.1-SNAPSHOT >>>>>> [INFO] >>>>>> >>>>>> >>>>>>--------------------------------------------------------------------- >>>>>>-- >>>>>> - >>>>>> [INFO] >>>>>> [INFO] --- maven-checkstyle-plugin:2.11:check >>>>>>(cloudstack-checkstyle) >>>>>> @ >>>>>> cloud-developer --- >>>>>> [INFO] Starting audit... >>>>>> Audit done. >>>>>> >>>>>> [INFO] >>>>>> [INFO] --- >>>>>>properties-maven-plugin:1.0-alpha-2:read-project-properties >>>>>> (default) @ cloud-developer --- >>>>>> [WARNING] Ignoring missing properties file: >>>>>> >>>>>>/mnt/hgfs/cs/cloudstack/developer/../utils/conf/db.properties.overrid >>>>>>e >>>>>> [INFO] >>>>>> [INFO] --- maven-remote-resources-plugin:1.3:process (default) @ >>>>>> cloud-developer --- >>>>>> [INFO] >>>>>> [INFO] --- maven-antrun-plugin:1.7:run (default) @ cloud-developer >>>>>>--- >>>>>> [INFO] Executing tasks >>>>>> >>>>>> main: >>>>>> [INFO] Executed tasks >>>>>> [INFO] >>>>>> [INFO]>>> exec-maven-plugin:1.2.1:java (create-schema) @ >>>>>> cloud-developer >>>>>> [INFO] >>>>>> [INFO] --- maven-checkstyle-plugin:2.11:check >>>>>>(cloudstack-checkstyle) >>>>>> @ >>>>>> cloud-developer --- >>>>>> [INFO] Starting audit... >>>>>> Audit done. >>>>>> >>>>>> [INFO] >>>>>> [INFO]<<< exec-maven-plugin:1.2.1:java (create-schema) @ >>>>>> cloud-developer >>>>>> <<< >>>>>> [INFO] >>>>>> [INFO] --- exec-maven-plugin:1.2.1:java (create-schema) @ >>>>>> cloud-developer >>>>>> --- >>>>>> log4j:WARN No appenders could be found for logger >>>>>> (org.springframework.core.env.StandardEnvironment). >>>>>> log4j:WARN Please initialize the log4j system properly. >>>>>> log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig >>>>>> for >>>>>> more info. >>>>>> ========> WARNING: Provided file does not exist: >>>>>> >>>>>>/mnt/hgfs/cs/cloudstack/developer/../utils/conf/db.properties.overrid >>>>>>e >>>>>> ========> WARNING: Provided file does not exist: >>>>>> /mnt/hgfs/cs/cloudstack/developer/developer-prefill.sql.override >>>>>> ========> Initializing database=cloud with host=localhost >>>>>>port=3306 >>>>>> username=cloud password=cloud >>>>>> ============> Running query: drop database if exists `cloud` >>>>>> ============> Running query: create database `cloud` >>>>>> ============> Running query: GRANT ALL ON cloud.* to >>>>>> 'cloud'@`localhost` >>>>>> identified by 'cloud' >>>>>> ============> Running query: GRANT ALL ON cloud.* to 'cloud'@`%` >>>>> identified >>>>>> by 'cloud' >>>>>> ========> Initializing database=cloud_usage with host=localhost >>>>>> port=3306 >>>>>> username=cloud password=cloud >>>>>> ============> Running query: drop database if exists `cloud_usage` >>>>>> ============> Running query: create database `cloud_usage` >>>>>> ============> Running query: GRANT ALL ON cloud_usage.* to >>>>>>'cloud'@ >>>>> `localhost` >>>>>> identified by 'cloud' >>>>>> ============> Running query: GRANT ALL ON cloud_usage.* to >>>>>> 'cloud'@`%` >>>>>> identified by 'cloud' >>>>>> ========> Initializing database=cloudbridge with host=localhost >>>>>> port=3306 >>>>>> username=cloud password=cloud >>>>>> ============> Running query: drop database if exists `cloudbridge` >>>>>> ============> Running query: create database `cloudbridge` >>>>>> ============> Running query: GRANT ALL ON cloudbridge.* to >>>>>>'cloud'@ >>>>> `localhost` >>>>>> identified by 'cloud' >>>>>> ============> Running query: GRANT ALL ON cloudbridge.* to >>>>>> 'cloud'@`%` >>>>>> identified by 'cloud' >>>>>> ========> Processing SQL file at >>>>>> /mnt/hgfs/cs/cloudstack/developer/target/db/create-schema.sql >>>>>> ========> Processing SQL file at >>>>>> >>>>>>/mnt/hgfs/cs/cloudstack/developer/target/db/create-schema-premium.sql >>>>>> ========> Processing SQL file at >>>>>> /mnt/hgfs/cs/cloudstack/developer/target/db/templates.sql >>>>>> ========> Processing SQL file at >>>>>> /mnt/hgfs/cs/cloudstack/developer/target/db/cloudbridge_schema.sql >>>>>> ========> Processing SQL file at >>>>>> >>>>>>/mnt/hgfs/cs/cloudstack/developer/target/db/cloudbridge_multipart.sql >>>>>> ========> Processing SQL file at >>>>>> /mnt/hgfs/cs/cloudstack/developer/target/db/cloudbridge_index.sql >>>>>> ========> Processing SQL file at >>>>>> >>>>> >>>>>/mnt/hgfs/cs/cloudstack/developer/target/db/cloudbridge_multipart_alte >>>>>r. >>>>> sql >>>>>> ========> Processing SQL file at >>>>>> >>>>>> >>>>>>/mnt/hgfs/cs/cloudstack/developer/target/db/cloudbridge_bucketpolicy. >>>>>>sq >>>>>> l >>>>>> ========> Processing SQL file at >>>>>> >>>>>> >>>>>>/mnt/hgfs/cs/cloudstack/developer/target/db/cloudbridge_policy_alter. >>>>>>sq >>>>>> l >>>>>> ========> Processing SQL file at >>>>>> /mnt/hgfs/cs/cloudstack/developer/target/db/cloudbridge_offering.sql >>>>>> ========> Processing SQL file at >>>>>> >>>>> >>>>>/mnt/hgfs/cs/cloudstack/developer/target/db/cloudbridge_offering_alter >>>>>.s >>>>> ql >>>>>> ========> Processing SQL file at >>>>>> /mnt/hgfs/cs/cloudstack/developer/developer-prefill.sql >>>>>> ========> Processing upgrade: >>>>>> com.cloud.upgrade.DatabaseUpgradeChecker >>>>>> [WARNING] >>>>>> java.lang.reflect.InvocationTargetException >>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>> at >>>>>> >>>>> >>>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j >>>>>av >>>>> a:57) >>>>>> at >>>>>> >>>>> >>>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess >>>>>or >>>>> Impl.java:43) >>>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>>> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297) >>>>>> at java.lang.Thread.run(Thread.java:744) >>>>>> Caused by: com.cloud.utils.exception.CloudRuntimeException: The end >>>>> upgrade >>>>>> version is actually at 4.4.0 but our management server code version >>>>>> is at >>>>>> 4.4.1-SNAPSHOT >>>>>> at >>>>>> >>>>> >>>>>com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecke >>>>>r. >>>>> java:272) >>>>>> at >>>>>> >>>>> >>>>>com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker. >>>>>ja >>>>> va:432) >>>>>> at com.cloud.upgrade.DatabaseCreator.main(DatabaseCreator.java:217) >>>>>> ... 6 more >>>>>> [INFO] >>>>>> >>>>>> >>>>>>--------------------------------------------------------------------- >>>>>>-- >>>>>> - >>>>>> [INFO] Reactor Summary: >>>>>> [INFO] >>>>>> [INFO] Apache CloudStack Developer Mode .................. FAILURE >>>>> [13.648s] >>>>>> [INFO] Apache CloudStack DevCloud ........................ SKIPPED >>>>>> [INFO] >>>>>> >>>>>> >>>>>>--------------------------------------------------------------------- >>>>>>-- >>>>>> - >>>>>> [INFO] BUILD FAILURE >>>>>> [INFO] >>>>>> >>>>>> >>>>>>--------------------------------------------------------------------- >>>>>>-- >>>>>> - >>>>>> [INFO] Total time: 16.677s >>>>>> [INFO] Finished at: Mon Jul 28 15:13:44 EDT 2014 >>>>>> [INFO] Final Memory: 38M/95M >>>>>> [INFO] >>>>>> >>>>>> >>>>>>--------------------------------------------------------------------- >>>>>>-- >>>>>> - >>>>>> [ERROR] Failed to execute goal >>>>>> org.codehaus.mojo:exec-maven-plugin:1.2.1:java (create-schema) on >>>>>> project >>>>>> cloud-developer: An exception occured while executing the Java >>>>>>class. >>>>> null: >>>>>> InvocationTargetException: The end upgrade version is actually at >>>>>> 4.4.0 >>>>> but >>>>>> our management server code version is at 4.4.1-SNAPSHOT -> [Help >>>>>>1] >>>>>> [ERROR] >>>>>> [ERROR] To see the full stack trace of the errors, re-run Maven with >>>>>> the >>>>> -e >>>>>> switch. >>>>>> [ERROR] Re-run Maven using the -X switch to enable full debug >>>>>>logging. >>>>>> [ERROR] >>>>>> [ERROR] For more information about the errors and possible >>>>>>solutions, >>>>>> please read the following articles: >>>>>> [ERROR] [Help 1] >>>>>> >>>>>> >>>>>>http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionExcepti >>>>>>on >>>>>> >>>>>> I currently have a dev environment available that I can revert to a >>>>>> clean >>>>>> install to test potential solutions if anyone has suggestions. >>>>>> >>>>>> Cheers, >>>>>> >>>>>> *Will STEVENS* >>>>>> Lead Developer >>>>>> >>>>>> *CloudOps* *| *Cloud Solutions Experts >>>>>> 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6 >>>>>> w cloudops.com *|* tw @CloudOps_ >>>>> >>>>> -- >>>>> Daan >>>>> >>> -- >>> Rohit Yadav >>> Software Architect, ShapeBlue >>> M. +41 779015219 | rohit.ya...@shapeblue.com >>> Blog: bhaisaab.org | Twitter: @_bhaisaab >>> >>> >>> Find out more about ShapeBlue and our range of CloudStack related >>>services >>> >>> IaaS Cloud Design& >>> Build<http://shapeblue.com/iaas-cloud-design-and-build//> >>> CSForge rapid IaaS deployment >>>framework<http://shapeblue.com/csforge/> >>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/> >>> CloudStack Infrastructure >>> Support<http://shapeblue.com/cloudstack-infrastructure-support/> >>> CloudStack Bootcamp Training >>> Courses<http://shapeblue.com/cloudstack-training/> >>> >>> This email and any attachments to it may be confidential and are >>>intended >>> solely for the use of the individual to whom it is addressed. Any views >>> or opinions expressed are solely those of the author and do not >>> necessarily represent those of Shape Blue Ltd or related companies. If >>> you are not the intended recipient of this email, you must neither take >>> any action based upon its contents, nor copy or show it to anyone. >>>Please >>> contact the sender if you believe you have received this email in >>>error. >>> Shape Blue Ltd is a company incorporated in England& Wales. ShapeBlue >>> Services India LLP is a company incorporated in India and is operated >>> under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda >>>is >>> a company incorporated in Brasil and is operated under license from >>>Shape >>> Blue Ltd. ShapeBlue SA Pty Ltd is a company registered by The Republic >>>of >>> South Africa and is traded under license from Shape Blue Ltd. ShapeBlue >>> is a registered trademark. >> > >-- >Rohit Yadav >Software Architect, ShapeBlue >M. +41 779015219 | rohit.ya...@shapeblue.com >Blog: bhaisaab.org | Twitter: @_bhaisaab > > >Find out more about ShapeBlue and our range of CloudStack related services > >IaaS Cloud Design & >Build<http://shapeblue.com/iaas-cloud-design-and-build//> >CSForge rapid IaaS deployment framework<http://shapeblue.com/csforge/> >CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/> >CloudStack Infrastructure >Support<http://shapeblue.com/cloudstack-infrastructure-support/> >CloudStack Bootcamp Training >Courses<http://shapeblue.com/cloudstack-training/> > >This email and any attachments to it may be confidential and are intended >solely for the use of the individual to whom it is addressed. Any views >or opinions expressed are solely those of the author and do not >necessarily represent those of Shape Blue Ltd or related companies. If >you are not the intended recipient of this email, you must neither take >any action based upon its contents, nor copy or show it to anyone. Please >contact the sender if you believe you have received this email in error. >Shape Blue Ltd is a company incorporated in England & Wales. ShapeBlue >Services India LLP is a company incorporated in India and is operated >under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda is >a company incorporated in Brasil and is operated under license from Shape >Blue Ltd. ShapeBlue SA Pty Ltd is a company registered by The Republic of >South Africa and is traded under license from Shape Blue Ltd. ShapeBlue >is a registered trademark.