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 @


From EGIWiki
Jump to navigation Jump to search
Main 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

Key-Value Pair Property Bag Extensiblity Mechanism


  • Original RT request:
  • Sites and Services can be extended so that they can define an optional set of custom key-value pairs (akin to GLUE2 ext mech).
  • The 'get_service_endpoint' and 'get_site' PI methods use the ‘extensions’ query parameter to filter sites/services by required key/value pair.
  • This is not yet in production and needs a thorough period of testing first.
  • Bugs are likely at this stage.
  • The extensions parameter only supports basic query syntax (e.g. no nesting of sub-queries and negation).
  • It is probable that the query syntax will change before the final version is released.
  • The results of the get_site and get_service_endpoint PI queries nest new <EXTENSIONS> elements.

PI Examples

  • The get_sites and get_service_endpoints PI methods will support the 'extensions' URL param. This can be used to filter the Sites and Services by the specified key-value pairs.
  • Please note, the sytanx for the 'extensions' parameter will be udpated soon and the following examples will no longer work once the updates are released!

Will return all sites that define VO with a value of Alice. A wildcard could also be used:


Extensions also supports OR/AND operators. This can be used to search against multiple key values eg:

?method= get_service_endpoint&extensions=(AND(CPU_HS01_HOUR=1)(CPU_HS02_HOUR=2))

The last example will return services that define both CPU_HS01_HOUR with a value or 1 and CPU_HS02_HOUR with a value of 2. The same query can also be performed with OR:

?method= get_service_endpoint&extensions=(OR(CPU_HS01_HOUR=1)(CPU_HS02_HOUR=2))

The extensions parameter can also be used in conjunction with the existing parameters previously supported:


These are currently in testing and can be viewed on the GocDB test server:*),LHCB),LHCB,Atlas,Alice)*)*)(CPU_HS02_HOUR=5)*)(CPU_HS02_HOUR=5)*)&sitename=RAL-LCG2


  • The extent to which the ldap syntax query string would be supported will have to be explored. A simplified version including only exact pattern matches and simple wildcards may cover most use cases.
  • The property bags may only be applied to a subset of entities and PI queries.

Sample PI XML Output

<?xml version="1.0" encoding="UTF-8"?>
		<OFFICIAL_NAME>HeCTOR, UK National Supercomputing Service
		<CONTACT_TEL>0131-650 5029</CONTACT_TEL>
		<COUNTRY>United Kingdom</COUNTRY>

Potential Use Cases

A number of potential use cases have been reported (, including:


There is the potential for proliferation of key-value pairs that should instead be recorded in fields/properties as part of the data model.