muster:9.0:dispatcher_service_reference

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

muster:9.0:dispatcher_service_reference [2018/01/30 13:24] (current)
Line 1: Line 1:
 +====== Dispatcher service reference ======
  
 +The configuration of the Dispatcher service is done through the Console. You can configure the following items/​functionalities:​
 +
 +  * **Dispatcher behaviours**
 +  * **Render pools**
 +  * **Repositories**
 +  * **Accounts**
 +  * **Templates**
 +
 +=====Dispatcher preferences=====
 +
 +The dispatcher preferences window lets you configure every behaviour of the Dispatcher service.
 +
 +====General====
 +
 +The following window shows the General properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_1.png?​nolink |}}
 +
 +  * **Start Dispatcher selection engine on startup**: Tells Muster to automatically start the Dispatcher selection engine after the boot sequence
 +  * **Remove orphaned instances**:​ When an instance connects, Muster checks the total amount of instances for that node, and remove previously registered ones, if present.
 +  * **On templates editing, backup snapshots**:​ When you change the templates on the Dispatcher service, an entire snapshot of the current status is backed up on a dedicated folder into the templates folder
 +  * **Distinguish instances by**:  This tells the Dispatcher what parameter to use to distinguish the render client instances. If you change from IP address to host name (i.e.) you’re allowed to use a DHCP to assign the addresses to the render farm
 +  * **Maximum concurrent tasks threads**: Defines the maximum amount of tasks (Image assembling, pre/post job actions) runnable by the Dispatcher
 +  * **Requeue chunks on disconnection**:​ If an instance is disconnected and flagged offline, tells Muster to requeue the chunk assigned to that particular instance
 +  * **On requeue increase chunk'​s requeue counter**: Each chunk has a global requeue counter to prevent an infinite requeue. By selecting this option, on each requeue the counter is increased by 1, otherwise it's left untouched and you'll need to manage requeue manually
 +  * **Global chunks timeout in minutes**: Defines a global amount of time in minutes to use as a timeout value for chunks processing
 +  * **Maximum chunks requeue**: Defines a global maximum amount of times a chunk can be requeued, this option has sense when the increase chunk'​s requeue counter is enabled
 +  * **On chunk failure, abort client activity**: If the timeout for a chunk expires, Muster tries to abort the client activity that may be locked
 +  * **Login data**: Specifies an account and a password to use when the Dispatcher should access network files. You should keep those settings blank and configure the users used in the services configuration for Windows, or into the startup scripts files for Linux or Mac
 +  * **Launch any process inside a shell**: If you want any process to be encapsulated inside a shell to inherit environmental variables, you can enable this option.
 +  * **Substitution Paths are case sensitive**:​ Defines the sensitivity of the substitution paths case into the repositories
 +
 +====Network====
 +
 +The following window shows the Network properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_2.png?​nolink |}}
 +
 +  * **Clients network port**: Defines the TCP/IP network port used to listen for incoming instances connections. You can also bind the port to a specific interface by specifying its IP address
 +  * **Management network port**: ​ Defines the TCP/IP network port used to listen for incoming management connections. You can also bind the port to a specific interface by specifying its IP address
 +  * **Notificators network port**: Defines the TCP/IP network port used to listen for incoming notificators connections. You can also bind the port to a specific interface by specifying its IP address
 +  * **Heartbeat resolution**:​ Defines an interval to be used to send pulses to the clients to check they are still alive 
 +  * **Clients RX buffer**: Defines the amount of bytes storable in the network buffers
 +  * **Clients TX buffer**: Defines the amount of bytes storable in the network buffers
 +  * **Management RX buffer**: Defines the amount of bytes storable in the network buffers
 +  * **Management TX buffer**: Defines the amount of bytes storable in the network buffers
 +  * **Notificators TX buffer**: Defines the amount of bytes storable in the network buffers
 +  * **Maximum attempts**: Defines the maximum number of attempts the Dispatcher does to wake up an host using the Magic Packet technology. A value of 0 disables the wake up globally
 +  * **Warm up in seconds**: To give time on a full reboot , you can specify a warm up in seconds required before starting the Wake up logic
 +  * **Delay between each attempt**: Defines the delay between each wakeup attempt
 +  * **Update internal statistics each**: Defines an interval to use to update and store the internal status of the Dispatcher. ​
 +  * **Broadcast network statistics each**: Defines an interval to use to broadcast the internal status of the Dispatcher to Consoles.
 +
 +====Queue====
 +
 +The following window shows the queue properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_3.png?​nolink |}}
 +
 +For each database end point (data storage, history data storage, and backup data storage), you have the following options:
 +
 +  * **Database driver**: Choose the driver to use to access the Muster database (Sqlite, Mysql or Sql server). You’re allowed to use Sql server only on a Windows based Dispatcher.
 +  * **Database address**: The IP address of the database if applicable
 +  * **Login username**: The login name to access the database
 +  * **Login password**: The password to access the database
 +
 +The jobs behaviours can be configured by the following options:
 +
 +  * **Enable parallel rendering at the same job priority**:
 +  * **Folders priority calculation mode**: Specify how to consider the priority of the jobs inside folders
 +  * **Default**:​ Folders are evaluated like regular jobs, when a folder hits its priority, the jobs inside are evaluated using their own priority
 +    * **Flatten**:​ Do not considers folders priority, but flattens the entire queue. The jobs with the highest priority starts first regardless on its position
 +    * **Cumulative**:​ Sums the priority of the folders and the jobs inside, then flatten the queue. The job with the highest priority considering the sum of its parent priorities starts first
 +    * **Jobs in the emergency queue kills active renders...**:​ If you have a job that targets the emergency queue, regular jobs are terminated
 +  * **Build jobs status array**: Builds an array of statuses for each job to display the status of each chunk in the progress bar
 +  * **Calculate jobs progresses using sub chunks progresses**:​ When calculating an overall job progress, takes also into account the current chunks progress
 +  * **Submit jobs in paused status**: New jobs are submitted paused
 +  * **Reset chunks counters on reinit**: When you reinit a job, the inner chunks requeue counter is reset
 +  * **Increase chunks requeue counter on events**: When you resubmit a chunk on hold manually or other similar events, the requeue counter is increased
 +  * **Prefilter parent pool**: If activated, a folder that specifies a destination pool will filter the hosts available to childs jobs, regardless of the settings of the pool of the childs jobs, that may apply an additional filter
 +  * **Automatically backup deleted jobs**: Backups deleted jobs automatically before their removal
 +  * **Flag completed jobs as archived**: Completed jobs automatically get archived
 +  * **Flag jobs as archived after**: Specifies an interval for the automatic archive feature
 +  * **Delete archived jobs after**: Specifies an interval for automatic removal of archived jobs
 +  * **Backup and delete jobs after**: Specifies an interval for automatic backup and removal of jobs, you can specify if this applies to archived jobs too
 +
 +====Logs====
 +
 +The following window shows the logs properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_4.png?​nolink |}}
 +
 +  * **Activity/​Severity level**: Specifies the severity level for the activity logs
 +  * **Activity/​Destination folder**: Specifies a destination path for the activity logs
 +  * **Activity/​Clear logs older than**: Clears the activity logs after a certain amount of days
 +  * **Activity/​Clear older logs when the size exceeds**: Clears the activity logs when their cumulative size exceeds a certain amount of Megabytes
 +  * **Actions/​Destination folder**: Specifies a destination path for the actions logs
 +  * **Actions/​Clear logs older than**: Clears the actions logs after a certain amount of days
 +  * **Actions/​Clear older logs when the size exceeds**: Clears the actions logs when their cumulative size exceeds a certain amount of Megabytes
 +  * **Enable system events**: Tells Muster to log events related to the Dispatcher activity
 +  * **Enable users events**: Tells Muster to log events related to users actions
 +  * **Enable hosts events**: Tells Muster to log events related to hosts activity
 +  * **Enable hosts failure events**: Tells Muster to log events related to hosts failures
 +  * **Clear the log when it contains more than **: Automatically clear the logs when it reaches the specified amount of entries
 +  * **Log processes command line**: Adds the command line used to start the process at the top of each log file
 +  * **Log processes return codes**: Adds the process exit code at the bottom of each log file
 +  * **Redirect templates python output to**: Select where to redirect the output of Python when executed on the Dispatcher:
 +    * **None**: No output
 +    * **Standard out/err**: Redirect on the console output, you must run the Dispatcher in a console to see the output
 +    * **Logs**: Concatenates the output into the activity logs
 +
 +====Actions====
 +
 +The following window shows the Actions properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_5.png?​nolink |}}
 +
 +  * **Job actions failures / Pause job**: Pauses a job if it encounters a failure during an action execution
 +  * **Job actions failure / Lock job**: Locks a job if it encounters a failure during an action execution
 +  * **Chunks actions failure / Abort processing**:​ Aborts a chunk processing if it fails the pre chunk action
 +  * **Chunks actions failures/ Requeue chunk**: Requeues a chunk if it fails the pre post chunk action
 +  * **Chunks actions failure / Increase chunk requeue counter**: Tells Muster to abort a chunk processing if it fails the pre chunk action
 +  * **Chunks actions failures / Add job to exclusions list**: Puts a job in the client exclusions lists if it fails a chunk’s action
 +  * **Chunks actions failures / Add template to exclusions list**: Puts a job template in the client exclusions lists if it fails a chunk’s action
 +  * **Actions timeout in seconds**: Defines a global timeout value for actions
 +  * **Add Muster environment to actions**: When spawning actions, Muster adds a set of environmental variables that carries on the jobs and chunks parameters and status
 +  * **Global pre/post job/chunk actions**: Defines an executable to be launched as a pre/post job or chunk action
 +  * **Check return code**: Checks the return code of the action
 +  * **Override action timeout**: Overrides the default action timeout
 +====Logs and exit codes faults====
 +
 +The following window shows the Logs and exit codes faults properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_6.png?​nolink |}}
 +
 +  * **Logs warnings / enable check**: Enables checking of warnings inside the logs produced by a process. Searched keywords or contents are specified in each template and into the templates or jobs overrides rules
 +  * **Logs warnings / Pause job**: Pauses a job if it finds a warning in the log
 +  * **Logs warnings / Pause client**: Pause a client if it finds a warning in the log
 +  * **Logs warnings / Add job template to client’s exclusions list**: Adds the job template to the client’s exclusions list if it finds a warning in the log
 +  * **Logs warnings / Add job to client’s exclusions list** : Adds the job to the client’s exclusions list if it finds a warning in the log
 +  * **Logs warnings / Requeue chunk**: Requeues a chunk if an error is found in its log
 +  * **Logs warnings / Increase chunk requeue counter**: Increases the chunks requeue counter if there'​s a warning and the chunk is requeued
 +  * **Logs errors / enable check**: Enables checking of errors inside the logs produced by a process. Searched keywords or contents are specified in each template and into the templates or jobs overrides rules
 +  * **Logs errors / Pause job**: Pause a job if it finds an error in the log
 +  * **Logs errors / Pause client**: Pauses a client if it finds an error in the log
 +  * **Logs errors / Add job template to client’s exclusions list**: Adds the job template to the client’s exclusions list if it finds an error in the log
 +  * **Logs errors / Add job to client’s exclusions list** : Adds the job to the client’s exclusions list if it finds an error in the log
 +  * **Logs errors / Enable check**: Enables checking of errors inside the logs produced by a process. Searched keywords or contents are specified in each template and into the templates or jobs overrides rules
 +  * **Logs errors / Pause job**: Pauses a job if it finds an error in the log
 +  * **Logs errors / Pause client**: Pauses a client if it finds an error in the log
 +  * **Logs errors / Add job template to client’s exclusions list**: Adds the job template to the client’s exclusions list if it finds an error in the log
 +  * **Logs errors / Add job to client’s exclusions list** : Adds the job to the client’s exclusions list if it finds an error in the log
 +  * **Logs errors / Increase chunk requeue counter**: Increases the chunks requeue counter if there'​s a warning and the chunk is requeued
 +  * **Exit codes warnings / Enable check**: Enables checking of processes warning return codes. Return codes considered warnings are specified in each template and into the templates or jobs overrides rules
 +  * **Exit codes warnings / Pause job**: Pauses a job if it finds a warning in the exit code
 +  * **Exit codes warnings / Pause client**: Pauses a client if it finds a warning in the exit code
 +  * **Exit codes warnings / Add job template to client’s exclusions list**: Adds the job template to the client’s exclusions list if it finds a warning in the exit code
 +  * **Exit codes warnings / Add job to client’s exclusions list** : Adds the job to the client’s exclusions list if it finds a warning in the exit code
 +  * **Exit codes warnings / Requeue chunk**: Requeues a chunk if a warning is found in its exit code
 +  * **Exit codes warnings / Increase chunk requeue counter**: Increases the chunks requeue counter if there'​s a warning and the chunk is requeued
 +  * **Exit codes errors / Enable check**: Enables checking of processes error return codes. Return codes considered errors are specified in each template
 +  * **Exit codes errors / Pause job**: Pauses a job if it finds an error in the exit code
 +  * **Exit codes errors / Pause client**: Pause a client if it finds an error in the exit code
 +  * **Exit codes errors / Add job template to client’s exclusions list**: Adds the job template to the client’s exclusions list if it finds an error in the exit code
 +  * **Exit codes errors / Add job to client’s exclusions list** : Adds the job to the client’s exclusions list if it finds an error in the exit code
 +  * **Exit codes errors / Requeue chunk**: Requeues a chunk if an error is found in its exit code
 +  * **Exit codes warning / Increase chunk requeue counter**: Increases the chunks requeue counter if there'​s a warning and the chunk is requeued
 +====Processes faults====
 +
 +The following window shows the processes execution faults and chunks timeout properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_7.png?​nolink |}}
 +
 +  * **Process execution faults / Enable check**: Enables checking of faults during processes executions
 +  * **Process execution faults / Pause job**: Pauses a job if it reports a fault during processes executions
 +  * **Process execution faults / Pause client**: Pauses a client if it reports a fault during processes executions
 +  * **Process execution faults / Add job template to client’s exclusions list**: Adds the job template to the client’s exclusions list if it reports a fault during processes executions
 +  * **Process execution faults / Add job to client’s exclusions list**: Adds the job to the client’s exclusions list if it reports a fault during processes executions
 +  * **Process execution faults / Requeue chunk**: Requeues a chunk if it reports a fault during processes executions
 +  * **Process execution faults / Increase chunk requeue counter**: Increases the chunks requeue counter if there'​s a process execution fault and the chunk is requeued
 +  * **Chunks timeout faults / Enable check**: Enables checking of timeouts of chunks
 +  * **Chunks timeout faults / Pause client**: Pauses a client if a chunk expires
 +  * **Chunks timeout faults / Add job template to client’s exclusions list**: Adds the job template to the client’s exclusions list if a chunk expires
 +  * **Chunks timeout faults / Add job to client’s exclusions list**: Adds the job to the client’s exclusions list if a chunk expires
 +  * **Chunks timeout faults / Kill clients rendering the job**: Kills any rendering activity if a chunk expires
 +  * **Chunks timeout faults / Increase chunk requeue counter**: Increases the chunks requeue counter if a chunk time out and the chunk is requeued
 +====Mailing and web====
 +
 +The following window shows the mailing and the web server properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_8.png?​nolink |}}
 +
 +  * **SMTP server**: Specifies the SMTP server to use when sending e-mails
 +  * **Port**: Specifies the SMTP server port 
 +  * **Account**:​ The mail account to use when sending e-mails in the form mail@domain
 +  * **Requires authentication**:​ If you require authentication,​ check this box
 +  * **Authentication login**: If you need authentication,​ put your login here
 +  * **Authentication password**: If you need authentication,​ put your password here
 +  * **Connection encryption**:​ If your SMTP server requires an encrypted connection, you can select it from this field
 +
 +  * **Enable web server**: Enables the integrated web server binding it to the listening ports
 +  * **Enable compression**:​ Muster tries to send the pages gzipped if the browser supports it
 +  * **HTTP port**: Port to listen for incoming HTTP connections
 +  * **HTTPS port**: Port to listen for incoming HTTPS connections (SSL encrypted)
 +  * **Bind to interface**:​ If you want to bind the listening sockets to a specific interface, you can put its IP address here
 +  * **Maximum pending connections**:​ Maximum number of pending connections in the queue of the web server
 +  * **Connection timeout**: Global timeout for each web server connection
 +  * **Maximum bandwidth in bytes**: Maximum bandwidth allocable by the web server for each connection
 +  * **Default serving threads**: Number of threads that listen for incoming connection by default
 +  * **Maximum serving threads**: Maximum number of concurrent serving threads allocable by the web server
 +  ​
 +====Windows Drives mapping====
 +
 +The following window shows the drive mappings properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_9.png?​nolink |}}
 +
 +** If you're running the Dispatcher on LINUX or MAC, the settings of this dialog are completely ignored **
 +
 +If your Dispatcher is Windows based and you want to statically map some network drives, just configure them in this section by using the drive mapping editing window. You'll need to configure the drive mappings in Window if you're going to use them when you submit the jobs and you want the Dispatcher to perform frames assembling or frames checking activities.
 +
 +You can tell the Dispatcher to mount or unmount the drives at specific times. I.e. by telling the Dispatcher to un mount the drives after the job completion, you can keep under control the total amount of connection to your file server and limiting the client licenses required.
 +
 +Also, you can **enable automatic mapping**, this setting works either on Windows and on Linux/Mac. Basically, when you submit a job from a Windows workstation and the job's paths are picked up from a mapped drive, the informations of the drive mappings are stored as metadata inside the job. When it's time to use them, the Dispatcher or the Renderclient will attempt to automatically map the drive.
 +
 +
 +====Notifications====
 +
 +The following window shows the notification properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_10.png?​nolink |}}
 +
 +The notifications allows you to send notifications by email, using Muster Notificator or on the Muster mobile app that will come later during the lifecycle of M9. We already made the configurations available to avoid changing back the interface and the internal data structures.
 +
 +=== Email notifications ===
 +
 +  * **Enable e-mail notifications**:​ Activates notification through the mail server configured in the Dispatcher preferences
 +  * **Additional e-mail addresses**:​ Specify any additional e-mail address to send any notification. Notifications are usually sent to the email address of each user, and the notifications they get are configured through the users notifications mask
 +  * **Send Dispatcher log every**: Sends a dump of the Dispatcher log to the users interested in
 +  * **Job start**: Sends a notification when a job starts
 +  * **Job completion**:​ Sends a notification when a job completes. You can filter the notification by the error level
 +  * **Chunk start**: Sends a notification when a chunk starts
 +  * **Chunk completion**:​ Sends a notification when a chunk completed. You can filter the notification by the error level
 +  * **Engine status**: Sends a notification when the Dispatcher engine status changes
 +  * **Soft restarts**: Sends a notification when a soft restart happens
 +  * **Configuration changes**: Sends a notification when a configuration is changed
 +  * **Exclusion lists events**: Sends a notification when an event in the exclusion lists happens
 +
 +=== Muster notificator notifications ===
 +
 +  * **Job start**: Sends a notification when a job starts
 +  * **Job completion**:​ Sends a notification when a job completes. You can filter the notification by the error level
 +  * **Chunk start**: Sends a notification when a chunk starts
 +  * **Chunk completion**:​ Sends a notification when a chunk completed. You can filter the notification by the error level
 +  * **Engine status**: Sends a notification when the Dispatcher engine status changes
 +  * **Soft restarts**: Sends a notification when a soft restart happens
 +  * **Configuration changes**: Sends a notification when a configuration is changed
 +  * **Exclusion lists events**: Sends a notification when an event in the exclusion lists happens
 +
 +=== Mobile notifications ===
 +
 +  * **Job start**: Sends a notification when a job starts
 +  * **Job completion**:​ Sends a notification when a job completes. You can filter the notification by the error level
 +  * **Chunk start**: Sends a notification when a chunk starts
 +  * **Chunk completion**:​ Sends a notification when a chunk completed. You can filter the notification by the error level
 +  * **Engine status**: Sends a notification when the Dispatcher engine status changes
 +  * **Soft restarts**: Sends a notification when a soft restart happens
 +  * **Configuration changes**: Sends a notification when a configuration is changed
 +  * **Exclusion lists events**: Sends a notification when an event in the exclusion lists happens
 +
 +====Advanced tuning====
 +
 +The following window shows the advanced tuning properties:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​dispatcher_configuration:​dispatcher_configuration_11.png?​nolink |}}
 +
 +The settings in the advanced tuning should not be changed under any circumstances unless you're really sure of what you're doing and you've deep knowledge of the underlaying OS and sockets options. By putting wrong values in those fields, Dispatcher may became unreachable and unstable.
 +
 +This is a description of each setting:
 +
 +  * **Dispatcher idling timer resolution**:​ Defines the number of seconds between each call to the global template onIdling function
 +  * **Nodes handling threads**: How many threads handles the nodes connections. 0 means to use one thread for each logical cpu
 +  * **Nodes handling threads multiplier**:​ Multiplies the nodes handling threads value
 +  * **Management handling threads**: How many threads handles the management connections. 0 means to use one thread for each logical cpu
 +  * **Management handling threads multiplier**:​ Multiplies the management handling threads value
 +  * **Management keep alive resolution**:​ How many seconds should pass before a management connection is aborted due to inactivity
 +  * **Notificators handling threads**: How many threads handles the notificators connections. 0 means to use one thread for each logical cpu
 +  * **Notificators handling threads multiplier**:​ Multiplies the notificators handling threads value
 +  * **Notificators keep alive resolution**:​ How many seconds should pass before a notificator connection is aborted due to inactivity
 +  * **Garbage collector TTL**: This is the time to live value for each Muster internal object before it is garbage collected. Decreasing this value may improve memory usage but can also crash the system. Under heavy network usage, you may need to increase this value according
 +  * **Selection logic cycling resolution**:​ How many seconds of inactivity should pass before the Dispatcher forces a new selection logic cycle
 +  * **Pooling events amount**: On asynchronous sockets handling, how many events are pooled on each call, used on Linux and Mac OS X
 +  * **Reset to default values**: Resets the settings to their suggested default value
 +=====Render pools=====
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​pools_configuration.png?​nolink&​600 |}}
 +
 +A Render pool is a logical group of instances. By defining render pools, you can tell Muster to use a specific subset of instances/​hosts to render a particular job, limit the usage of the resources for a particular user, and wake up some instances when they are effectively required by configuring the wake up on Lan feature.
 +
 +You can use the Dispatcher Pools dialog to create new pool , duplicate them , and assign available instances to existing pools.
 +
 +The list on the right shows you the available instances. As soon as you click on a pool in the left view, the instances still not part of that pool will be shown and you’ll be able to assign them using the left arrow button.
 +
 +If you want to remove an instance from a pool just click on it and click the right arrow button. This will remove the instance and put it back in the availability list.
 +
 +You can configure pools on the fly while the Dispatcher engine is active. Existing jobs will automatically inherit the new settings. ​
 +
 +Pools can have special features as listed below:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​pools_featurers_dialog.png?​nolink&​400 |}}
 +
 +  * **Jobs level priority**: By inserting a value in this priority field, the jobs that targets this pool gets an additional priority summed to their base priority
 +  * **Hosts level priority**: By inserting a value in this priority field, the hosts that belongs to this pool gets an additional selection priority summed to their base priority
 +  * **Autopool netmask**: Creates the pool's members using the supplied net mask automatically
 +  * **Autopool hostname prefix**: Creates the pool's member using the host name prefix automatically
 +  * **Time rules**: You can define specific time rules to have the pool available on not available on certain times
 +
 +=====Repositories=====
 +
 +Substitution paths engine is a fundamental tools for cross-platform rendering. As you probably know, the way the system manages file paths is completely different between Windows and Unix based systems like Linux and Mac OS X.
 +
 +When you submit a job, you tell Muster where the file for this job is, where is its project and where you want to store the files. You embed this information using the path coding of the platform you’re running the Console on.
 +
 +But what happens when the job is submitted to an instance, or the Dispatcher requires access to the file contents (i.e. Image slicing assembling) ? Muster uses the substitution paths configuration. It exchanges back slashes with forward slashes where required, and transform the paths according with the rules you configure.
 +
 +This is an example of the Repositories dialog:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​repositories_configuration.png?​nolink&​600 |}}
 +
 +No matter if you have a longer or shorter path, just put the path prefix to be exchanged and Muster will do the work.You can also configure a path exchange exclusively for one host (think about an host mounting the shares in a different way or on a different drive) or for one particular user (think about a user connecting from home with a total different mounting scheme).
 +
 +Even paths substitution may be case insensitive (depending on the settings in the Dispatcher preferences),​ always be sure to specify the paths with their correct case. Linux and Mac OS X are sensitive to cases, so even the exchange of the path may happen correctly, you may still encounter issues if the case doesn’t match the target file system.
 +
 +{{muster:​9.0:​warning.png?​nolink |}}
 +<​html>​
 +<font color="​red"​ size="​-1">​
 +When you create a new repository, remember that the Server path means the path as seen from the Dispatcher point of view. It should match one of the three paths (Windows / Linux / Mac) depending on where the Dispatcher is installed.
 +</​font>​
 +</​html>​
 +
 +
 +{{muster:​9.0:​warning.png?​nolink |}}
 +<​html>​
 +<font color="​red"​ size="​-1">​
 +Repositories configurations are also used to browse your file system from the web browser. Remember to configure at least one path to your network shares even you’re not going to use cross platform rendering or you won’t be able to access the files from the web. 
 +</​font>​
 +</​html>​
 +=====Users management=====
 +
 +Muster lets you work using its own users and groups database, as well as binding and importing an existing database using LDAP or Active Directory technologies.
 +
 +If you’re going to use the built-in users and groups, you can configure the users from the Users tab:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​accounts:​accounts_users.png?​nolink&​600 |}}
 +
 +Once you add an user or you want to configure a new one, click on the **Rights button**.
 +
 +This is the user rights configuration window:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​accounts:​accounts_user_settings.png?​nolink&​600 |}}
 +
 +  * **Reset password**: You can type a new password for the selected user, it will be changed after applying changes
 +  * **Member of group**: You can specify the groups assigned to the user
 +  * **Properties field**: This defines the global properties for the user, properties may be inherited by the user's groups or overridden on a user basis.
 +    * **Email address**: Specifies an email address for the user, used to receive enabled notifications
 +    * **Maximum queue priority**: Specifies a maximum priority for user's jobs
 +    * **Allowed templats**: Allows the use of specific templates for the user
 +    * **Forbidden templates**:​ Deny the use of specific templates to the user
 +    * **Allowed pools**: Allows the use of specific pools for the user
 +    * **Forbidden pools**: Deny the use of specific pools to the user
 +    * **Limited pools skip on idle instance**: If instances are available, allow an user job to take control even the pool is forbidden
 +    * **Maximum instances**:​ Sets a maximum number of allocable instances for the user's jobs
 +    * **Maximum instances skip on idle instance**: If instances are available, allow an user job to take control even the maximum instances value is exceeded
 +    * **Enable home folder**: Creates an enables an home folder for the user. All the user's submissions will go inside its home folder
 +    * **Constrain queue view on home folder**: Constrains any jobs downloads, views and interaction to the home folder. The user's home folder is view as the jobs root level
 +  * **Permissions tab**: Allows or deny specific permissions. The effective value, inherited from groups too is shown near the check boxes
 +  * **Notifications tab**: Allows or deny specific notifications. The effective value, inherited from groups too is shown near the check boxes. Notifications are available for email, notificators or mobiles
 +  * **Repositories tab**: Let you specify specific users level repositories to allow an user basis paths substitution
 +  ​
 +You can also configure groups using the Groups tab:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​accounts:​accounts_groups.png?​nolink&​600 |}}
 +
 +Groups have settings similar to the Users ones:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​accounts:​account_group_settings.png?​nolink&​600 |}}
 +
 +The only difference stays into the permissions and notifications tab. You can only enable a particular permission or notification,​ they are denied by default.
 +
 +If you want to bind the authentication system with an LDAP or Active Directory system, you can configure the LDAP settings tab:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​accounts:​accounts_ldap.png?​nolink&​600 |}}
 +
 +This dialog let you specify LDAP or Active Directory specific settings. By configuring LDAP you can tell Muster to download the users and groups accounts directly from an external authentication server. The following settings are available:
 +
 +  * **Enable LDAP Bindings**: Turns on LDAP or Active Directory bindings
 +  * **LDAP Server type**: Specifies an OpenLDAP or an Active Directory server
 +  * **Port**: Specifies the directory server port
 +  * **Encryption**:​ Specifies the level of encryption for the connection. Be sure to change the network port according
 +  * **LDAP Server address**: Specifies the IP address or the host name of the LDAP server
 +  * **Users base DN**: Specifies the base DN to retrieve the users list
 +  * **Groups base DN**: Specifies the base DN to retrieve the groups list
 +  * **Bind DN or AD Domain name**: If you're using an OpenLDAP server, you'll need to insert the Bind DN here, otherwise, if you're going to use a Windows Active Directory server, you need to put the domain name here. The Bind DN is used to authenticate any user, so the string itself must be escaped with a special %username% macro that's changed on runtime. I.e. uid=%username%,​cn=users
 +  * **Update bind username**: This is the username used to retrieve groups and users accounts. It should be a Domain administrator or a user with the rights to browse the properties of the Directory system
 +  * **Update bind password**: This is the password for the bind account
 +  * **Update objects automatically**:​ If enabled, the Dispatcher will perform an update an synchronisation of the LDAP users and groups on a time basis. If left unchecked, the operation must be performed manually when required, through this dialog
 +  * **Erase imported items**: Removes the imported LDAP users and groups
 +  * **Update**: Performs a manual update of the LDAP users and groups
 +  * **Advanced settings**: Expands the advanced settings panel, as show below:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​accounts:​accounts_ldap_advanced.png?​nolink&​600 |}}
 +
 +The advanced settings panel shows you the exact attributes and filters used to query the users and the groups. Most of the time those settings will work, but depending on your system, it may be possible you'll need to change these.Please refer to your system administrator for LDAP specific settings if the default ones are not working.
 +
 +It’s often a good practice to test your LDAP settings before importing the users inside the Muster database. Having a bad configured LDAP server may lead to authentication errors and you may need to reset the configuration by manually editing the dispatcher.conf file, to avoid being locked outside the server.
 +
 +After you import the LDAP accounts and groups, you can configure directory accounts from the LDAP users tab:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​accounts:​accounts_ldap_users.png?​nolink&​600 |}}
 +
 +You can also configure LDAP groups from the LDAP groups tab:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​accounts:​accounts_ldap_groups.png?​nolink&​600 |}}
 +
 +The same settings for the regular users and groups applies to LDAP users and groups. Be aware that you won't be able to change an user password because it's under the control of the Directory Server.
 +=====The templates editor=====
 +
 +The dispatcher templates editor dialog lets you configure every behaviour of the Templates installed into the Dispatcher. It also allows you to create, remove and edit existing templates:
 +
 +The following window shows the templates editor:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​templates:​templates_editor.png?​nolink |}}
 +
 +Using the templates editor, you can change the supported templates versions (if you add a new version, automatically you can them reconfigure your hosts, and you'll find a configuration available for each version), add templates based macros that can be later retrieved from your template'​s code, and define template level logs parsing rules. Please refer to the submission section of this document to understand how logs parsing rules works.
 +
 +You can also setup custom macros (you can get the values from your template code using the getMacro() function of the template) and custom environmental variables. If you setup them into the global template(0),​ they will be available widely across any spawned process. If you instead setup inside a template, you configure them on a version basis.
 +
 +When you configure an environmental variable, you can use inline Python to modify the values on the fly depending on the job or the chunk currently running. Please refer to the [[muster:​9.0:​custom_actions|Handling custom actions and environmental variables]] section of this Wiki to understand more.
 + 
 +It is also possible to directly write of modify an existing template using the code editor shown below:
 +
 +{{ muster:​9.0:​images:​dispatcher_reference:​templates:​templates_editor_code.png?​nolink |}}
 +
 +The templates code editor works as a Python text editor. You can configure its behaviours in regards to tabulation and spacing directly from the Console preferences. By editing the templates directly from within Console, you can push the changes live to all the clients and immediately test your code changes.
 +
 +Additional information on templates are directly available in the templates section of this Wiki.
  • muster/9.0/dispatcher_service_reference.txt
  • Last modified: 2018/01/30 13:24
  • (external edit)