Previous Topic: Copying an ApplicationNext Topic: Importing Applications


Provisioning an Application

Several use cases, such as providing software-as-a-service (SaaS) or internal testing, require multiple instances of a single application. CA AppLogic enables you to create multiple unique instances of a single application template. Provisioning is the process of creating such a unique instance.

A template application is not fully configured. Configuration details that are specific to an application instance are unspecified in the template application. If the template application is not created for your grid, it probably is also missing grid details, such as DNS addresses. When you provision the application, you provide the missing configuration details.

Provision an application either by using the Application Provisioning wizard or the app provision command. After provisioning completes, you can add configuration details to customize the application.

Note: This procedure assumes that you have the appropriate template application on your grid. This product comes with a number of preconfigured template applications. You can also create template applications or migrate them between grids.

Follow these steps:

  1. Log in to the grid. Open the system dashboard.
  2. (Optional) Open the Applications tab. Right-click the template application that you want to provision and select Copy. Work with the copy, leaving the original template unchanged.
  3. (Optional) Right-click the template application copy and click Configure. When the configuration dialog opens, select the Resources tab. Set the netmask, gateway, and DNS values. These values are the same for all instances you create on this grid. Copy these values from the Dashboard tab of the system dashboard.
  4. Do one of the following:

This section contains the following topics:

Use the Provision Wizard

Use Provision Commands

Use the Provision Wizard

The Application Provisioning wizard allows you to provision, configure, and optionally start an application using an application template.

Follow these steps:

  1. From the dashboard, select the Applications tab
  2. Right-click the template application and select Provision.

    The General page displays.

  3. Complete the following fields:
    Name

    Unique name of the provisioned application

    Description

    Human-readable description of the application

    User 1

    Free-form user-defined text intended for specifying billing code

    User 2

    Free-form user-defined text intended for specifying billing code

    Documentation URL

    URL where the documentation for the application can be found.

  4. Click Next.

    The Configure Resources page displays.

  5. Complete the following fields:
    Constrain by Resources

    Specify the amount of resource for each hardware resource

    To specify the volume size or store, click the corresponding field for the App Volume you want to change.

    The following resource types and volume information can be specified:

    CPU

    Portion of CPU or number of CPUs to be allocated for the application.

    Specify fractional amounts as a decimal number, such as 0.5 or 3.5. Whole CPUs are specified simply as an integer, such as 12.

    Memory

    Amount of memory allocated for the application.

    Specify the amount as an integer value in megabytes, such as 512M, or in gigabytes, such as 9G.

    Bandwidth

    Amount of network bandwidth allocated for this application.

    Specify the amount as an integer value in megabits/sec, such as 10M, or in gigabits/sec, such as 1G.

    Volumes

    Specify the volume size by clicking the Size field for the App Volume you want to change. The default size of the volumes are shown in normal font weight. Volume sizes explicitly configured for this application are in bold.

    App Volume

    The storage location, such as code and mon.

    Size

    Volume size can be specified as an integer value in megabytes, such as 50M or gigabytes, such as 2G.

    Filesystem

    Indicates where CA AppLogic stores the volumes.

    If the grid is configured in the Backbone Fabric Controller to use a SAN, the following displays:

    Local: Stores the volumes locally, such as a hard drive on a server, on the grid

    SAN: Stores the volumes on the SAN. You may specify the default location of the volume store in the BFC.

    Size

    The volume size specified as an integer value in megabytes, such as 512M, or in gigabytes, such as 2G.

    The default size of the volumes display in normal font weight. Volume sizes explicitly configured for this application display in bold.

    Store

    The location where CA AppLogic stores the volumes. This option displays only when the grid is configured in the Backbone Fabric Controller to use a SAN.

    For information about configuring a grid to use a SAN, refer to the BFC User Guide

    The following is a list of available options:

    Local: Stores the volumes locally on the grid, such as a hard drive on a server.

    SAN: Stores the volumes on the SAN. You may specify the default location of the volume store in the BFC.

  6. Click Next.

    The Configure Interface page displays.You edit the parameters of any raw interfaces that belong to the application. If the application has no raw interfaces, this page is empty.

    Name

    Specifies the interface name.

    Network

    Specifies the network.

    IP Address

    Specifies the IP address. Click the cell to open a drop-down menu that lists the available IP addresses. This menu is limited to 256 items. If more than 256 IP addresses are configured for a selected network, this field becomes a text input field and you must enter the IP address as typed text. Use the Info tooltip to display the available ranges of IP addresses for the selected network.

    Info

    Lists the name server and IP range.

  7. Click Next.

    The Configuration Properties page displays.

  8. Set values for application properties and specialize this instance of the application.

    This is useful for configuring location-specific parameters, such as IP addresses, and for configuring tuning parameters, such as cache sizes.

    The default values of the properties display in normal font weight. Property values explicitly configured display in bold. Mandatory property volumes that have not yet been configured are highlighted in red.

    To view information about the property, its type and allowed values, click the info icon.

    To restore the default value of a property, click the restore icon.

    To reset the values of all properties to their defaults, click the reset all icon.

  9. To complete the provisioning, click Next.

    The provisioning begins. The application launches when provisioning is complete.

Use Provision Commands

To provision an application, define the boundary parameters that are specific to an instance of the application. These parameters are in three groups, with different sources:

Type of Parameter

Description

Examples

Source

General

Names and descriptions

Template application name, instance name, customer details

Template application name in applications catalog, all others based on your company procedures

Instance Resources

System resources allocated to instance

CPU, volume size, memory

Defaults set when template application created. Override if and only if customer requirements exceed defaults.

Properties

Application-specific settings that specialize the application instance for its role.

IP addresses, gateway, administrator email address and password

Grid properties in Dashboard tab or from running grid info. Other details in application data sheet.

General Parameters

General parameters consist of names and descriptive information.

Template application name (CLI only)

When you run the application provision command, include the name of the template application. You can use any application on the grid as a template on two conditions. First, the application must have the template attribute set. Second, the application must not be running. To view the list of application templates, use the application list command or view the system dashboard Applications tab. Template applications are shown first in the list.

Note: The provisioning wizard opens from the context menu of the template application being provisioned. Therefore if you use the wizard, you do not need to specify the template application name.

Note: Provisioning copies the entire template, including data. Therefore do not specify any application as a template if the application contains user data.

Instance name

Give a name to the application instance that you create through provisioning. The name is alphanumeric and must start with a letter. Underscores are the only special characters allowed.

Example: The following names are valid.

Example: The following names are not valid.

Note: Include the template name and the customer name in the instance name as best practice. For example, if you have an application template named cPanel_b32 and a customer named customer8, name the instance cPanel_b32_customer8. Applications are always displayed sorted. Therefore, applications starting with the same name are together in the list.

user1, user2 (Optional)

Customer billing information. For example, put the customer ID in user1 and the billing code in user2. The commands app info myapp and app config myapp display these fields. The metering information records also include these fields.

Description (Optional)

Arbitrary, human-readable description of the purpose of the application instance. The application list command app list --verbose and the system dashboard display this description.

Instance Resources

The resource parameters specify the system resources that are available to the instance after provisioning. Default values are provided. Application developers set default resource parameters when they design the template application. Change these values from the default only if there is a customer need.

For preconfigured template applications included with this product, resource ranges are listed in the application data sheet. Data sheets are in the Application Catalog Resource Guide. Alternatively, to find the memory and CPU ranges for any template application, run the app config command with the template name. To find the assigned disk volumes and their size ranges for a template application, run the vol list command with the template name.

The system dashboard also displays template application resource ranges, in the provisioning wizard and in the application configuration details.

An instance uses the following resources:

CPU (cpu.dflt)

The minimum amount of CPU that is available to the application instance. CPU is defined in fractions for a single appliance application. CPU is defined as a fixed decimal for multiple appliance applications.

Example: cpu.dflt=0.10 is 10 percent of the CPU. cpu.dflt=1.00 is a full CPU. cpu.dflt=0.25 is 25 percent of the CPU.

Note: The CPU parameter is the minimum amount of CPU that is ever available to the application instance. Regardless of any other load on the grid or the physical server, the application always has at least this much CPU. The application may get more CPU, up to the full CPU of the server, whenever no other applications need CPU on that server.

Memory (mem.dflt)

The amount of memory that is available to the application instance. The memory is defined in megabytes.

Example: mem.dflt=128M allocates 128 MB to the application instance. mem.dflt=1024M allocates 1 GB to the application instance.

Note: The memory parameter defines the exact amount of memory that is available to the application instance. This parameter is enforced exactly, minus a few megabytes for system records.

Disk volume size (volume.size)

The size of disk volumes that are assigned to the application instance. Disk volumes are assigned to the template application. Disk volumes are defined in megabytes or higher. The range of disk volume sizes are set in the template application. You can override the default disk volume but you cannot set a new disk volume outside of the template application range.

Example: The following command defines the size of the grid server boot disk VPS64_CENTOS52 as 2.2 GB.

VPS64_CENTOS52.boot.size=2.2G

Note: You can view disk volumes and their ranges for a template application by running the command vol list with the template name. You can also see this information in the provisioning wizard. For preconfigured template applications included with this product, this information is included in the application data sheet, which is in the Application Catalog Reference Guide.

Bandwidth

This parameter limits virtual system throughput.

Important: Do not change this parameter from default values except in extraordinary circumstances.

Properties

Properties are application-specific settings that specialize the application instance for its role. While the template provides most of the system and application configuration necessary for the application to run, some settings differ from instance to instance. Those typically include IP addresses, passwords, and tuning parameters.

Some properties are mandatory and must be specified when you provision the application. Other properties are optional. Specify optional properties only when you want to change the default values. The provisioning wizard highlights mandatory properties in red.

For preconfigured template applications included with this product, the set of properties and their allowed values are described in the application data sheet. Data sheets are in the Application Catalog Resource Guide. If the application is provided separately and the data sheet is missing, ask Technical Support for the data sheet. Alternatively, run the following command:

app config template_name --boundary

IP and IP-owned properties (gateway, DNS, netmask, all other IPs) are specific to the grid that hosts the template application. These values are visible in the system dashboard Dashboard tab, or by running the grid info command.

Note: Gateway, netmask, and DNS server addresses are the same for every instance that you create on the same grid. For efficiency, set these properties on the template application instead of when you provision the application. Provisioned instances inherit all properties that you set on the template application.

Example Application Provisioning Commands

The following examples describe typical application provisioning commands:

Note: The app provision command starts the application. If you want to provision the application without starting it (for example, to prepare ready instances but not start them), add the --skipstart option at the end of the app provision command line. See the Command Line Shell Reference guide for all options of this command.