Helper for accessing /Operations

/Operations section is VO aware. That means that configuration for different VO will have a different CS path:

  • For multi-VO installations /Operations/<vo> should be used.

  • For single-VO installations /Operations should be used.

In any case, there is the possibility to define a default configuration, for instance /Operations/myvo/Defaults. Take a look at Operations - Section for further info.

To ease accessing the /Operations section a helper has been created. This helper receives the VO and will calculate the Operations path automatically. Once instanced it’s used as the gConfig object. An example would be:

from DIRAC.ConfigurationSystem.Client.Helpers.Operations import Operations

ops = Operations(vo="myVO")
#This would check the following paths and return the first one that is defined
# 1.- /Operations/myVO/JobScheduling/CheckJobLimits
# 2.- /Operations/Defaults/JobScheduling/CheckJobLimits
# 3.- Return True

print(ops.getValue("JobScheduling/CheckJobLimits", True))

It’s not necessary to define the VO if a group is known. The helper can extract the VO from the group. For instance:

from DIRAC.ConfigurationSystem.Client.Helpers.Operations import Operations

ops = Operations(group="dirac_user")