...
Code Block |
---|
sudo aptitude install openjdk-6-jdk ant
sudo aptitude update
sudo aptitude install python-software-properties
sudo add-apt-repository ppa:natecarlson/maven3
sudo aptitude update
sudo aptitude install maven3
|
Install JSch:
Code Block |
---|
wget http://downloads.sourceforge.net/project/jsch/jsch.jar/0.1.48/jsch-0.1.48.jar
sudo cp jsch-0.1.48.jar /usr/share/ant/lib/
|
Install Boto (assumes you have Python and Setup Tools installed):
Code Block |
---|
sudo easy_install boto
|
...
Unpack the archive, and run:
Code Block |
---|
sudo cp lib/ant-jsch.jar /usr/share/ant/lib
|
Install Boto (assumes you have Python and Python Setup Tools already installed):
Code Block |
---|
sudo easy_install boto
|
Code Block |
---|
rm -Rf /tmp/cloudstack
rm -Rf ~/.m2 |
...
Download the artifacts:
Code Block |
---|
mkdir /tmp/cloudstack; cd /tmp/cloudstack wget --no-check-certificate https://dist.apache.org/repos/dist/release/cloudstack/KEYS wget --no-check-certificate https://dist.apache.org/repos/dist/dev/cloudstack/4.23.0/apache-cloudstack-4.23.0-src.tar.bz2 wget --no-check-certificate https://dist.apache.org/repos/dist/dev/cloudstack/4.23.0/apache-cloudstack-4.23.0-src.tar.bz2.asc wget --no-check-certificate https://dist.apache.org/repos/dist/dev/cloudstack/4.23.0/apache-cloudstack-4.23.0-src.tar.bz2.md5 wget --no-check-certificate https://dist.apache.org/repos/dist/dev/cloudstack/4.23.0/apache-cloudstack-4.23.0-src.tar.bz2.sha |
Install gpg (if needed): sudo apt-get install gpg
...
Verify signatures and hash files:
Code Block |
---|
gpg --verify apache-cloudstack-4.23.0-src.tar.bz2.asc |
This command should return "Good Signature".
Code Block |
---|
gpg --print-md MD5 apache-cloudstack-4.23.0-src.tar.bz2 | diff - apache-cloudstack-4.23.0-src.tar.bz2.md5 gpg --print-md SHA512 apache-cloudstack-4.23.0-src.tar.bz2 | diff - apache-cloudstack-4.23.0-src.tar.bz2.sha |
Each of these commands should return no output. If there is any output from them, then there is a difference between the hash you generated locally and the hash that has been pulled from the server.
...
Create two new temporary directories:
Code Block |
---|
mkdir /tmp/cloudstack/git
mkdir /tmp/cloudstack/tree
|
Pull down the git repo:
Code Block |
---|
git clone https://git-wip-us.apache.org/repos/asf/cloudstack.git /tmp/cloudstack/git
cd /tmp/cloudstack/git
git archive --format=tar --prefix=/tmp/cloudstack/tree/ <commit-hash> | tar Pxf -
|
Unpack the release artifact:
Code Block |
---|
cd /tmp/cloudstack tar xvfj apache-cloudstack-4.23.0-src.tar.bz2 |
Compare the contents of the release artifact with the contents pulled from the repo:
Code Block |
---|
diff -r /tmp/cloudstack/apache-cloudstack-4.23.0-src /tmp/cloudstack/tree |
...
Code Block |
---|
cd /tmp/cloudstack/apache-cloudstack-4.23.0-src mvn --projects='org.apache.cloudstack:cloudstack' org.apache.rat:apache-rat-plugin:0.8:check |
...
Note: If you're on Ubuntu and using the PPA:natecarlson/maven3 (viz. Installing tools above), you've to use mvn3 instead of mvn, so mvn3 -P deps
Code Block |
---|
mvn -P developer,systemvm clean install
mvn -P developer -pl developer,tools/devcloud -Ddeploydb
mvn -pl :cloud-client-ui jetty:run
|
Note |
---|
Need to set router.version.check to false in the global configuration page, after management server is up to workaround a devcloud issue, and then restart management server. |
Once the management server starts on your local machine, execute the following commands to bring up a basic zone using the devcloud2 VM:
Deploy DevCloud (make sure mysql-connector-python is installed and that the management server is running)
Code Block |
---|
$ 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:
Code Block |
---|
$ cd tools/devcloud; python ../marvin/marvin/deployDataCenter.py -i devcloud.cfg
|
...
In a separate terminal run:
Code Block |
---|
mvn -Pawsapi -pl :cloud-awsapi jetty:run
|
...
Then using the access key and secret key of your admin user run the following python script:
Code Block |
---|
#!/usr/bin/env python
import boto
import boto.ec2
accesskey="2IUSA5xylbsPSnBQFoWXKg3RvjHgsufcKhC1SeiCbeEc0obKwUlwJamB_gFmMJkFHYHTIafpUx0pHcfLvt-dzw"
secretkey="oxV5Dhhk5ufNowey7OVHgWxCBVS4deTl9qL0EqMthfPBuy3ScHPo2fifDxw1aXeL5cyH10hnLOKjyKphcXGeDA"
region = boto.ec2.regioninfo.RegionInfo(name="ROOT", endpoint="localhost")
conn = boto.connect_ec2(aws_access_key_id=accesskey, aws_secret_access_key=secretkey, is_secure=False, region=region, port=7080, path="/awsapi", api_version="2012-08-15")
images=conn.get_all_images()
print images
res = images[0].run(instance_type='m1.small',security_groups=['default'])
|
...