SAM Tools

From Gcube Wiki
Revision as of 15:35, 17 August 2010 by Andrea.manzi (Talk | contribs) (IS tester)

Jump to: navigation, search

SAM : Service Availability Monitoring

The goal of the service availability monitoring is to provide a reliable tool to continuously verify the status of the infrastructure service (i.e. if the infrastructure functionality works as expected). This tool is based on gCube Executor service and on tailored plug-ins that verify concrete infrastructure functionality.

SAM Plugins

Being gCube a SOA infrastructure, the natural way to perform active tests on the production services was to implement a new Service responsible for the availability testing. The service was going to be designed as highly configurable with the possibility to dynamic inject and configure new tests. But looking on what was already available on the gCube framework, we decided to exploit the plugin mechanism offered by the Executor Service.

Concerning the plug-ins, these can be seen as specific tests focused on concrete functional areas of the infrastructure. They recreate a number of invocations to a set of services that provide a given functionality. These invocations represent the standard usage of the infrastructure can be executed periodically. Each plug-in invocation implies the execution of a number of tests, whose results are stored on a remote DB using the facilities offered by the SAM Reports library. The following plug-ins are planned to be implemented:

Search tester

The Search tester plugin has already been released as part of gCube 1.8. The Plugin is able to test the gCube Search Framework as exposed by the ASL HTTP API. This means that Search invocations are not directly performed to gCube Search Service, but the ASL framework Search HTTP API are invoked instead.

The ASL HTTP API gives also the possibility to gather information on gCube Collection and MCollection for each scope and extract the related schema,language, browsable, sortable and searchable fields, which are used as input for the tests:

  • Quick Search test
  • Combined Search test
  • Browse test
  • Simple Search Test


The plugin accepts the following input parameters:

  • HTTPAPIURL: the HTTP API instance to contact
  • tests : the list of tests to run
  • vres : the list of VREs where run the test (in the context of the Executor service that runs at VO level)
  • interval : the scheduling interval of the tests. ( 0 means run only once)

IS tester

The IS Tester plugin is the responsible of the testing of the Information System deployed in the VO where the Executor Service is acting. As any other information system, the gCube IS exposes interfaces for Information publication and querying. The two operations are then implemented by 2 different services behind ( IS-Registry and IS-Collector respectively). The gCube infrastructure hides services deployment details ( distribution and replication) by offering libraries to client for publication and querying ( IS-Publisher and IS-Client). Since the scope of the availability test is to check the status of any instance of IS services running on a given VO, the IS tester plugin contacts directly every possible instance of the IS services running the following tests:

  • GCUBE Profile publication
  • Query test
  • WS-resource publication

Lookup tester

SAM Reports

SAM Portlet