# OpenStack plugin

OpenStack plugin
================

OpenStack is an Infrastructure as a Service (IaaS) cloud computing project by Rackspace Cloud and NASA. It is free, open-source software released under the terms of the Apache License. The mission of the OpenStack project is to enable any organization to create and offer cloud computing services running on standard hardware. The community’s first official release, code-named Austin, was made available just four months later with plans to release regular updates of the software every few months. OpenStack integrates code from NASA’s Nebula platform as well as Rackspace’s Cloud Files platform.

The OpenStack plugin allows you to build a cloud by launching images and assigning metadata to instances, providing a more generic interface for managing resources. It interacts with OpenStack through the Compute API and Image API using PERL to perform the following tasks:

*   Create configurations with the connection information.
    
*   Perform actions on machines.
    
*   Deploy and delete servers.
    
*   Create and delete key pairs.
    
*   Create and delete floating IPs.
    
*   Create CloudBees CD/RO resources.
    
*   Create, attach, detach, extend, and delete volumes.
    
*   Create new images.
    
*   Create a snapshot of a server.
    
*   Perform hard and soft reboots of a server.
    
*   Deploy, update, and delete HEAT orchestration templates.
    

The OpenStack plugin provides two primary actions: **Deploy** and **Cleanup**, which work as a pair within a job.

[](#_prerequisites)Prerequisites
--------------------------------

This plugin uses an updated version of Perl, cb-perl shell (Perl v5.32), and requires CloudBees CD/RO agents version 10.3+ to work.

Plugin Version 1.3.7.2022041801 Revised on April 14, 2022

[](#_supported_versions)Supported versions
------------------------------------------

This plugin was developed and tested against OpenStack IceHouse.

The minimum CloudBees CD/RO supported version is ElectricCommander 3.6.

[](#setupconfig)Create OpenStack plugin configurations
------------------------------------------------------

Plugin configurations are sets of parameters that can be applied across some, or all, plugin procedures. They can reduce the repetition of common values, create predefined parameter sets, and securely store credentials. Each configuration is given a unique name that is entered in the designated parameter for the plugin procedures that use them. The following steps illustrate how to create a plugin configuration that can be used by one or more plugin procedures.

The **Identity Service URL** must have `http` or `https`, followed by your server hostname or IP address.

To create a plugin configuration:

1.  Navigate to **DevOps Essentials**  **Plugin Management**  **Plugin configurations**.
    
2.  Select **Add plugin configuration** to create a new configuration.
    
3.  In the **New Configuration** window, specify a **Name** for the configuration.
    
4.  Select the **Project** that the configuration belongs to.
    
5.  Optionally, add a **Description** for the configuration.
    
6.  Select the appropriate **Plugin** for the configuration.
    
7.  Configure the plugin configuration parameters.
    
8.  Select **OK**.
    

Depending on your plugin configuration and how you run procedures, the **Input parameters**  **Configuration name** field may behave differently in the CloudBees CD/RO UI. For more information, refer to [Differences in plugin UI behavior](/docs/cloudbees-cd-plugin-docs/latest/#plugin-ui-differences).

[](#procedures)Create OpenStack plugin procedures
-------------------------------------------------

Plugin procedures can be used in [procedure steps](/docs/cloudbees-cd/latest/procedures/), [process steps](/docs/cloudbees-cd/latest/applications-processes/plugin-process-steps), and [pipeline tasks](/docs/cloudbees-cd/latest/pipelines/example-plugin-task), allowing you to orchestrate third-party tools at the appropriate time in your component, application process, or pipeline.

Depending on your plugin configuration and how you run procedures, the **Input parameters**  **Configuration name** field may behave differently in the CloudBees CD/RO UI. For more information, refer to [Differences in plugin UI behavior](/docs/cloudbees-cd-plugin-docs/latest/#plugin-ui-differences).

### [](#_allocateip)AllocateIP

Creates a new OpenStack floating IP address to use with your OpenStack account.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_allocateip_input_parameters)AllocateIP input parameters

Table 1. AllocateIP input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Results Location

The location in the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from the other deployments stored in the same location. The default is `$[jobStepId]`.

### [](#_associatefloatingip)AssociateFloatingIP

Associates a floating IP address to an existing instance.

#### [](#_associatefloatingip_input_parameters)AssociateFloatingIP input parameters

Table 2. AssociateFloatingIP input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Server Id

Required. The ID of the target server with the IP address.

### [](#_attachvolume)AttachVolume

Attaches volumes that are created with the volume API to server instances. You can attach a volume to one instance.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_attachvolume_input_parameters)AttachVolume input parameters

Table 3. AttachVolume input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Server ID

Required. ID of the server to which the volume is attached.

Volume ID

Required. ID of the volume to attach.

Name of device

Name of the device, such as `/dev/vdb`, set after the volume is attached to a server. If you do not specify a name, OpenStack automatically assigns the device a name.

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from other deployments stored in the same location. The default is `$[jobStepId]`.

### [](#Cleanup)Cleanup

Deletes an existing OpenStack server instance that was created using the [Deploy](#Deploy) procedure.

#### [](#_cleanup_input_parameters)Cleanup input parameters

Table 4. Cleanup input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Server ID(s)

Required. Comma-separated list of IDs of servers to delete.

Resource name(s)

Comma-separated list of names of the resources to delete.

### [](#CloudManagerGrow)CloudManagerGrow

Allows the plugin to integrate with the CloudManager plugin. It calls the [Deploy](#Deploy) procedure and is run by CloudManager.

#### [](#_cloudmanagergrow_input_parameters)CloudManagerGrow input parameters

Table 5. CloudManagerGrow input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Tenant ID

Required. The ID of the tenant to use.

Number of Servers

Required. The number of servers to deploy. If there are more than one, a suffix (`_#`) is added to the server names. The default is `1`.

Server name

Required. Name of the new server.

Image ID

Required. The ID of an existing image in OpenStack.

Flavor ID

Required. The ID for the flavor to use.

Results tag

Required. The unique tag for this provision to separate it from other deployments stored in the same location. The default is `$[jobStepId]`.

Resource Pool(s)

Required. Space-separated list of names of resource pools in CloudBees CD/RO that are associated with the machines in this configuration, if the resources are created.

Resource workspace

The CloudBees CD/RO workspace that the resource uses.

### [](#CloudManagerShrink)CloudManagerShrink

Allows the plugin to integrate with the CloudManager plugin. It calls the [Cleanup](#Cleanup) procedure and is run by CloudManager.

#### [](#_cloudmanagershrink_input_parameters)CloudManagerShrink input parameters

Table 6. CloudManagerShrink input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

List of Deployments

Required. A list of deployments that were previously created by the CloudManagerGrow procedure to stop.

### [](#CloudManagerSync)CloudManagerSync

Allows the plugin to integrate with CloudManager plugin. It verifies that the instances it has recorded as **alive** are still alive. It is run by CloudManager.

#### [](#_cloudmanagersync_input_parameters)CloudManagerSync input parameters

Table 7. CloudManagerSync input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

List of Deployments

Required. A list of deployments that were previously created by the CloudManagerGrow procedure to verify.

### [](#CreateImage)CreateImage

Creates a virtual machine (VM) image. You can launch new instances from these images.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_createimage_input_parameters)CreateImage input parameters

Table 8. CreateImage input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Image name

Required. Display name of the new image.

Disk format

Required. The disk format of a VM image. Valid values are `AKI`, `AMI`, `ARI`, `Raw`, `iso`, `vhd`, `vdi`, `qcow2`, and `vmdk`.

Container format

Required. The container format for the new image. Valid values are `aki`, `ari`, `ami`, `bare`, and `ovf`.

Is image location a local file ?

Required. If selected, the source image file is on the local machine.

Image path

Required. Path to the image on the local machine or a valid and direct URL to the image location.

Size

Size of the raw image file from which the new image is generated.

Checksum

The checksum of the raw image file.

Min-Ram

The minimum RAM in megabytes (MBs) required to run this image on a server.

Min-Disk

The minimum disk space in gigabytes (GBs) required to run this image on a server.

Owner

The ID of the owner (tenant) of the image.

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from other deployments stored in the same location. The default is `$[jobStepId]`.

### [](#CreateInstanceSnapshot)CreateInstanceSnapshot

Creates a snapshot from the instance. You can launch an instance from a snapshot.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_createinstancesnapshot_input_parameters)CreateInstanceSnapshot input parameters

Table 9. CreateInstanceSnapshot input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Instance snapshot name

Required. The display name of the snapshot.

Server ID

Required. The ID of the server instance for which a snapshot is created.

Metadata

Metadata for the snapshot in the following format: `key1,value1,key2,value2…​`

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from other deployments stored in the same location. The default is `$[jobStepId]`.

### [](#CreateKeyPair)CreateKeyPair

Creates a new OpenStack key pair. The public key is stored by OpenStack and the private key is returned to you. If a key with the specified name already exists, OpenStack returns an error.

The plugin stores properties on the CloudBees CD/RO server in the location specified in the **Results Location** and the **Results tag** fields. If the **Results Location** field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_createkeypair_input_parameters)CreateKeyPair input parameters

Table 10. CreateKeyPair input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Key name

Required. A unique name for the key pair. The default is `cmdr-$[jobStepId]`.

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from other deployments stored in the same location. The default is `$[jobStepId]`.

### [](#CreateStack)CreateStack

HEAT is an OpenStack service to orchestrate multiple composite cloud applications using templates. The **CreateStack** procedure creates a new HEAT stack from a specified HEAT template. You can specify the template (in JSON or YAML format) in the **Template** parameter field or the URL of the template.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_createstack_input_parameters)CreateStack input parameters

Table 11. CreateStack input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Stack Name

Required. The display name for the new stack.

Template

The stack template to instantiate a HEAT stack in JSON or YAML format.

Template URL

A URI to the location containing the updated stack template to instantiate. You specify this parameter only if you are not entering the template in the **Template** parameter.

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from other deployments stored in the same location. The default is `$[jobStepId]`.

### [](#CreateVolume)CreateVolume

Creates a new OpenStack volume. A volume is a detachable block storage device. You can attach a volume to one instance at a time.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_createvolume_input_parameters)CreateVolume input parameters

Table 12. CreateVolume input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Volume name

Required. The name for the new volume that appears in the UI.

Size (in gigabytes \[GBs\])

Required. Size of the volume in gigabytes.

Type of volume

Required. The volume type.

Availability zone

The availability zone where the new zone is created.

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from the other deployments stored in the same location. The default is `$[jobStepId]`.

### [](#CreateVolumeSnapshot)CreateVolumeSnapshot

Creates a snapshot of a volume, a point-in-time complete copy of the volume. You can create a volume from this snapshot.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_createvolumesnapshot_input_parameters)CreateVolumeSnapshot input parameters

Table 13. CreateVolumeSnapshot input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Name of volume snapshot

Required. The display name of the snapshot.

Description

The description of the snapshot.

Create a snapshot forcefully?

If selected, a snapshot of a volume is forcefully created even if it is attached to an instance.

Volume ID

Required. The ID of the volume from which to create a snapshot.

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from other deployments stored in the same location. The default is `$[jobStepId]`.

### [](#DeleteKeyPair)DeleteKeyPair

Deletes an existing OpenStack key pair. The public key is removed from OpenStack. You must own the key pair.

#### [](#_deletekeypair_input_parameters)DeleteKeyPair input parameters

Table 14. DeleteKeyPair input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Key name

Required. Name of the key pair to delete.

### [](#DeleteStack)DeleteStack

Deletes an existing stack.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_deletestack_input_parameters)DeleteStack input parameters

Table 15. DeleteStack input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Stack Name

Required. The display name of the stack to delete.

Stack ID

Required. The ID of the stack to delete.

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from other deployments stored in the same location. The default is `$[jobStepId]`.

### [](#DeleteVolume)DeleteVolume

Deletes a volume. A volume is a detachable block storage device.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_deletevolume_input_parameters)DeleteVolume input parameters

Table 16. DeleteVolume input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Volume ID

Required. ID of the volume to delete.

### [](#Deploy)Deploy

Calls the [CreateKeyPair](#CreateKeyPair) procedure and deploys one or more new instances.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_deploy_input_parameters)Deploy input parameters

Table 17. Deploy input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Key Pair Name

Required. Name of an existing key pair.

Number of Servers

Required. Number of servers to deploy. If there are more than one, a suffix (`_#`) is added to the server names. The default is `1`.

Server name

Required. Name of the new server.

Image ID

Required. ID of an existing image in OpenStack.

Flavor ID

Required. ID of the flavor to use.

Security Group(s)

Newline-delimited list of security groups.

Availability Zone

The availability zone in which to launch the server.

Customization Script

Configuration information or scripts to execute when the server is launched.

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to keep it separate from the other deployments stored in the same location. The default is `$[jobStepId]`.

Create Resource?

If selected, resources are created for deployed servers.

Associate IP?

If selected,the IP address is associated with the deployed instance.

Resource Pool

Name of the resource pool in CloudBees CD/RO that is associated with the machines in this configuration when resources are created.

Resource Port

Port is used when creating a resource.

Resource workspace

CloudBees CD/RO workspace that the resources uses.

Resource Zone Name

CloudBees CD/RO zone name for a resource. Used when creating a resource.

### [](#DetachVolume)DetachVolume

This procedure detaches a volume from a server. A volume is a detachable block storage device.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_detachvolume_input_parameters)DetachVolume input parameters

Table 18. DetachVolume input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Server ID

Required. ID of the server from which the volume is detached.

Volume ID

Required. ID of the volume to detach.

Attachment ID

Required. ID of the volume attachment.

### [](#ExtendVolume)ExtendVolume

Extends the size of the specified volume. The volume must be in _available state_ before the size is extended.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

You must verify that the **ExtendVolume** procedure is supported by the OpenStack services before using this procedure.

#### [](#_extendvolume_input_parameters)ExtendVolume input parameters

Table 19. ExtendVolume input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Volume ID

Required. ID of the volume to extend.

New size

Required. New size of the volume.

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from other deployments stored in the same location. The default is `$[jobStepId]`.

### [](#RebootInstance)RebootInstance

Reboots a server instance.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_rebootinstance_input_parameters)RebootInstance input parameters

Table 20. RebootInstance input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Server ID

Required. ID of the server to reboot.

Reboot Type

Required. Type of the reboot action (`Hard` or `Soft`).

### [](#ReleaseIP)ReleaseIP

Deletes an existing OpenStack floating IP address that is allocated to your account.

#### [](#_releaseip_input_parameters)ReleaseIP input parameters

Table 21. ReleaseIP input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Floating Address ID

Required. ID of the floating IP address to delete.

### [](#Teardown)Teardown

Deletes an existing OpenStack server.

#### [](#_teardown_input_parameters)Teardown input parameters

Table 22. Teardown input parameters  

Parameter

Description

Configuration

The name of a valid existing configuration with the connection information.

Resource name(s)

Required. Comma-separated list of resource names to delete.

### [](#UpdateStack)UpdateStack

Updates an existing stack. You can enter the updated template (in JSON or YAML format) in the **Template** field or the URL of the template.

The plugin stores properties on the CloudBees CD/RO server in the locations specified in the **Results Location** and **Results tag** parameter fields. If the **Results Location** parameter field is empty, the default location in the job directory is `/myJob/Openstack/deployed/<provision-tag>`.

#### [](#_updatestack_input_parameters)UpdateStack input parameters

Table 23. UpdateStack input parameters  

Parameter

Description

Configuration

Required. The name of a valid existing configuration with the connection information.

Stack Name

Required. The display name of the stack to update.

Stack ID

Required. The ID of the stack to update.

Template

The template (in JSON or YAML format) with which to update the stack.

Template URL

A URI to the location containing the updated stack template to instantiate. You specify this parameter only if you are not entering the template in the **Template** field.

Results Location

The location on the CloudBees CD/RO server where the properties are stored. The default is `/myJob/OpenStack/deployed`.

Results tag

Required. The unique tag for this provision to separate it from other deployments stored in the same location. The default is `$[jobStepId]`.

[](#_openstack_plugin_use_cases)OpenStack plugin use cases
----------------------------------------------------------

The most common use for the OpenStack plugin is to create a server, create CloudBees CD/RO resources assigned to it, use the resources to run some operations, and then delete the resource and the server.

To accomplish these tasks you must:

1.  [Create a plugin configuration](#setupconfig).
    
2.  Use the [Deploy](#Deploy) procedure to deploy an OpenStack server.
    
3.  Create and use resources for this deployment. For example, create a new Command procedure step to use a resource that you created by adding a resource from a resource pool using the ec-perl sleep command for 30 seconds.
    
4.  Delete the resources.
    
5.  Use the [Cleanup](#Cleanup) procedure to delete the deployed OpenStack server instance that you created with the [Deploy](#Deploy) procedure.
    
6.  After the job runs, view the results in CloudBees CD/RO.
    
    ![Deploy output](../../../cloudbees-common-sda/latest/_images/cd-plugins/ec-openstack/use-cases/case-1/deploy-log.75a4f78.png)
    
    Figure 1. Deploy output
    
    ![Cleanup output](../../../cloudbees-common-sda/latest/_images/cd-plugins/ec-openstack/use-cases/case-1/cleanup-log.ed089b1.png)
    
    Figure 2. Cleanup output
    

[](#rns)OpenStack plugin notes
------------------------------

### [](#_1_3_7)1.3.7

*   Added session validation.
    

### [](#_1_3_6)1.3.6

*   The documentation has been migrated to the main documentation site.
    

### [](#_1_3_5)1.3.5

*   The plugin icon has been updated.
    

### [](#_1_3_4)1.3.4

*   Added Rackspace support for dynamic environments.
    
*   Configured the plugin to allow the CloudBees CD/RO UI to create configurations inline of a procedure form.
    
*   Configured the plugin to allow the CloudBees CD/RO UI to render the plugin procedure parameters entirely using the configured form XMLs.
    
*   Enabled the plugin for managing the plugin configurations inline when defining an application process step or a pipeline stage task.
    

### [](#_1_3_3)1.3.3

*   Added support for the **Region** parameter to the **CreateVolume** procedure.
    

### [](#_1_3_2)1.3.2

*   Added a **Resource Port** field to the dynamic environments.
    
*   Added support for the **Resource Port** parameter to the **Deploy** procedure
    

### [](#_1_3_1)1.3.1

*   Fixed an issue with configurations being cached for Internet Explorer®.
    
*   Added validation to the **CreateConfiguration** procedure for dynamic environments.
    
*   Added the **Tenant ID** parameter to the OpenStack plugin configuration.
    
*   Removed the **Tenant ID** parameter from all procedures except **CreateConfiguration**.
    
*   Added the ability to dynamically retrieve drop-down options such as image or flavor when creating resource templates for dynamic environments.
    
*   Added the ability to create a resource in a non-default zone.
    

### [](#_1_2_1)1.2.1

*   Fixed an issue that occurs when a resource was not created after provisioning it and the "Duplicate resource name" error message appears.
    
*   The **Workspace** parameter was removed from procedure to create an OpenStack configuration.
    

### [](#_1_2_0)1.2.0

*   Added support for the following procedures:
    
    *   **CreateVolume** to create a new volume.
        
    *   **ExtendVolume** to extend the size of a volume.
        
    *   **AttachVolume** to attach the volume to a server instance.
        
    *   **DetachVolume** to detach the volume from a server instance.
        
    *   **DeleteVolume** to delete a volume from OpenStack block storage.
        
    *   **CreateImage** to create a virtual machine (VM) image on OpenStack Image Service Glance.
        
    *   **CreateInstanceSnapshot** to create a snapshot of a server instance.
        
    *   **CreateVolumeSnapshot** to create a snapshot of a volume.
        
    *   **CreateStack** to create a HEAT stack from a HEAT template.
        
    *   **UpdateStack** to update an existing HEAT stack with a template.
        
    *   **DeleteStack** to delete an existing HEAT stack.
        
    
*   The **Deploy** procedure was updated to add support for customization scripts, availability zones, security groups, and deployments using an instance snapshot.
    

### [](#_1_1_2)1.1.2

*   Added properties in the `ec_cloudprovisioning_plugin` property sheet for CloudBees CD/RO deploy.
    

### [](#_1_1_1)1.1.1

*   Added support for Keystone v3 authorization.
    
*   Decoupled key pairs in creation and deletion operations from the **Deploy** and **Cleanup** procedures.
    
*   Added the **AssociateFloatingIP** procedure to associate floating IP addresses to existing VMs.
    
*   Fixed the **Create Resource?** parameter in the **Deploy** procedure.
    

### [](#_1_0_0)1.0.0

*   Added support configuration management procedures.
    
*   Added support for the **AllocateIP**, **Cleanup**, **CreateKeyPair**, **DeleteKeyPair**, **Deploy**, and **ReleaseIP** procedures.
    
*   Implemented CloudManager support.
    
*   Implemented the XML parameter panel.
    
*   Added a documentation link to each procedure.
    
*   Added the documentation page.
    
*   Added use cases.