Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
...
         <nmwg:store xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" type="LSStore">
            <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status">
              <perfsonar:subject xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/">
                <psservice:service xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/">
                  <psservice:accessPoint>http://packrat.internet2.edu:5801/perfSONAR_PS/services/status</psservice:accessPoint>
                  <psservice:serviceType>MA</psservice:serviceType>
                  <psservice:serviceDescription>Link Status Measurement Archive</psservice:serviceDescription>
                </psservice:service>
              </perfsonar:subject>
            </nmwg:metadata>
          </nmwg:store>
          <nmwg:store xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" type="LSStore-control">
            <nmwg:metadata id="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status-control"
            metadataIdRef="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/">
              <nmwg:parameters id="control-parameters">
                <nmwg:parameter name="timestamp">
                  <nmtm:time type="unix" xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/">1191967524</nmtm:time>
                </nmwg:parameter>
              </nmwg:parameters>
            </nmwg:metadata>
          </nmwg:store>
          <nmwg:store xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" type="LSStore">
            <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
            id="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status/1191881560/0"
            metadataIdRef="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status">
              <nmwg:metadata id="meta0">
                <nmwg:subject id="sub0">
                  <nmtopo_aug:link xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070828/"
                  xmlns:nmtopo_aug="http://ogf.org/schema/network/topology/base/20070828/"
                  id="urn:ogf:network:domain=I2:node=rtr.wash:port=so-1%2F1%2F0.0:link=ATLA to WASH OC192" />
                </nmwg:subject>
                <nmwg:eventType>Link.Status</nmwg:eventType>
                <nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/link/status/20070809</nmwg:eventType>
              </nmwg:metadata>
            </nmwg:data>
          </nmwg:store>
...

Get All Topology Info

So say we wanted to get all the (meta)data from the LS which corresponds to Topology information, we should send the following XQuery:

Code Block

        declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";
        /nmwg:store/nmwg:data[child::nmwg:metadata/nmwg:eventType='http://ggf.org/ns/nmwg/topology/query/all/20070809']
Code Block

[ytl@Yees-Ubuntu:~/Work/perfSONAR/perfSONAR-PS/trunk/perfSONAR-PS/client]$ ./client.pl http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS /tmp/test.xml | sed s:'&gt;':'>':g | sed s:'&lt;':'<':g | sed s:'&quot;':'"':g | tidy
2007/10/09 14:29:16 DEBUG> Transport.pm:469 perfSONAR_PS::Transport::makeEnvelope - Envelope created.
2007/10/09 14:29:16 DEBUG> Transport.pm:488 perfSONAR_PS::Transport::sendReceive - Sending information to "http://patdev0.internet2.edu:6666//perfSONAR_PS/services/LS".
2007/10/09 14:29:16 DEBUG> Transport.pm:505 perfSONAR_PS::Transport::sendReceive - Response returned.
No warnings or errors were found.

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header />
  <SOAP-ENV:Body>
    <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="message.11295574" messageIdRef="msg1" type="LSQueryResponse">
      <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="metadata.2482130" metadataIdRef="meta1"></nmwg:metadata>
      <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="data.16850367" metadataIdRef="metadata.2482130">
        <psservice:datum xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/">
          <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
          id="http://packrat.internet2.edu:8089/perfSONAR_PS/services/topology/1191881181/0"
          metadataIdRef="http://packrat.internet2.edu:8089/perfSONAR_PS/services/topology">
            <nmwg:metadata id="meta17737387">
              <nmwg:subject id="sub0">
                <ctrlplane_jun:domain xmlns:CtrlPlane="http://ogf.org/schema/network/topology/ctrlPlane/20070626/"
                xmlns:ctrlplane_jun="http://ogf.org/schema/network/topology/ctrlPlane/20070626/" id="urn:ogf:network:domain=293" />
              </nmwg:subject>
              <nmwg:eventType>topology</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/topology/query/all/20070809</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/topology/query/xquery/20070809</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/topology/change/add/20070809</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/topology/change/update/20070809</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/topology/change/replace/20070809</nmwg:eventType>
            </nmwg:metadata>
          </nmwg:data>
          <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
          id="http://packrat.internet2.edu:5800/perfSONAR_PS/services/topology/1191881224/0"
          metadataIdRef="http://packrat.internet2.edu:5800/perfSONAR_PS/services/topology">
            <nmwg:metadata id="meta9650481">
              <nmwg:subject id="sub0">
                <nmtopo_aug:domain xmlns:nmtb="http://ogf.org/schema/network/topology/base/20070828/"
                xmlns:nmtopo_aug="http://ogf.org/schema/network/topology/base/20070828/" id="urn:ogf:network:domain=I2" />
              </nmwg:subject>
              <nmwg:eventType>topology</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/topology/query/all/20070809</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/topology/query/xquery/20070809</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/topology/change/add/20070809</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/topology/change/update/20070809</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/topology/change/replace/20070809</nmwg:eventType>
            </nmwg:metadata>
          </nmwg:data>
        </psservice:datum>
      </nmwg:data>
    </nmwg:message>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Link Status

This is how we query for all the link status:

Code Block

        declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";
        /nmwg:store/nmwg:data[child::nmwg:metadata/nmwg:eventType='http://ggf.org/ns/nmwg/characteristic/link/status/20070809']

Which basically tells the LS to return all nmwg::data elements that have (nested) child eventType of the link status as defined. This returns:

Code Block

[ytl@Yees-Ubuntu:~/Work/perfSONAR/perfSONAR-PS/trunk/perfSONAR-PS/client]$ ./client.pl http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS /tmp/test.xml | sed s:'&gt;':'>':g | sed s:'&lt;':'<':g | sed s:'&quot;':'"':g | tidy
2007/10/09 14:24:59 DEBUG> Transport.pm:469 perfSONAR_PS::Transport::makeEnvelope - Envelope created.
2007/10/09 14:24:59 DEBUG> Transport.pm:488 perfSONAR_PS::Transport::sendReceive - Sending information to "http://patdev0.internet2.edu:6666//perfSONAR_PS/services/LS".
2007/10/09 14:25:00 DEBUG> Transport.pm:505 perfSONAR_PS::Transport::sendReceive - Response returned.
No warnings or errors were found.

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header />
  <SOAP-ENV:Body>
    <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="message.6379216" messageIdRef="msg1" type="LSQueryResponse">
      <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="metadata.12038437" metadataIdRef="meta1"></nmwg:metadata>
      <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="data.11853357" metadataIdRef="metadata.12038437">
        <psservice:datum xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/">
          <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
          id="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status/1191881560/0"
          metadataIdRef="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status">
            <nmwg:metadata id="meta0">
              <nmwg:subject id="sub0">
                <nmtopo_aug:link xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070828/"
                xmlns:nmtopo_aug="http://ogf.org/schema/network/topology/base/20070828/"
                id="urn:ogf:network:domain=I2:node=rtr.wash:port=so-1%2F1%2F0.0:link=ATLA to WASH OC192" />
              </nmwg:subject>
              <nmwg:eventType>Link.Status</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/link/status/20070809</nmwg:eventType>
            </nmwg:metadata>
          </nmwg:data>
          <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
          id="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status/1191881560/1"
          metadataIdRef="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status">
            <nmwg:metadata id="meta1">
              <nmwg:subject id="sub0">
                <nmtopo_aug:link xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070828/"
                xmlns:nmtopo_aug="http://ogf.org/schema/network/topology/base/20070828/"
                id="urn:ogf:network:domain=I2:node=rtr.atla:port=so-0%2F0%2F0.0:link=ATLA to WASH OC192" />
              </nmwg:subject>
              <nmwg:eventType>Link.Status</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/link/status/20070809</nmwg:eventType>
            </nmwg:metadata>
          </nmwg:data>
          <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
          id="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status/1191881560/2"
          metadataIdRef="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status">
            <nmwg:metadata id="meta2">
              <nmwg:subject id="sub0">
                <nmtopo_aug:link xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070828/"
                xmlns:nmtopo_aug="http://ogf.org/schema/network/topology/base/20070828/"
                id="urn:ogf:network:domain=I2:node=rtr.losa:port=so-0%2F1%2F0.0:link=Layer3 Backbone LOSA to SEAT" />
              </nmwg:subject>
              <nmwg:eventType>Link.Status</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/link/status/20070809</nmwg:eventType>
            </nmwg:metadata>
          </nmwg:data>
          <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"
          id="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status/1191881560/3"
          metadataIdRef="http://packrat.internet2.edu:5801/perfSONAR_PS/services/status">
            <nmwg:metadata id="meta3">
              <nmwg:subject id="sub0">
                <nmtopo_aug:link xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070828/"
                xmlns:nmtopo_aug="http://ogf.org/schema/network/topology/base/20070828/"
                id="urn:ogf:network:domain=I2:node=rtr.atla:port=so-4%2F0%2F0.0:link=ATLA-HOUS OC-192" />
              </nmwg:subject>
              <nmwg:eventType>Link.Status</nmwg:eventType>
              <nmwg:eventType>http://ggf.org/ns/nmwg/characteristic/link/status/20070809</nmwg:eventType>
            </nmwg:metadata>
          </nmwg:data>
...

Querying for Services

So say we just want to find out where to get MA information from, we can do a direct query for the services that are registered with the following xquery:

Code Block

        declare namespace nmwg="http://ggf.org/ns/nmwg/base/2.0/";
        declare namespace perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/";
        declare namespace psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/";
        /nmwg:store/nmwg:metadata/perfsonar:subject[child::psservice:service]

Notice that because of the extra namespaces in the new tags, we have to declare them prior to use.

Code Block

[ytl@Yees-Ubuntu:~/Work/perfSONAR/perfSONAR-PS/trunk/perfSONAR-PS/client]$ ./client.pl http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS /tmp/test.xml | sed s:'&gt;':'>':g | sed s:'&lt;':'<':g | sed s:'&quot;':'"':g 
2007/10/09 14:34:11 DEBUG> Transport.pm:469 perfSONAR_PS::Transport::makeEnvelope - Envelope created.
2007/10/09 14:34:11 DEBUG> Transport.pm:488 perfSONAR_PS::Transport::sendReceive - Sending information to "http://patdev0.internet2.edu:6666//perfSONAR_PS/services/LS".
2007/10/09 14:34:12 DEBUG> Transport.pm:505 perfSONAR_PS::Transport::sendReceive - Response returned.
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
                   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
    <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="message.9290927" messageIdRef="msg1" type="LSQueryResponse">
        <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="metadata.9639414" metadataIdRef="meta1">
        </nmwg:metadata>
      <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="data.9852913" metadataIdRef="metadata.9639414">
        <psservice:datum xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/"><perfsonar:subject xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/">
      <psservice:service xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/">
        <psservice:serviceName>Internet2 SNMP MA #2</psservice:serviceName>
        <psservice:accessPoint>http://patdev0.internet2.edu:8080/perfSONAR_PS/services/snmpMA</psservice:accessPoint>
        <psservice:serviceType>MA</psservice:serviceType>
        <psservice:serviceDescription>perfSONAR_PS SNMP MA Located in Ann Arbor, MI</psservice:serviceDescription>
      </psservice:service>
    </perfsonar:subject>
<perfsonar:subject xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/">
      <psservice:service xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/">
        <psservice:serviceName>Topology MA</psservice:serviceName>
        <psservice:accessPoint>http://packrat.internet2.edu:8089/perfSONAR_PS/services/topology</psservice:accessPoint>
        <psservice:serviceType>MA</psservice:serviceType>
        <psservice:serviceDescription>Topology Measurement Archive</psservice:serviceDescription>
      </psservice:service>
    </perfsonar:subject>
<perfsonar:subject xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/">
      <psservice:service xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/">
        <psservice:accessPoint>http://packrat.internet2.edu:5800/perfSONAR_PS/services/topology</psservice:accessPoint>
        <psservice:serviceType>MA</psservice:serviceType>
        <psservice:serviceDescription>Topology Measurement Archive</psservice:serviceDescription>
      </psservice:service>
    </perfsonar:subject>
<perfsonar:subject xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/">
      <psservice:service xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/">
        <psservice:accessPoint>http://packrat.internet2.edu:5801/perfSONAR_PS/services/status</psservice:accessPoint>
        <psservice:serviceType>MA</psservice:serviceType>
        <psservice:serviceDescription>Link Status Measurement Archive</psservice:serviceDescription>
      </psservice:service>
    </perfsonar:subject>
</psservice:datum>
      </nmwg:data>

    </nmwg:message>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

so we have returned two Topology services on packrat on ports 8089 and 5800, one link status MA and one SNMP MA.