Jump to: navigation, search

Sahara/PluggableProvisioning

Overview

Savanna Pluggable Provisioning Mechanism aims to deploy Hadoop clusters and integrate them with 3rd party vendor management tools like Apache Ambari and Cloudera Management Console. Additionally all functionality related to provisioning and managing vanilla Hadoop will be extracted to separate Vanilla Hadoop plugin.

Components and their description

Savanna Pluggable Mechanism consists of the following main components:

  1. Savanna (Controller)
  2. Plugins

And there are two more components which are used by Controller and Plugins:

  1. Image Registry (IR);
  2. VM Manager;

Image Registry

Savanna in general and in particular each plugin need to have special prepared images in Glance.
E.g. if user wants to deploy the cluster from scratch then only one image is needed - Ubuntu, for example. So there should be an ability to get the exact Ubuntu image from Glance. In more general case there should be an ability to determine which image belongs to specific plugin. Beside this, some plugins operte with special ‘management’ node type which requires special management images.
IR provides a mechanism to resolve this issue: associate image with one or several tags and set some additional info about image, for example:

  1. _savanna_tag_<tag-name>: True
  2. _savanna_description: “short description”
  3. _savanna_os: “ubuntu-12.04-x86_64”
  4. _savanna_hadoop: “hadoop-1.1.1”

Information about images is persisted in PostgreSQL. The image has the same id in Glance and in IR.

VM Manager

This component is just a pack of low-level helpers to help plugin interact with vms.

API for IR and VM Manager

Please visit Savanna/PluggableProvisioning/IRAndVMManagerAPI