Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Merge changes from v2 to release 2.8 branch #5705

Merged
merged 79 commits into from
Jun 21, 2024
Merged

ci: Merge changes from v2 to release 2.8 branch #5705

merged 79 commits into from
Jun 21, 2024

Conversation

sakoush
Copy link
Member

@sakoush sakoush commented Jun 21, 2024

No description provided.

dependabot bot and others added 30 commits March 26, 2024 12:12
Bumps grafana/grafana from 10.4.0 to 10.4.1.

---
updated-dependencies:
- dependency-name: grafana/grafana
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.31.1 to 1.32.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.31.1...v1.32.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.31.1 to 1.32.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.31.1...v1.32.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add test for rolling update for pipelines

* add case for no new version

* add test case for pipeline create / delete

* fix lint

* be specific about the error status message
…5483)

The version bump required small changes in the way we use the API.
…5488)

Bumps [github.com/cenkalti/backoff/v4](https://github.com/cenkalti/backoff) from 4.2.1 to 4.3.0.
- [Commits](cenkalti/backoff@v4.2.1...v4.3.0)

---
updated-dependencies:
- dependency-name: github.com/cenkalti/backoff/v4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#5487)

Bumps [github.com/cenkalti/backoff/v4](https://github.com/cenkalti/backoff) from 4.2.1 to 4.3.0.
- [Commits](cenkalti/backoff@v4.2.1...v4.3.0)

---
updated-dependencies:
- dependency-name: github.com/cenkalti/backoff/v4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…lint issues (#5491)

* configure ktlint

* add make commands

* fix path to exclude

* configure ktlint

* run ktlintFormat

* run ktlintFormat

* add readme for lint check and format

* ignore vscode

* clean up

* add --continue flag in make command

* modify lint rules

* unpack import statements to follow no-wildcard-imports

* fix lint issues in test

* fix lint issues around property names

* fix inline comment lint issues

* fix max chars lint issue

* add linting for jvm

* add dataflow lint command in workflows

* use data-flow make command for lint target in scheduler
* add pipeline version to kafka header

* add doc for pipeline version
* fix note

* add ability to check loading state

* change func name to be more reflective
* make tfsimple_pipeline test create random models underneath

* update alpine base image and install xk6

* make namespace configurable in shell script

* add xk6 to .gitignore

* add xk6 install as make target

* adjust wrapper to use k6 with xk6

* add note in readme regarding xk6

* add k8s test script scenario

* adjust namespace variable

* ability to set namespace in kustomize

* update model script

* add newline in file

* add NAMESPACE as envar

* wire up namespace

* parse pod namespace from envar

* use NAMESPACE env var

* add service account and remove unnecessary secret

* have main scenario back as default

* review comments
Bumps grafana/grafana from 10.4.1 to 10.4.2.

---
updated-dependencies:
- dependency-name: grafana/grafana
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.62.1 to 1.63.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.62.1...v1.63.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.62.1 to 1.63.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.62.1...v1.63.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps envoyproxy/envoy from v1.29.2 to v1.29.3.

---
updated-dependencies:
- dependency-name: envoyproxy/envoy
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.62.1 to 1.63.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.62.1...v1.63.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…taflow (#5522)

Update confirmed working in kind, with simple pipeline inferencing test
Introduce the ability to declaratively specify, via an ansible-playbook
extra vars file, sets of components that should be built locally
from the workdir and pushed into kind.

The kind Seldon Core v2 install is then configured to use those dev images.

Full documentation included in `README.dev.md`
* deal with multi model env vars

* define const before usage

* add memory size handling
Co-authored-by: sakoush <5911512+sakoush@users.noreply.github.com>
* upgrade to golang 1.21

* go mod tidy

* upgrade linter to v1.57.2

* upgrade lint worfklow to v1.57.2

* increase timeout for lint workflow
Bumps envoyproxy/envoy from v1.29.3 to v1.30.1.

---
updated-dependencies:
- dependency-name: envoyproxy/envoy
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.32.0 to 1.33.1.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.32.0...v1.33.1)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.32.0 to 1.33.1.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.32.0...v1.33.1)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#5554)

Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.24.0 to 1.26.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.24.0...v1.26.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…nes (#5550)

This fixes a dataflow-engine bug triggered when the scheduler sends or
re-sends pipeline creation messages after a restart (because it's not aware
of pipeline statuses across various components).

Previous behaviour:
Dataflow-engine, on receiving a command to create a pipeline, would first
create a new Kafka Streams application for this pipeline, before checking
if one already exists and it's running.

Because of this, triggering a control-plane restart of the scheduler would
result in dataflow errors for pipelines that kept internal state (mostly
pipelines making use of triggers/joins). Kafka Streams would complain
about an existing application using the same state directory, fail the newly
created pipeline and inform the scheduler about this.

However, in actuality the old pipeline, if it was previously running ok,
would continue doing so inside dataflow. This meant that a disconnect between
the state of dataflow-engine and what the scheduler knew about it was being
created

New behaviour:
The introduced changes mean that dataflow-engine first checks if a pipeline
with the same id is already running. If its state is ok, dataflow simply
informs the scheduler that the pipeline is created, without taking further
action.

If a pipeline with the same id already exists but is in a failed or stopped state,
the local Kafka Streams state is first cleaned, then an attempt
is made to re-create it, with the corresponding status being sent to the
scheduler.

- adds `PipelineState` tests
- test `StreamStopped(prevState)` with `prevState=StreamStopped` avoids nesting
- update test names for clarity
- update build config to print test PASS/SKIP/FAIL results
- add `test` target to Makefile

**Which issue(s) this PR fixes:**
- INFRA-978 (internal issue) Pipelines fail to start because Kafka Streams state hasn't been cleared
* upgrade controller-runtime in scheduler

* add error handling for AddEventHandler

* upgrade controller-runtime in tls

* upgrade controller-runtime in operator

* upgrade controller-runtime in apis

* replace deprecated pointer pkg

* go mod tidy hodometer

* add a comment to consider passing a context in the future
Bumps ubi9/ubi-minimal from 9.3-1612 to 9.4-949.

---
updated-dependencies:
- dependency-name: ubi9/ubi-minimal
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot bot and others added 25 commits May 20, 2024 17:04
…5628)

Bumps google.golang.org/protobuf from 1.34.0 to 1.34.1.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ux/otelmux (#5627)

Bumps [go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux](https://github.com/open-telemetry/opentelemetry-go-contrib) from 0.49.0 to 0.51.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go-contrib@zpages/v0.49.0...zpages/v0.51.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Adds a k6 test that arbitrarily creates/updates/deletes models in each VU. Starting from the scenario defined in `scenarios/core2_qa_control_plane_ops.js`, we can run a variety of control plane tests to check that Core 2 responds as expected to a wide array of commands/situations, including concurrent operations.

New configuration options introduced for k6 control-plane scenarios:
- `modelMaxReplicas` (set via environment var  MODEL_MAX_REPLICAS, array)
    each model type may be updated during the test to a maximum of replicas defined here
- `maxMemUpdateFraction` (set via environment var MAX_MEM_UPDATE_FRACTION, float)
     each model type may be updated by having, in the worst case, this much memory relative to 
     its default setting either added or removed. Example: For a model being assigned 8M in 
     `MODEL_MEMORY_BYTES`, a value of 0.5 in `maxMemUpdateFraction` means that the model
    may be created, at random with a memory requirement between 4M and 12M.
- `maxNumModelsHeadroom` (set via environment var MAX_NUM_MODELS_HEADROOM, array)
    models beyond `maxNumModels` (which are all created during the setup phase) which are allowed
    during control-plane testing
- `createUpdateDeleteBias` (set via environment var  MODEL_CREATE_UPDATE_DELETE_BIAS, array)
     3 element array defining the relative frequency with which CREATE/UPDATE/DELETE operations
     happen during control-plane tests
- `maxCreateOpsPerVU` (set via environment var  MAX_CREATE_OPS_PER_VU, int)
     because each VU runs independently, we set aside a namespace of this size for model IDs created
     by that VU. For example, if maxCreateOpsPerVU is 100, preloaded models get ids [0, 99], models
     created by VU 1 get ids [100, 199], by VU 2 get ids [200, 299], etc.
- `k8sDelaySecPerVU` (set via environment var  K8S_DELAY_SECONDS_PER_VU, int)
     the following delay is observed by each VU before starting a new iteration

Minor k6 tests fixes:
- allow 0 as an element of MAX_NUM_MODELS
- check model/pipeline status via k8s rather than relying on connection to scheduler
- fix kustomize warnings

**Which issue(s) this PR fixes**:
- INFRA-1002 (internal issue) Control-plane tests
* add note about pipeline name

* fix scenario

* add pipelines to control plane ops

* add pipelines to control operations tests

* add note in code about pipeline assumptions

* deal with errors
Fix a bug where defining multiple custom secrets in an extra-vars file
without explicit namespaces would add the default namespace only to the
last one, and fail the playbook.
- bump kotlin language version 1.8.20 -> 1.9.21
- bump kotlinx-coroutines-core 1.7.3 -> 1.8.1
- bump io.grpc:grpc-* 1.63.0 -> 1.64.0

The only remaining update that we would like to make to dataflow is bumping
JDK 17 -> JDK 21. However, that update is currently blocked by the
requirements of kafka-streams; The confluent platform libraries that we're
using (kafka-streams:7.6.1-ccs) have only been tested up to JDK 17 according
to: https://docs.confluent.io/platform/current/installation/versions-interoperability.html#java
Bumps ubi9/ubi-micro from 9.4-6 to 9.4-6.1716471860.

---
updated-dependencies:
- dependency-name: ubi9/ubi-micro
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps ubi9/ubi-minimal from 9.4-949.1714662671 to 9.4-949.1716471857.

---
updated-dependencies:
- dependency-name: ubi9/ubi-minimal
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/hashicorp/go-retryablehttp](https://github.com/hashicorp/go-retryablehttp) from 0.7.6 to 0.7.7.
- [Changelog](https://github.com/hashicorp/go-retryablehttp/blob/main/CHANGELOG.md)
- [Commits](hashicorp/go-retryablehttp@v0.7.6...v0.7.7)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/go-retryablehttp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps ubi9/ubi-micro from 9.4-6 to 9.4-6.1716471860.

---
updated-dependencies:
- dependency-name: ubi9/ubi-micro
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps grafana/grafana from 10.4.3 to 11.0.0.

---
updated-dependencies:
- dependency-name: grafana/grafana
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…er (#5640)

Bumps [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.26.0...v1.27.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/trace
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps ubi9/ubi-micro from 9.4-6 to 9.4-6.1716471860.

---
updated-dependencies:
- dependency-name: ubi9/ubi-micro
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps rclone/rclone from 1.66.0 to 1.67.0.

---
updated-dependencies:
- dependency-name: rclone/rclone
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…er (#5696)

Bumps ubi9/ubi-minimal from 9.4-949.1717074713 to 9.4-1134.

---
updated-dependencies:
- dependency-name: ubi9/ubi-minimal
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps ubi9/ubi-micro from 9.4-6.1716471860 to 9.4-9.

---
updated-dependencies:
- dependency-name: ubi9/ubi-micro
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…5691)

Bumps google.golang.org/protobuf from 1.34.1 to 1.34.2.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/go-logr/logr](https://github.com/go-logr/logr) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/go-logr/logr/releases)
- [Changelog](https://github.com/go-logr/logr/blob/master/CHANGELOG.md)
- [Commits](go-logr/logr@v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: github.com/go-logr/logr
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps ubi9/ubi-micro from 9.4-6.1716471860 to 9.4-9.

---
updated-dependencies:
- dependency-name: ubi9/ubi-micro
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps ubi9/ubi-micro from 9.4-6.1716471860 to 9.4-9.

---
updated-dependencies:
- dependency-name: ubi9/ubi-micro
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* deal with `PipelineTerminating` when rebalancing and dataflow exists

* add tests

* increasing debug level in test
@sakoush sakoush requested a review from lc525 as a code owner June 21, 2024 14:55
@CLAassistant
Copy link

CLAassistant commented Jun 21, 2024

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
2 out of 3 committers have signed the CLA.

✅ ramonpzg
✅ paulb-seldon
❌ KengoA
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Member

@lc525 lc525 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@sakoush
Copy link
Member Author

sakoush commented Jun 21, 2024

CLA assistant check Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.✅ ramonpzg✅ paulb-seldon❌ KengoAYou have signed the CLA already but the status is still pending? Let us recheck it.

All changes done as Seldon employees.

@sakoush sakoush merged commit 0a14aa0 into release-2.8 Jun 21, 2024
15 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants