You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Next »

DevCloud

DevCloud is a virtual appliance shipped as an OVA image which runs on VirtualBox (an opensource type-2 or desktop hypervisor) and can be used for CloudStack’s development and testing. The original DevCloud required 2G of RAM, and ran Ubuntu Precise as dom0 over xen.org’s Xen server which runs as a VM on VirtualBox.

A developer would build and deploy CloudStack artifacts (jars, wars) and files to DevCloud, deploy database and start the management server inside DevCloud. The developer may then use CloudStack running inside DevCloud to add DevCloud as a host and whatnot. DevCloud is now used by a lot of people, especially during the first release of Apache CloudStack, the 4.0.0-incubating, DevCloud was used for the release testing.

Setting up

1. Get the new DevCloud 2.0 virtual appliance. The new image was created using this process. Note: it could take some time as the image is about 900MB.

2. Install VirtualBox 4.2 or latest.

3. Create a "host-only" network in VirtualBox, if you don't have one.

    3.1 To create a network, go to File -> Preferences -> Network -> "Add host only network", it would usually have a name like vboxnet0 etc.

    3.2 To config the network created in step 3.1, right click and select "Edit host-only network", then uncheck "Enable server" in the "DHCP server" tab

4. Import the DevCloud ova image into VirtualBox.

5. Start the DevCloud VM. After VM boots up, login into VM with username: root, password: password

Network

The default IP of DevCloud is 192.168.56.10, if you want a different IP (say you want to work with multiple DevClouds), change in /etc/network/interfaces and reboot.

7. Checkout the latest master code, then start management server on your laptop:

    mvn -P developer,systemvm clean install

    mvn -P developer -pl developer,tools/devcloud -Ddeploydb

    mvn -pl :cloud-client-ui jetty:run

     Then wait until management server is up

NB:

  1. Check these settings in Global Settings: host (is mgmt server IP), systemvm.use.local.storage (is true) and appropriate management.network.cidr and secstorage.allowed.internal.sites.
  2. Developing on Windows machine: MUST install following dependencies: python, mysql connector for python, Bash, tar (using cygwin or msysgit). Or you can skip using the profile -P developer,systemvm, just use: -P systemvm.
  3. There are some bugs sometimes appear on random Windows machine such as:
  • com.cloud.api.doc.ApiXmlDocWriter ClassNotFound: modify build-apidoc.sh and edit line
     java -cp $CP com.cloud.api.doc.ApiXmlDocWriter -d "$DISTDIR" $* 
    to:
     java -cp .$CP com.cloud.api.doc.ApiXmlDocWriter -d "$DISTDIR" $* 
  • Devcloud node always show Alert state: checkout that git global config do not set autocrlf to true.
  1. Use '-pl' as in 'pappa', 'lima', and not '-p1' as in 'pappa', one'.
  2. Make sure you're using Maven3 and not any of the previous versions. Instructions to install Maven 3 on Ubuntu can be found here http://superuser.com/a/298063
  3. If Jetty is not present by default, you can include the following lines in pom.xml under <plugins> to instruct maven to obtain it:
       <plugin>
           <groupId>org.mortbay.jetty</groupId>
           <artifactId>maven-jetty-plugin</artifactId>
           <version>6.1.12</version>
       </plugin>
    
  4. You may need to set your mysql database password to NULL.  E.g. http://stackoverflow.com/questions/3032054/how-to-remove-mysql-root-password. If this does not work, try providing a non-null password for the root user and provide this password by creating the file incubator-cloudstack/utils/db.properties.override and updating db.root.password

8. Deploy DevCloud (make sure python-mysql connector is installed and that the management server is running)

$ mvn -P developer -pl tools/devcloud -Ddeploysvr
# Or, if the above does not work, maybe you're running mvn in debug mode using some MAVEN_OPTS, try marvin:
$ cd tools/devcloud; python ../marvin/marvin/deployDataCenter.py -i devcloud.cfg

The above will deploy a zone with settings defined in tools/devcloud/devcloud.cfg which sets some global settings and will take some time. After this, you should restart management server and destroy any system vms which may have started for the global settings to take effect.

  • No labels