The ATP VO feeds are XML files used by the LHC VOs to define which are the services that they support (from the list of services defined by GOCDB and RSV). At the same time, these feeds are used to define groups of services from the VO perspective. The groups will be used in the future to query the DB and extract the list of services that correspond to each of them. Groups can be Clouds or Tiers, for instance, or what a VO considers as a Site (a group of services mapped to a specific name).


Check this file as an example of a VO feed: atp_vo_feed_example.xml


The different elements defining the XML schema are:

  • <root xmlns:xsi="" xsi:noNamespaceSchemaLocation="atp_vo_feed_validator.xsd">
    - Marks the beginning of the XML file and the XSD file that defines the XML schema
  • <title>ATLAS VO topology for SAM/Nagios</title>
    - Just a title for the VO feed.
  • <description>Groups of services defined by ATLAS VO to be used by the SAM/Nagios monitoring infrastructure</description>
    - A description of the VO feed.
  • <feed_responsible name="Wile Coyote" dn="/DC=ch/DC=cern/OU=Org Units/OU=Users/CN=wco/CN=497/CN=Wile E Coyote"/>
    - Defines who is the person responsible for the content. The DN (certificate Distinguished Name) is an optional
  • <last_update>2010-03-20T15:25:10Z</last_update>
    - The  complete date plus hours and minutes in W3C format when the information was updated for the last time.
  • <vo>cms</vo>
    - The VO name that defines these groups of services.
  • <atp_site name="Australia-ATLAS" infrast="EGEE">
    - Defines a real site, as it appears defined in GOCDB for services in the EGEE infrastructure or RSV for 
    the ones defined in the OSG infrastructure. And for each of these sites we will define the services that 
    we want to include in one or more VO groups.
  • <service hostname="" flavour="SRM" endpoint="srm://">
    - A service is identified by a hostname and a flavour. A flavour is any service type defined in GOCDB or RSV
  • <spacetoken base_path="SFN=/dpm/" name="DATADISK"/>
    - For SRM services, you can optionally define one or more spacetokens, with attributes 'base_path' and 'name'.
  • <group name="CA" type="ATLAS_Cloud"/>
    - Finally, for each service defined, we specify to which groups it belongs. A group is defined by two 
    attributes: 'name' and 'type'. Under one group 'type' we can define many group 'name's in a parent-child 
    hierarchy. This can be helpful to query the ATP and retrieve all the groups (services and sites) defined 
    under one single 'type' attribute. The groups can also be defined outside the <service> element, but 
    inside the <atp_site> element. This means that all the services defined for that site belong to those groups.


You can use the XSD file atp_vo_feed_schema.xsd to validate the syntax of your XML VO feed before being consumed by the ATP.



VOs need to ensure that VO feed information should be in a format acceptable to all. The following conventions have been agreed upon.:

  • The group_type names are desired to be in following format for Site, Tier, Federation and Cloud groupings:
  • The following groupings are obligatory in each group.
     <group name="Tier-x" type="<VOname>_Tier"/>
     <group name="<VO SITENAME>" type="<VOname>_Site"/> 

where VOname refers to the name of the VO and Tier-x refers to Tier-0, Tier-1,Tier-2, Tier-3 etc.

  • For the _Tier group type, the group names should be Tier-0, Tier-1, Tier-2, Tier-3

The groupname for Tier group type is fixed as it is required for generation of Tier-wise reports for all the VOs.

An example of CMS VO grouping is given below:

These 2 fields are obligatory in each group.:

<group name="Tier-0" type="CMS_Tier"/>
<group name="<VO SITENAME>" type="CMS_Site"/>

These 3 fields are optional, but should keep the naming convention:

 <group name="<VO CLOUD NAME>" type="CMS_Cloud"/>
 <group name="<VO GROUP NAME>" type="CMS_Group"/>
 <group name="<VO FEDERATION NAME>" type="CMS_Federation"/>
For the other groups, VOs can put whatever they want, e.g.:
 <group name="T0_CH_CERN" type="All Groups"/>
  <group name="T0_CH_CERN" type="Tier1s + Tier0"/>
  <group name="T0_CH_CERN" type="Tier2s + Tier1s + Tier0"/> 


Using an SLC5 machine, you can use the xmlint command, like in this example:

xmllint --noout --schema ./atp_vo_feed_schema.xsd lhcb_topology_example.xml

Another way using python could be running the following command:

For that you need to have the xsd file (attached to this twiki page) and your xml file in the same directory and specify the name of your xml file inside the file. The file is also attached to this twiki page (but auto-renamed to .txt for security reasons)
Topic attachments
I Attachment History Action Size Date Who Comment
XMLxml atp_vo_feed_example.xml r1 manage 4.8 K 2011-03-03 - 06:45 UnknownUser  
Unknown file formatxsd atp_vo_feed_schema.xsd r1 manage 2.4 K 2011-03-05 - 17:02 UnknownUser VO feed xsd
Texttxt r1 manage 0.4 K 2010-09-01 - 12:25 DavidCollados  
XMLxml vo_topology_feed_example.xml r1 manage 2.5 K 2010-01-21 - 19:16 UnknownUser  
Edit | Attach | Watch | Print version | History: r17 < r16 < r15 < r14 < r13 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r15 - 2011-03-05 - unknown
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback