Cloudify Resource Creation Configuration
Python Shell Ruby Inno Setup JavaScript Batchfile
Latest commit ce77691 Jan 11, 2017 @limor-gs limor-gs Bump version
Permalink
Failed to load latest commit information.
common Remove build env vars Jan 3, 2017
docker remove build number (#209) Dec 7, 2016
image-builder remove build number (#209) Dec 7, 2016
offline-configuration
package-configuration CFY-5721-Move-all-packages-urls-files-under-cloudify-versions Jul 20, 2016
package-scripts
package-templates CFY-2596 fixed missing fabric installation May 26, 2015
vagrant Bump version Jan 11, 2017
.gitignore add .DS_Store to gitignore Jun 1, 2015
.travis.yml cleanup Jul 12, 2015
README.md update circle.yml and README.md Jan 6, 2016
circle.yml
current_architecture.png
dev-requirements.txt added fedora to support distros and fixed tests Jul 12, 2015
get.py
packages-DEPRECATED.py merged master Apr 1, 2015
packages.yaml
tox.ini
user_definitions-DEPRECATED.py

README.md

Cloudify-Packager

  • Master Circle CI

Cloudify's packager provides tools and configuration objects we use to build Cloudify's Management environments, agents and demo images.

Docker Images

Please see Bootstrapping using Docker for information on our transition from packages to container-based installations.

To generate our Dockerfile templates, we're using Jocker.

Generate a custom Cloudify manager image

  • Clone the cloudify-packager repository from github:
    git clone https://github.com/cloudify-cosmo/cloudify-packager.git

  • Make your changes in var.py

    • For example:

      • Use a specific branch of Cloudify related modules.
        For example, replace the master branch with my-branch in cloudify_rest_client module: "cloudify_rest_client": "git+git://github.com/cloudify-cosmo/cloudify-rest-client.git@my-branch"
      • Add system packages to be installed on the image.
        For example, add the package "my-package" to the manager's requirements list (the reqs list):

        "manager": {
          "service_name": "manager",
          "reqs": [
            "git",
            "python2.7",
            "my-package"
          ],
          ...
        }
        
  • Run the build.sh script from the docker folder:

    cd cloudify-packager/docker/
    . build.sh
    
  • Create a tar file from the generated image: {% highlight bash %} sudo docker run -t --name=cloudifycommercial -d cloudify-commercial:latest /bin/bash sudo docker export cloudifycommercial > /tmp/cloudify-docker_commercial.tar {% endhighlight %}

  • Create a url from which you can download the tar file.

  • Set the docker_url property in your manager blueprint (see cloudify_packages property in CloudifyManager Type with your custom image url, e.g:

    cloudify_packages:
      ...
      docker:
        docker_url: {url to download the custom Cloudify manager image tar file}
    
  • Run cfy bootstrap using your manager blueprint.

packman configuration

Package based provisioning will be deprecated in Cloudify 3.2!

Packman is used to generate Cloudify's packages. This repository contains packman's configuration for creating the packages.

package-configuration

The package-configuration folder contains the init scripts and configuration files for Cloudify's management environment components.

package-templates

The package-templates folder contains the bootstrap scripts that are used to install Cloudify's management environment.

packages.py

The packages.py file is the base packman configuration file containing the configuration of the entire stack (including agents).

Vagrant

Cloudify's packages are created using vagrant VM's (currently on AWS).

The Vagrant folder contains vagrant configuration for different components that are generated using packman:

  • A Vagrant VM is initialized.
  • Packman is installed on the machine alongside its requirements.
  • If a virtualenv is required, it is created and the relevant modules are installed in it.
  • Packman is used to create the environment into which the components are retrieved.
  • Packman is used to create the package.

NOTE: the Windows Agent Vagrantfile uses a premade image already containing the basic requirements for creating the Windows agent.

image-builder

Creates a Vagrant box (using Virtualbox, AWS orw HPCloud) with the Cloudify Manager installed on it.