
$Id: pulse2-scheduler-configuration.xml 141 2009-05-19 16:40:03Z nrueff $
Copyright © 2008-2009 Mandriva
| Revision History | ||
|---|---|---|
| Revision 1.2.2 | 2009-05-19 | NR |
|
||
| Revision 1.2.1 | 2009-04-23 | NR |
|
||
Abstract
This document explains the content of the configuration file of the scheduler service from Pulse 2
Table of Contents
The « Scheduler » service is the Pulse 2 daemon in charge of reading the MSC database, dispatching commands over available launchers and writing results in the MSC database.
The main service configuration file is /etc/mmc/pulse2/scheduler/scheduler.ini.
Optionnaly, the database configuration may also be defined into
/etc/mmc/plugins/msc.ini
Like all Pulse 2 related configuration file, its file format is INI style. The file is made of sections, each one starting with a « [sectionname] » header. In each section options can be defined like this: « option = value ».
For example:
[section1] option1 = 1 option2 = 2 [section2] option1 = foo option2 = plop
The configuration file is splitted into several sections: Some sections describing the different available launchers may appear, their name must begin with "launcher_".
scheduler, daemon, database and logging,
launchers declaration (describing the different available launchers may appear, their name must begin with "launcher_").
Table 1. scheduler.ini available sections
| Section name | Description | Optional |
|---|---|---|
| scheduler | Mostly scheduler related behaviors | no |
| daemon | Scheduler service related behaviors | yes |
| database | Scheduler database access | yes (see below) |
| launcher_XXX | A way to talk to launcher_XXX | no |
All the other sections (loggers, handlers, ...) are related to Python language logging framework. See http://docs.python.org/lib/logging-config-fileformat.html .
This section is used to give directives to the scheduler service.
Table 2. Available options for the "main" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| id | This scheduler name, used to take the right jobs in the database. | no | string | |
| announce_check | To announce what we are currently try to do on client, for each
stage.
For example TRANFERT while transfering something: announce_check = transfert=TRANFERT (comma-separated list as for previous options). currently available keywords: transfert, execute, delete, inventory |
yes | string | |
| awake_time | The scheduler will periodicaly awake (for exemple to poll the database), with this key a specific periodicity can be given. | yes | int, seconds | 600 (ten minuts) |
| cacert | path to the certificate file describing the certificate authority of the SSL server | yes, and used only if enablessl is set | path | /etc/mmc/pulse2/scheduler/keys/cacert.pem |
| client_check | comma-separated list of <key>=<value> tokens to ask to the client; value (as part ot the 'target' table' may be name, uuid, ipaddr, mac; only the first value are used for the last two. | yes | string | |
| dbencoding | The encoding to use when injecting logs into the MSC database. | yes | string | utf-8 |
| enablessl | SSL mode support | yes | boolean | True |
| localcert | path to the SSL server private certificate | yes, and used only if enablessl is set | path | /etc/mmc/pulse2/scheduler/keys/privkey.pem |
| host | This scheduler listing binding IP address | yes | string | 127.0.0.1 |
| max_command_time | Command max authorized time, used by the launcher | yes | int | 3600 (one hour) |
| max_upload_time | Upload max authorized time, used by the launcher | yes | int | 21600 (six hours) |
| max_slots | The max number of slot to use for all launchers | yes | int | 300 |
| max_wol_time | WOL wait time | yes | int | 300 (five minuts) |
| mg_assign_algo | The plugin the scheduler will use to assign a computer to a group. See doc. | yes | string | default (ie. use scheduler/assign_algo/default) |
| mode | The scheduler way-of-giving-task-to-its-launchers (see doc). | yes | string | async |
| password | The password to use when sending XMLRPC commands to this scheduler. | yes | string or base64 | password |
| port | This scheduler listing TCP port. | yes | int | 8000 |
| resolv_order | The different means used to find a client on the network (see doc). | yes | list of string, separator is space | fqdn hosts netbios ip |
| scheduler_path | The Scheduler main script location, used by scheduler-manager to start and daemonize the service. | no | path | /usr/sbin/pulse2-scheduler |
| server_check | see client_check for option formating, the main differente is that checks are done server-side, not client-side. | yes | string | |
| username | The name to use when sending XMLRPC commands to this scheduler. | yes | string | username |
| verifypeer | SSL cert verirfication (if set to True, you will have to build and use a PKI) | yes | boolean | False |
This section sets the scheduler service run-time options and privileges.
Table 3. Available options for the "daemon" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| group | The scheduler service runs as this specified group. | yes | group | root |
| pidfile | The scheduler service PID, used by scheduler-manager to track the scheduler service. | yes | path | /var/run/pulse2 |
| umask | The scheduler service umask defines the right of the new files it creates (log files for example). | yes | octal | 0077 |
| user | The scheduler service runs as this specified user. | yes | user | root |
| setrlimit | Resource usage limits to apply to the scheduler process, specified by a string of triplets (resource, soft limit, hard limit). See the Python documentation for more information | yes | string |
Example:
[daemon] pid_path = /var/run/pulse2 user = mmc group = mmc umask = 0007 setrlimit = RLIMIT_NOFILE 2048 2048 RLIMIT_CORE 0 0
This section can eihther be defined in scheduler.ini, or in msc.ini (in that order).
This section is documented into the MSC MMC plugin configuration documentation.
This section define available launchers (one per launcher, "XXX" must be an integer). By default, no launcher is defined.
Table 4. Available options for the "launcher_XXX" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| enablessl | Flag telling if SSL mode should be used to connect to the launcher. | no | boolean | |
| host | The launcher IP address. | no | string | |
| password | The password to use when we send XMLRPC commands to this launcher. | no | string or base64 | |
| port | The launcher TCP port. | no | string | |
| username | The name to use when we send XMLRPC commands to this launcher. | no | string |