Jump to: navigation, search

Sahara/PluggableProvisioning/ObjectsModel

This page describes Object’s Model for Savanna Pluggable Mechanism. Here is the Cluster object schema:

ClusterModel.png

Here is a description of all the objects mentioned above. Notes:

  • all fields are strings unless specified otherwise.
  • cluster and node_group have ‘extra’ field allowing plugin to persist any complementary info about the cluster.
  • node_process is just a process that runs at some node in cluster.
Here is an example list of node processes:
  1. jobtracker
  2. namenode
  3. tasktracker
  4. datanode
Each plugin may has different names for the same processes.

cluster_confs

Describes a single config parameter.
name
description
type
Type could be string, integer, enum, array of [int, string]
default_value
is_optional
applicable_targets: list of strings
The target could be either a node_process, ‘node’ or ‘cluster’

user_input

Value provided by user for a specific config.
config
a config object for which this user_input is provided
value
a value provided by the user for the config

instance

An instance created for the cluster
id
ip
credentials
extra

node_group

Specifies group of nodes within a cluster.
name
Helps uniquely identify the node_group
image
Image’s id from Glance. All instances from this node_group are launched from this image.
flavor
OpenStack’s flavor which is applied to all instances from this node_group.
node_processes: list of strings
List of Hadoop processes which run on all nodes from this node_group
node_configs: list of user_inputs
List of configs provided by user. The configs either are for Hadoop processes running on this group, or they relate to the plugin-specific node configuration.
anti_affinity_group
That parameter will be used to control node placement for DN nodes. TBD
count: int
Number of instances in that group.
instances: list of instances
List of instances to be created for that group.
vm_requirements : dictionary
Examples:
memory: required memory
disk: required disk
extra

cluster

Contains all relevant info about cluster. This object is is provided to the plugin for both cluster creation and scaling. The “Cluster Lifecycle” section below further specifies which fields are filled at which moment
name
plugin_name
default_image
Image specified by user. Plugin could use it as a base image for cluster nodes
cluster_configs: list of user_inputs
List of cluster-wide configs
node_groups: list of node_groups
extra

validation_error

Describes what is wrong with one of the values provided by user.
config_name
error_message