Skip to content

Commit

Permalink
Merge branch 'main' into k8s_1.32
Browse files Browse the repository at this point in the history
  • Loading branch information
blkperl authored Feb 26, 2025
2 parents c1ebcb7 + 815b249 commit c1fbf22
Show file tree
Hide file tree
Showing 40 changed files with 857 additions and 237 deletions.
10 changes: 10 additions & 0 deletions api/openapi-spec/swagger.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions docs/parallelism.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ When namespace parallelism is enabled, it is plausible for a workflow with a low
!!! Note
Workflows that are executing but restricted from running more nodes due to other mechanisms will still count toward parallelism limits.
In addition to the default parallelism, you are able to set individual limits on namespace parallelism by modifying the namespace object with a `workflows.argoproj.io/parallelism-limit` label. Note that individual limits on namespaces will override global namespace limits.

### Priority

You can set a `priority` on workflows:
Expand Down
6 changes: 4 additions & 2 deletions docs/scaling.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ You can increase the rate limits by adjusting the `--qps` and `--burst` argument
- `--qps`: This argument sets the average number of queries per second allowed by the Kubernetes client.
The default value is 20.
- `--burst`: This argument sets the number of queries per second the client can send before it starts enforcing the qps limit.
The default value is 30. Typically, burst should be greater than qps.
The default value is 30.
Typically, burst should be greater than qps.

By increasing these values, you can allow the Controller to send more requests to the API server, reducing the likelihood of throttling.

Expand Down Expand Up @@ -85,11 +86,12 @@ To mitigate this, you can set rate limit how many Pods the Workflow Controller r
# parallel nodes.
resourceRateLimit: |
limit: 10
burst: 1
burst: 25
```

- `limit`: This sets the average number of Pod creation requests per second..
- `burst`: This sets the number of Pods per second the Controller can create before it starts enforcing the `limit`.
Typically, burst should be greater than the limit.

By using cluster-wide observability tooling, you can determine whether or not your Kubernetes API server can handle more Pod creation requests.
It is important to note that increasing these values can increase the load on the Kubernetes API server and that you must observe your Kubernetes API under load in order to determine whether or not the values you have chosen are correct for your needs.
Expand Down
2 changes: 1 addition & 1 deletion docs/workflow-controller-configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ data:
# parallel nodes.
resourceRateLimit: |
limit: 10
burst: 1
burst: 25
# Whether or not to emit events on node completion. These can take a up a lot of space in
# k8s (typically etcd) resulting in errors when trying to create new events:
Expand Down
8 changes: 8 additions & 0 deletions persist/sqldb/selector.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package sqldb

import (
"time"

"github.com/upper/db/v4"

"github.com/argoproj/argo-workflows/v3/server/utils"
Expand Down Expand Up @@ -53,6 +55,12 @@ func BuildWorkflowSelector(in string, inArgs []any, tableName, labelTableName st
clauses = append(clauses, db.Raw("name like ?", options.Name+"%"))
}
}
if !options.CreatedAfter.IsZero() {
clauses = append(clauses, db.Raw("json_extract(workflow, '$.metadata.creationTimestamp') >= ?", options.CreatedAfter.Format(time.RFC3339)))
}
if !options.FinishedBefore.IsZero() {
clauses = append(clauses, db.Raw("finishedat <= ?", options.FinishedBefore))
}
if options.NamePrefix != "" {
clauses = append(clauses, db.Raw("name like ?", options.NamePrefix+"%"))
}
Expand Down
288 changes: 196 additions & 92 deletions pkg/apiclient/workflow/workflow.pb.go

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions pkg/apiclient/workflow/workflow.proto
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ message WorkflowListRequest {
string fields = 3;
// Filter type used for name filtering. Exact | Contains | Prefix. Default to Exact
string nameFilter = 4;
string createdAfter = 5;
string finishedBefore = 6;
}

message WorkflowResubmitRequest {
Expand Down
8 changes: 6 additions & 2 deletions sdks/java/client/docs/WorkflowServiceApi.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions sdks/python/client/argo_workflows/api/workflow_service_api.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion sdks/python/client/docs/WorkflowServiceApi.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit c1fbf22

Please sign in to comment.