- SaltStack - Working Example
- SaltStack - Python API
- SaltStack - Salt Package Manager
- SaltStack - Orchestration
- SaltStack - Event system
- SaltStack - Salt Proxy Minions
- Salt for Cloud Infrastructure
- SaltStack - Salt through SSH
- SaltStack - Logging
- Configuration Management
- SaltStack - Remote Execution
- SaltStack - Using Cron with Salt
- Using MinionFS as the File Server
- SaltStack - Git as a File Server
- SaltStack - Salt File Server
- SaltStack - Job Management
- SaltStack - Access Control System
- Creating a Simple Environment
- SaltStack - Installation
- SaltStack - Competitors
- SaltStack - Architecture
- SaltStack - Overview
- SaltStack - Home
SaltStack Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
SaltStack - Job Management
Salt has the capabipty 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. This chapter explains about job management in detail.
What is a Job ID?
Salt has cache directory, cachedir. Inside 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.
Jobs Runner
The jobs runner contains functions to make viewing data easier and cleaner. It has different functions. Let us discuss 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 pst out the job data for jobs. It is expressed by the following command −
salt-run jobs.pst_jobs
Job Schedupng
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.
Advertisements