cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alena Prokharchyk <Alena.Prokharc...@citrix.com>
Subject Re: [BUG] upgrade path to 4.4.1
Date Mon, 28 Jul 2014 22:26:26 GMT
Will do, thank you, Rohit.

-Alena.

On 7/28/14, 3:23 PM, "Rohit Yadav" <rohit.yadav@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.yadav@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.hoogland@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<wstevens@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.yadav@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.yadav@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.

Mime
View raw message