Perl Status Service

From GEANT2-JRA1 Wiki

Contents

Perl L2 Status Service

Responsible: Internet2. Aaron Brown (aaron@internet2.edu)

Introduction

This service can be used to make available Link Status information. This service has some large differences when compared to the existing L2 Status implementations. This service links the status information to its related topology structures by way of each link's Topology ID. Thus, it accepts a much more limited set of inputs. The data output, however, is very similar to the existing status structures by outputting ifevt compatible data. Where the output is not compatible is when the history of a link or a dump of the database(the history of all links). In this scenario, the values returned are ranges instead of discrete data points.

Example Queries

Get The Entire Database

The most basic query simply returns the entire contents of the database.


<nmwg:message type="SetupDataRequest"
    xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/">
  <nmwg:metadata id="meta0">
    <nmwg:eventType>Database.Dump</nmwg:eventType>
  </nmwg:metadata>
  <nmwg:data id="data0" metadataIdRef="meta0" />
</nmwg:message>

Get The Most Recent Link Status

<nmwg:message type="SetupDataRequest"
  xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
  xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070707/">

  <nmwg:metadata id="meta0">
    <nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/link/status/20070809</nmwg:eventType>
    <nmwg:subject id="sub0">
      <nmtopo:link id="urn:ogf:network:domain=Internet2:node=nms-rthr.wash:port=eth2:link=nms-rthr1.wash p2p" />
    </nmwg:subject>
  </nmwg:metadata>

  <nmwg:data id="data0" metadataIdRef="meta0" />
</nmwg:message>

Get The Link Status At A Specific Time

<nmwg:message type="SetupDataRequest"
  xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
  xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070707/">

  <nmwg:metadata id="meta0">
    <nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/link/status/20070809</nmwg:eventType>
    <nmwg:subject id="sub0">
      <nmtopo:link id="urn:ogf:network:domain=Internet2:node=nms-rthr.wash:port=eth2:link=nms-rthr1.wash p2p" />
    </nmwg:subject>
    <nmwg:parameters>
      <nmwg:parameter name="time">1188910293</nmwg:parameter>
    </nmwg:parameters>
  </nmwg:metadata>

  <nmwg:data id="data0" metadataIdRef="meta0" />
</nmwg:message>

Get The History Of A Link

<nmwg:message type="SetupDataRequest"
  xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
  xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070707/">

  <nmwg:metadata id="meta0">
    <nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/link/status/20070809</nmwg:eventType>
    <nmwg:subject id="sub0">
      <nmtopo:link id="urn:ogf:network:domain=Internet2:node=nms-rthr.wash:port=eth2:link=nms-rthr1.wash p2p" />
    </nmwg:subject>
    <nmwg:parameters>
      <nmwg:parameter name="time">all</nmwg:parameter>
    </nmwg:parameters>
  </nmwg:metadata>

  <nmwg:data id="data0" metadataIdRef="meta0" />
</nmwg:message>

Update The Status Of A Link

<nmwg:message type="MeasurementArchiveStoreRequest"
        xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
        xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070707/"
        xmlns:ifevt="http://ggf.org/ns/nmwg/event/status/base/2.0/">
  <nmwg:metadata id="meta0">
    <nmwg:subject id="sub0">
      <nmtopo:link id="urn:ogf:network:domain=Internet2:node=nms-rthr.wash:port=eth2:link=nms-rthr1.wash p2p" />
    </nmwg:subject>
    <nmwg:parameters>
      <!-- whether or not this update includes all information about a given link (full vs. partial) -->
      <nmwg:parameter name="knowledge">[full|partial]</nmwg:parameter>
      <!-- whether or not this new datum is an update from the last one we sent -->
      <nmwg:parameter name="update">yes</nmwg:parameter>
    </nmwg:parameters>
  </nmwg:metadata>
  <nmwg:data id="data0" metadataIdRef="meta0">
    <ifevt:datum timeType="unix" timeValue="1188910293">
      <ifevt:stateAdmin>normaloperation</ifevt:stateAdmin>
      <ifevt:stateOper>up</ifevt:stateOper>
    </ifevt:datum>
  </nmwg:data>
</nmwg:message>

perfSONAR-UI Plugin

We've developed plugin for perfSONAR-UI that is able to visualize the Topology and Status of the various links.

E2EMon Compatibility

We've also developed a service to allow for compatibility with E2EMon. The service grabs node information from the Topology service and Status information from the L2 Status Monitor and combines it to produce E2EMon compatible output.

Download

Date Package name Size Installation Guide
11 September 2007 PerfSONAR-PS-MA-Status-1.0.tar.gz - L2 Status MA 63K TBD
11 September 2007 PerfSONAR-PS-MP-CircuitStatus-1.0.tar.gz - E2EMon-Compatible MP 67K TBD
Personal tools