Background

Pinger3 moves towards a perfSONAR model and will become part of the LHC-OPN monitoring suite and perfSONAR_PS distribution. This page outlines the configuration file for pinger3.

This list defines the common landmarks that all pinger sites should ping.

Template

<pinger:topology 
  xmlns:nmtl2="http://ogf.org/schema/network/topology/l2/20070707/" 
  xmlns:nmtl3="http://ogf.org/schema/network/topology/l3/20070707/" 
  xmlns:nmtl4="http://ogf.org/schema/network/topology/l4/20070707/" 
  xmlns:nmtb="http://ogf.org/schema/network/topology/base/20070707/">
  xmlns:pinger="http://namespaces.slac.stanford.edu/schema/pinger/20071120">
  
  [% FOREACH domain = domains %]
  <nmtb:domain id="urn:ogf:network:domain=[% domain.name %]">
    [% FOREACH node = domain.nodes %]
    <nmtb:node id="urn:ogf:network:domain=[% node.domain %]:node=[% node.id %]">
      <nmtb:name type="string">[% node.name %]</nmtb:name>
      <nmtb:hostName>[% node.hostName %]</nmtb:hostName>
      <nmtb:description>[% node.description %]</nmtb:description>
      [% IF node.comments %]<nmtb:comments>[% node.comments %]</nmtb:comments>[% END %]

      [% FOREACH ping = node.pings %]
      <pinger:test>
        [% IF ping.packetSize %]<pinger:packetSize>ping.packetSize</pinger:packetSize>[% END %]
        [% IF ping.count %]<pinger:count>ping.count</pinger:count>[% END %]
        [% IF ping.interval %]<pinger:interval>ping.interval</pinger:interval>[% END %]
        [% IF ping.ttl %]<pinger:ttl>ping.ttl</pinger:ttl>[% END %]
        [% IF ping.period %]<pinger:period>ping.period</pinger:period>[% END %]
        [% IF ping.offset %]<pinger:offset type="ping.offsetType">ping.offset</pinger:offset>[% END %]
      </pinger:test>
      [% END %]

      [% FOREACH serviceInterface = node.serviceInterface %]
      <pinger:serviceInterface type="[% serviceInterface.type %]">
        [% IF serviceInterface.planetLabScript %]<pinger:planetLabScript>[% serviceInterface.planetLabScript %]</pinger:planetLabScript>[% END %]
        [% IF serviceInterface.pingURL %]<pinger:pingURL>[% serviceInterface.pingURL %]</pinger:pingURL>[% END %]
        [% IF serviceInterface.tracerouteURL %]<pinger:tracerouteURL>[% serviceInterface.tracerouteURL %]</pinger:tracerouteURL>[% END %]
      </pinger:serviceInterface>
      [% END %]

      [% IF node.tulipTier %]<pinger:tulipTier>[% node.tulipTier %]</pinger:tulipTier>[% END %]
      [% IF node.tulipScalingFactor %]<pinger:tulipScalingFactor>[% node.tulipScalingFactor %]</pinger:scalingFactor>[% END %]

     [% FOREACH contact = node.contact %]
      <nmtb:contact priority="[% contact.priority %]">
        [% IF contact.administrator %]<nmtb:administrator>[% contact.administrator %]</nmtb:administrator>[% END %]
        [% IF contact.email %]<nmtb:email>[% contact.email %]</nmtb:email>[% END %]
        [% IF contact.phoneNumber %]<nmtb:phoneNumber>[% contact.phoneNumber %]</nmtb:phoneNumber>[% END %]
        [% IF contact.institution %]<nmtb:institution>[% contact.institution %]</nmtb:institution>[% END %]
      </nmtb:contact>
     [% END %]
      <nmtb:location>
        [% IF node.location.institution %]<nmtb:institution>[% node.location.institution %]</nmtb:institution>[% END %]
        [% IF node.location.country %]<nmtb:country>[% node.location.country %]</nmtb:country>[% END %]
        [% IF node.location.zipcode %]<nmtb:zipcode>[% node.location.zipcode %]</nmtb:zipcode>[% END %]
        [% IF node.location.state %]<nmtb:state>[% node.location.state %]</nmtb:state>[% END %]
        [% IF node.location.city %]<nmtb:city>[% node.location.city %]</nmtb:city>[% END %]
        [% IF node.location.streetAddress %]<nmtb:streetAddress>[% node.location.streetAddress %]</nmtb:streetAddress>[% 
END %]
        [% IF node.location.floor %]<nmtb:floor>[% node.location.floor %]</nmtb:floor>[% END %]
        [% IF node.location.room %]<nmtb:room>[% node.location.room %]</nmtb:room>[% END %]
        [% IF node.location.cage %]<nmtb:cage>[% node.location.cage %]</nmtb:cage>[% END %]
        [% IF node.location.rack %]<nmtb:rack>[% node.location.rack %]</nmtb:rack>[% END %]
        [% IF node.location.shelf %]<nmtb:shelf>[% node.location.shelf %]</nmtb:shelf>[% END %]
        [% IF node.location.longitude  %]<nmtb:longitude>[% node.location.longitude %]</nmtb:longitude>[% END %]
        [% IF node.location.latitude %]<nmtb:latitude>[% node.location.latitude %]</nmtb:latitude>[% END %]
      </nmtb:location>
      
      [% FOREACH port = node.ports %]
      <nmtl3:port id="urn:ogf:network:domain=[% node.domain %]:node=[% node.id %]:port=[% node.port.ipAddress %]">
        <nmtl3:ipAddress type="IPv4">[% node.port.ipAddress %]</nmtl3:ipAddress>
      </nmtl3:port>
      [% END %]
      
    </nmtb:node>
  [% END %]
  </nmtb:domain>
  [% END %]

</pinger:topology>
  • No labels