Skip to main content

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

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

All information submitted is secure.

  • Close [x]

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.

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

All information submitted is secure.

  • Close [x]

developerWorks Community:

  • Close [x]

IBM Systems Director VMControl resource lifecycle management: part 3

Remote image deployment lifecycle management using the VMControl REST APIs

Piyush Jain (piyushjain@in.ibm.com), Staff Software Engineer, IBM  
author photo
Piyush Jain is a Staff Software Engineer at IBM currently working on VMControl under IBM Systems Director, a critical product in IBM's product portfolio. He has an overall experience of around 6 years and holds a bachelor's degree in Information Technology Engineering from IET Alwar, Rajasthan India. You can contact him at piyushjain@in.ibm.com
(An IBM developerWorks Contributing Author)
Nicholas Schambureck (nschambu@us.ibm.com), Advisory Software Engineer, IBM
Photo of Nick
Nick Schambureck is an Advisory Software Engineer and Team Leader for the IBM Systems Director VMControl command-line interface and REST API team. He has been working with the project since its inception.
Poornima Soundararajan (poornima.s@in.ibm.com), Staff Software Engineer, IBM
Photo of Poornima
Poornima Soundararajan is working as a Staff Software Engineer for the IBM Systems Director VMControl advanced manager. Poornima has more than 7 years of experience in Java/J2EE technologies.
Aparna Khare (apakhare@in.ibm.com), System Software Engineer, IBM
Photo of Aparna
Aparna Khare is working as a System Software Engineer for the IBM Systems Director VMControl advanced manager. Aparna has 4 years of experience in Java/J2EE technologies.

Summary:  IBM® Systems Director is a platform management solution that is used to manage physical and virtual systems in a multisystem environment. It supports various virtualization technologies and multiple operating systems across IBM and non-IBM platforms. IBM Systems Director VMControl™ is an advanced manager of IBM Systems Director, a free-to-own set of platform management tools. This tutorial is part of a series on VMControl resource lifecycle management. This tutorial explains the image deployment lifecycle using the VMControl Representational State Transfer (REST) application programming interfaces (APIs).

View more content in this series

Date:  29 Jan 2013
Level:  Intermediate PDF:  A4 and Letter (415 KB | 22 pages)Get Adobe® Reader®

Activity:  18998 views
Comments:  

List the customization to deploy

List the available virtual appliances for deployment

The first step in listing the deploy customization is to retrieve a list of virtual appliances. A virtual appliance is an operating system image and metadata that is capable of being remotely installed (deployed) on a new or existing virtual server. Select the appropriate virtual appliance from the list and save the value of its object ID (OID) property. This value will be used in the next request.

Note: The URLs in these examples will all start with https://myserver:port. You should replace myserver with the hostname or IP address of the system where VMControl resides and replace the port number with the secure port used when installing IBM Systems Director. The default value for the secure port is 8422.

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

    Get the list of all virtual appliances:

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



    Listing 1. Sample response representation
            
    {
      "uri": "/ibm/director/rest/VMControl/virtualAppliances",
      "candidates": {"uri": "/ibm/director/rest/VMControl/virtualAppliances/candidates"},
      "virtualAppliances": [
        {
          "name": "Capture GM",
          "properties": {},
          "uri": "/ibm/director/rest/VMControl/virtualAppliances/12927",
          "oid": 12927
        },
        {
          "name": "capture",
          "properties": {},
          "uri": "/ibm/director/rest/VMControl/virtualAppliances/18729",
          "oid": 18729
        }
      ]
    }
    

List the targets for deployment

The next step is to list the target for deploy using the OID of the virtual appliances from the first request. A target can be a host, a server system pool, or a virtual server.

When selecting a host or a server system pool as a target, VMControl creates a new virtual server and deploys the virtual appliance to that virtual server. When selecting a virtual server, VMControl deploys the virtual appliance to that virtual server. You need to select the appropriate target from the list and save the value of its OID property. This value will be used in the next request.

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

    Get the list of targets for a virtual appliance with OID 18729:

    GET https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/18729/targets



    Listing 2. Sample response representation
            
     {
      "targets": [
        {
          "name": "ip10-32-41-132_sles11SP1_10g",
          "customization": {"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729
    						/targets/13952/customization"},
          "type": "virtualServer",
          "system": {"uri": "/ibm/director/rest/VMControl/virtualServers/13952"},
          "uri": "/ibm/director/rest/VMControl/virtualAppliances/18729/targets/13952",
          "oid": 13952
        },
        {
          "name": "sysPool1",
          "customization": {"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729
    						/targets/18997/customization"},
          "type": "systemPool",
          "system": {"uri": "/ibm/director/rest/VMControl/systemPools/18997"},
          "uri": "/ibm/director/rest/VMControl/virtualAppliances/18729/targets/18997",
          "oid": 18997
        },
        {
          "name": "Server-8406-70Y-SN10E5A0A",
          "customization": {"uri": "/ibm/director/rest/VMControl/virtualAppliances/18729
    						/targets/16223/customization"},
          "type": "host",
          "system": {"uri": "/ibm/director/rest/VMControl/hosts/16223"},
          "uri": "/ibm/director/rest/VMControl/virtualAppliances/18729/targets/16223",
          "oid": 16223
        }
      ],
      "uri": "/ibm/director/rest/VMControl/virtualAppliances/18729/targets"
    }
    


Get deploy to host or existing virtual server customization

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.

This example shows the customization parameters when deploying to a host on the Power Systems™ server. There is an example further below for deploying to a server system pool. There is no example for deploying to an existing virtual server; it will contain a subset of the deployment to host properties related to network and storage.

These customization parameters contain all the information required for completing a deployment to 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 Open Virtual Machine Format (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 kernel-based virtual machine [KVM], IBM 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/{targetOIDs}/customization
  • HTTP method
    • GET
  • Sample request

    Listing the customization properties to deploy a virtual appliance with unique ID 18729 to the host with a unique ID of 16223:

    GET https://myserver:port/ibm/director/rest/VMControl/virtualAppliances/18729/targets/16223/customization



    Listing 3. Sample response representation
    View listing 3

List the customization properties for deploying to server system pool

Customization parameters are unique, platform-specific properties that allow a user to customize the action they are 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.

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. For more information about valid query parameters for this request, refer to the virtualAppliances/{virtualApplianceOID}/targets/{targetOIDs}/customization resource page in the IBM Systems Director 6.3.x SDK information center.

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.

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

    Listing the customization properties to deploy a virtual appliance with a unique ID of 18729 to the server system pool with a unique ID of 18997, where resulting virtual server will have remote restart capabilities enabled:

    Note: Values specified here for the query parameters cannot be overridden on the deploy request.

    GET https://myserver:port/ibm/director/rest/VMControl/ virtualAppliances/18729/targets/18997/customization?desiredCPU=3&remoteRestartCapable=true



    Listing 4. Sample response representation
    View listing 4

2 of 8 | Previous | Next

Comments



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=AIX and UNIX, Linux
ArticleID=855728
TutorialTitle=IBM Systems Director VMControl resource lifecycle management: part 3
publish-date=01292013
author1-email=piyushjain@in.ibm.com
author1-email-cc=nissler@us.ibm.com
author2-email=nschambu@us.ibm.com
author2-email-cc=
author3-email=poornima.s@in.ibm.com
author3-email-cc=nissler@us.ibm.com
author4-email=apakhare@in.ibm.com
author4-email-cc=nissler@us.ibm.com