Skip to content

Commit

Permalink
Document the azure pipeline property: requireAllDemandsAndIgnoreOthers
Browse files Browse the repository at this point in the history
  • Loading branch information
Nohac committed Nov 7, 2024
1 parent 81101f1 commit adb0dde
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions content/docs/2.16/scalers/azure-pipelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ triggers:
demands: "{demands}"
# Optional: Demands of jobs must exactly match the capabilities the trigger defines
requireAllDemands: false
# Optional: Require jobs to include specified demands, ignoring any extra ones
requireAllDemandsAndIgnoreOthers: false
# Optional: How many jobs to fetch for the pool in the API (default: 250)
jobsToFetch: "{jobsToFetch}"
authenticationRef:
Expand Down Expand Up @@ -89,6 +91,11 @@ particularly these would be exclusive agents where jobs would fail if run on the

- **Using demands:** KEDA will determine which agents can fulfill the job based on the demands provided. The demands are provided as a comma-separated list and must be a subset of the actual capabilities of the agent. (For example `maven,java,make`. Note: `Agent.Version` is ignored). If `requireAllDemands` is set to `true` it is checked if a jobs demands are fulfilled exactly by a trigger and only scales if this is true. This means a job with demands `maven` will not match an agent with capabilities `maven,java`.

- **Using demands:** KEDA will determine which agents can fulfill the job based on the demands provided. The demands are provided as a comma-separated list and must be a subset of the actual capabilities of the agent. (For example `maven,java,make`. Note: `Agent.Version` is ignored).
- If `requireAllDemands` is set to `true`, the job’s demands must match exactly with the trigger's demands. This means a job with demands `maven` will not match an agent with capabilities `maven,java`.
- If `requireAllDemandsAndIgnoreOthers` is set to `true`, the job’s demands must include all specified demands exactly, but any additional demands will be ignored. For instance, a job with demands `maven` will match an agent with capabilities `maven,java`, as long as `maven` is in the demand list.
- **Note:** `requireAllDemands` takes precedence over `requireAllDemandsAndIgnoreOthers`. If both are set to `true`, only exact matches are accepted.

Microsoft's documentation: [https://learn.microsoft.com/en-us/azure/devops/pipelines/process/demands?view=azure-devops&tabs=yaml](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/demands?view=azure-devops&tabs=yaml)

Please note that the parent template feature is exclusive to KEDA and not Microsoft and is another way of supporting demands.
Expand Down

0 comments on commit adb0dde

Please sign in to comment.