.net/There would be two ways I know of:

    - Each host will spit out a JSON record of configuration, e.g.:

        http://hcc-ps02.unl.edu/toolkit/services/host.cgi?method=get_summary

        In this record you could search for the ipv6 info:
        


        Not every host may contain this data, of course. 

    - Instead of querying each host, you could use the lookup service.  For example:

        http://ps-east.es.net:8090/lookup/records?type=host

        This will be another REST/JSON object, and the field in question would be the 'host-net-interfaces', e.g.:

        http://ps-east.es.net:8090/lookup/interface/3fdcf1b0-3cca-4c6f-826b-b4471fcc047a

        Then the value would be stored in 'interface-addresses':

        

Using the latter we wrote a perl script (json-to-xml.pl)  to get the web page http://ps-east.es.net:8090/lookup/records?type=host that provides a JSON file, and convert it to an XML file. This file has 328 entries with <host-net-ipv6-enabled>1</host-net-ipv6-enabled>. It also provides the hostname, city, country, lat longs:

<host-name>lpnhe-psb.in2p3.fr</host-name>

<location-city>Paris</location-city>
<location-country>FR</location-country>

<location-latitude>48.8484</location-latitude>
<location-longitude>2.3561</location-longitude>

One can then use entries of the form <host-net-interfaces>lookup/interface/ab1d1899-3a72-4635-abb8-28e981a2bc59</host-net-interfaces> to get the interface to use in a lookup of the form http://ps-east.es.net:8090/lookup/interface/ab1d1899-3a72-4635-abb8-28e981a2bc59. This gives output of the form:

{"expires":"2018-01-13T07:35:51.150Z","interface-capacity":["10000000000"],"interface-name":["eth0"],"interface-addresses":["134.158.159.86","2001:660:3036:197:134:158:159:86"],"interface-mtu":["1500"],"interface-mac":["00:1b:21:81:83:e6"],"type":["interface"],"uri":"lookup/interface/ab1d1899-3a72-4635-abb8-28e981a2bc59","group-domains":["in2p3.fr"],"client-uuid":["4032B84E-31E9-11E7-9667-B393E181BD16"],"state":"renewed","ttl":[]}
  • No labels