Resources
- resource channel https://www.youtube.com/user/cloudifysource/featured
- video on their website http://getcloudify.org/cloudifysourcetv.html
- develop a plugin https://github.com/cloudify-cosmo/cloudify-training-labs/tree/master/lab5
- try online for 2 hours http://getcloudify.org/widget.html
- latest doc at the moment http://getcloudify.org/guide/3.2/quickstart.html
VirtualEnv
clodify works with the help of virtualenv , here a nice guide to understand the simple concept http://docs.python-guide.org/en/latest/dev/virtualenvs/
Components
- manager
- console cli
- web part inside the manager
- src blueprints .yaml file
- the application the result
Manager installation Bootstrapping
Prerequisites
http://getcloudify.org/guide/3.2/getting-started-prerequisites.html
A Cloudify manager must run on a 64-bit machine and requires at the very least 2GB of RAM, 1 CPU and 5GB of free space.
For the average system, Cloudify would require at least 8GB of RAM and 4 CPU Cores. Disk space requirements varies according to the amount of logs, events and metrics sent as Cloudify doesn’t currently clean or rotate them.
was tested on Ubuntu 14.04 and Centos 7.0 and is based on the phusion/baseimage Docker Image (Ubuntu 14.04).
As Cloudify’s management environment runs above Docker containers, Docker 1.3+ is required.
Bootstrapping
it is necessary install the cly before and after deploy a blueprint plugin
to install a manager plugin custom
http://getcloudify.org/guide/3.2/manager-blueprints-authoring.html
Cloudify on AWS
I have tried with success the installation on the manager using the cli in aws.
The plugin for aws has some limitations, it is written that works only with Ubuntu 14.04 and with ec2 classic, but ec2 classic for the new accounts it is not anymore available. I have tested and it worked with the default vpc in aws.
the info for the http://getcloudify.org/guide/3.2/manager-blueprints-aws-ec2.html
Installation from script http://getcloudify.org/guide/3.2/installation.html#installing-using-the-installation-script
Console CLI
I have used t2,micro
login using the ubuntu user
#install the java
sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
echo "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64" >> .bashrc
source .bashrc
#install python pip
sudo apt-get install python-pip
# install virtual env
sudo apt-get install python-virtualenv
# install python-dev
sudo apt-get install python-dev
#use the virtual env
virtualenv manager
#get into the env
source manager/bin/activate
#your shell will be similar to this
(manager)ubuntu@:~$
#install by script
wget http://gigaspaces-repository-eu.s3.amazonaws.com/org/cloudify3/get-cloudify.py
python get-cloudify.py
verify that is working
(manager)ubuntu@:~$ cfy --version
Cloudify CLI 3.2.1
Install the manager
from the page http://getcloudify.org/guide/3.2/getting-started-bootstrapping.html
install git
sudo apt-get install git
you are already in the virtual environment inside the webconsole
mkdir mymanager
#inizialize the env
(manager)ubuntu@:~/mymanager$ cfy init
git clone https://github.com/cloudify-cosmo/cloudify-manager-blueprints
cd cloudify-manager-blueprints
# in the documentation there is <tag> I have tested the 3.2
git checkout -b cloudify 3.2
if you want to use the commercial version you need to replace inside the file
cloudify-manager-blueprints/aws-ec2/aws-ec2-manager-blueprint.yaml
the url for the "docker_url:"
you need to create the inputs.yaml with the info related
it is necessary install the plugins
cfy local install-plugins -p cloudify-manager-blueprints/aws-ec2/aws-ec2-manager-blueprint.yaml
cd cloudify-manager-blueprints/aws-ec2/
cfy local create-requirements -o requirements.txt -p aws-ec2-manager-blueprint.yaml
sudo pip install -r requirements.txt
create the manager , this command produce a creation of an istance on AWS
cfy bootstrap --install-plugins -p aws-ec2-manager-blueprint.yaml -i inputs.yaml --task-retries 10
if you have the commercial one you can connect to the machine using the web interface
to check the result use
cfy status
deploy a blueprint from command line
from the http://getcloudify.org/guide/3.2/quickstart.html
download the example from public git
cd blueprints
git clone https://github.com/cloudify-cosmo/cloudify-nodecellar-example
cd cloudify-nodecellar-example/
git checkout tags/3.2
modify the input value with this info
cat ../cloudify-nodecellar-example/inputs/aws-ec2.yaml.template
image: 'ami-47a23a30'
size: 't2.small'
agent_user: 'ubuntu'
go in the directory where there is the .cloudify configuration
(manager)ubuntu@:~/mymanager$ ll
drwxrwxr-x 3 ubuntu ubuntu 4096 Sep 8 14:10 .cloudify/
run the command to upload and create the deploy
cfy blueprints upload -b nodecellar -p ~/cloudify-nodecellar-example/aws-ec2-blueprint.yaml
Validating /home/ubuntu/cloudify-nodecellar-example/aws-ec2-blueprint.yaml
Blueprint validated successfully
Uploading blueprint /home/ubuntu/cloudify-nodecellar-example/aws-ec2-blueprint.yaml to management server x.x.x.x
Uploaded blueprint, blueprint's id is: nodecellar
(manager)ubuntu@:~/mymanager$ cfy deployments create -b nodecellar -d nodecellar --inputs ~/cloudify-nodecellar-example/inputs/aws-ec2.yaml.template
Creating new deployment from blueprint nodecellar at management server x.x.x.x
Deployment created, deployment's id is: nodecellar
you can run the install from the web interface or from command line