mandriva
 

Pulse 2 Launcher configuration file

Nicolas Rueff

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


1. Introduction

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      

2. Configuration file sections

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 .

3. « launchers » section

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

4. « wrapper » section

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

5. « ssh » section

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  

6. « daemon » section

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

7. « wol » section

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

8. «wget » section

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

9. «rsync » section

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

10. « scheduler_XXX » section

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

11. « launcher_XXX » section

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