Using Rational Quality Manager to manage lab assets in virtual environments

Extending IBM Rational Test Lab Manager for test asset management

By extending the IBM® Rational® 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 for use in your test lab and deploy new virtual machines on demand. This article describes how the IBM Tivoli® Lab in Rome is piloting an integration of Rational Quality Manager with IBM® Tivoli® Service Automation Manager 7.2.2.1 to help test teams improve productivity, cycle times, and cost effectiveness.

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.



Torsten Schlegel (torsten.schlegel@de.ibm.com), IT Specialist, IBM

author photoTorsten Schlegel is a software engineer in the IBM Germany Research & Development Lab in Boeblingen. He joined IBM in 1996 and worked several years on customer projects as an application developer. Torsten was a member of the Tivoli Service Automation Manager development team, where he focused on the automation and integration of internal development, build, and test processes. In 2013 he joined the SmartCloud Orchestrator development team.



12 August 2013

Also available in Chinese

Rational Quality Manager is web-based test management software that provides quality assurance teams with the means to manage and track the entire quality life cycle. It is a collaborative and customizable solution for creating and maintaining test plans and designs, executing manual or automated tests, managing goals and schedules, and tracking and reporting metrics about the health of the test phase overall.

As part of the IBM® Rational solution for Collaborative Lifecycle Management (CLM), Rational Quality Manager includes modules for requirement and defect management. Using Test Lab Manager, an embedded component of Rational Quality Manager, test teams can integrate 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

With Tivoli Service Automation Manager, you can orchestrate hardware resources to establish cloud environments. This software supports a hypervisor for automated server provisioning so you can realize on-demand hardware use and prevent resources from idling.

This article updates and expands on Pietro Marella's Extend Rational Quality Manager to manage lab assets in the cloud, which demonstrated how to integrate IBM Rational Quality Manager with IBM SmartCloud Provisioning Version 1.2. This earlier pilot project of the IBM Tivoli Lab in Rome has been expanded with the work of Torsten Schlegel to show how Rational Quality Manager integrates with the Tivoli Service Automation Manager by extending Test Lab Manager capabilities, thus accelerating test cycles with virtual machine management and execution. This effort is a joint effort between QA teams in Rome and Boeblingen.

The architecture

The Tivoli Rome lab has been gradually but widely adopting IBM Rational® Jazz™ for CLM, with a different level of maturity for each application (IBM® Rational Team Concert,™ IBM® Rational® Requirements Composer, and Rational Quality Manager). When we first described our methods and outcomes in May 2012, we had used the 3.0.1.1 implementation. See Figure 2:

Figure 2. Architecture as implemented in the Tivoli Rome lab
key components of the Jazz-based implementation

To reduce costs and improve efficiency, there's been a major effort to increase the use of virtual environments for development and test activities. Developers and testers can use an IBM Tivoli Service Automation Manager 7.2.2.1 system to request virtual environments on demand, making their jobs more efficient and effective. This efficiency is gained primarily because of the increased availability of resources and the confidence fostered by starting from a clean environment.

By integrating Rational Quality Manager and IBM Tivoli Service Automation Manager, the Rome Tivoli lab aimed to increase the efficiency of the test teams even more. This integration of the lab management would give the teams easy-to-use virtualized access to test lab resources in the test definition and execution cycles.

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

Test lab management in Rational Quality Manager

The management of test lab resources is one of the capabilities that Rational Quality Manager integrates for end-to-end test management. Defining your test environments and linking them to the test cases gives you full traceability of your test execution and helps you understand coverage issues. You can also make more efficient use of your resources because you can track and administer them by using reservations, organizing them by group, and so on.

The first step to managing lab assets in virtual environments is to make sure that Rational Quality Manager knows about them. The basic way to do this is to create lab resources definitions manually or import their definitions from an external file.

A more advanced way is to leverage the Rational Quality Manager capability to integrate with discovery and provisioning tools. You can perform this kind of integration with adapters that can be invoked through the Rational Quality Manager Web UI to trigger operations on these products.


An overview of adapters

Adapters are implementations of specific interfaces for extensions. There are three types of adapters that can extend lab management capabilities:

Inventory adapters
Inventory adapters 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 adapters
Automation adapters 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 adapters
Virtualization adapters integrate Rational Quality Manager with an external application that manages virtual images and virtual machines.
 

These adapters are known as Lab Manager adapters so that you can differentiate them from other adapter types that extend test script execution automation.


The IBM Tivoli Service Automation Manager adapter

The IBM Tivoli Service Automation Manager adapter performs several tasks. It can:

  • Implement a virtualization adapter to integrate Rational Quality Manager with a virtualization engine (the IBM Tivoli Service Automation Manager)
  • Discover virtual image definition
  • Deploy new virtual machines, starting from the virtual images discovered
  • Discover virtual machine details
  • Operate on virtual machines (start, stop or backup, and restore)
  • Run automation tasks on the virtual machine or provision software on them (when available)

Next, you'll see how to use the fully integrated adapter in Rational Quality Manager 3.0.


The REST client for Tivoli Service Automation Manager

The Tivoli Service Automation Manager adapter uses a REST client to create REST API requests to control the Tivoli Service Automation Manager without using the Self-Service user interface. The REST client is a single JAR file consisting of several parts. It can run standalone, or it can be linked to other Java applications. In this case, the REST client API is called directly. See Figure 4:

Figure 4. The Tivoli Service Automation Manager REST client components stack
components stack view for the TSAM RESTful client

Configure the virtualization adapter

For the Rational Quality Manager to recognize the new adapter, you need to add a specific section in the Integration_configuration.xml file. This file is usually hosted in this directory:

RATIONAL QUALITY MANAGER installation path\server\conf\qm

The new section defines the IBM Tivoli Service Automation Manager adapter as an implementation of the virtualization adapter (virtualizationExtensionId) and the automation adapter (automationExtensionId). virtualizationExtensionId invokes synchronization with the IBM Tivoli Service Automation Manager to import virtual images and machine definitions in the Rational Quality Manager database. It also deploys a new virtual machine, so you can invoke tasks, or automations, on resources discovered or deployed by the adapter.

Listing 1 shows the configuration details for the adapter (abbreviations used here are RQM = Rational Quality Manager, RTLM = Rational Test Lab Manager, and TSAM = IBM Tivoli Service Automation Manager):

Listing 1. The adapter configuration
<adapter>
   <name>TSAM RTLM Integration Adapter</name>
   <version>1.0</version>
   <APIVersionSupported>1.0</APIVersionSupported>
   <automationExtensionId>com.ibm.tivoli.sa.rtlm.spi.automation.SAAutomationSPI
            </automationExtensionId>
   <virtualizationExtensionId>com.ibm.tivoli.sa.rtlm.spi.virtualization.
            SAVirtualizationSPI</virtualizationExtensionId>
   <pluginId>com.ibm.tivoli.sa.rtlm.spi</pluginId>
   <instance>
      <instanceId>TSAMadapter</instanceId>
      <projectArea>SPA PerformanceRome</projectArea>
      <hostname>nc112213.romelab.it.ibm.com</hostname>
      <port>9443</port>
      <credential>
         <username>admin user</username>
         <password>admin pwd</password>
      </credential>
      <details>
         <hypervisor>%2Fcloud%2Frest%2Fpools%2F0%2F</hypervisor>
         <version>tsam7221</version>
      </details>
      <options>
         <customer>PMRDPCUST</customer>
      </options>
   </instance>
</adapter>

You can also modify and update the configuration details for the adapter based on your needs. Examples include:

projectArea
Defines a link with a specific project in Rational Quality Manager that is the only one entitled to interact with the adapter
 
hostname and port
Define where the IBM Tivoli Service Automation Manager server resides and which port to use for communication
 
credential
Provides the username and password to be used to establish the communication with the IBM Tivoli Service Automation Manager server
 
details
Provides the version of IBM Tivoli Service Automation Manager and the sequence number of the Cloud Server Pool. This number could be determined in Maximo > Go To >Service Automation > Configuration > Cloud Server Pool Administration (tab Cloud Server Pool. For example, here the sequence number is the 0: %2Fcloud%2Frest%2Fpools%2F0%2F
 
options
Provides the customer name. The Cloud Customer Administration application (Maximo > Go To >Service Automation > Configuration > Cloud Server Pool Administration) assigns hardware to a customer. Only resources assigned to the customer could be orchestrated by the customer.
 

Using the virtualization adapter

To complete the installation of the virtualization adapter, you need to restart Rational Quality Manager. When that's complete, you can import the image templates defined in the IBM Tivoli Service Automation Manager server and sync them with the virtual machines you provisioned. The next steps explain how to do this.

Synchronize IBM Tivoli Service Automation Manager to import image templates

You can synchronize with the virtualization adapter from the All Inventory History panel. In the left navigation panel, click theLab Management icon and select All Inventory History from the drop-down menu (see Figure 5).

Figure 5. Show All Inventory History
screen capture of Navigation menu

Click the Synchronize button at the right of the All Inventory History panel to import virtual images and virtual machines from IBM Tivoli Service Automation Manager. See Figure 6.

Figure 6. Import the virtual lab resources
Synchronize button, All Inventory History panel

At the end of the synchronization, you should see the complete list of the images and virtual machines imported. Rational Quality Manager can recognize them as either New or Update assets. See Figure 7.

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

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


Deploy a new virtual machine as a lab resource

After you have imported the virtual image definitions from IBM Tivoli Service Manager, you can operate on them. The most basic operation is deploying a new virtual machine. To do this,

go to the left navigation panel, click theLab Managementicon, and selectView Lab Resources. See Figure 8.

Figure 8. View Lab Resources option
Rational Quality Manager navigation menu

In the View Lab Resources panel, open the View Builder editor. Refine the search by selecting the Virtual Image type, and click Run to start the search. See Figure 9.

Figure 9. Refine the search to list only virtual images
View Lab Resources panel, View Builder editor

Now all the virtual images defined in Rational Quality Manager through the Tivoli Service Automation Manager adapter are listed. Select the virtual image that you want to deploy for a new virtual machine and click Deploy. That button should be active on the top-right of the screen. See Figure 10.

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

Notice that general information has been discovered and registered in Rational Quality Manager. This information includes the image type and the tool that owns it. You can also see details about the operating system of the image, such as the operating system level and architecture. See Figure 11.

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

You can monitor the deployment operation in Rational Quality Manager within the Deployment Operations section in the Inventory History panel. See Figure 12.

Figure 12. Deployment monitoring panel
Deployment operation tracking

Double-check the IBM Tivoli Service Automation Manager user console to verify that the deployment operation has been performed. Figure 13 shows that a new "VMware project" has been started.

Figure 13. The Tivoli Service Automation Manager user console
TSAM Console shows project started

To see the newly deployed virtual machine, go back to Rational Quality Manager. From the View Lab Resources panel, open the View Builder editor again. Refine the search by selecting the Virtual Machines type, and click Run 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. See Figure 14.

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

A more sophisticated deployment using automated tasks

The deployment of a virtual image usually requires you to specify parameters such as reservation time frame or virtual machine capacity (CPU, RAM, and disk). However, the built-in deployment operation in Rational Quality Manager does not provide any feature to specify any characteristic for the virtual machine that you request.

The IBM Tivoli Service Automation Manager adapter overcomes this limitation by providing tasks, or 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.

From the left navigation panel, click theLab Managementicon and selectAll Automations from the drop-down menu. See Figure 15.

Figure 15. Select the All Automations view
Navigation menu, All Automations selected

All of the available automations supported by the adapter are listed in the Automations section.

  • StopVirtualMachine
  • BackupVirtualMachine
  • DeployVirtualMachine
  • RestoreVirtualMachine
  • StartVirtualmachine

Other automations could be provided with the adapter to cover all the functionality available from Tivoli Service Automation Manager. See Figure 16.

Figure 16. List all automated tasks available, by adapters
All Automations view shows tasks available to run

Such automation tasks are then applied to a specific resource, depending on the task. For example, DeployVirtualmachine applies to the virtual image resource (highlighted in yellow in Figure 17. List all available machines for the automations7), while all the others (Start, Stop, Backup, and Restore) apply to a virtual machine resource (highlighted in red in Figure 17. List all available machines for the automations7). The Available Machines for Automation section lists all the available resources (images and machines) discovered by the adapter that you can run an automation task against. Making the right distinction and association when running an automation task is up to the user.

Figure 17. List all available machines for the automations
Available Machines for Automation list

Next, you want to specify which image to deploy. From the list of available automations to run, select the TSAM.DeployVirtualMachine automation. The panel shows all the resources that the Tivoli Service Automation Manager adapter discovered, and these resources are the only resources authorized for this task.

Select the image you want to deploy from among the ones available (be sure to select a virtual image, or you will get an error). See Figure 18.

Figure 18. Specify which image to deploy
Available automations and machines

Click the Run icon to start deployment. 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 the default. In this example, you can specify the reservation time frame; the capacity of the virtual machine to deploy in terms of CPU, RAM, and disk; and an email address to be notified when the deployment finishes. See Figure 19.

Figure 19. Enter parameters for the deployment tasks
Properties window

Using a virtual machine with Rational Quality Manager

Now you can take a closer look at the lab resource that you just created. See Figure 20.

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

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

Suppose that you plan to run a build verification test of your system under test (SUT) on a Linux machine. In Rational Quality Manager, define a test environment — a set of lab resource attributes, such as the operating system and software for a particular set of machines. Our test environment is composed of a single lab resource, and the only specification is that the operating system is Red Hat Linux. With this scenario, your test environment looks like Figure 21.

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

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. The cell can be reserved for teams or individual testers. See Figure 22.

Figure 22. Define a test cell
screen capture, definition of a test cell

Now you need to assign a real resource to the test cell. When you click on the Assign Lab Resource icon, Rational Quality Manager finds a resource with the required characteristics among the resources it can recognize. As Figure 23 shows, Rational Quality Manager picks up the just-deployed virtual machine.

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

Now look at a lab resource that represents a virtual machine that you just deployed. Notice that the lab resource contains the most significant information about the virtual machine: the IP address and the operating system.


Conclusion

Integrating Rational Quality Manager with Tivoli Service Automation Manager 7.2.2.1 can help test teams improve productivity, cycle times, and cost effectiveness. This article shows how, by extending the Rational Test Lab Manager component of Rational Quality Manager, you can manage test assets in a virtual environment. You can import up-to-date definitions of virtual images and machines for use in your test lab, and deploy new virtual machines on demand. Finally, with the Tivoli Service Automation Manager REST client, you can control the life cycle of test machines without manual intervention. Using the Self-Service user interface, no manual interaction is necessary to provision or deprovision virtual systems.

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, DevOps
ArticleID=939598
ArticleTitle=Using Rational Quality Manager to manage lab assets in virtual environments
publish-date=08122013