Difference between revisions of "New Information System"

From GridPP Wiki
Jump to: navigation, search
(The JSON Standard)
 
(4 intermediate revisions by one user not shown)
Line 2: Line 2:
  
 
This document describes a JSON static information system, that serves to replace parts of the BDII. See [https://twiki.cern.ch/twiki/bin/view/EGEE/WLCGISEvolution WLCG Information System Evolution]
 
This document describes a JSON static information system, that serves to replace parts of the BDII. See [https://twiki.cern.ch/twiki/bin/view/EGEE/WLCGISEvolution WLCG Information System Evolution]
 
  
 
== What's wrong with the current information system ==
 
== What's wrong with the current information system ==
  
The current BDII system in use all over the grid has some problems. The schema is bloated. The information content is huge. It is based on server technology that is very flaky. The software client implementation is hugely over complicated and poorly written in weird ways. There is ambiguity in the field semantics. For most users it is hard to query by hand. It is hard for site admins to configure it in the first place and keep it current on an on-going basis. The data content, when checked, is often unreliable. BDII clients regularly lock up or fall over. It is hard to verify. It is the source of many errors. It is difficult to extend for new requirements. In short, the BDII has had its day and it’s time to try something else.  
+
The current BDII system in use all over the grid has some problems. The schema is bloated. The information content is huge. The software client implementation is complicated and weirdly written. There is ambiguity in the field semantics. For most users it is hard to query by hand. It is also hard for site admins to configure it in the first place and to keep it current on an on-going basis. The data content, when checked, is often unreliable. BDII clients regularly lock up or fall over. It is hard to verify. It is the source of many errors. It is difficult to extend for new requirements. In short, the BDII has had its day and it’s time to try something else.
  
== Principle of how this proposal works ==
+
== Principles of operation ==
  
 
Site admins will be familiar with GOCDB, since each site must already have an entry describing it. A site entry in GOCDB has the idea of Extension Properties; an extension property is some name/value pair that can be used for arbitrary purposes. In this scheme, a site would enter an extension property named "InformationSystem". This extension property would have a value comprising a URL that links to a JSON document containing a description of the site in question. For example, the Liverpool site (UKI-NORTHGRID-LIV-HEP) has this entry:
 
Site admins will be familiar with GOCDB, since each site must already have an entry describing it. A site entry in GOCDB has the idea of Extension Properties; an extension property is some name/value pair that can be used for arbitrary purposes. In this scheme, a site would enter an extension property named "InformationSystem". This extension property would have a value comprising a URL that links to a JSON document containing a description of the site in question. For example, the Liverpool site (UKI-NORTHGRID-LIV-HEP) has this entry:
Line 22: Line 21:
 
|}
 
|}
  
A list of all sites’ json can be obrained by querying the GOCDB in (say) a browser.
+
A list of all sites’ jsons can be obtained by querying the GOCDB in (say) a browser.
<verbatim>
+
https://goc.egi.eu/gocdbpi/public/?method=get_service_endpoint&extensions=(InformationSystem=)
  https://goc.egi.eu/gocdbpi/public/?method=get_service_endpoint&extensions=(InformationSystem=)
+
</verbatim>
+
  
How this proposal partially solves the problem
+
A standard exists for the JSON document that each site must create and deploy on some web-server. At present, the initiative covers site CEs, but it will later be extended to cover storage as well.
  
A standard exists for the JSON document that each site must create and deploy on some web-server. At present, the iniotialtive cover inmforamtion for site CEs, but will later be extened to cover storage.  
+
For example, at Liverpool, we have installed a web-server on hepgrid4.ph.liv.ac.uk (which is also our BDII server, as it happens). Information consumers who wish to know about the Liverpool site will access the GOCDB, obtain the InformationSystem URL and access the information within the JSON.
  
For example, at Liverpool, we have installed a web-server on hepgrid4.ph.liv.ac.uk (which is also our BDII server, as it happens). Information consumers who wish to know about the Liverpool site will access the GOCDB, obtain the InformationSystem properly and access the information at the URL provided in that properly.
+
== The JSON Standard ==
  
Full documentation can be found here:
+
For the time being, the standard for the JSON file (or files, if more than one is used) is available here.  
https://wiki.egi.eu/wiki/GOCDB/PI/Technical_Documentation
+
  
 +
https://docs.google.com/document/d/1pg_5Kibc_-Z4JF4_HJyW5xL6GVYKwXxOU7DXf2QP9Ag/edit
  
 +
(Note that everything in the document after "Question:" is for historical reasons only.)
  
 +
== Various other deployment options ==
  
For the time being, the standard for the JSON file is available here.
+
TDB
  
https://docs.google.com/document/d/1pg_5Kibc_-Z4JF4_HJyW5xL6GVYKwXxOU7DXf2QP9Ag/edit
+
== Deadlines/timelines for implementation ==
  
Which was partially based on this proposal, which is not superceded.
+
TBD
  
https://twiki.cern.ch/twiki/pub/EGEE/WLCGISEvolution/CE-json-proposal.txt
+
== Further reading ==
  
There is also a US standard here.
+
GOCDB documentation can be found here:
https://github.com/opensciencegrid/topology/blob/master/topology/Brookhaven%20National%20Laboratory/Brookhaven%20ATLAS%20Tier1/BNL-ATLAS.yaml
+
  https://wiki.egi.eu/wiki/GOCDB/PI/Technical_Documentation
  
  
Various other deployment options (steps etc.)
+
The JSON schema was partially based on this proposal, which is now superceded:
 +
  https://twiki.cern.ch/twiki/pub/EGEE/WLCGISEvolution/CE-json-proposal.txt
  
TDB
+
There is a US standard here:
 
+
https://github.com/opensciencegrid/topology/blob/master/topology/Brookhaven%20National%20Laboratory/Brookhaven%20ATLAS%20Tier1/BNL-ATLAS.yaml
Deadlines/timelines for implementation
+
 
+
TBD
+

Latest revision as of 16:23, 21 February 2019

Introduction

This document describes a JSON static information system, that serves to replace parts of the BDII. See WLCG Information System Evolution

What's wrong with the current information system

The current BDII system in use all over the grid has some problems. The schema is bloated. The information content is huge. The software client implementation is complicated and weirdly written. There is ambiguity in the field semantics. For most users it is hard to query by hand. It is also hard for site admins to configure it in the first place and to keep it current on an on-going basis. The data content, when checked, is often unreliable. BDII clients regularly lock up or fall over. It is hard to verify. It is the source of many errors. It is difficult to extend for new requirements. In short, the BDII has had its day and it’s time to try something else.

Principles of operation

Site admins will be familiar with GOCDB, since each site must already have an entry describing it. A site entry in GOCDB has the idea of Extension Properties; an extension property is some name/value pair that can be used for arbitrary purposes. In this scheme, a site would enter an extension property named "InformationSystem". This extension property would have a value comprising a URL that links to a JSON document containing a description of the site in question. For example, the Liverpool site (UKI-NORTHGRID-LIV-HEP) has this entry:

Extension Property Name Value
InformationSystem http://hepgrid4.ph.liv.ac.uk/liv.json

A list of all sites’ jsons can be obtained by querying the GOCDB in (say) a browser.

https://goc.egi.eu/gocdbpi/public/?method=get_service_endpoint&extensions=(InformationSystem=)

A standard exists for the JSON document that each site must create and deploy on some web-server. At present, the initiative covers site CEs, but it will later be extended to cover storage as well.

For example, at Liverpool, we have installed a web-server on hepgrid4.ph.liv.ac.uk (which is also our BDII server, as it happens). Information consumers who wish to know about the Liverpool site will access the GOCDB, obtain the InformationSystem URL and access the information within the JSON.

The JSON Standard

For the time being, the standard for the JSON file (or files, if more than one is used) is available here.

https://docs.google.com/document/d/1pg_5Kibc_-Z4JF4_HJyW5xL6GVYKwXxOU7DXf2QP9Ag/edit

(Note that everything in the document after "Question:" is for historical reasons only.)

Various other deployment options

TDB

Deadlines/timelines for implementation

TBD

Further reading

GOCDB documentation can be found here:

 https://wiki.egi.eu/wiki/GOCDB/PI/Technical_Documentation


The JSON schema was partially based on this proposal, which is now superceded:

 https://twiki.cern.ch/twiki/pub/EGEE/WLCGISEvolution/CE-json-proposal.txt

There is a US standard here:

https://github.com/opensciencegrid/topology/blob/master/topology/Brookhaven%20National%20Laboratory/Brookhaven%20ATLAS%20Tier1/BNL-ATLAS.yaml