The CREAM configuration file for the EMI-2 release

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 Command Executor

The commandexecuctor represents the implementation of specific functionality provided by CREAM (e.g. delegation, job management, activity management). At the current time CREAM provides three different commandexecuctors (BLAHExecutor, ActivityExecutor and DelegationExecutor) but new ones can be implemented and configured. The configuration of a commandexecutor is based on a well defined structure composed of a set of mandatory attributes and parameters which are specific for each executor:

<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 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 (*)

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

The Delegation Executor

The Delegation Executor implements delegation functionality (e.g. make a new delegation request, renew or destroy a delegation, etc). The list of attributes and parameters which define this executor, complete of their meaning and default values is:

attributes

  • id: "DelegationExecutor"
  • category: "DELEGATION_MANAGEMENT" (*)
  • commandqueuesize: "0" (NB: the value MUST be "0" because the executor doesn't need the command queue) (*)
  • commandqueueshared: "false" (*)
  • commandworkerpoolsize: "0" (NB: the value MUST be "0" because the executor doesn't need the command queue) (*)
  • filename: "/usr/share/java/glite-ce-cream-delegationExecutor.jar"

parameters

  • 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_PROXY_FROM_SANDBOX_BIN_PATH: the path of the script for deleting the user delegation proxy from the specified job sandbox (default: "/usr/bin/glite-ce-cream-purge-proxy")
  • CREAM_SANDBOX_DIR: the directory where the sandbox files are staged on the CREAM CE node (default: "/var/cream_sandbox")
  • DELEGATION_PURGE_RATE: specifies how often the delegation purger has to run (default "10" minutes)

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

example

<commandexecutor id="DelegationExecutor"
    category="DELEGATION_MANAGEMENT"
    commandqueuesize="0"
    commandqueueshared="false"
    commandworkerpoolsize="0"
    filename="/usr/share/java/glite-ce-cream-delegationExecutor.jar">

    <parameter name="CREAM_COPY_PROXY_TO_SANDBOX_BIN_PATH" value="/usr/bin/glite-cream-copyProxyToSandboxDir.sh" />
    <parameter name="CREAM_PURGE_PROXY_FROM_SANDBOX_BIN_PATH" value="/usr/bin/glite-ce-cream-purge-proxy" />
    <parameter name="CREAM_SANDBOX_DIR" value="/var/cream_es_sandbox" />
    <parameter name="DELEGATION_PURGE_RATE" value="10" /> <!-- minutes -->
</commandexecutor>

The BLAH Executor

This executor implements the CREAM's job management capabilities (e.g. jobSubmit, jobCancel, jobInfo, etc). CREAM interacts with the BLAH component, an abstraction layer providing a unified interface to the underlying LRMS. At the time of writing CREAM supports through BLAH the following LRMS: LSF, PBS/Torque, SGE, Condor and SLURM. The list of attributes and parameters which define this executor, complete of their meaning and default values is:

attributes

  • id: "BLAH executor"
  • category: "JOB_MANAGEMENT" (*)
  • commandqueuesize: "500"
  • commandqueueshared: "false"
  • commandworkerpoolsize: "50"
  • filename: "/usr/share/java/glite-ce-cream-blahExecutor.jar"

parameters

  • SANDBOX_TRANSFER_METHOD: sets the sandbox transfer method (GSIFTP/LRMS) (default: "GSIFTP")
  • CREAM_SANDBOX_DIR: 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 (default: "30" minutes)
  • GLEXEC_BIN_PATH: the path of the glexec executable (default: "/usr/sbin/glexec")
  • GLEXEC_CAT_CMD_PATH: the pathname of the "cat" command invoked by CREAM via glexec (default: "/bin/cat")
  • BLAHP_BIN_PATH: the path of the blahpd executable (default: "/usr/bin/blahpd")
  • 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 accepted by CREAM for the execution of commands by BLAH (default: "300" seconds)
  • 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: the time interval (ms) between two attempts to contact the BLAH parser (default: "60000")
  • LRMS_EVENT_LISTENER_PORT: 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 (default "300" minutes)

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

The Activity Executor (EMI-ES)

This Activity Executor implements the functionality (e.g. createActivity, getActivityInfo, etc) defined in the EMI-ES specification (v1.16). The list of attributes and parameters which define this executor, complete of their meaning and default values is:

attributes

  • id: "ActivityExecutor"
  • category: "ACTIVITY_MANAGEMENT" (*)
  • commandqueuesize: "500"
  • commandqueueshared: "false"
  • commandworkerpoolsize: "50"
  • filename: "/usr/share/java/glite-ce-cream-activityExecutor.jar"

parameters

  • ACTIVITY_STATUS_MONITOR_AGE: defines how old should be a not terminated activity in order to ask its current status to the LRMS (default: "24" hours)
  • ACTIVITY_STATUS_MONITOR_RATE: specifies how often CREAM checks the status of the not terminated activities (default: "6" hours)
  • ACTIVITY_WRAPPER_TEMPLATE_PATH: the path where the ActivityWrapper template is placed (default: "/etc/glite-ce-cream-es/")
  • BDII_URI: defines the BDII URI (e.g. _"ldap://cream.pd.infn.it:2170" _)
  • BDII_RATE: specifies how often CREAM has to get information from the BDII (default: "60" minutes)
  • BLAH_BIN_PATH: the path of the blahpd executable (default: "/usr/bin/blahpd")
  • BLAH_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: "cr-es_")
  • BLAH_COMMAND_TIMEOUT: represents the maximum time interval accepted by CREAM for the execution of commands by BLAH (default: "300" seconds)
  • BLAH_NOTIFICATION_LISTENER_PORT: the port used by CREAM to receive notifications about job status changes sent by the BLParser/ActivityWrapper (default: "49155")
  • BLAH_NOTIFIER_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")
  • BLAH_NOTIFIER_RETRY_DELAY: the time interval (ms) between two attempts to contact the BLAH parser (default: "60000")
  • COPY_PROXY_MIN_RETRY_WAIT: (default: "60" seconds)
  • COPY_RETRY_COUNT_ISB: (default: "2")
  • COPY_RETRY_FIRST_WAIT_ISB: (default: "60" seconds)
  • COPY_RETRY_COUNT_OSB: (default: "6")
  • COPY_RETRY_FIRST_WAIT_OSB: (default: "300" seconds)
  • CREATE_WRAPPER_BIN_PATH: (default: "/usr/bin/glite-ce-cream-create-wrapper")
  • CREATE_SANDBOX_BIN_PATH: the path of the executable for creating the job sandbox (default: "/usr/bin/glite-cream-createsandboxdir")
  • DEFAULT_LRMS_NAME: defines the default LRMS used by CREAM if not specified by the user
  • DEFAULT_QUEUE_NAME: defines the default LRMS's queue used by CREAM if not specified by the user
  • DELEGATION_TIME_SLOT*: (default "3600" seconds)
  • LIMIT_FOR_LIST_ACTIVITIES: defines the maximum number of items contained into the response to be sent back to the client (default: "500")
  • PURGE_SANDBOX_BIN_PATH: the path of the executable for purging the job sandbox (default: "/usr/bin/glite-ce-cream-purge-sandbox")
  • SANDBOX_DIR: the directory where the sandbox files are staged on the CREAM CE node (default: "/var/cream-es_sandbox")

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

-- LisaZangrando - 2012-12-04


This topic: CREAM > WebHome > SystemAdministratorDocumentation > CREAMConfigurationFile
Topic revision: r6 - 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