Extend Rational Quality Manager to manage lab assets in the cloud

Using Rational Test Lab Manager for test asset management in a virtual environment

By extending the Test Lab Manager component of IBM Rational Quality Manager, you can manage test assets in a virtual environment, such as a cloud. You can import up-to-date definitions of virtual images and machines to use them in your test lab, plus you can deploy new virtual machines on demand. This article describes how the IBM Tivoli Lab in Rome is piloting an integration of IBM Rational Quality Manager with IBM SmartCloud Provisioning Version 1.2, to help test teams improve productivity and cycle times and to make the software more cost-effective.

Share:

Pietro Marella (pietro.marella@it.ibm.com), Advisory Engineer, IBM

author photoPietro Marella joined IBM in 1991 and Tivoli in 1998 as a software engineer in the Rome Software Group Lab. He has worked for several years as a developer and designer of different products in the System Management portfolio, concentrating on centralized and distributed architecture. He is currently Test Architect in the Rome QA area, focusing on planning, test, and automation strategy.



12 June 2012

Also available in Chinese Portuguese

The context

IBM® Rational® Quality Manager is web-based test management software that gives quality assurance teams (QAT) the means to manage and track the complete QA lifecycle. It is a collaborative and customizable solution for teams to create and maintain test plans and test designs, execute manual or automated tests, manage goals and schedules, and track and report metrics about the health of the test phase, overall. As one of the Collaborative Lifecycle Management (CLM) applications, Rational Quality Manager connects with modules for managing requirements and defect reports (IBM® Rational® Requirements Composer and IBM® Rational® Team Concert™, respectively — see Resources for a link to more information about CLM).

Test Lab Manager is an embedded component of Rational Quality Manager that enables test teams to integrate management of test lab resources (virtual or physical) into their organization's quality management lifecycle.

Figure 1. Rational Quality Manager test cycle management
key actions for test management

IBM® SmartCloud Provisioning is a highly scalable, low-touch Infrastructure-as-a-Service (IaaS) offering that delivers computer infrastructure as a service by providing on-demand access to virtual machines and storage in the network.

This article describes a pilot project to integrate Rational Quality Manager with the IBM SmartCloud Provisioning by extending the Test Lab Manage capabilities, thereby accelerating test cycles with virtual machine management and test execution.


The architecture

The Tivoli Rome Lab has been gradually but widely adopting Rational Jazz technology-based approach to Collaborative Lifecycle Management (CLM), with a different level of maturity in the adoption of the different applications involved (Rational Team Concert, Rational Requirements Composer, and Rational Quality Manager). When this article was published, in 2012, our implementation was at the Version 3.0.1.1 level

Figure 2. Rational Jazz CLM architecture as implemented in the Tivoli Rome Lab
key components of the Jazz-based implementation

Larger view of Figure 2.

At the same time, a major effort to increase use of virtual environments for development and test activities, driven by cost reduction and efficiency improvement, was in place. Developers and testers can use an IBM SmartCloud Provisioning 1.2 system to request a virtual environment on demand. This makes them more efficient and effective, mainly because of the easier access, or increased availability, of the resources and the confidence fostered by starting from a clean environment.

With integration of Rational Quality Manager and IBM SmartCloud Provisioning, the Rome Tivoli Lab aimed to further increase the efficiency of the test teams by providing them with easy-to-use, virtualized access to test lab resources for a full integration of lab management in the test definition and execution cycle.

Figure 3. Extended Rational CLM architecture as implemented
key components in Rome Lab IT

Larger view of Figure 3.


A first look at Test Lab Manager in Rational Quality Manager

Managing test lab resources is one of the capabilities that Rational Quality Manager integrates for end-to-end test management. Being able to define your test environments and link them to the test cases gives you full traceability of your test execution, helps you understand any coverage issues, and enables a more efficient use of the resources, because you can track and administer your lab resources by using reservations, organizing them by group and so on.

The first step is to make sure that Rational Quality Manager recognizes your lab resources. The basic way is to either create lab resource definitions manually or import their definition from an external file. A more advanced method is to use the Rational Quality Manager capability to integrate with discovery and provisioning tools.

Rational Quality Manager can be deployed with IBM® Tivoli® software — such as Tivoli Service Request Manager, Tivoli Application Dependency Discovery Manager, and Tivoli Provisioning Manager — to provide request fulfillment, inventory awareness, and automation (see the "Rational Quality Manager and Tivoli" link in Resources for details). Such an integration is performed by means of adapters that can be invoked by using the Rational Quality Manager web UI to trigger operations on these applications.


An overview of adapters

Adapters are implementations of specific interfaces provided by Rational Quality Manager for extensions. There are three types of adapters that can be implemented to extend lab management capabilities:

Inventory
To integrate Rational Quality Manager with external applications that have inventory capability. With this integration, the lab manager can update lab resource data to display the latest lab resource configurations and new lab resources.
 
Automation
To integrate Rational Quality Manager with external applications that have automation capability. With such integrations, the lab manager can run scripts, projects, or libraries that are configured in the external applications on remote lab resources
 
Virtualization
To integrate Rational Quality Manager with an external application that manages virtual images and virtual machines.
 

These adapters are all known as Lab Manager adapters, so that we can differentiate them from another special adapter type to extend test script execution automation.


Integrate the SmartCloud Provisioning virtualization adapter

The scope of the SmartCloud Provisioning adapter is to perform these tasks:

  • Implement a virtualization adapter to integrate Rational Quality Manager with a virtualization engine (IBM SmartCloud Provisioning)
  • Discover virtual image definition
  • Deploy new virtual machines, starting from the virtual images discovered
  • Discover virtual machine data
  • Run automation tasks on the virtual machine

The subsections that follow explain, in a few steps, how to use the fully integrated adapter in Rational Quality Manager 3.0.

Configuring the virtualization adapter

Once installed, adapters need to be declared to the Rational Quality Manager by adding a specific section in the Integration_configuration.xml file, which is usually hosted in the RQM installation path\server\conf\qm directory.

The new section defines the SmartCloud Provisioning for the Rational Test Lab Manager integration adapter as an implementation of the automation adapter (automationExtensionId) and the virtualization adapter (virtualizationExtensionId). The first interface allows Rational Quality Manager to invoke synchronization with IBM SmartCloud Provisioning to import virtual images and machine definitions into the Rational Quality Manager database. The latter allows it to invoke tasks (automations) on resources discovered or deployed by the adapter.

In the instance of the code in Listing 1, you can see the configuration details for the adapter, which you can modify and update based on your needs:

projectArea
Defines a link with a specific project in Rational Quality Manager that will be the only one entitled to interact with the adapter
 
hostname and port
Define where the SmartCloud Provisioning CLI server resides and which port to use for communication
 
credential section
Provide the username and password to be used to establish the communication with the SmartCloud Provisioning server
 
options section
Specify the keystore file name that contains the user private key to be used to invoke the SmartCloud Provisioning API
 

Note about abbreviations:

In code, file names, or paths:

  • RQM = Rational Quality Manager
  • RTLM = Rational Test Lab Manager
  • SCP = SmartCloud Provisioning
Listing 1. The adapter configuration
<adapter>
    <name>SCP RTLM Integration Adapter</name>
    <version>1.0</version>
	<APIVersionSupported>1.0</APIVersionSupported>   
    <automationExtensionId>
        com.ibm.tivoli.scp.rtlm.spi.automation.SCPAutomationSPI
    </automationExtensionId>       
    <virtualizationExtensionId>
        com.ibm.tivoli.scp.rtlm.spi.virtualization.SCPVirtualizationSPI
    </virtualizationExtensionId>   
    <pluginId>com.ibm.tivoli.scp.rtlm.spi</pluginId>
    <instance>
       	<instanceId>SCPAdapter</instanceId>
	<projectArea>my project</projectArea>
	<service>SCP.</service>
	<hostname>my server name</hostname>
        <port>5678</port>
	<credential>
        	<username>scpuser</username>
		<password>password</password>
        </credential>
        <options>
		<keyfile>scpuser_pkcs8.key</keyfile>
      	</options>
      </instance>
 </adapter>

Using the virtualization adapter

To complete installation of the virtualization adapter, you need to restart Rational Quality Manager.

After the adapter is installed and loaded in Rational Quality Manager, you can import the image templates defined in the SmartCloud Provisioning server and then sync them with the virtual machines already provisioned. The next steps explain how to do this.

Synchronize SmartCloud Provisioning to import image templates

You can synchronize with the virtualization adapter from the All Inventory History panel (see Figure 4).

  1. In the left navigation panel, click the Lab Management icon Lab Management iconand then select All Inventory History from the drop-down menu.
Figure 4. Show All Inventory History
screen capture of Navigation menu
  1. Click the Synchronize button at the right of the All Inventory History panel (Figure 5) to start the process to import virtual images and virtual machines from SmartCloud Provisioning.
Figure 5. Start important the virtual lab resources
Synchronize button, All Inventory History panel
  1. At the end of the synchronization, you should see the complete list of the images and virtual machines imported (see Figure 6). Rational Quality Manager can recognize them as either New or Update assets.

Note:
Virtual image collections and virtual machines collections are not covered in this article

Figure 6. Imported virtual lab resources
Inventory shows lists of images, virtual machines

Larger view of Figure 6.


How to deploy a new virtual machine as a lab resource

After you have imported virtual images definitions from SmartCloud Provisioning, you can operate on them. The very basic operation that you can do is to ask for a new virtual machine to be deployed.

  1. In the left navigation panel, click the Lab Management icon Lab Management icon and select View Lab Resources
Figure 7. View Lab Resources option
Rational Quality Manager Navigation menu
  1. In the View Lab Resources panel, open the View Builder editor.
  2. Refine the search by selecting the Virtual Image type (Figure 8), and click the Run button to start the search.
Figure 8. Refine search to list only virtual Images
View Lab Resources panel, View Builder editor

As Figure 9 shows, all of the virtual images defined in Rational Quality Manager through the SmartCloud Provisioning adapter will be listed.

Figure 9. List of all of the virtual image lab resources
View Lab Resources pane results list

Larger view of Figure 9.

  1. Select the virtual image that you want to deploy for a new virtual machine, and click the Deploy button Deploy icon that should be active on the top-right of the screen (see Figure 10).

Notice that general information, such as the image type and the tool that owns it, and some more specific details about the operating system of the image, such as the operating system level and the OS architecture, have been discovered and registered in Rational Quality Manager.

Figure 10. Virtual image details window
screen capture shows image detail and Deploy icon

Larger view of Figure 10.

The deployment operation is monitored from Rational Quality Manager in the in the Deployment Operations section (Figure 11) of the All Inventory History panel.

Figure 11. Deployment monitoring panel
Deployment operation tracking

Larger view of Figure 11.

You can check the SmartCloud Provisioning console to verify that the deployment operation has been performed. Figure 12 shows that new virtual machine (VM) with an RQMProject suffix has being provisioned.

Figure 12. The SmartCloud Provisioning admin console
SmartCloud Provisioning GUI shows deployed VMs

Larger view of Figure 12.

  1. Back in Rational Quality Manager, from the View Lab Resources panel, open the View Builder editor again.
  2. Refine the search by selecting the Virtual Machines type, and click the Run button to start the search.

Among the listed virtual machines, you'll find the one just deployed. From this point on, you can add this new virtual machine in any test cell that you need to link to a test case execution.

Figure 13. View all virtual machine lab resources
View Lab Resource screen shows newly deployed VM

Larger view of Figure 13.

A more sophisticated deployment using automated tasks

Deployment of a virtual image usually requires you to specify some parameters (in SmartCloud Provisioning, for example, you need to define the VM size). You will have noticed, on the contrary, that the built-in deployment operation in Rational Quality Manager does not provide any feature to specify any characteristic for the virtual machine that you are going to request.

The SmartCloud Provisioning adapter overcomes this limit by providing tasks (automations) for this scope (you can add others, too, such as actions to start or stop a deployed virtual machine or to take a snapshot). You can easily invoke the automated task in Rational Quality Manager:

  1. From the left navigation panel, click the Lab Management icon Lab Management icon and select All Automations from the drop-down menu.
Figure 14. Select the All Automations view
Navigation menu, All Automations selected
  1. In the Automations section, you will be presented with all of the available automations (automated tasks) supported by the adapter. In this example (Figure 15), it is only the DeployVirtualMachine task exposed by the SmartCloud Provisioning adapter
Figure 15. List all of the automated tasks available, by adapters
All Automations view shows tasks available to run

Larger view of Figure 15.

  1. The Available Machines for Automation section will list all of the available resources (machines) discovered by the adapter that you can run an automation task against.
Figure 16. List all available machines for the automations
Available Machines for Automation list

Larger view of Figure 16.

  1. For this example, select the SCP.DeployedVirtualMachine automation.

The panel will show all and only the resources discovered by the SmartCloud Provisioning adapter, which are the only resources authorized for this task.

  1. Select the image that you want to deploy from among the ones available.
Figure 17. Specify which image to deploy
Available automations and machines

Larger view of Figure 17.

  1. Click the RunRun icon icon to start deployment.
  2. Next, you will be prompted to fill in the required parameters in the Properties pop-up window. This window can be customized according to the adapter and can provide default values. In this example, you can specify the email address to be notified and the size of the VM.
Figure 18. Enter the parameters for the deployment tasks
Properties window

Larger view of Figure 18

Again, you can look at the SmartCloud Provisioning console to verify that the deployment operation has really been performed. In Figure 19, notice that a new virtual machine (RQMProject_2121_03_21:04.13) is going to be deployed by SmartCloud Provisioning.

Figure 19. Another look at the SmartCloud Provisioning admin console
SmartCloud Provisioning UI shows new deployed VM

Larger view of Figure 19.


Using a virtual machine with Rational Quality Manager

Figure 20 gives you a closer look at the lab resource that you just created.

Figure 20. Details of a lab resource representing a virtual machine
screen capture virtual lab resource detail

Larger view of Figure 20.

At this level of the adapter implementation, the lab resource reports the base information about the virtual machine: the IP address, the hostname, and the operating system. More information can be included in the lab resource definition, such as the kernel architecture and resource capacity (CPU, RAM, and disk).

As an example, suppose that you plan to run a build verification test of your system under test (SUT) on a Linux machine. You would have defined a test environment in Rational Quality Manager for your test. A test environment is a set of lab resource attributes, such as operating system and software for a particular set of machines. It describes the environment where you will run your test. With this scenario, your test environment will look like Figure 21.

Figure 21. Test environment definition
screen capture definition of a test environment

Larger view of Figure 21.

This test environment is composed of a single lab resource, and the only specification is that the operating system is Red Hat Linux.

  1. Now you need to instantiate a test cell. A test cell is a collection of lab resources, such as physical and virtual machines with specific hardware and software configurations that match the requirements of a specific test environment. Teams or individual testers can reserve the cell to run tests.
Figure 22. Assign a lab resource to a test cell (Step 1)
screen capture, definition of a test cell

Larger view of Figure 22.

  1. Now you need to assign a real resource to the test cell. Click on the Assign Lab ResourceAssign Lab Resource icon icon, and Rational Quality Manager will find a resource with characteristics required among the resources it can recognize.

As Figure 23 shows, it picks up the just-deployed virtual machine.

Figure 23. Assign a lab resource to a test cell (Step 2)
Resource Name circled in screen capture

Larger view of Figure 23.

  1. Now, as a final example, look at a lab resource that represents a virtual machine that you have just deployed. Notice that the lab resource contains the most significant information about the VM: the IP address and the operating system.

Summary

As already outlined, the SCP adapter has been developed as part of a pilot project, which is still on-going. Not all of the IBM SmartCloud Provisioning features have been exploited in this adapter, which still has some limitations (for example, the management of the user access id and private key for the server connection, or usage of the adapter from multiple projects). Nevertheless, we have had positive feedback in terms of effectiveness with this integration from our test teams. This feedback encourages us to continue to invest in such direction.

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 Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational, Tivoli, Cloud computing, DevOps
ArticleID=816285
ArticleTitle=Extend Rational Quality Manager to manage lab assets in the cloud
publish-date=06122012