
Copyright © 2008 Nicolas Rueff - Mandriva
| Revision History | ||
|---|---|---|
| Revision $Revision: 49 $ | $Date: 2008-08-06 16:30:15 +0200 (Wed, 06 Aug 2008) $ | $Author: nrueff $ |
Abstract
This document explains the content of the configuration file of the launcher service from Pulse 2
Table of Contents
The « Launcher » service is the Pulse 2 daemon in charge of doing jobs on clients on scheduler orders.
The service configuration file is /etc/mmc/pulse2/launchers.ini (please note the
ending "s").
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
For now three sections are available in this configuration file. Some sections describing the different available launchers may appear, their name must begin with "launcher_". The idea behind this is that the main section controls the common behavior of launchers, the others control the specific behaviors.
Table 1. launchers.ini available sections
| Section name | Description | Optional |
|---|---|---|
| launchers | Common launchers configuration directives | yes |
| wrapper | wrapper related options | yes |
| ssh | ssh modus-operandi related section | yes |
| daemon | Launchers services related behaviors | yes |
| wol | WOL related behaviors | yes |
| wget | Wget related options | yes |
| scheduler_XXX | Referent scheduler location | no |
| launcher_XXX | Configuration for 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 all launcher services.
Table 2. Available options for the "launchers" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| inventory_command | The inventory command to use on a client, after a successful deployment. | yes | string | echo Doing inventory |
| launcher_path | The Launcher main script location, used by launchers-manager to start and daemonize the services. | yes | path | /usr/sbin/pulse2-launcher |
| max_command_age | The parameter which limits a command's time lenght. Above this amount of seconds the command will automatically be killed. Only works for ASYNC commands. | yes | int, seconds | 86400 (1 day) |
| max_ping_time | Timeout when attempting to ping a client: above this value a computer will be considered as unreachable. | yes | int, seconds | 2 |
| max_probe_time | Timeout when attempting to probe a client: above this value a computer will be considered as without SSH agent installed. | yes | int, seconds | 5 |
| ping_path | Path to Pulse 2 PIng tool | yes | path | /usr/sbin/pulse2-ping |
| source_path | Packages source path target path (used for upload purpose). | yes | path | /var/lib/pulse2/packages |
| target_path | Client target path (used for upload purpose). | yes | path | /tmp |
| temp_folder_prefix | During a deployment, if a folder has to be created, its name will begin by this string. | yes | string | MDVPLS |
| wrapper_max_exec_time | Default max exec time in seconds, older process are killed using SIGKILL, only works in ASYNC mode | yes | int, in seconds | 0 ("no limit") |
| wrapper_max_log_size | Cap generated logs to this value | yes | int, in bytes | 0 ("no limit") |
| wrapper_path | Pulse 2 launcher wrapper (ie "job launcher") location. | yes | path | /usr/sbin/pulse2-output-wrapper |
This section define the wrapper flags.
Table 3. Available options for the "wrapper" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| max_exec_time | Default max exec time in seconds, older process are killed using SIGKILL. Different from max_command_age as beeing handled by the wrapper itself, so it also works for SYNC commandS. | yes | int, in seconds | 21600 (6 hours) |
| max_log_size | Cap generated logs to this value | yes | int, in bytes | 512000 (500 kB) |
| path | Pulse 2 launcher wrapper (ie "job launcher") location. | yes | path | /usr/sbin/pulse2-output-wrapper |
This section define global ssh (and scp) options.
Table 4. Available options for the "ssh" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| default_key | The default SSHv2 key to use, the config code will look for an "ssh_<default_key>" entry in the config file. | yes | string | default |
| forward_key | Should we perform key-forwarding (never, always, or let = let the scheduler take its decision) | yes | string | let |
| scp_options | Options passed to OpenSCP binary (-o option). | yes | list of space separated strings | same as ssh_options |
| ssh_options | Options passed to OpenSSH binary (-o option). | yes | list of space separated strings | StrictHostKeyChecking=no Batchmode=yes PasswordAuthentication=no ServerAliveInterval=10 CheckHostIP=no ConnectTimeout=10 |
| sshkey_default | The "default" ssh key path. | yes | path | /root/.ssh/id_dsa |
| sshkey_XXXX | The "XXXX" ssh key path (when more than one key may be used). | yes | string |
This section sets the pulse2-launchers-manager and pulse2-launchers service run-time options and privileges.
Table 5. Available options for the "daemon" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| group | The pulse2-launchers-manager and pulse2-launchers services run as this specified group. | yes | group | root |
| pid_path | The launcher services PID, used by pulse2-launchers-manager to track the launchers services. | yes | path | /var/run/pulse2 |
| umask | The pulse2-launchers-manager and pulse2-launchers services umask defines the right of the new files they create (log files for example). | yes | octal | 0077 |
| user | The pulse2-launchers-manager and pulse2-launchers service run as this specified user. | yes | user | root |
This section sets the pulse2-launchers-manager and pulse2-launchers service run-time options and privileges.
Table 6. Available options for the "daemon" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| wol_bcast | WOL IP BCast adress. | yes | string | 255.255.255.255 |
| wol_path | Pulse 2 scheduler awaker (via WOL "magic packet"). | yes | path | /usr/sbin/pulse2-wol |
| wol_port | WOL TCP port. | yes | string | 40000 |
This section sets the pulse2-launchers wget options (for the pull part of the push/pull mode)
Table 7. Available options for the "wget" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| wget_options | Options passed to wget binary. | yes | string | |
| check_certs | Put the check certificate flag. | yes | boolean | False |
| resume | Attempt to resume a partial completed transfert | yes | boolean | True |
This section sets the pulse2-launchers rsync options (for the push mode)
Table 8. Available options for the "wget" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| resume | Attempt to resume a partial completed transfert | yes | boolean | True |
This section define how the launchers may reach their referent scheduler.
Table 9. Available options for the "scheduler" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| awake_time | The launcher will periodicaly awake (for exemple to send results to is scheduler), with this key a specific periodicity can be given. Field unit is the "second". | yes | int | 600 |
| defer_results | In async mode, whenever immedialetly send results to referent scheduler upon job completion or wait for being waked up (see above) | yes | string | no |
| enablessl | Flag that tells if SSL should be used to connect to the scheduler | yes | boolean | 1 |
| host | The referent scheduler IP address | yes | string | 127.0.0.1 |
| password | The password to use when authenticating vs our referent scheduler | yes | string or base64 | password |
| port | The referent scheduler TCP port | yes | string | 8000 |
| username | The login name to use when authenticating vs our referent scheduler | yes | string | username |
This section define specific options for all launchers on the server.
Table 10. Available options for the "launcher_XXX" section
| Option name | Description | Optional | Type | Default value |
|---|---|---|---|---|
| bind | The launcher binding IP address. | yes | string | 127.0.0.1 |
| cacert | path to the certificate file describing the certificate authority of the SSL server | no if enablessl is set | path | /etc/mmc/pulse2/scheduler/keys/cacert.pem |
| certfile | deprecated (see cacert) | |||
| enablessl | SSL mode support | no | boolean | 1 |
| localcert | path to the SSL serverprivate certificate | no if enablessl is set | path | /etc/mmc/pulse2/scheduler/keys/privkey.pem |
| password | The password to use when authenticating vs this launcher | yes | string or base64 | password |
| port | The launcher binding TCP port. | no | int | |
| privkey | deprecated (see localcert) | |||
| slots | The number of available slots (ie. maximum number of concurrent jobs) | yes | int | 300 |
| scheduler | The referent scheduler | yes | string | the first defined scheduler |
| username | The login name to use when authenticating vs this launcher | yes | string | username |
| verifypeer | Check that our parent scheduler present a signed certificate | no if enablessl is set | boolean | False |