Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

 

CheatSheet for setting up CloudStack Dev environment on Windows

Step 1) Install Cygwin.

Cygwin will give you a unix like bash shell for your windows.

...

Verify the above by opening a cygwin terminal and using which to discover the location of java and javac. E.g.

Code Block

$ which java
/cyg/c/bin/Java/jdk1.7.0_25/bin/java

Administrator@cc-svr10 ~
$ which javac
/cyg/c/bin/Java/jdk1.7.0_25/bin/javac

...

For Cygwin, it is easiest to use easy_install or pip (Source)  E.g. .

Code Block

Administrator@cc-svr10 ~
$ easy_install mysql-connector-python
Searching for mysql-connector-python
Reading http://pypi.python.org/simple/mysql-connector-python/
Best match: mysql-connector-python 1.0.10
Downloading http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-1.0.10.zip
Processing mysql-connector-python-1.0.10.zip
Writing /tmp/easy_install-ZFHHNn/mysql-connector-python-1.0.10/setup.cfg
Running mysql-connector-python-1.0.10/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZFHHNn/mysql-connector-python-1.0.10/egg-dist-tmp-wICK6D
zip_safe flag not set; analyzing archive contents...
Adding mysql-connector-python 1.0.10 to easy-install.pth file

Installed /usr/lib/python2.7/site-packages/mysql_connector_python-1.0.10-py2.7.egg
Processing dependencies for mysql-connector-python
Finished processing dependencies for mysql-connector-python

...

Ignore this step if you've already created a symlink under step #1. To check use 'which' to see if mkisofs is already available. E.g.

Code Block

Administrator@cc-svr10 ~
$ which mkisofs
/usr/bin/mkisofs

...

Password is assigned to DBROOTPW= in the build/replace.properties file.

E.g.

Code Block

$ cat build/override/replace.properties
DBUSER=cloud
DBPW=cloud
DBROOTPW=
MSLOG=vmops.log
APISERVERLOG=api.log
DBHOST=localhost
AGENTLOGDIR=logs
AGENTLOG=logs/agent.log
MSMNTDIR=/mnt
COMPONENTS-SPEC=components-premium.xml

...

1) Problem: Log4j not properly configured

E.g.

Code Block

log4j:WARN No appenders could be found for logger (org.apache.commons.httpclient.params.DefaultHttpParams).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Workaround 1
Change name of config file. e.g.

Code Block

cp client/target/cloud-client-ui-4.2.0-SNAPSHOT/WEB-INF/classes/log4j{,-cloud,}.xml

2) Problem: Server will not start and throws following exception

java.lang.OutOfMemoryError: Java heap space

Workaround:
This problem can arise when launching the server with too small of a heap. If you are launching using Maven, use MAVEN_OPTS to increase the stack size.

E.g.

Workaround 2

Set CATALINA_BASE  e.g. 

Code Block
languagebash
export CATALINA_BASE=X:/path/to/dir/contains/conf/log4j-cloud.xml

       X: is the windows disk label  ,  PropertiesUtil will find : CATALINA_HOME or  CATALINA_BASE .

2) Problem: Server will not start and throws following exception

java.lang.OutOfMemoryError: Java heap space

Workaround:
This problem can arise when launching the server with too small of a heap. If you are launching using Maven, use MAVEN_OPTS to increase the stack size.

E.g.

Code Block
Code Block

export MAVEN_OPTS="-XX:MaxPermSize=256m -Xmx1g"
mvn -pl :cloud-client-ui jetty:run

...

Workaround:
Skip key generation and cloudstack works fine.
This is done by setting developer property in the configuration table as follows, by running the following SQL statement in MySQL

Code Block

use cloud;
update configuration set value='false' where name='developer';

...

By default system.vm.use.local.storage is set to false. If you want to use local storage, set it to true using the GUI. Alternatively, if the management server has started, you can update the database with the command below:

Code Block

use cloud;
update configuration set value='true' where name='system.vm.use.local.storage';

You will have to restart the management server if it is running.

5) Problem: Server will not start with Exception in thread Timer-2, Exception in thread Timer-1.

export MAVEN_OPTS="-Xmx2048m -XX:MaxPermSize=800m -Xmx2g -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

6) Problem: Eclipse becomes unresponsive with high resource utilization:

Go to Eclipse folder and Change following (towards the end) in .ini configuration file.

server if it is running.

5) Problem: Server will not start with Exception in thread Timer-2, Exception in thread Timer-1.

export MAVEN_OPTS="-Xmx2048m -XX:MaxPermSize=800m -Xmx2g -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

6) Problem: Eclipse becomes unresponsive with high resource utilization:

Go to Eclipse folder and Change following (towards the end) in .ini configuration file.

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms384m
-Xmx2048m

7)  Problem : can not find sudo command

 Workaround , create a bash file named as  /bin/sudo with script content :

Code Block
languagebash
#!/usr/bin/bash
cygstart --action=runas "$@"

    then chmod +x /bin/sudo 

 -vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms384m
-Xmx2048m