The CREAM configuration file

The CREAM configuration file structure

The default location of the CREAM configuration file is /opt/glite/etc/glite-ce-cream/cream-config.xml. It is a XML file composed of a set of elements basically of three different types:
  • commandexecutor which defines the specific capabilities (e.g. delegation, job management, activity management) provided by CREAM
  • dataSource used for setting up the access to CREAM DB (MySQL)
  • authzchain which defines the security authorization layer based on ARGUS service or gJAF

The configuration file looks like the following schema:

<service id="CREAM service (core2)">

    <commandexecutor
          id="the id"
          category="the category"
          ...

          <parameter name="name_1" value="value_1" />
          <parameter name="name_2" value="value_2" />
          ...
          <parameter name="name_x" value="value_x" />
    </commandexecutor>

    <dataSource name="datasource_name"
          type="javax.sql.DataSource"
          factory="org.apache.commons.dbcp.BasicDataSourceFactory"
          ...
    />

    <authzchain name="chain-1">
          <plugin name="the name" classname="org.glite.ce.xxx">
              <parameter name="name_1" value="value_1" />
              <parameter name="name_2" value="value_2" />
              ...
              <parameter name="name_x" value="value_x" />
          </plugin>
          ...
    </authzchain>

</service>

The CommandExecutor

The commandexeuctor represents the implementation of specific functionality provided by CREAM (e.g. delegation, job management, activity management). More than one commandexecutor can be defined in the configuration file and its XML structure is as following:

<commandexecutor
      id = "the id"
      category = "the category"
      commandqueuesize = "500"
      commandqueueshared = "false"
      commandworkerpoolsize = "50"
      filename = "/usr/share/java/EXECUTOR_NAME.jar">

      <parameter name = "name_1" value = "value_1" />
      <parameter name="name_2" value = "value_2" />
      ...
      <parameter name = "name_x" value = "value_x" />
</commandexecutor>

The above XML structure shows that a commandexeuctor is composed of a set of well defined attributes and a set of parameters which are strictly dependent on the specific commandexecutor. The following is the list of the mandatory attributes with their meaning:

  • id: the unique id (*)
  • category: the name of the category to which the commandexecutor belongs (e.g. DELEGATION_MANAGEMENT, JOB_MANAGEMENT, ACTIVITY_MANAGEMENT) (*)
  • commandqueuesize: the size of the in memory prefetched command queue (default: 500) (*)
  • commandqueueshared: must be set to false (default) if the command queue is used by a single CREAM; must be set to true if there are multiple CREAM services using a single command queue (i.e. multiple CREAM services managing a single farm) (*)
  • commandworkerpoolsize: the number of threads getting and satisfying user requests stored in the CREAM command queue (default: 50) (*)
  • filename: the path of the jar implementing the commandexecutor (*)
  • parameter: represents a name/value couple defined for the specific commandexecutor. The name is case-sensitive.

* please DO NOT change the default value which comes from the YAIM configuration.

The BLAH Executor

This executor implements the CREAM's job management capabilities and it is based on the BLAH component. The following attributes and parameters are accepted for well defining this commandexecutor:
  • id: "BLAH executor"
  • category: "JOB_MANAGEMENT"
  • commandqueuesize: "500"
  • commandqueueshared: "false"
  • commandworkerpoolsize: "50"
  • filename: /usr/share/java/glite-ce-cream-blahExecutor.jar
  • BLAHP_BIN_PATH: parameter which defines the path of the blahpd executable (default: "/usr/bin/blahpd")
  • SANDBOX_TRANSFER_METHOD: sets the sandbox transfer method (GSIFTP/LRMS) (default: "GSIFTP")
  • CREAM_SANDBOX_DIR = is the directory where the sandbox files are staged on the CREAM CE node (default: "/var/cream_sandbox")
  • CREAM_CREATE_SANDBOX_BIN_PATH: the path of the executable for creating the job sandbox (default: "/usr/bin/glite-cream-createsandboxdir")
  • CREAM_COPY_PROXY_TO_SANDBOX_BIN_PATH: the path of the script for copying the user delegation proxy into the specified job sandbox (default: "/usr/bin/glite-cream-copyProxyToSandboxDir.sh")
  • CREAM_PURGE_SANDBOX_BIN_PATH: the path of the executable for purging the job sandbox (default: "/usr/bin/glite-ce-cream-purge-sandbox")
  • CREAM_PURGE_PROXY_FROM_SANDBOX_BIN_PATH: the path of the executable for purging the user delegation proxy from the job sandbox (default: "/usr/bin/glite-ce-cream-purge-proxy")
  • CREAM_JOB_SENSOR_HOST: enable this parameter (and set it to the hostname of the CREAM CE) if the CEMon job sensor plugin is installed (as needed for submissions via WMS/ICE) (default: parameter disabled)
  • CREAM_JOB_SENSOR_PORT: represents the port used by CREAM to get notifications from the CEMon job sensor plugin. Enable this parameter if the CEMon job sensor plugin is installed (as needed for submissions via WMS/ICE) (default: "49154")
  • MAX_LEASE_TIME: the maximum allowed lease time (in second). I.e. if a client specifies a lease time too big, this value is used instead (dafault: "36000")
  • LEASE_EXECUTION_RATE: specifies how often the job purger has to run. The value must be specified as minutes (default: "30")
  • GLEXEC_BIN_PATH: the path of the glexec executable (default: "/usr/sbin/glexec")
  • GLEXEC_CAT_CMD_PATH: is the pathname of the "cat" command invoked by CREAM via glexec (default: "/bin/cat")
  • BLAH_JOBID_PREFIX: represents a prefix for job names for BLAH. If the same BLAH parser serves multiple CREAM CEs, please choose a different value for each of these CREAM services. The value MUST be a string 6 characters long that starts with 'cr' and ends with '_' (default: "cream_")
  • BLAH_COMMAND_TIMEOUT: represents the maximum time interval (seconds) accepted by CREAM for the execution of commands by BLAH (default: "300")
  • BLPARSER_RETRY_COUNT: represents the number of attempts to contact the BLAH parser (if it is not reachable) before giving up. If -1 is specified, CREAM will never give up (default: "100")
  • BLPARSER_RETRY_DELAY: is the time interval (ms) between two attempts to contact the BLAH parser (default: "60000")
  • LRMS_EVENT_LISTENER_PORT: is the port used by CREAM to receive notifications about job status changes sent by the BLParser/JobWrapper (default: "49152")
  • HOST_SMP_SIZE: the default value for the hostsmpsize attribute (default: "2")
  • JOB_WRAPPER_DELEGATION_TIME_SLOT = "3600"
  • JOB_WRAPPER_COPY_PROXY_MIN_RETRY_WAIT = "60"
  • JOB_WRAPPER_COPY_RETRY_COUNT_ISB = "2"
  • JOB_WRAPPER_COPY_RETRY_FIRST_WAIT_ISB = "60"
  • JOB_WRAPPER_COPY_RETRY_COUNT_OSB = "6"
  • JOB_WRAPPER_COPY_RETRY_FIRST_WAIT_OSB = "300"
  • JOB_WRAPPER_TEMPLATE_PATH: the path where the JobWrapper template is placed (default: "/etc/glite-ce-cream/")
  • JOBS_SCRATCH_DIR: the tmp directory used by CREAM (dafault: "/var/tmp")
  • JOB_SUBMISSION_MANAGER_ENABLE = "true"
  • JOB_SUBMISSION_MANAGER_SCRIPT_PATH = "/usr/bin/glite_cream_load_monitor /etc/glite-ce-cream-utils/glite_cream_load_monitor.conf"
  • JOB_PURGE_POLICY: the policy concerning which jobs should be deleted by the automatic job purger and when. For example, if JOB_PURGE_POLICY is "ABORTED 1 days; CANCELLED 2 days; DONE-OK 3 days; DONE-FAILED 4 days; REGISTERED 5 days;" then the job purger will purge jobs which are:
    • in ABORTED status for more than 1 day
    • in CANCELLED status for more than 2 days
    • in DONE-OK status for more than 3 days
    • in DONE-FAILED status more than 4 days
    • in REGISTERED status for more than 5 days
  • JOB_PURGE_RATE: specifies how often the job purger has to run. The value must be specified as minutes (default "300")

-- LisaZangrando - 2012-12-04


This topic: CREAM > WebHome > SystemAdministratorDocumentation > CREAMConfigurationFile
Topic revision: r4 - 2012-12-06 - LisaZangrando
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback