Cloudify

Resources

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

Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License