3.12.4 Add virtual server (virtual disk)
Function
This service template adds a volume to an instance in a KVM environment managed by OpenStack.
The OpenStack-related terms used in this document are names displayed in the OpenStack Dashboard. These terms are as follows:
- Identity
Displayed as "Identity" or "KeyStone".
- Project
Displayed as a project or tenant.
- Volume
Displayed as "Volume" or "Block storage"
To use this service template, the following servers are required:
- OpenStack server
A server on which OpenStack is installed
- KVM server
A server on which a Kernel-based Virtual Machine is installed
- OpenStack control server
A server that executes REST-API functions on the OpenStack server
- Instance
An instance (a normal virtual server) managed by the OpenStack server and by KVM
- Volume
A volume managed by Cinder
The following is an overview of the processing:
(1) You can create a volume as an option.
To create a volume, specify the name and capacity of the volume. Optionally, you can also specify a description and type for the volume.
(2) The volume is connected to an instance.
Specify the instance name and the volume name. Optionally, you can also specify the device name.
Note the following when specifying properties:
(1) During the creation of a new volume, a volume status check is performed for the number of times specified by the property openstack.checkVolumeCreationCount, at intervals specified (in seconds) by the property openstack.checkVolumeCreationInterval. Adjust the values of these properties based on your environmental requirements.
(2) During the processing to connect the volume to an instance, a volume status check is performed for the number of times specified by the property openstack.checkVolumeAttachmentCount, at intervals specified (in seconds) by the property openstack.checkVolumeAttachmentInterval. Adjust the values of these properties based on your environmental requirements.
Prerequisites
For the most recent information about the prerequisite products for the system, prerequisite products for the system executing the service templates, and the supported OSs for the prerequisite products for the system executing the service templates, see the Release Notes.
Prerequisite products for the system:
JP1/Automatic Operation 12-00 or later
Prerequisite products in the service-template execution system:
(1) Prerequisite products on the OpenStack server
- OpenStack
(2) Virtualization environment that manages the instance
- Kernel-based Virtual Machine
- VMware vCenter Server
- VMware vSphere ESXi
(3) OpenStack control server
- Microsoft .Net Framework 3.5 or later
Supported OSs for the prerequisite products in the service-template execution system:
(1) Prerequisite OS for the instance
- Red Hat Enterprise Linux Server 6 (32-bit x86) or Red Hat Enterprise Linux Server 6 (64-bit x86_64)
- Red Hat Enterprise Linux Server 7 (64-bit x86_64)
(2) Prerequisite OS for the OpenStack server:
- Windows Server 2008 R2 Standard/Enterprise/Datacenter
- Windows Server 2012 Standard/Datacenter or Windows Server 2012 R2 Standard/Datacenter
Note: Environments where Server Core is installed are excluded.
Conditions for using the prerequisite products in the service-template execution system:
(1) Condition related to instances
- Each instance name must be unique within a single project.
(2) Condition related to volumes
- Each volume name must be unique within a single project.
(3) Condition related to volume type
- The volume type must be set in the OpenStack environment.
Cautions
(1) If the property openstack.createVolumeEnabled is set to "yes", you cannot omit the property openstack.volumeCapacity. If you omit the property openstack.volumeCapacity, the task ends abnormally.
(2) The maximum length of a character string that can be specified for an input property might be different from that of a character string that can be registered in OpenStack. If the character string specified for an input property is longer than the maximum length of character string that can be registered in OpenStack, a truncated character string is registered.
(3) If the openstack.deviceName property is omitted, the volume is mapped to the default device for the guest OS of the instance.
Execution privilege
(1) Users who log in to the OpenStack server must have the following permission:
admin
Version
02.00.00
Tags
Modify VM,OpenStack
Property list
The following shows the list of the property groups set in the property:
Property group |
Description |
Initial display |
---|---|---|
Cloud platform environment information |
Specify information about OpenStack. |
Y |
Instance information |
Specify information about the instance. |
Y |
Volume information |
Specify information about the volumes to be added to the instance. |
Y |
Run-time option |
This property is used to check statuses before volumes are added. If necessary, change the value of this property. |
N |
The following shows the list of the properties to be displayed in the "Service Definition" window:
- (Legend)
-
R: The property must be specified.
O: The property can be omitted. However, the property might be mandatory depending on what is specified for other properties. See the Description of each property.
Property key |
Property name |
Description |
I/O type |
Shared |
Required |
Property group |
---|---|---|---|---|---|---|
openstack.targetHost |
Host name of the OpenStack control server |
Specify the host name or IP address of the OpenStack control server. Make sure that you do not specify an IPv6 address. |
Input |
Disabled |
R |
Cloud platform environment information |
openstack.identityServerHostName |
Host name of the Identity server |
Specify the host name or IP address of the Identity server. Make sure that you do not specify an IPv6 address. |
Input |
Disabled |
R |
Cloud platform environment information |
openstack.userName |
User name for logging in to the Identity server |
Specify the user name for logging in to the Identity server. |
Input |
Disabled |
R |
Cloud platform environment information |
openstack.password |
Password for logging in to the Identity server |
Specify the password for logging in to the Identity server. |
Input |
Disabled |
R |
Cloud platform environment information |
openstack.protocol |
Identity server connection protocol |
Specify the protocol that is used to connect to the Identity server. |
Input |
Disabled |
R |
Cloud platform environment information |
openstack.portNumber |
Port number for connecting to the Identity server |
Specify the port number for logging in to the Identity server. |
Input |
Disabled |
R |
Cloud platform environment information |
openstack.projectName |
Project name |
Specify the project name. |
Input |
Disabled |
R |
Instance information |
openstack.createVolumeEnabled |
Whether to create a volume |
Specify whether to create a new volume. To use the existing volume without creating a new one, select "no". |
Input |
Disabled |
R |
Volume information |
openstack.checkVolumeCreationCount |
Volume creation check count |
Specify the number of times to check whether a volume has been created. This value and the volume creation check interval determine the maximum wait time. |
Input |
Disabled |
R |
Run-time option |
openstack.checkVolumeCreationInterval |
Volume creation check interval |
Specify in seconds the interval at which to check whether a volume has been created. |
Input |
Disabled |
R |
Run-time option |
openstack.checkVolumeAttachmentCount |
Volume connection check count |
Specify the number of times to check whether a volume has been connected. This value and the volume connection check interval determine the maximum wait time. |
Input |
Disabled |
R |
Run-time option |
openstack.checkVolumeAttachmentInterval |
Volume connection check interval |
Specify in seconds the interval at which to check whether a volume has been connected. |
Input |
Disabled |
R |
Run-time option |
The following shows the list of the properties to be displayed on the "Service Definition" window and the "Submit Service" window:
Property key |
Property name |
Description |
I/O type |
Shared |
Required |
Property group |
---|---|---|---|---|---|---|
openstack.instanceName |
Instance name |
Specify the instance name. Note that the name you specify here is the display name of the instance in OpenStack, and is different from a host name in the OS. |
Input |
Disabled |
R |
Instance information |
openstack.volumeName |
Volume name |
Specify the name of the volume to be connected to the instance. |
Input |
Disabled |
R |
Volume information |
openstack.volumeDescription |
Volume description |
Specify a description of a volume. If a volume is not created, the description of the specified volume is ignored. |
Input |
Disabled |
O |
Volume information |
openstack.volumeType |
Volume type |
Specify the type of volume. Specify one of the types set in the OpenStack environment. If a volume is not created, the specified volume type is ignored. |
Input |
Disabled |
O |
Volume information |
openstack.volumeCapacity |
Volume capacity (GB) |
Specify the capacity of a volume (in GB). This item is required when a volume is created. If a volume is not created, the specified volume capacity is ignored. |
Input |
Disabled |
O |
Volume information |
openstack.deviceName |
Device name |
Specify the device with which you want to map the volume to be connected to the instance. Make sure that you specify a device immediately under the dev directory in the guest OS. For example, to map the volume with "vda", specify "/dev/vda". |
Input |
Disabled |
O |
Volume information |
The following shows the list of the properties to be displayed in the "Task Details" window only:
Property key |
Property name |
Description |
I/O type |
Shared |
---|---|---|---|---|
openstack.attachedDeviceName |
Connected device name |
Stores the name of the device to which the volume is connected. |
Output |
Disabled |
The following shows the restrictions on inputs to the properties displayed in the "Service Definition" window:
Property key |
Characters that can be input |
---|---|
openstack.targetHost |
A string that has 256 or fewer single-byte alphanumeric characters, including periods (.) and hyphens (-) |
openstack.identityServerHostName |
A string that has 256 or fewer single-byte alphanumeric characters, including periods (.) and hyphens (-) |
openstack.userName |
A string that has 64 or fewer single-byte alphanumeric characters |
openstack.password |
A string that has 256 or fewer single-byte alphanumeric characters |
openstack.protocol |
Select one of the following values: http,https |
openstack.portNumber |
An integer in the range from 1 to 65,535 |
openstack.projectName |
A string that has 80 or fewer characters. The following symbols cannot be used: < > | ; & ' " * ? [ ] ` % \ |
openstack.createVolumeEnabled |
Select one of the following values: yes,no |
openstack.checkVolumeCreationCount |
An integer in the range from 1 to 2,147,483,647 |
openstack.checkVolumeCreationInterval |
An integer in the range from 1 to 60 |
openstack.checkVolumeAttachmentCount |
An integer in the range from 1 to 2,147,483,647 |
openstack.checkVolumeAttachmentInterval |
An integer in the range from 1 to 60 |
The following shows the restrictions on inputs to the property displayed on the "Service Definition" window and the "Submit Service" window:
Property key |
Characters that can be input |
---|---|
openstack.instanceName |
A string that has 80 or fewer characters. The following symbols cannot be used: < > | ; & ' " * ? [ ] ` % \ |
openstack.volumeName |
A string that has 255 or fewer single-byte alphanumeric characters and symbols. The following symbols cannot be used: < > | ; & ' " * ? [ ] ` % \ |
openstack.volumeDescription |
A string that has 1,024 or fewer single-byte alphanumeric characters and symbols. The following symbols cannot be used: < > | ; & ' " * ? [ ] ` % \ |
openstack.volumeType |
A string that has 255 or fewer single-byte alphanumeric characters and symbols. The following symbols cannot be used: < > | ; & ' " * ? [ ] ` % \ |
openstack.volumeCapacity |
An integer in the range from 1 to 2,147,483,647 |
openstack.deviceName |
A string that has 255 or fewer single-byte alphanumeric characters and symbols. The following symbols cannot be used: < > | ; & ' " * ? [ ] ` % \ |
Flow specification details
The following table shows the detailed specification of the flow:
Hierarchy |
Display name |
Plug-in |
||
---|---|---|---|---|
Plug-in name |
Description |
Error recovery method |
||
1 |
JudgeValuePlugin |
Judge Value Plug-in |
Judges whether to create a volume. |
-- |
2 |
openstackCreateVolume |
Create volume |
Creates a volume. |
After checking the task log and removing the cause of the error, run this service again. If the specified volume was already created, delete it, and then run this service again. |
3 |
openstackAttachVolume |
Connect volume |
Connects a volume to an instance. |
Check the task log and remove the cause of the error. If volumes were created by this service, delete them. Then, run this service again. |