Just one thing was missing - upgrade path from 4.4.1->4.5, I’ve added it to DataBaseUpgradeChecker:
_upgradeMap.put("4.4.1", new DbUpgrade[] { new Upgrade441to450() }); -Alena. On 7/28/14, 3:26 PM, "Alena Prokharchyk" <alena.prokharc...@citrix.com> wrote: >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=t >>>>o >>>>ol >>>> >>>>s/apidoc/gen_toc.py;h=1ad493d59ab6fb1fb52bbd07c17dc754bc128b0e;hp=bcc84 >>>>1 >>>>7c >>>> >>>>3c5d3de2feb4129613038468c5ab9ac7;hb=628d8e6;hpb=0ac2eb4f671841b2525db81 >>>>0 >>>>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.overri >>>>>>>d >>>>>>>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.overri >>>>>>>d >>>>>>>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.sq >>>>>>>l >>>>>>> ========> 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.sq >>>>>>>l >>>>>>> ========> 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_alt >>>>>>e >>>>>>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_alte >>>>>>r >>>>>>.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(DelegatingMethodAcces >>>>>>s >>>>>>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(DatabaseUpgradeCheck >>>>>>e >>>>>>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/MojoExecutionExcept >>>>>>>i >>>>>>>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. >