You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2012/10/18 16:07:57 UTC
git commit: INSTALL.md:: Update packaging and installation sections
Updated Branches:
refs/heads/master 53cea844b -> aa67ec0fb
INSTALL.md:: Update packaging and installation sections
Update for master. Mostly based on 4.0, we need to fix sections on
packaging.
Signed-off-by: Rohit Yadav <bh...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/aa67ec0f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/aa67ec0f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/aa67ec0f
Branch: refs/heads/master
Commit: aa67ec0fb7c385c67def39760c1ee307d6b0ec50
Parents: 53cea84
Author: Rohit Yadav <bh...@apache.org>
Authored: Wed Oct 17 14:08:01 2012 +0530
Committer: Rohit Yadav <bh...@apache.org>
Committed: Thu Oct 18 19:36:03 2012 +0530
----------------------------------------------------------------------
INSTALL.md | 171 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 127 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/aa67ec0f/INSTALL.md
----------------------------------------------------------------------
diff --git a/INSTALL.md b/INSTALL.md
index 54d0251..61ebadf 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,19 +1,16 @@
-This document describes how to set up and configure a single server CloudStack
-development environment. If you aren't looking for a development environment,
-the easiest way to deploy CloudStack is by using RPM or DEB packages from:
+This document describes how to develop, build, package and install Apache CloudStack
+(Incubating). For more information please refer to the project's website:
- - http://cloudstack.org/download.html
- - http://jenkins.cloudstack.org (CI/Build server)
- - http://cloudstack.apt-get.eu (Debian repository)
+ http://incubator.apache.org/cloudstack
-CloudStack developers use various platforms for development, this guide will
-focus on CentOS and was tested against a CentOS 6.2 x86_64 setup.
+Apache CloudStack developers use various platforms for development, this guide
+was tested against a CentOS 6.2 x86_64 setup.
Refer to the [wiki](http://cwiki.apache.org/confluence/display/CLOUDSTACK/Index)
for the latest information, especially:
- - [Setting up development environment](https://cwiki.apache.org/confluence/display/CLOUDSTACK/Setting+up+CloudStack+Development+Environment) for CloudStack.
- - [Building](https://cwiki.apache.org/confluence/display/CLOUDSTACK/Building+with+Maven) CloudStack.
+ - [Setting up development environment](https://cwiki.apache.org/confluence/display/CLOUDSTACK/Setting+up+CloudStack+Development+Environment) for Apache CloudStack.
+ - [Building](https://cwiki.apache.org/confluence/display/CLOUDSTACK/Building) Apache CloudStack.
## Setting up Development Environment
@@ -32,7 +29,7 @@ Set up Maven (3.0.4):
$ echo export M2_HOME=/usr/local/apache-maven-3.0.4 >> ~/.bashrc # or .zshrc or .profile
$ echo export PATH=${M2_HOME}/bin:${PATH} >> ~/.bashrc # or .zshrc or .profile
-Note: Tomcat 6.0.35 has some known issue with CloudStack, please use Tomcat
+Note: Tomcat 6.0.35 has some known issue with Apache CloudStack, please use Tomcat
6.0.33 from http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.33/bin
### Configure Environment
@@ -50,22 +47,22 @@ Generate you ssh keys, useful for ssh-ing to your hosts and vm etc.:
$ ssh-keygen -t rsa -q
-CloudStack uses some ports, make sure at least those used by the management
+Apache CloudStack uses some ports, make sure at least those used by the management
server are available and not blocked by any local firewall. Following ports are
-used by CloudStack and its entities:
-
-8787: CloudStack (Tomcat) debug socket
-9090, 8250: CloudStack Management Server, User/Client API
-8096: User/Client to CloudStack Management Server (unauthenticated)
-3306: MySQL Server
-3922, 8250, 80/443, 111/2049, 53: Secondary Storage VM
-3922, 8250, 53: Console Proxy VM
-3922, 8250, 53: Virtual Router
-22, 80, 443: XenServer, XAPI
-22: KVM
-443: vCenter
-DNS: 53
-NFS: 111/2049
+used by Apache CloudStack and its entities:
+
+ 8787: Apache CloudStack (Tomcat) debug socket
+ 9090, 8250: Apache CloudStack Management Server, User/Client API
+ 8096: User/Client to CloudStack Management Server (unauthenticated)
+ 3306: MySQL Server
+ 3922, 8250, 80/443, 111/2049, 53: Secondary Storage VM
+ 3922, 8250, 53: Console Proxy VM
+ 3922, 8250, 53: Virtual Router
+ 22, 80, 443: XenServer, XAPI
+ 22: KVM
+ 443: vCenter
+ DNS: 53
+ NFS: 111/2049
### Configuring MySQL Server
@@ -92,33 +89,45 @@ For example, for master:
## Building
-Populate the dependencies using Maven:
- $ mvn -P deps
-
-Clean previous build, if needed:
+Clean and build:
$ mvn clean
- $ ant clean-all
- $ ant clean-tomcat
+ $ mvn install
+
+In case you want support for VMWare, SRX and other non-Apache (referred to as nonoss)
+compliant libs, you may download the following jar artifacts from respective vendors:
-Build all sub-modules:
+ deps/cloud-iControl.jar
+ deps/cloud-manageontap.jar
+ deps/cloud-netscaler-sdx.jar
+ deps/cloud-netscaler.jar
+ deps/vmware-apputils.jar
+ deps/vmware-vim.jar
+ deps/vmware-vim25.jar
- $ ant build-all
+Install them to ~/.m2 so maven can get them as dependencies:
-Deploy the built project on tomcat:
+ $ cd deps
+ $ ./install-non-oss.sh
- $ ant deploy-server
+And build them with the nonoss flag:
+
+ $ mvn install -Dnonoss
Clear old database (if any) and deploy the database schema:
- $ ant deploydb
+ $ mvn -P developer -pl developer -Ddeploydb
+
+Export the following variable if you need to run and debug the management server:
-Start the management server in debug mode:
+ $ export MAVEN_OPTS="-Xmx1024m -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
- $ ant debug
+Start the management server:
-If this works, you've successfully setup a single server CloudStack installation.
+ $ mvn -pl :cloud-client-ui jetty:run
+
+If this works, you've successfully setup a single server Apache CloudStack installation.
Open the following URL on your browser to access the Management Server UI:
@@ -131,13 +140,87 @@ Or,
The default credentials are; user: admin, password: password and the domain
field should be left blank which is defaulted to the ROOT domain.
-## Packaging
+If you want to contribute your changes, send your [git formatted patch](https://cwiki.apache.org/confluence/display/CLOUDSTACK/Git) to:
+https://reviews.apache.org/groups/cloudstack or contact on the developer mailing list.
-To create rpms:
+## Packaging and Installation
- $ mvn -P deps && ./waf rpm
+Before packaging, please make sure you go through the "Building" section above.
+This section describes packaging and installation.
+
+### Debian/Ubuntu
To create debs:
- $ mvn -P deps && dpkg-buildpackage
+ $ mvn -P deps # -D nonoss, for nonoss as described in the "Building" section above
+ $ dpkg-buildpackage
+
+All the deb packages will be created in ../$PWD
+
+To create an apt repo: (assuming appropriate user privileges)
+
+ $ path=/path/to/your/webserver/cloudstack
+ $ mv ../*.deb $path
+ $ dpkg-scanpackages $path /dev/null | gzip -9c > $path/Packages.gz
+
+Configure your system to use your new apt repo:
+
+ $ echo "deb $path ./" >> /etc/apt/sources.list.d/cloudstack.list
+
+Installation:
+
+Install needed packages, apt-get upgrade for upgrading:
+
+ $ apt-get update
+ $ apt-get install cloud-client # management server
+ $ apt-get install mysql-server # mysql server
+ $ apt-get install cloud-agent cloud-system-iso # agent (kvm)
+ $ apt-get install cloud-awsapi # awsapi server
+ $ apt-get install cloud-usage # usage server
+
+### RHEL/CentOS
+
+To create rpms:
+
+ $ mvn -P deps # -D nonoss, for nonoss as described in the "Building" section above
+ $ ./waf rpm
+
+All the rpm packages will be create in artifacts/rpmbuild/RPMS/x86_64
+
+To create a yum repo: (assuming appropriate user privileges)
+
+ $ path=/path/to/your/webserver/cloudstack
+ $ cd artifacts/rpmbuild/RPMS/x86_64
+ $ mv *.rpm $path
+ $ createrepo $path
+
+Configure your system to use your new yum repo, add the following to /etc/yum.repos.d/cloudstack.repo:
+
+ [apache-cloudstack]
+ name=Apache CloudStack
+ baseurl=http://webserver.tld/path/to/repo
+ enabled=1
+ gpgcheck=0
+
+Installation:
+
+Install needed packages:
+
+ $ yum update
+ $ yum install cloud-client # management server
+ $ yum install mysql-server # mysql server
+ $ yum install cloud-agent # agent (kvm)
+ $ yum install cloud-usage # usage server
+
+## Notes
+
+If you will be using Xen as your hypervisor, please download [vhd-util](http://download.cloud.com.s3.amazonaws.com/tools/vhd-util)
+
+If management server is installed on RHEL/CentOS, then copy vhd-util into:
+/usr/lib64/cloud/common/scripts/vm/hypervisor/xenserver/
+
+If management server is installed on Ubuntu, then put vhd-util into:
+/usr/lib/cloud/common/scripts/vm/hypervisor/xenserver/vhd-util
+Once, you've successfully installed Apache CloudStack you may read the user manuals
+and guides which contains technical documentation for Apache CloudStack.