Multi-disk management for IBM Systems Director VMControl: Part 3

Multi-disk management for deploying a workload using IBM Systems Director VMControl

IBM® Systems Director is a platform management solution that is used to manage physical and virtual systems. IBM Systems Director provides systems management personnel with a single pane of glass, helping reduce IT management complexity and cost. IBM Systems Director VMControl™ is an advanced plug-in installed on top of IBM Systems Director to provide the virtualization capabilities. This tutorial talks about the multi-disk support while deploying workload using the VMControl Representational State Transfer (REST) application programming interfaces (APIs) and command-line interface (CLI).

Share:

Piyush Jain (piyushjain@in.ibm.com), Staff Software Engineer, IBM  

Piyush Jain Piyush Jain is a staff software engineer at IBM. He is currently working on VMControl under IBM Systems Director. He has six years of experience overall and holds a bachelor's degree in information technology engineering from the Institute of Engineering and Technology (IET) Alwar, Rajasthan, India.



28 May 2013

Also available in Chinese

Before you start

Learn what to expect from this tutorial, and how to get the most out of it.

About this series

The IBM Systems Director VMControl advanced manager simplifies the management of virtual environments across multiple virtualization technologies and hardware platforms. VMControl is a leading multi-platform virtualization management solution that is included with IBM Systems Director Editions. VMControl has the support for three types of interfaces (GUI, CLI and REST APIs). This series has the following topics:

  • Multi-disk management for virtual servers: This tutorial addresses the problems faced by the end user while performing operations related to multi-disk management of a virtual server. End users with little knowledge on the customization table parameters finds it difficult to add or remove disk, to or from the virtual servers.
  • Multi-disk management for creating virtual appliance and revision control: This tutorial addresses the problems faced by the end user while performing multi-disk management to create virtual appliance and revision control while capture. End users with little knowledge on the customization table parameters finds it difficult to perform multi-disk capture and version control of a virtual appliance while capture.
  • Multi-disk management for deploying workloads: This tutorial addresses the problems faced by the end user while performing multi-disk management to deploy a workload. End users with little knowledge on the customization table parameters finds it difficult to perform modification and mapping of the disk during deployment.

This series will help all the VMControl users to understand the VMControl multi-disk management functionality through REST and CLI.

About this tutorial

Multi-disk management for deploying workload includes the following major operations both using REST APIs and CLI:

  • Multiple disk support while deploying to system pool
  • Multiple disk support while deploying to host

This is the flow diagram for multi-disk management for deploying workload using IBM Systems Director VMControl.

Figure 1. Multi-disk management during workload deployment
Multi Disk management for virtual server

Objectives

The main objective of this tutorial is to help users understand the deployment of workload multi-disk functionality. It can help the users with some real-time examples for multiple disk support for the workload deployment operation.

Prerequisites

You should have IBM Systems Director V6.x.x installed on your system before proceeding. This tutorial assumes that you are familiar with using IBM Systems Director. It also assumes that you have a reasonable understanding of JavaScript Object Notation (JSON) and how to make HTTP GET, POST, PUT, and DELETE calls using your favorite HTTP client and a fair understanding of the smcli command of VMControl. This tutorial also assumes that you have a fair understanding of workload and virtual appliance resource of VMControl.

System requirements

You should have the following components on your system:

  • Installed and configured copy of IBM Systems Director
  • IBM Systems Director VMControl advanced manager activated
  • HTTP Client to run remote requests
  • Putty to run the CLI commands

Multiple disk support while deploying to system pool through REST APIs

List the customization to deploy without specifying the target:

List the default customization properties for this virtual appliance based on its Open Virtualization Format (OVF) descriptor. It is a helper method to be used when the user wants to retrieve customization for a deployment without knowing the target.

  • URL
    • https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/{virtualApplianceOID}/customization
  • HTTP method
    • GET
  • Sample request

    Get the virtualization properties available for virtual appliance with a unique ID 152498, without knowing the target:

    GET https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/152498/customization

    Listing 1. Sample response representation

List the customization to deploy with server system pool as the target:

Customization parameters are unique, platform-specific properties that allow a user to customize the action that the user is performing. Customization parameters are available in many different types, but are all specified in a similar fashion. Using the object identifier (OID) of virtual appliance and server system pool, make a GET request to the URL specified below. The result will be a list of customization properties that can be used to deploy a virtual appliance.

When deploying to a server system pool, VMControl first chooses the ideal host within the server system pool to be the target for deployment. This process uses the default values in the virtual appliance to determine the host that is best capable of supporting the deployment task. It can be influenced by using query parameters described in the virtualAppliances/{virtualApplianceOID}/targets/{targetOIDs}/customization resource.

The storagemapping table parameter is for server system pool deployment and this specifies storage information, such as disk size and storage connection type. Placement services will use this information to select a host that meets the specified storage requirements. Valid options for this query parameter can be retrieved from the storagemapping table that is returned by the get virtual appliance customization resource, as shown in Listing 1.

The user do not need to specify storage to map the disks to because all the disks were newly created from the storage pool associated with the system pool.

The following example shows the customization parameters in a typical IBM Power Systems™ environment. Customization parameters for other platforms [such as kernel-based virtual machine (KVM), IBM z/VM®, and so on] will be different.

  • URL
    • https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/{virtualApplianceOID}/targets/{targetsOID}/customization
  • HTTP method
    • GET
  • Sample request

    Get the virtualization properties available for virtual appliance with the unique ID 152498 and server system pool with the unique ID 316388 using the storagemapping table parameter:

    POST https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/152498/targets/316388/customization?storagemapping[1]=disksize:10240;storageconnection:NPIV,storagemapping[2]=disksize:5120;storageconnection:NPIV

    Listing 2 shows the customization properties for deploying to a server system pool.

    Listing 2. Sample response representation

Deploying to a server system pool:

This request is to create a workload by deploying a virtual appliance to a server system pool using deploymentplanid from the previous request.

  • URL
    • https://myserver:port/ibm/director/rest/VMControl/workloads
  • HTTP method
    • POST
  • Sample request

    Deploying a virtual appliance with a unique ID of 152498 to the server system pool with a unique ID of 316388:

    POST https://myserver:port/ibm/director/rest/VMControl/workloads

    Listing 3 shows the sample JSON for deploying a virtual appliance using deploymentplanid from the previous request.

    Listing 3. Sample request representation
    {
        "workload": {
            "virtualAppliance": 152498,
            "target": 316388,
            "properties": [
                {
                    "name": "deploymentplanid",
                    "value": "-7737393973484108783_00"
                },
                {
                    "name": "virtualnetworks[Discovered-1014-0]",
                    "value": "hostVnet:Discovered/2206/0/42990"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.system.networking.
    				domainname",
                    "value": "pokprv.stglabs.ibm.com"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.system.networking.
    				dnsIPaddresses",
                    "value": "10.20.0.2"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.system.networking.
    				hostname",
                    "value": "ip10-32-41-93"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.adapter.networking.
    				ipv4addresses.6",
                    "value": "10.32.41.93"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.system.networking.
    				ipv4defaultgateway",
                    "value": "10.32.41.1"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.adapter.networking.
    				ipv4netmasks.6",
                    "value": "255.255.255.0"
                }
            ]
        }
    }

    Listing 4 shows the sample response after running the above request.

    Listing 4. Sample response
    HTTP/1.1 201 OK
    Cache-Control: no-store
    Set-Cookie: JSESSIONID_ibm_console_80=0000btq85Q1wmv6RhWcipLAaP8F;Path=/;
    						Secure; HTTPOnly
    Expires: Thu, 01 Dec 1994 16:00:00 GMT
    Content-Type: application/octet-stream; charset=UTF-8
    Content-Length: 46
    Date: Tue, 10 Feb 2013 09:19:49 GMT
    Location: https://1.2.3.4:8422/ibm/director/rest/VMControl/workloads/19000
    Accept-Ranges: bytes
    Server: Noelios-Restlet-Engine/1.1.4
    Content-Language: en-US
    
    DNZEMW350I Workload [19000] creation started

Multiple disk support while deploy to host through REST APIs

List the customization to deploy with host as target:

Customization parameters are unique, platform-specific properties that allow a user to customize the action that the user is performing. Customization parameters are available in many different types, but are all specified in a similar fashion. Using the OID of the virtual appliance and host, make a GET request to the URL specified below. The result will be a list of customization properties that can be used to deploy a virtual appliance.

These customization parameters contain all the information required for completing a deployment to a host request. For a typical deployment, there are customization parameters for processor, memory, network, and storage. The customization parameters for deployment combine information from the host chosen for the deploy action and properties from the OVF descriptor file from the virtual appliance.

The following example shows the customization parameters for deployment in a typical Power Systems environment. Customization parameters for other platforms (such as KVM, z/VM, and so on) will be different.

Note: For more information about customization parameters, refer to the VMControl programming topics section of the IBM Systems Director 6.3.x SDK information center.

  • URL
    • https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/{virtualApplianceOID}/targets/{targetsOID}/customization
  • HTTP method
    • GET
  • Sample request

    Get the virtualization properties for deploying to host with a unique ID 29832:

    GET https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/152498/targets/29832/customization

    Listing 5. Sample response representation

Deploying to host:

This request is to create a workload by deploying a virtual appliance to a host using the storagemapping parameter table from the previous request.

  • URL
    • https://myserver:port/ibm/director/rest/VMControl/workloads
  • HTTP method
    • POST
  • Sample request

    Deploying a virtual appliance with a unique ID of 152498 to the host with a unique ID of 29832:

    POST https://myserver:port/ibm/director/rest/VMControl/workloads

    Listing 6 shows the sample JSON for deploying a virtual appliance to the host using the storagemapping parameter table.

    Listing 6. Sample request representation
    {
        "workload": {
            "virtualAppliance": 152498,
            "target": 29832,
            "properties": [
                {
                    "name": "storagemapping",
                    "value": "[1]=assignedStorage:poolstorages[35597];disksize:10240;
    						storageconnection:NPIV"
                },
                {
                    "name": "storagemapping",
                    "value": "[2]=assignedStorage:existingdisks[36017];disksize:5120;
    						storageconnection:NPIV"
                },
                {
                    "name": "virtualnetworks[Discovered-1014-0]",
                    "value": "hostVnet:Discovered/2206/0/42990"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.system.networking.
    						domainname",
                    "value": "pokprv.stglabs.ibm.com"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.system.networking.
    						dnsIPaddresses",
                    "value": "10.20.0.2"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.system.networking.
    						hostname",
                    "value": "ip10-32-41-93"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.adapter.networking.
    						ipv4addresses.6",
                    "value": "10.32.41.93"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.system.networking.
    						ipv4defaultgateway",
                    "value": "10.32.41.1"
                },
                {
                    "name": "product.vs0.com.ibm.ovf.vmcontrol.adapter.networking.
    						ipv4netmasks.6",
                    "value": "255.255.255.0"
                }
            ]
        }
    }

    Listing 7 shows the sample response after running the above request.

    Listing 7. Sample response
    HTTP/1.1 201 OK
    Cache-Control: no-store
    Set-Cookie: JSESSIONID_ibm_console_80=0000btq85Q1wmv6RhWcipLAaP8F;Path=/;
    						Secure; HTTPOnly
    Expires: Thu, 01 Dec 1994 16:00:00 GMT
    Content-Type: application/octet-stream; charset=UTF-8
    Content-Length: 46
    Date: Tue, 10 Feb 2013 09:29:48 GMT
    Location: https://1.2.3.4:8422/ibm/director/rest/VMControl/workloads/19002
    Accept-Ranges: bytes
    Server: Noelios-Restlet-Engine/1.1.4
    Content-Language: en-US
    
    DNZEMW350I Workload [19002] creation started

Multiple disk support while deploying to system pool through CLI

List the customization to deploy without specifying the target:

List default customization properties for this virtual appliance based on its OVF descriptor using the lsvacustomization smcli command. It is a helper method to be used when user wants to retrieve customization for a deployment without knowing the target.

Listing 8. Sample response representation
USERID@c612n18:~> smcli lsvacustomization -v -V 152498
Mon Feb 11 06:13:03 EST 2013  lsvacustomization Operation started.
cpushared
        Value:  1
        Increment:      0
        IncrementType:  LINEAR
        Description:

cpudedicated
        Value:  1
        Increment:      0
        IncrementType:  LINEAR
        Description:

cpumode
        Value:  SHARED
        Options:        SHARED,
                        DEDICATED
        Description:

memsize
        Value:  512
        Increment:      0
        IncrementType:  LINEAR
        Description:

memmax
        Value:  512
        Increment:      0
        IncrementType:  LINEAR
        Description:

memmin
        Value:  512
        Increment:      0
        IncrementType:  LINEAR
        Description:

existingdisks
        Min:    1
        Max:    0
        Description:

storagemapping
        Min:    0
        Max:    2
        Description:    The mapping table is the mapping of the disks required by the 
	virtual server created by the  deployed virtual appliance to a storage pool 
	(a row in the poolstorages table) from which the disk storage for the  new 
	virtual server will be allocated, or to an existing volume (a row in the 
	existingdisks table) that will be used  to provide the disk storage for the new 
	virtual server. If the virtual server requires multiple disks, then each  disk 
	must be mapped to a storage pool table row or to a unique existing volume table
	row using the mapping table.
        Changeable Columns:
                Column Name*    CLI Attribute
                Size (MB)       disksize
                Assigned Storage        assignedStorage
                Storage Connection      storageconnection

        Options:
        Key, Disk Name, Size (MB)*, Image, Assigned Storage*, Description, Storage 
                                                                           Connection*
        [1]     disk1   10240   True    Not assigned    Disk alpha      Not assigned
        [2]     disk2   5120    True    Not assigned    Disk beta       Not assigned

Mon Feb 11 06:13:04 EST 2013  lsvacustomization Operation took 0 seconds.
USERID@c612n18:~>

List the customization to deploy with server system pool as target:

Customization parameters are unique, platform-specific properties that allow a user to customize the action that the user is performing. Customization parameters are available in many different types, but are all specified in a similar fashion. Using the lscustomization smcli command with the OID of the virtual appliance and server system pool would provide a list of customization properties that can be used to deploy a virtual appliance.

When deploying to a server system pool, VMControl first chooses the ideal host within the server system pool to be the target of deploy. This process uses the default values in the virtual appliance to determine the host that is best capable of supporting the deploy task. It can be influenced by using query parameters described in the virtualAppliances/{virtualApplianceOID}/targets/{targetOIDs}/customization resource.

The storagemapping table parameter for the server system pool deployment specifies storage information, such as disk size and storage connection type. Placement services will use this information to select a host that meets the specified storage requirements. Valid options for this query parameter can be retrieved from the storagemapping table that is returned by the get virtual appliance customization resource, as shown in Listing 8.

The user do not need to specify storage to map the disks to because all the disks were created new from the storage pool associated with the system pool.

The following example shows the customization parameters in a typical Power Systems environment. Customization parameters for other platforms (such as KVM, z/VM, and so on) will be different.

Listing 9. Sample response representation

Listing 10 shows the actual deployment to server system pool operation using the deploymentplanid retrieved from the previous request.

Listing 10. Sample response representation
USERID@c612n18:~>smcli deployva -v -g 316388 -V 152498 -m -7736370255624263696_01 -a 
deploy_new -A "virtualnetworks[Discovered-1014-0]=hostVnet:Discovered/2206/0/42990,
product.vs0.com.ibm.ovf.vmcontrol.system.networking.domainname=pokprv.stglabs.ibm.com,
product.vs0.com.ibm.ovf.vmcontrol.system.networking.dnsIPaddresses=10.20.0.2,
product.vs0.com.ibm.ovf.vmcontrol.system.networking.hostname=ip10-32-41-93,
product.vs0.com.ibm.ovf.vmcontrol.adapter.networking.ipv4addresses.6=10.32.41.93,
product.vs0.com.ibm.ovf.vmcontrol.system.networking.ipv4defaultgateway=10.32.41.1,
product.vs0.com.ibm.ovf.vmcontrol.adapter.networking.ipv4netmasks.6=255.255.255.0"
Mon Feb 11 11:54:06 EST 2013  deployva Operation started.
Attempt to get the default customization data for deploy_new.
Attempt to get the deploy_new customization data.
Update collection with user entered attributes.
Attempt to validate the deploy request for 152498.
Attempt to deploy new.
Workload VA1_1765 was created.
Virtual server, ip10-32-41-93, added to workload, VA1_1765.
Workload, VA1_1765, is started.
Mon Feb 11 11:58:06 EST 2013  deployva Operation took 240 seconds.
USERID@c612n18:~>

Multiple disk support while deploying to host through CLI

List the customization to deploy with host as target:

Customization parameters are unique, platform-specific properties that allow a user to customize the action that the user is performing. Customization parameters are available in many different types, but are all specified in a similar fashion. Using the OID from the previous step, make a GET request to the URL specified below. The result will be a list of customization properties that can be used to deploy a virtual appliance.

These customization parameters contain all the information required for completing a deployment to a host request. For a typical deployment, there are customization parameters for processor, memory, network, and storage. The customization parameters for deployment combine information from the host chosen for the deploy action and properties from the OVF descriptor file from the virtual appliance.

The following example shows the customization parameters for deployment in a typical Power Systems environment. Customization parameters for other platforms (such as KVM, IBM z/VM, and so on) will be different.

Listing 11. Sample response representation

Listing 12 shows the actual deployment to host operation using the storagemapping table parameter. Deploy request is being executed using the deployva smcli command. We have assigned storage using poolstorages under the storagemapping parameter table. We have also set the disksize and the storageconnection values in the request.

Listing 12. Sample response representation
USERID@c612n18:~>smcli deployva -v -s 29832 -V 152498 -a deploy_new -A "storagemapping[1]
=assignedStorage:poolstorages[35597];disksize:10240;storageconnection:NPIV,
storagemapping[2]=assignedStorage:existingdisks[36017];disksize:5120;storageconnection:
NPIV,virtualnetworks[Discovered-1014-0]=hostVnet:Discovered/2206/0/42990,
product.vs0.com.ibm.ovf.vmcontrol.system.networking.domainname=pokprv.stglabs.ibm.com,
product.vs0.com.ibm.ovf.vmcontrol.system.networking.dnsIPaddresses=10.20.0.2,
product.vs0.com.ibm.ovf.vmcontrol.system.networking.hostname=ip10-32-41-93,
product.vs0.com.ibm.ovf.vmcontrol.adapter.networking.ipv4addresses.6=10.32.41.93,
product.vs0.com.ibm.ovf.vmcontrol.system.networking.ipv4defaultgateway=10.32.41.1,
product.vs0.com.ibm.ovf.vmcontrol.adapter.networking.ipv4netmasks.6=255.255.255.0"
Mon Feb 11 12:45:09 EST 2013  deployva Operation started.
Attempt to get the default customization data for deploy_new.
Attempt to get the deploy_new customization data.
Update collection with user entered attributes.
Attempt to validate the deploy request for 152498.
Attempt to deploy new.
Workload VA1_1811 was created.
Virtual server, ip10-32-41-93, added to workload, VA1_1811.
Workload, VA1_1811, is started.
Mon Feb 11 12:49:09 EST 2013  deployva Operation took 240 seconds.
USERID@c612n18:~>

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into AIX and Unix on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=AIX and UNIX, Linux
ArticleID=931102
ArticleTitle=Multi-disk management for IBM Systems Director VMControl: Part 3
publish-date=05282013