saltstack / saltstack/salt

[BUG] salt-api payload does not return jid when using list

Open
#67,348 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs-triage
Dominant language
Python
Stars
15.7k
Forks
5.6k
Avg merge
2d 44m
Merged PRs (30d)
80

Description

Description
I am using the Salt API to deploy a larger change with the state.apply function and the batch parameter.
However, it does not return any response or JID that would allow me to track the job.

I am using the following payload, where the minion list contains more than 100 minions:
command_payload = { "client": "local_batch", "tgt": minions, "expr_form": "list", "fun": "state.apply", "arg": [state_name], "batch": str(batch_size) }
It works if i use for loop instead and sending one minion at a time but that is not nice to the salt master and it is easy to get a timeout.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the salt-api request using the local_batch client, expr_form set to list, state.apply, and a batch value with more than 100 minions. Trace the response handling for batched jobs and compare it with the one-minion loop; done means the request returns a JID that can be used to track the job.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.