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

feat: Operator improvements #4928

Merged
merged 1 commit into from
Jan 17, 2025

Conversation

tchughesiv
Copy link
Contributor

@tchughesiv tchughesiv commented Jan 16, 2025

What this PR does / why we need it:

Several small operator fixes & enhancements, including -

  • Makes DeploymentStrategy configurable via CR
  • Adds support for setting product container images via operator deployment "RELATED_IMAGE_" env vars (through kustomize). This lays the groundwork for ODH/RHOAI integration, custom product images, & disconnected k8s/openshift cluster deployments.
  • OLM bundle generation to demonstrate relatedImages functionality
  • Adds ability to disable the `feast repo initialization' and the 'grpc healthcheck' initContainers
  • Adds a reconcile check for local feast service config in CR
  • Improves ephemeral storage setup and use among the feast services

@tchughesiv tchughesiv force-pushed the minorImprovements branch 3 times, most recently from a44e4f9 to e9d0ff9 Compare January 16, 2025 22:36
@tchughesiv tchughesiv marked this pull request as ready for review January 16, 2025 23:03
@tchughesiv tchughesiv requested a review from a team as a code owner January 16, 2025 23:03
Signed-off-by: Tommy Hughes <[email protected]>
return DefaultImage
}

func getGrpcCurlImage() string {
Copy link
Contributor

@lokeshrangineni lokeshrangineni Jan 17, 2025

Choose a reason for hiding this comment

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

Just curious why is this image needed? I see it being used to get the k8 service account. Why is this step needed?

Copy link
Contributor

Choose a reason for hiding this comment

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

i think understood. waiting for the registry server to be up before spinning up the online and offline containers. not sure about the field disableInitContainers

Copy link
Contributor Author

Choose a reason for hiding this comment

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

disableInitContainers adds ability to disable the `feast repo initialization' and the 'grpc healthcheck' initContainers if the user chooses to do so.

- name: RELATED_IMAGE_FEATURE_SERVER
value: feast:latest
- name: RELATED_IMAGE_GRPC_CURL
value: grpc:latest
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

agreed, but i was also wanting to make this configurable via Makefile var for things like our e2e CI, etc

@tchughesiv tchughesiv merged commit 7a1f4dd into feast-dev:master Jan 17, 2025
23 checks passed
franciscojavierarceo pushed a commit that referenced this pull request Jan 20, 2025
# [0.43.0](v0.42.0...v0.43.0) (2025-01-20)

### Bug Fixes

* Add k8s module to feature-server image ([#4839](#4839)) ([f565565](f565565))
* Adding input to workflow ([e3e8c97](e3e8c97))
* Change image push to use --all-tags option ([#4926](#4926)) ([02458fd](02458fd))
* Fix integration build/push for images ([#4923](#4923)) ([695e49b](695e49b))
* Fix integration operator push ([#4924](#4924)) ([13c7267](13c7267))
* Fix release.yml ([#4845](#4845)) ([b4768a8](b4768a8))
* Fixing some of the warnings with the github actions ([#4763](#4763)) ([1119439](1119439))
* Improve status.applied updates & add offline pvc unit test ([#4871](#4871)) ([3f49517](3f49517))
* Made fixes to Go Operator DB persistence ([#4830](#4830)) ([cdc0753](cdc0753))
* Make transformation_service_endpoint configuration optional ([#4880](#4880)) ([c62377b](c62377b))
* Move pre-release image builds to quay.io, retire gcr.io pushes ([#4922](#4922)) ([40b975b](40b975b))
* Performance regression in /get-online-features ([#4892](#4892)) ([0db56a2](0db56a2))
* Refactor Operator to deploy all feast services to the same Deployment/Pod ([#4863](#4863)) ([88854dd](88854dd))
* Remove unnecessary google cloud steps & upgrade docker action versions ([#4925](#4925)) ([32aaf9a](32aaf9a))
* Remove verifyClient TLS offlineStore option from the Operator ([#4847](#4847)) ([79fa247](79fa247))
* Resolving syntax error while querying a feature view with column name starting with a number and BigQuery as data source ([#4908](#4908)) ([d3495a0](d3495a0))
* Updated python-helm-demo example to use MinIO instead of GS ([#4691](#4691)) ([31afd99](31afd99))

### Features

* Add date field support to spark ([#4913](#4913)) ([a8aeb79](a8aeb79))
* Add date support when converting from python to feast types ([#4918](#4918)) ([bd9f071](bd9f071))
* Add duckdb extra to multicloud release image ([#4862](#4862)) ([b539eba](b539eba))
* Add milvus package to release image & option to Operator ([#4870](#4870)) ([ef724b6](ef724b6))
* Add Milvus Vector Database Implementation ([#4751](#4751)) ([22c7b58](22c7b58))
* Add online/offline replica support ([#4812](#4812)) ([b97da6c](b97da6c))
* Added pvc accessModes support ([#4851](#4851)) ([a73514c](a73514c))
* Adding EnvFrom support for the OptionalConfigs type to the Go Operator ([#4909](#4909)) ([e01e510](e01e510))
* Adding Feature Server to components docs ([#4868](#4868)) ([f95e54b](f95e54b))
* Adding features field to retrieve_online_features to return mor… ([#4869](#4869)) ([7df287e](7df287e))
* Adding packages for Milvus Online Store ([#4854](#4854)) ([49171bd](49171bd))
* Adding vector_search parameter to fields ([#4855](#4855)) ([739eaa7](739eaa7))
* Feast Operator support log level configuration for services ([#4808](#4808)) ([19424bc](19424bc))
* Go Operator - Parsing the output to go structs ([#4832](#4832)) ([732865f](732865f))
* Implement `date_partition_column` for `SparkSource` ([#4844](#4844)) ([c5ffa03](c5ffa03))
* Loading the CA trusted store certificate into Feast to verify the public certificate. ([#4852](#4852)) ([132ce2a](132ce2a))
* Operator E2E test to validate FeatureStore custom resource using remote registry ([#4822](#4822)) ([d558ef7](d558ef7))
* Operator improvements ([#4928](#4928)) ([7a1f4dd](7a1f4dd))
* Removing the tls_verify_client flag from feast cli for offline server. ([#4842](#4842)) ([8320e23](8320e23))
* Separating the RBAC and Remote related integration tests. ([#4905](#4905)) ([76e1e21](76e1e21))
* Snyk vulnerability issues fix. ([#4867](#4867)) ([dbc9207](dbc9207)), closes [#6](#6) [#3](#3) [#4](#4)
* Use ASOF JOIN in Snowflake offline store query ([#4850](#4850)) ([8f591a2](8f591a2))

### Reverts

* Revert "chore: Add Milvus to pr_integration_tests.yml" ([#4900](#4900)) ([07958f7](07958f7)), closes [#4891](#4891)
tmihalac pushed a commit to opendatahub-io/feast that referenced this pull request Jan 21, 2025
operator improvements

Signed-off-by: Tommy Hughes <[email protected]>
tmihalac pushed a commit to opendatahub-io/feast that referenced this pull request Jan 21, 2025
# [0.43.0](feast-dev/feast@v0.42.0...v0.43.0) (2025-01-20)

### Bug Fixes

* Add k8s module to feature-server image ([feast-dev#4839](feast-dev#4839)) ([f565565](feast-dev@f565565))
* Adding input to workflow ([e3e8c97](feast-dev@e3e8c97))
* Change image push to use --all-tags option ([feast-dev#4926](feast-dev#4926)) ([02458fd](feast-dev@02458fd))
* Fix integration build/push for images ([feast-dev#4923](feast-dev#4923)) ([695e49b](feast-dev@695e49b))
* Fix integration operator push ([feast-dev#4924](feast-dev#4924)) ([13c7267](feast-dev@13c7267))
* Fix release.yml ([feast-dev#4845](feast-dev#4845)) ([b4768a8](feast-dev@b4768a8))
* Fixing some of the warnings with the github actions ([feast-dev#4763](feast-dev#4763)) ([1119439](feast-dev@1119439))
* Improve status.applied updates & add offline pvc unit test ([feast-dev#4871](feast-dev#4871)) ([3f49517](feast-dev@3f49517))
* Made fixes to Go Operator DB persistence ([feast-dev#4830](feast-dev#4830)) ([cdc0753](feast-dev@cdc0753))
* Make transformation_service_endpoint configuration optional ([feast-dev#4880](feast-dev#4880)) ([c62377b](feast-dev@c62377b))
* Move pre-release image builds to quay.io, retire gcr.io pushes ([feast-dev#4922](feast-dev#4922)) ([40b975b](feast-dev@40b975b))
* Performance regression in /get-online-features ([feast-dev#4892](feast-dev#4892)) ([0db56a2](feast-dev@0db56a2))
* Refactor Operator to deploy all feast services to the same Deployment/Pod ([feast-dev#4863](feast-dev#4863)) ([88854dd](feast-dev@88854dd))
* Remove unnecessary google cloud steps & upgrade docker action versions ([feast-dev#4925](feast-dev#4925)) ([32aaf9a](feast-dev@32aaf9a))
* Remove verifyClient TLS offlineStore option from the Operator ([feast-dev#4847](feast-dev#4847)) ([79fa247](feast-dev@79fa247))
* Resolving syntax error while querying a feature view with column name starting with a number and BigQuery as data source ([feast-dev#4908](feast-dev#4908)) ([d3495a0](feast-dev@d3495a0))
* Updated python-helm-demo example to use MinIO instead of GS ([feast-dev#4691](feast-dev#4691)) ([31afd99](feast-dev@31afd99))

### Features

* Add date field support to spark ([feast-dev#4913](feast-dev#4913)) ([a8aeb79](feast-dev@a8aeb79))
* Add date support when converting from python to feast types ([feast-dev#4918](feast-dev#4918)) ([bd9f071](feast-dev@bd9f071))
* Add duckdb extra to multicloud release image ([feast-dev#4862](feast-dev#4862)) ([b539eba](feast-dev@b539eba))
* Add milvus package to release image & option to Operator ([feast-dev#4870](feast-dev#4870)) ([ef724b6](feast-dev@ef724b6))
* Add Milvus Vector Database Implementation ([feast-dev#4751](feast-dev#4751)) ([22c7b58](feast-dev@22c7b58))
* Add online/offline replica support ([feast-dev#4812](feast-dev#4812)) ([b97da6c](feast-dev@b97da6c))
* Added pvc accessModes support ([feast-dev#4851](feast-dev#4851)) ([a73514c](feast-dev@a73514c))
* Adding EnvFrom support for the OptionalConfigs type to the Go Operator ([feast-dev#4909](feast-dev#4909)) ([e01e510](feast-dev@e01e510))
* Adding Feature Server to components docs ([feast-dev#4868](feast-dev#4868)) ([f95e54b](feast-dev@f95e54b))
* Adding features field to retrieve_online_features to return mor… ([feast-dev#4869](feast-dev#4869)) ([7df287e](feast-dev@7df287e))
* Adding packages for Milvus Online Store ([feast-dev#4854](feast-dev#4854)) ([49171bd](feast-dev@49171bd))
* Adding vector_search parameter to fields ([feast-dev#4855](feast-dev#4855)) ([739eaa7](feast-dev@739eaa7))
* Feast Operator support log level configuration for services ([feast-dev#4808](feast-dev#4808)) ([19424bc](feast-dev@19424bc))
* Go Operator - Parsing the output to go structs ([feast-dev#4832](feast-dev#4832)) ([732865f](feast-dev@732865f))
* Implement `date_partition_column` for `SparkSource` ([feast-dev#4844](feast-dev#4844)) ([c5ffa03](feast-dev@c5ffa03))
* Loading the CA trusted store certificate into Feast to verify the public certificate. ([feast-dev#4852](feast-dev#4852)) ([132ce2a](feast-dev@132ce2a))
* Operator E2E test to validate FeatureStore custom resource using remote registry ([feast-dev#4822](feast-dev#4822)) ([d558ef7](feast-dev@d558ef7))
* Operator improvements ([feast-dev#4928](feast-dev#4928)) ([7a1f4dd](feast-dev@7a1f4dd))
* Removing the tls_verify_client flag from feast cli for offline server. ([feast-dev#4842](feast-dev#4842)) ([8320e23](feast-dev@8320e23))
* Separating the RBAC and Remote related integration tests. ([feast-dev#4905](feast-dev#4905)) ([76e1e21](feast-dev@76e1e21))
* Snyk vulnerability issues fix. ([feast-dev#4867](feast-dev#4867)) ([dbc9207](feast-dev@dbc9207)), closes [#6](feast-dev#6) [#3](feast-dev#3) [#4](feast-dev#4)
* Use ASOF JOIN in Snowflake offline store query ([feast-dev#4850](feast-dev#4850)) ([8f591a2](feast-dev@8f591a2))

### Reverts

* Revert "chore: Add Milvus to pr_integration_tests.yml" ([feast-dev#4900](feast-dev#4900)) ([07958f7](feast-dev@07958f7)), closes [feast-dev#4891](feast-dev#4891)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants