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=tool
s/apidoc/gen_toc.py;h=1ad493d59ab6fb1fb52bbd07c17dc754bc128b0e;hp=bcc8417c
3c5d3de2feb4129613038468c5ab9ac7;hb=628d8e6;hpb=0ac2eb4f671841b2525db81094
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.override
[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.override
========>   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_alter.
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.jav
a:57)
at

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
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(DatabaseUpgradeChecker.
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/MojoExecutionException

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.

Reply via email to