11.11 DeploymentOption Object
| Used on |
|
| Description | See PuDeploymentOption for a description of DeploymentOption.
|
Inherited properties |
|
11.11.1 Property 'allocation'
|
| Description | This 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.
|
| Type | String |
11.11.2 Property 'cloudToolsVersion'
|
| Description | This 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).
|
| Type | String |
| Choices |
|
11.11.3 Property 'clusterManagerClass'
|
| Description | This 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
|
| Type | String |
| 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'
|
| Description | There 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").
|
| Type | String |
11.11.5 Property 'deploymentKey'
|
| Description | This 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
|
| Type | String |
11.11.6 Property 'description'
|
11.11.7 Property 'gscsPerMachine'
|
| Description | This 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
|
| Type | Integer |
11.11.8 Property 'machineEstate'
|
| Description | The 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
|
| Type | String |
11.11.9 Property 'maxInstancesPerMachine'
|
| Description | This 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.
|
| Type | Integer |
11.11.10 Property 'name'
|
| Description | This 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.
|
| Type | String |
11.11.11 Property 'numberOfBackupClusterManagers'
|
| Description | This 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.
|
| Type | Integer |
11.11.12 Property 'numberOfBackups'
|
| Description | This 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.
|
| Type | String |
11.11.13 Property 'numberOfPartitions'
|
| Description | This 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.
|
| Type | String |
11.11.14 Property 'region'
|
| Description | This 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'.
|
| Type | String |
| Choices |
| us-east-1 (default) |
| eu-west-1 |
|
11.11.15 Property 'startUi'
|
| Description | This 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.
|
| Type | Boolean |
11.11.16 Property 'target'
|
| Description | This 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.
|
| Type | String |
| Choices |
| CommandLine (default) |
| AmazonEC2 |
| GoGrid |
| Rackspace |
| Unix |
| Eclipse |
|
| Required | true |
| Default | CommandLine |
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).
|
| Type | String |
11.11.18 Property 'zone'
|
| Description | This 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.
|
| Type | String |
| Choices |
| us-east-1a (default) |
| us-east-1b |
| us-east-1c |
| us-east-1d |
| eu-west-1a |
| eu-west-1b |
|
|