• Salt has the capability of high-speed communication with a large number of systems
• This approach helps Salt to make a powerful multitasking system
• Salt can run jobs on more than one systems, so Salt uses job management technique to manage each job running on all the systems
• Salt has cache directory, cachedir
• In this, a directory that minions maintain is called as the proc directory
• It is located in the following directory /var/cache/salt/proc
• The proc directory is used to maintain all the files
• When these files are executed, they assign with a unique job ID
• This job id helps to identify the current running jobs on the minion and allow the jobs to be looked up
SALTUTIL Module :
• Salt introduces a new module that is called as the Saltutil job management process
• This module contains different functions to manage jobs
• These functions are used to manage jobs at the minion level. The functions are described in brief as follows
• running − Returns all the running jobs data that are found in the proc directory
• find_job − Returns specific data about a certain job based on the job id
• signal_job − Allows a given job id(jid) to be sent a signal
• term_job − Sends a termination signal for the specified job
• kill_job − Sends a kill signal for the specified job
Job Runners
• The jobs runner contains functions to make viewing data easier and cleaner
• It has different functions, let us review each of these functions in detail
• ACTIVE Function :
The Active function is used to identify which jobs are still running and check what systems have completed a job and what systems are still being waited on. It is executed using the following command,
salt-run jobs.active
• LOOKUP_JID Function
The lookup_jid runner will display the data for the current looking job
These jobs are configured via the keep_jobs option in the master configuration
It is executed using the following command
salt-run jobs.lookup_jid <job id number>
• LIST_JOBS Function
The List_jobs function is used to list out the job data for jobs. It is expressed by the following command
salt-run jobs.list_jobs
Job Scheduling :
• The schedule system exposes the execution of any execution function on minions or any runner on the master
• It is performed by the following methods
• Schedule − The schedule option in either the master or the minion config files.
• Minion pillar data − It refreshes the minion pillar data using the saltutil.refresh_pillar command.
• The schedule state or schedule module.
• Salt states are executed on the minion
• You can pass the positional arguments and provide a YAML dict of the named arguments in the config file as shown below.
schedule: job1: function: saltstate.sls seconds: 3600 args: - httpd kwargs: test: True
• Here, job1 will execute the function saltstate.sls with the specified arguments, httpd for every hour
• The test: True is the additional argument for the httpd command that is defined in saltstate.sls
No comments:
Post a Comment