Valid since:
XL Deploy 6.0.0

XL Deploy’s provisioning feature allows you to provide fully automated, on-demand access to your public, private, or hybrid cloud-based environments. With provisioning, you can:

  • Create an environment in a single action by provisioning infrastructure, installing middleware, and configuring infrastructure and middleware components
  • Track and audit environments that are created through XL Deploy
  • Deprovision environments created through XL Deploy
  • Extend XL Deploy to create environments using technologies not supported by default

Note: A version of this topic is available for XL Deploy 5.5.x.

Provisioning packages

A provisioning package is a collection of:

  • Provisionables that contain settings that are needed to provision the environment
  • Provisioners that execute actions in the environment after it is set up
  • Templates that create configuration items (CIs) in XL Deploy during the provisioning process

For example, a provisioning package could contain:

  • A provisionable that creates an Amazon Web Services EC2 instance (aws.ec2.InstanceSpec)
  • A Puppet provisioner that installs Apache HTTP Server on the instance (puppet.provisioner.Manifest)
  • Templates that create an SSH host CI (template.overthere.SshHost), a Tomcat server CI (template.tomcat.Server), and a Tomcat virtual host CI (template.tomcat.VirtualHost)

The process of provisioning a cloud-based environment through XL Deploy is very similar to the process of deploying an application. You start by creating an application (udm.Application) that defines the environment that you want to provision. You then create provisioning packages (udm.ProvisioningPackage) that represent specific versions of the environment definition.

Providers

You can also define providers, which are cloud technologies such as Amazon Web Services EC2 (aws.ec2.Cloud). A provider CI contains required connection information, such as an access key ID and a secret access key. You define provider CIs under Infrastructure in the XL Deploy Repository. After you define a provider, you add it to an environment (udm.Environment).

Provisioneds

After you have created packages and added providers to an environment, you start provisioning the same way you would start a deployment. When you map a provisioning package to an environment, XL Deploy creates provisioneds based on the provisionables in the package. These are the actual properties, manifests, scripts, and so on that XL Deploy will use to provision the environment.

Supported provisioning technologies

Support for provisioning technologies is provided through plugins. To see the provisioning plugins that are available, refer to the version of XL Deploy that you are using (for example, XL Deploy 5.5.x).

Get started with provisioning

To get started with XL Deploy provisioning:

  1. Upgrade to XL Deploy 5.5.0 or later.
  2. Create a provisioning package.
  3. Create a provider and add it to an environment.
  4. Provision the environment.
  5. Deploy to the environment.
  6. Deprovision the environment.

Limitations and known issues

  • It may take one minute or longer to generate a provisioning plan preview if the plan includes many provisioneds.
  • When creating an aws.ec2.InstanceSpec CI, you can only enter an AWS security group that already exists. To use a new security group, you must first create it manually in AWS.
  • In reports:
    • Provisioning and unprovisioning actions appear on the Deployments tab
    • Provisioning environments are listed on the Deployed Applications tab