All that, in a single click, without having to go through any cloud-dashboard, without copying any files and without medling with configurations.
Scope uses jclouds as its orchestration abstraction layer and has been tested with the following providers: AWS, VMware vSphere, Rackspace and OpenStack. A SCOPE deployment consists of a "product". It defines the structure of the final deployment, the number of VMs, which application will we be installed on which VM and many other details.Once a SCOPE product is defined, it can be deployed again and again on each of the virtualization enviroments that SCOPE supports, with no required changes to the product. The product will be installed on the virtualization environment that Scope is configured to work with.
GlusterFS Product is an example of a product that installs GlasterFS, a distributed filesystem, on two VMs.
A Scope product is a directory containing three sub-directories: materializer, prodpuppet and yum. The name of the top directory is should be <name>-<version>, where name and version are the name and the version of the product.Here is the folder structure of the GlusterFS Scope Product, provided by the default Scope intallation:
the materializer output would be the deployment capture of the current product instance. The materializer input is: separated with ~;~
Product Json sample:
{
"_id" : "Gluster-3.4.2.1",
"productName" : "Gluster",
"productOptions" : [{
"key" : "nodecount",
"label" : "Number of gluster nodes to build",
"optionType" : "string",
"defaultValue" : "2",
"enumeration" : ["2"]
}],
"productVersion" : "3.4.2.1",
"repoUrl" : "http://<products-server>/scope-products/Gluster-3.4.2.1/"
}
TBD
The materializer directory should contain "run.sh" or "run.bat" depends on the operating system scope server run on. This script should actually run the materializer application. so you can write it in any language you want. This directory should contains the puppet for each component the product should install.This directory should contain all the RPMs the product needs, includes all dependencies.