Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Difference between revisions of "GOCDB/Release4/Development/ipv6support"

From EGIWiki
Jump to navigation Jump to search
 
(No difference)

Latest revision as of 17:23, 3 April 2014

Main EGI.eu operations services Support Documentation Tools Activities Performance Technology Catch-all Services Resource Allocation Security


GOC DB menu: Home Documentation Index


<< Back to GOCDB/Release4/Development

IPv6 Support

GOCDB needs to support IPv6 addresses for Sites and Services.

To do this we propose:

  • Add new, optional IPV6 network range fields for both Site and Service objects.
    • Allows an optional IPv6 network range to be defined in addition to existing IPv4 address.
    • New fields will be optional and not mutually exclusive (for single Site or Service, both IPv4 and IPv6 fields could be defined).
  • Required? - Update the existing IPv4 Service <HOST_IP/> to define a range rather than a single IP (network-address/subnet-mask, e.g. 10.2.1.0/255.255.255.128) or (network-address/prefix-length, 10.2.1.0/25).

Therefore:

  • A Site may define : <SITE_IP/> and/or <SITE_IPV6/> (to define an ip or range for site)
  • Service may define: <HOST_IP/> and/or <HOST_IPV6/> (to define an ip for service)


The proposed format for <SITE_IPV6/> and <HOST_IPV6/> is taken from RFC3513: https://tools.ietf.org/html/rfc3513 which recommends for IPv6 a prefix-length notation should only be used for a range:

<IPv6Address>[/<PrefixLength>] 

Where:


From Wikipedia: IvP6, has a few rules that allow you to drop a lot of characters so it changes a lot. So this is the full representation – 8 groups of 4 characters separated by colon (8 groups of 4 hexiadecimals).

2001:0db8:85a3:0000:0000:8a2e:0370:7334

When there are zeros these groups can be omitted so the above can also be shown as (note the pair of double colons in the middle):

2001:0db8:85a3::8a2e:0370:7334

Also leading zeros from each group can also be omitted so some groups may have less than 4 characters, so the second and second from last group here are valid despite only having 3 characters:

2001:db8:85a3::8a2e:370:7334

Some IPv6 addresses have the 5-8th group all made up of zeros:

2001:adb8:85a3:7334:0000:0000:0000:0000

Some IPv6 have an odd number of groups for instance this is valid and has 6 groups one of which is blank:

fe80::2000:aff:fea7:f7c

PI Changes

An additional element will be added for the following PI methods: get_site, get_service_endpoint, get_service_group. These elements are optional and may not be rendered if they are empty.

The changes to the XML output are highlighed below:


get_site:

<?xml version="1.0"?>
<results>
 <SITE ID="1" PRIMARY_KEY="194G0" NAME="RAL-LCG2">
  <PRIMARY_KEY>194G0</PRIMARY_KEY>
  <SHORT_NAME>RAL-LCG2</SHORT_NAME>
  <GOCDB_PORTAL_URL>
   https://next.gocdb.eu/portal/index.php?Page_Type=View_Objectamp;object_id=1133amp;grid_id=0
  </GOCDB_PORTAL_URL>
  <OFFICIAL_NAME>RAL, GridPP Tier-1 Computing, Oxfordshire UK</OFFICIAL_NAME>
  <SITE_DESCRIPTION>Rutherford Appleton Laboratory - Tier1</SITE_DESCRIPTION>
  <HOME_URL>http://mywebsite.com</HOME_URL>
  <CONTACT_EMAIL>contact@demo.com</CONTACT_EMAIL>
  <CONTACT_TEL>+44 (0) 1235 446777 </CONTACT_TEL>
  <ALARM_EMAIL>alarm@demo.com</ALARM_EMAIL>
  <GIIS_URL> ldap://site-bdii.gridpp.rl.ac.uk:2170/mds-vo-name=RAL-LCG2,o=grid
  </GIIS_URL>
  <TIER>2</TIER>
  <COUNTRY_CODE>GB</COUNTRY_CODE>
  <COUNTRY>United Kingdom</COUNTRY>
  <ROC>UKI</ROC>
  <SUBGRID>Tier1A</SUBGRID>
  <PRODUCTION_INFRASTRUCTURE>Production</PRODUCTION_INFRASTRUCTURE>
  <CERTIFICATION_STATUS>Certified</CERTIFICATION_STATUS>
  <TIMEZONE>Europe/London</TIMEZONE>
  <LATITUDE>51</LATITUDE>
  <LONGITUDE>-1</LONGITUDE>
  <DOMAIN>
   <DOMAIN_NAME>gridpp.rl.ac.uk</DOMAIN_NAME>
  </DOMAIN>
  <SITE_IP>0.0.0.0/255.255.255.254<SITE_IP>                              <!-- New optional element here -->  
  <SITE_IPV6>fe80::2000:aff:fea7:f7c<SITE_IPV6>  <!-- New optional element here -->  
  <EXTENSIONS>                       
      <EXTENSION>
      <LOCAL_ID>01</LOCAL_ID>
      <KEY>VO</KEY>
      <VALUE>LHCB</VALUE>
      </EXTENSION>
  </EXTENSIONS>
 </SITE>
</results>

get_service_endpoint:

<?xml version="1.0"?>
<results>
  <SERVICE_ENDPOINT PRIMARY_KEY="651G0">
    <PRIMARY_KEY>651G0</PRIMARY_KEY>
    <HOSTNAME>foo.bar.ral</HOSTNAME>
    <GOCDB_PORTAL_URL>https://next.gocdb.eu/portal/index.php?.....elided</GOCDB_PORTAL_URL>
    <HOSTDN>/C=UK/O=test/OU=demo/CN=foo.bar.ral</HOSTDN>
    <HOST_OS>SL5</HOST_OS>
    <HOST_ARCH>x64<HOST_ARCH>
    <BETA>Y<BETA/>
    <SERVICE_TYPE>CE</SERVICE_TYPE>
    <HOST_IP>4.4.4.4</HOST_IP>
    <HOST_IPV6>fe80::2000:aff:fea7:f7c</HOST_IPV6>                  <!-- New optional element here -->  
    <CORE/>
    <IN_PRODUCTION>N</IN_PRODUCTION>
    <NODE_MONITORED>N</NODE_MONITORED>
    <SITENAME>RAL-LCG2</SITENAME>
    <COUNTRY_NAME>United Kingdom</COUNTRY_NAME>
    <COUNTRY_CODE>GB</COUNTRY_CODE>
    <ROC_NAME>UKI</ROC_NAME>
    <URL>https://some.serviceurl.eu:8443/services/se<URL/> 
    <EXTENSIONS>                                           
       <EXTENSION>
           <LOCAL_ID>01</LOCAL_ID>
           <KEY>VO</KEY>
           <VALUE>LHCB</VALUE>
       <EXTENSION>
    </EXTENSIONS>
  </SERVICE_ENDPOINT>
</results>

get_service_group:

<?xml version="1.0" encoding="UTF-8"?>
<results>
<SERVICE_GROUP PRIMARY_KEY="57654G0">
   <NAME>OPSTOOLS</NAME>
   <DESCRIPTION>All EGI Operational Tools</DESCRIPTION>
   <MONITORED>Y</MONITORED>
   <CONTACT_EMAIL>gocdb-admins@mailtalk.ac.uk</CONTACT_EMAIL>
   <GOCDB_PORTAL_URL> https://elided </GOCDB_PORTAL_URL>
   <SERVICE_ENDPOINT>
      <HOSTNAME>goc.egi.eu</HOSTNAME>
      <GOCDB_PORTAL_URL>https://elided</GOCDB_PORTAL_URL>
      <SERVICE_TYPE>egi.GOCDB</SERVICE_TYPE>
      <HOST_IP/>
      <HOST_IPV6/>                                              <!-- New optional element here -->
      <HOSTDN>/C=UK/O=eScience/OU=CLRC/L=RAL/CN=goc.egi.eu</HOSTDN>
      <IN_PRODUCTION>Y</IN_PRODUCTION>
      <NODE_MONITORED>Y</NODE_MONITORED>
      <EXTENSIONS>                           
        <EXTENSION>
          <LOCAL_ID>01</LOCAL_ID>
          <KEY>VO</KEY>
          <VALUE>LHCB</VALUE>
        </EXTENSION>
      </EXTENSIONS>
   </SERVICE_ENDPOINT>   
   <SERVICE_ENDPOINT>
      …elided…
   </SERVICE_ENDPOINT>
</SERVICE_GROUP>
</results>