CloudTran Home

 
  
 
Contents  >   11.  CloudTran Profile Reference
 


11.11 DeploymentOption Object

Used on
application
DescriptionSee PuDeploymentOption for a description of DeploymentOption.
Inherited
properties
text (base property)

 11.11.1  Property 'allocation'
 11.11.2  Property 'cloudToolsVersion'
 11.11.3  Property 'clusterManagerClass'
 11.11.4  Property 'configProperties'
 11.11.5  Property 'deploymentKey'
 11.11.6  Property 'description'
 11.11.7  Property 'gscsPerMachine'
 11.11.8  Property 'machineEstate'
 11.11.9  Property 'maxInstancesPerMachine'
 11.11.10  Property 'name'
 11.11.11  Property 'numberOfBackupClusterManagers'
 11.11.12  Property 'numberOfBackups'
 11.11.13  Property 'numberOfPartitions'
 11.11.14  Property 'region'
 11.11.15  Property 'startUi'
 11.11.16  Property 'target'
 11.11.17  Property 'vmArguments'
 11.11.18  Property 'zone'

11.11.1  Property 'allocation'
DescriptionThis is where the allocation of the processing units and the machines of a machine estate is established. The property 'machineEstate' must be filled in, by doing so there is definitive link between the deployment and the machine estate. The allocation property is then used to determine how the deployment should be distributed between the machines in the machine estate - i.e. which processing unit goes on which machine.

If a processing unit is not allocated to one of the machines in the machine estate then the processing unit will be allocated to any available machine in the machine estate.

The allocation property is rendered as a text area in eclipse so the modeller can add multi lines of allocation. The allocation string is a semicolon-separated list of the format.

WarehousePU:QCore1; CoordinatorPU:QCore2

which say that WarehousePU must be deployed on QCore1 and the CoordinatorPU on QCore2 By default the back-ups will be deployed to a different machine to the one specified.

Another example

CoordinatorPU:HighCpuMedium->HighCpuExtraLarge; EC2Client, WarehousePU:Large->ExtraLarge; ClientPU, SupplierPU, CustomerPU:Large,vmcount=*,machines=2

This says the CoordinatorPU needs to be on a HighCpuMedium machine, scaling out to a HighCpuExtraLarge machine The WarehousePU and the EC2Client need to be deployed on Large machines, scaling out to ExtraLarge machines For the remaining three PUs they will be limited to 2 Large machines, but with as many GSCs running on it as required (vmcount=*).

Further more validation will run during the build phase of the application which will check that the allocation of the deployment is feasible. For instance the Warehouse example with a 1,1 primary back-up set up would require 12 processing unit instances. As there are only 2 machines available the GSCs per machine must be greater than 6. The validation will check this is the case and report an error during the build phase.
TypeString

11.11.2  Property 'cloudToolsVersion'
DescriptionThis is the default number for the cloudTools version.

If you want to use a new version than is supported in your version of GigaSpaces, make sure the application element in your OSM model has no value (shows as <empty> in the model) and then put the new 'cloudToolsVersion' value in the system.properties file.

Instructions for doing this are in customization 40 (in the directory jeewiz/customizations/giga-spaces).
TypeString
Choices
2.3.7 (default)
2.3.6

11.11.3  Property 'clusterManagerClass'
DescriptionThis is the class of machine to use for the cluster manager(s) (GigaSpace GSM). The default value is 'small' One cluster manager will always be started, but this allows you to specify the size of tene or more backups.

These are the sizes/power ratings of the machines you can use on EC2

<code><pre> EC2_Small - 1.7 GB of memory, 1 EC2 Compute Units 32-bit platform EC2_Large - 7.5 GB of memory, 4 EC2 Compute Units, 64-bit platform EC2_Extra Large - 15 GB of memory, 8 EC2 Compute Units, 64-bit platform EC2_High-CPU Medium - 1.7 GB of memory, 5 EC2 Compute Units, 32-bit platform EC2_High-CPU Extra Large - 7 GB of memory, 20 EC2 Compute Units, 64-bit platform </pre></code>

See the GigaSpaces documentation for further details.

These are the sizes of the machines you can use on GoGrid <code><pre> GoGrid_Small - 2 GB of memory GoGrid_Medium - 4 GB of memory GoGrid_Large - 8 GB of memory GoGrid_ExtraLarge - 16 GB of memory </pre></code>

These are the sizes of the machines you can use on Rackspace <code><pre> Rackspace_Small - 2 GB of memory, 80 GB disk Rackspace_Medium - 4 GB of memory, 160 GB disk Rackspace_Large - 8 GB of memory, 320 GB disk Rackspace_ExtraLarge - 16 GB of memory, 620 GB disk
TypeString
Choices
(default)
EC2_Small
EC2_Large
EC2_ExtraLarge
EC2_HighCpuMedium
EC2_HighCpuExtraLarge
GoGrid_Small
GoGrid_Medium
GoGrid_Large
GoGrid_ExtraLarge
Rackspace_Small
Rackspace_Medium
Rackspace_Large
Rackspace_ExtraLarge

11.11.4  Property 'configProperties'
DescriptionThere are three configProperties values available:

    • in the application - this gives an overall default for any values that are not specified at a lower level

    • in the deployment - this gives a per-deployment value. For example, deployments to Amazon EC2 and to in-house machines will need different values for the transaction logger. You could specify one value in the application's configProperties for in-house testing, and then override it with per-deployment values for Amazon deployments.

    • puDeployment values. This is the most precedent value. There aren't many CloudTran properties that need specifying at this level. However there may be application-specific test values that need specifying at the PU deployment level.
This property is a multi-line value, which should be in the format of Java properties (i.e. lines of "property=value").
TypeString

11.11.5  Property 'deploymentKey'
DescriptionThis is the key or identifier to be used for this deployment. In AmazonEC2 this is will become the name of the key pair used in the deployment of the application
TypeString

11.11.6  Property 'description'
TypeString

11.11.7  Property 'gscsPerMachine'
DescriptionThis is the number of gscs that can be placed on a machine.

Normally this should be 1, which is the default if nothing is specified. However, if you are doing functional testing on a limited hardware base (machine-estate), increasing the gscsPerMachine will help you deploy more gscs and therefore PUs
TypeInteger

11.11.8  Property 'machineEstate'
DescriptionThe selected machine estate will be one of the defined machine estates that are a peer to the deploymentOption. The selected machine estate indicates which . It is used in conjunction with the allocation property, which determines how the application should be this machine estate
TypeString

11.11.9  Property 'maxInstancesPerMachine'
DescriptionThis is the number of processing unit instances of this type (including backups) that can that can exist on a single machine. So in the warehouse example if the deployment scenarion is 2,3 (2 primary each with 3 backups) max-instances-per-machine=2 this means that no machine can have more than 2 instances of the warehouse (either primarys or backups) can run on any one machine.

This maps to -max-instances-per-machine option the GigaSpaces 'deploy' command.
TypeInteger

11.11.10  Property 'name'
DescriptionThis is the name of this deployment option.

It is possible to have multiple deployment options and the name is used to distinguish between them.

Generated deployment configurations are identified by the names of deployment options modelled at the application level. However, this does not apply if the name is not specified or is empty (0-length); this deployment option is used to specfy defaults.

A named deployment option at the PU level does not automatically lead to a deployment option being generated; there must be a deployment option of the same name at the application level for that to happen. However, deployment options at the PU level define specific properties in the deployment configuration for that PU.

See the documentation for the details of the defaulting strategy, but in same the priority order for a specific configuration value is

(1) in a named PU-level deployment option

(2) in a unnamed PU-level deployment option

(3) in a named application-level deployment option

(4) in a named application-level deployment option.
TypeString

11.11.11  Property 'numberOfBackupClusterManagers'
DescriptionThis is the number of additional cluster managers (GigaSpace GSM). One cluster manager will always be started, which should be for test purposes, hence the default of this property is 0. For production deployment, you may want to specify one or more backups.
TypeInteger

11.11.12  Property 'numberOfBackups'
DescriptionThis is the number of backups that the each space will have. The default value is '0', which means there are no backups. A value of Y where Y > 0 means there will be a Y backups per space in the cluster For a GigaSpaces deployment this will value will be used in total-members setting e.g. total-members=X,Y.
TypeString

11.11.13  Property 'numberOfPartitions'
DescriptionThis is the number of partitions that will be used in this cluster. The default value is '1', which means there will be no partitioning. Similarly a value of '0' means . A value of X where X > 1 means the cluster will be partitioned and there will be X partitions. For a GigaSpaces deployment this will value will be used in total-members setting such that total-members=X,Y. In this example where Y is the number of backups. See 'number-of-backups' for more information.
TypeString

11.11.14  Property 'region'
DescriptionThis is the EC2 region, i.e. what region is your EC2 deployment going to run. Therefore this is only relevant if your deployment is to be in the EC2 cloud, in which case the target for this deployment should be 'AmazonEC2'.
TypeString
Choices
us-east-1 (default)
eu-west-1

11.11.15  Property 'startUi'
DescriptionThis determines whether a Management tool should be started when this deployment is used. By default this is set to true. For GigaSpaces the management tool manager will be the GigaSpaces Management Center.
TypeBoolean

11.11.16  Property 'target'
DescriptionThis is the target environment where this application will be deployed to. The default deployment is 'CommandLine' - the Windows command line that is.

You can also specify AmazonEC2; this uses the GigaSpaces Cloud deployment tools to do the deployment, so it should deploy to other clouds as well, but we don't test them.

'Unix' targets are generated and tested on Linux (Ubuntu 9).

Specifying the 'Eclipse' target will generate a Run Configuration in the Eclipse IDE. The Run Configurations use the 'org.openspaces.pu.container.integrated.IntegratedProcessingUnitContainer' and as such the number of partitions will be fixed at 1 and number of backups will be fixed at 0. However this does allow the modeller to specify config properties and vm arguments which will be incorporated in the Run Configuration.

There can not be more than one Eclipse Deployment Option per application.
TypeString
Choices
CommandLine (default)
AmazonEC2
GoGrid
Rackspace
Unix
Eclipse
Requiredtrue
DefaultCommandLine

11.11.17  Property 'vmArguments'
Description<p> These are the arguments to be passed to the Java VM, such as "-Xmx2048m" or "-DoverallLoaderClass=com.my.overallLoader". These arguments are passed on the command line to the JVM before the name of the main program class and are as described in <a href="http://java.sun.com/javase/6/docs/">the Java documentation</a>. </p> <p> The program arguments that you would normally find in a Java program do not apply in a CloudTran environment, becaused there is no "main" entry point - that is inside the GigaSpaces components. Therefore, if you do need to pass arguments to the program, you must do it either via these VMArguments (recommended) or via a generic setting in the config.properties file (expert use only).

TypeString

11.11.18  Property 'zone'
DescriptionThis is EC2 zone, i.e. in what zone is your EC2 deployment going to run. Therefore this is only relevant if your deployment is to be in the EC2 cloud. The zone should match the selected region. Note that the zone here is an EC2 zone and should not be confused with GigaSpaces' zones.
TypeString
Choices
us-east-1a (default)
us-east-1b
us-east-1c
us-east-1d
eu-west-1a
eu-west-1b

Copyright (c) 2001-2011 CloudTran Inc.