From 8d9b60e38016d7574125eb9ce121079ad0f6a7a5 Mon Sep 17 00:00:00 2001 From: Francisco Arceo Date: Mon, 1 Jul 2024 17:06:27 -0400 Subject: [PATCH 1/8] fix: Fix SQLite import issue (#4294) adding try and except block for import Co-authored-by: Francisco Javier Arceo --- .../feast/infra/online_stores/sqlite.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/sdk/python/feast/infra/online_stores/sqlite.py b/sdk/python/feast/infra/online_stores/sqlite.py index 41af14aaf1..9896b766d4 100644 --- a/sdk/python/feast/infra/online_stores/sqlite.py +++ b/sdk/python/feast/infra/online_stores/sqlite.py @@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. import itertools +import logging import os import sqlite3 import struct @@ -20,7 +21,6 @@ from pathlib import Path from typing import Any, Callable, Dict, List, Literal, Optional, Sequence, Tuple, Union -import sqlite_vec from google.protobuf.internal.containers import RepeatedScalarFieldContainer from pydantic import StrictStr @@ -84,7 +84,9 @@ def _get_conn(self, config: RepoConfig): if not self._conn: db_path = self._get_db_path(config) self._conn = _initialize_conn(db_path) - if sys.version_info[0:2] == (3, 10): + if sys.version_info[0:2] == (3, 10) and config.online_store.vec_enabled: + import sqlite_vec # noqa: F401 + self._conn.enable_load_extension(True) # type: ignore sqlite_vec.load(self._conn) @@ -410,6 +412,10 @@ def retrieve_online_documents( def _initialize_conn(db_path: str): + try: + import sqlite_vec # noqa: F401 + except ModuleNotFoundError: + logging.warning("Cannot use sqlite_vec for vector search") Path(db_path).parent.mkdir(exist_ok=True) return sqlite3.connect( db_path, @@ -482,8 +488,13 @@ def from_proto(sqlite_table_proto: SqliteTableProto) -> Any: def update(self): if sys.version_info[0:2] == (3, 10): - self.conn.enable_load_extension(True) - sqlite_vec.load(self.conn) + try: + import sqlite_vec # noqa: F401 + + self.conn.enable_load_extension(True) + sqlite_vec.load(self.conn) + except ModuleNotFoundError: + logging.warning("Cannot use sqlite_vec for vector search") self.conn.execute( f"CREATE TABLE IF NOT EXISTS {self.name} (entity_key BLOB, feature_name TEXT, value BLOB, vector_value BLOB, event_ts timestamp, created_ts timestamp, PRIMARY KEY(entity_key, feature_name))" ) From 979831e68042b08f2ae0161327fbaef834859990 Mon Sep 17 00:00:00 2001 From: Francisco Javier Arceo Date: Wed, 3 Jul 2024 22:45:11 -0400 Subject: [PATCH 2/8] chore: Fix for semantic release for 0.39.1 Signed-off-by: Francisco Javier Arceo --- .releaserc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.releaserc.js b/.releaserc.js index 114d65d1a2..cc85db7f11 100644 --- a/.releaserc.js +++ b/.releaserc.js @@ -16,7 +16,7 @@ if (current_branch !== 'master') { // We have to dynamically generate all the supported branches for Feast because we use the `vA.B-branch` pattern for // maintenance branches -possible_branches = [{name: "master"}, {name: current_branch}] +const possible_branches = [{name: "master"}, {name: current_branch, range: '0.39.x'}, {name: "v0.39-branch", range: '0.39.x'},]; // Below is the configuration for semantic release module.exports = { From 488ec7b8b7dbe21b2a5bbe3b968c961fdcde7e83 Mon Sep 17 00:00:00 2001 From: Francisco Javier Arceo Date: Wed, 3 Jul 2024 23:03:58 -0400 Subject: [PATCH 3/8] Revert "chore: Fix for semantic release for 0.39.1" This reverts commit 979831e68042b08f2ae0161327fbaef834859990. --- .releaserc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.releaserc.js b/.releaserc.js index cc85db7f11..114d65d1a2 100644 --- a/.releaserc.js +++ b/.releaserc.js @@ -16,7 +16,7 @@ if (current_branch !== 'master') { // We have to dynamically generate all the supported branches for Feast because we use the `vA.B-branch` pattern for // maintenance branches -const possible_branches = [{name: "master"}, {name: current_branch, range: '0.39.x'}, {name: "v0.39-branch", range: '0.39.x'},]; +possible_branches = [{name: "master"}, {name: current_branch}] // Below is the configuration for semantic release module.exports = { From 0ea409cfe3881c45d05f701b207f97856e3e66c8 Mon Sep 17 00:00:00 2001 From: feast-ci-bot Date: Thu, 4 Jul 2024 09:31:59 +0000 Subject: [PATCH 4/8] chore(release): release 0.39.1 ## [0.39.1](https://github.com/feast-dev/feast/compare/v0.39.0...v0.39.1) (2024-07-04) ### Bug Fixes * Fix SQLite import issue ([#4294](https://github.com/feast-dev/feast/issues/4294)) ([8d9b60e](https://github.com/feast-dev/feast/commit/8d9b60e38016d7574125eb9ce121079ad0f6a7a5)) --- CHANGELOG.md | 7 +++++++ infra/charts/feast-feature-server/Chart.yaml | 2 +- infra/charts/feast-feature-server/README.md | 4 ++-- infra/charts/feast-feature-server/values.yaml | 2 +- infra/charts/feast/Chart.yaml | 2 +- infra/charts/feast/README.md | 6 +++--- infra/charts/feast/charts/feature-server/Chart.yaml | 4 ++-- infra/charts/feast/charts/feature-server/README.md | 4 ++-- infra/charts/feast/charts/feature-server/values.yaml | 2 +- .../charts/feast/charts/transformation-service/Chart.yaml | 4 ++-- .../charts/feast/charts/transformation-service/README.md | 4 ++-- .../feast/charts/transformation-service/values.yaml | 2 +- infra/charts/feast/requirements.yaml | 4 ++-- java/pom.xml | 2 +- sdk/python/feast/ui/package.json | 2 +- sdk/python/feast/ui/yarn.lock | 8 ++++---- ui/package.json | 2 +- 17 files changed, 34 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 798df5d024..134e77933f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.39.1](https://github.com/feast-dev/feast/compare/v0.39.0...v0.39.1) (2024-07-04) + + +### Bug Fixes + +* Fix SQLite import issue ([#4294](https://github.com/feast-dev/feast/issues/4294)) ([8d9b60e](https://github.com/feast-dev/feast/commit/8d9b60e38016d7574125eb9ce121079ad0f6a7a5)) + # [0.39.0](https://github.com/feast-dev/feast/compare/v0.38.0...v0.39.0) (2024-06-18) diff --git a/infra/charts/feast-feature-server/Chart.yaml b/infra/charts/feast-feature-server/Chart.yaml index aa39b158dd..1d454c420b 100644 --- a/infra/charts/feast-feature-server/Chart.yaml +++ b/infra/charts/feast-feature-server/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: feast-feature-server description: Feast Feature Server in Go or Python type: application -version: 0.39.0 +version: 0.39.1 keywords: - machine learning - big data diff --git a/infra/charts/feast-feature-server/README.md b/infra/charts/feast-feature-server/README.md index 121b0cc0cd..a7955ade65 100644 --- a/infra/charts/feast-feature-server/README.md +++ b/infra/charts/feast-feature-server/README.md @@ -1,6 +1,6 @@ # Feast Python / Go Feature Server Helm Charts -Current chart version is `0.39.0` +Current chart version is `0.39.1` ## Installation @@ -40,7 +40,7 @@ See [here](https://github.com/feast-dev/feast/tree/master/examples/python-helm-d | fullnameOverride | string | `""` | | | image.pullPolicy | string | `"IfNotPresent"` | | | image.repository | string | `"feastdev/feature-server"` | Docker image for Feature Server repository | -| image.tag | string | `"0.39.0"` | The Docker image tag (can be overwritten if custom feature server deps are needed for on demand transforms) | +| image.tag | string | `"0.39.1"` | The Docker image tag (can be overwritten if custom feature server deps are needed for on demand transforms) | | imagePullSecrets | list | `[]` | | | livenessProbe.initialDelaySeconds | int | `30` | | | livenessProbe.periodSeconds | int | `30` | | diff --git a/infra/charts/feast-feature-server/values.yaml b/infra/charts/feast-feature-server/values.yaml index 33430749d8..ba87a9ecba 100644 --- a/infra/charts/feast-feature-server/values.yaml +++ b/infra/charts/feast-feature-server/values.yaml @@ -9,7 +9,7 @@ image: repository: feastdev/feature-server pullPolicy: IfNotPresent # image.tag -- The Docker image tag (can be overwritten if custom feature server deps are needed for on demand transforms) - tag: 0.39.0 + tag: 0.39.1 imagePullSecrets: [] nameOverride: "" diff --git a/infra/charts/feast/Chart.yaml b/infra/charts/feast/Chart.yaml index c724a748a6..dcb3d9c109 100644 --- a/infra/charts/feast/Chart.yaml +++ b/infra/charts/feast/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 description: Feature store for machine learning name: feast -version: 0.39.0 +version: 0.39.1 keywords: - machine learning - big data diff --git a/infra/charts/feast/README.md b/infra/charts/feast/README.md index d611b69d84..b726609fcb 100644 --- a/infra/charts/feast/README.md +++ b/infra/charts/feast/README.md @@ -8,7 +8,7 @@ This repo contains Helm charts for Feast Java components that are being installe ## Chart: Feast -Feature store for machine learning Current chart version is `0.39.0` +Feature store for machine learning Current chart version is `0.39.1` ## Installation @@ -65,8 +65,8 @@ See [here](https://github.com/feast-dev/feast/tree/master/examples/java-demo) fo | Repository | Name | Version | |------------|------|---------| | https://charts.helm.sh/stable | redis | 10.5.6 | -| https://feast-helm-charts.storage.googleapis.com | feature-server(feature-server) | 0.39.0 | -| https://feast-helm-charts.storage.googleapis.com | transformation-service(transformation-service) | 0.39.0 | +| https://feast-helm-charts.storage.googleapis.com | feature-server(feature-server) | 0.39.1 | +| https://feast-helm-charts.storage.googleapis.com | transformation-service(transformation-service) | 0.39.1 | ## Values diff --git a/infra/charts/feast/charts/feature-server/Chart.yaml b/infra/charts/feast/charts/feature-server/Chart.yaml index 5616d46301..f866b95c5c 100644 --- a/infra/charts/feast/charts/feature-server/Chart.yaml +++ b/infra/charts/feast/charts/feature-server/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 description: "Feast Feature Server: Online feature serving service for Feast" name: feature-server -version: 0.39.0 -appVersion: v0.39.0 +version: 0.39.1 +appVersion: v0.39.1 keywords: - machine learning - big data diff --git a/infra/charts/feast/charts/feature-server/README.md b/infra/charts/feast/charts/feature-server/README.md index f4a8ea8cda..a785b8b808 100644 --- a/infra/charts/feast/charts/feature-server/README.md +++ b/infra/charts/feast/charts/feature-server/README.md @@ -1,6 +1,6 @@ # feature-server -![Version: 0.39.0](https://img.shields.io/badge/Version-0.39.0-informational?style=flat-square) ![AppVersion: v0.39.0](https://img.shields.io/badge/AppVersion-v0.39.0-informational?style=flat-square) +![Version: 0.39.1](https://img.shields.io/badge/Version-0.39.1-informational?style=flat-square) ![AppVersion: v0.39.1](https://img.shields.io/badge/AppVersion-v0.39.1-informational?style=flat-square) Feast Feature Server: Online feature serving service for Feast @@ -17,7 +17,7 @@ Feast Feature Server: Online feature serving service for Feast | envOverrides | object | `{}` | Extra environment variables to set | | image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | | image.repository | string | `"feastdev/feature-server-java"` | Docker image for Feature Server repository | -| image.tag | string | `"0.39.0"` | Image tag | +| image.tag | string | `"0.39.1"` | Image tag | | ingress.grpc.annotations | object | `{}` | Extra annotations for the ingress | | ingress.grpc.auth.enabled | bool | `false` | Flag to enable auth | | ingress.grpc.class | string | `"nginx"` | Which ingress controller to use | diff --git a/infra/charts/feast/charts/feature-server/values.yaml b/infra/charts/feast/charts/feature-server/values.yaml index cd60eaf93f..72a45d5c24 100644 --- a/infra/charts/feast/charts/feature-server/values.yaml +++ b/infra/charts/feast/charts/feature-server/values.yaml @@ -5,7 +5,7 @@ image: # image.repository -- Docker image for Feature Server repository repository: feastdev/feature-server-java # image.tag -- Image tag - tag: 0.39.0 + tag: 0.39.1 # image.pullPolicy -- Image pull policy pullPolicy: IfNotPresent diff --git a/infra/charts/feast/charts/transformation-service/Chart.yaml b/infra/charts/feast/charts/transformation-service/Chart.yaml index 2e3211697f..e4f0ff2264 100644 --- a/infra/charts/feast/charts/transformation-service/Chart.yaml +++ b/infra/charts/feast/charts/transformation-service/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 description: "Transformation service: to compute on-demand features" name: transformation-service -version: 0.39.0 -appVersion: v0.39.0 +version: 0.39.1 +appVersion: v0.39.1 keywords: - machine learning - big data diff --git a/infra/charts/feast/charts/transformation-service/README.md b/infra/charts/feast/charts/transformation-service/README.md index dec106617e..29f64b653d 100644 --- a/infra/charts/feast/charts/transformation-service/README.md +++ b/infra/charts/feast/charts/transformation-service/README.md @@ -1,6 +1,6 @@ # transformation-service -![Version: 0.39.0](https://img.shields.io/badge/Version-0.39.0-informational?style=flat-square) ![AppVersion: v0.39.0](https://img.shields.io/badge/AppVersion-v0.39.0-informational?style=flat-square) +![Version: 0.39.1](https://img.shields.io/badge/Version-0.39.1-informational?style=flat-square) ![AppVersion: v0.39.1](https://img.shields.io/badge/AppVersion-v0.39.1-informational?style=flat-square) Transformation service: to compute on-demand features @@ -13,7 +13,7 @@ Transformation service: to compute on-demand features | envOverrides | object | `{}` | Extra environment variables to set | | image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | | image.repository | string | `"feastdev/feature-transformation-server"` | Docker image for Transformation Server repository | -| image.tag | string | `"0.39.0"` | Image tag | +| image.tag | string | `"0.39.1"` | Image tag | | nodeSelector | object | `{}` | Node labels for pod assignment | | podLabels | object | `{}` | Labels to be added to Feast Serving pods | | replicaCount | int | `1` | Number of pods that will be created | diff --git a/infra/charts/feast/charts/transformation-service/values.yaml b/infra/charts/feast/charts/transformation-service/values.yaml index a6935a9993..e5f9945e0a 100644 --- a/infra/charts/feast/charts/transformation-service/values.yaml +++ b/infra/charts/feast/charts/transformation-service/values.yaml @@ -5,7 +5,7 @@ image: # image.repository -- Docker image for Transformation Server repository repository: feastdev/feature-transformation-server # image.tag -- Image tag - tag: 0.39.0 + tag: 0.39.1 # image.pullPolicy -- Image pull policy pullPolicy: IfNotPresent diff --git a/infra/charts/feast/requirements.yaml b/infra/charts/feast/requirements.yaml index 1f579a5f3c..51129b6081 100644 --- a/infra/charts/feast/requirements.yaml +++ b/infra/charts/feast/requirements.yaml @@ -1,12 +1,12 @@ dependencies: - name: feature-server alias: feature-server - version: 0.39.0 + version: 0.39.1 condition: feature-server.enabled repository: https://feast-helm-charts.storage.googleapis.com - name: transformation-service alias: transformation-service - version: 0.39.0 + version: 0.39.1 condition: transformation-service.enabled repository: https://feast-helm-charts.storage.googleapis.com - name: redis diff --git a/java/pom.xml b/java/pom.xml index 492e756ba5..6744988742 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -35,7 +35,7 @@ - 0.39.0 + 0.39.1 https://github.com/feast-dev/feast UTF-8 diff --git a/sdk/python/feast/ui/package.json b/sdk/python/feast/ui/package.json index 66daf7b993..6b5fb43cdd 100644 --- a/sdk/python/feast/ui/package.json +++ b/sdk/python/feast/ui/package.json @@ -6,7 +6,7 @@ "@elastic/datemath": "^5.0.3", "@elastic/eui": "^55.0.1", "@emotion/react": "^11.9.0", - "@feast-dev/feast-ui": "0.39.0", + "@feast-dev/feast-ui": "0.39.1", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.2.0", "@testing-library/user-event": "^13.5.0", diff --git a/sdk/python/feast/ui/yarn.lock b/sdk/python/feast/ui/yarn.lock index 005035db2d..7e7456eb99 100644 --- a/sdk/python/feast/ui/yarn.lock +++ b/sdk/python/feast/ui/yarn.lock @@ -1451,10 +1451,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@feast-dev/feast-ui@0.39.0": - version "0.39.0" - resolved "https://registry.yarnpkg.com/@feast-dev/feast-ui/-/feast-ui-0.39.0.tgz#9ab9bdcfd866399383b489f192e3d907590ac841" - integrity sha512-ggTyiv+D/i6sF5WZRxEFmVKMVgWmrdP3bnUzbDYnMpJ6A1UKFOdj29Ukh4F8DXDvrAskV1LjF+DZVkaD5lF4TQ== +"@feast-dev/feast-ui@0.39.1": + version "0.39.1" + resolved "https://registry.yarnpkg.com/@feast-dev/feast-ui/-/feast-ui-0.39.1.tgz#11e8060e5f796aa7e9090611cca6f785745c4540" + integrity sha512-0cDEEqIwrrQTc1oq1Tb5Tt4kQ7kQAncXscVkUNSsD4/3NRlwoY/62bpvROCfGWuocCJW1S0noEo/Szo/IWY97w== dependencies: "@elastic/datemath" "^5.0.3" "@elastic/eui" "^55.0.1" diff --git a/ui/package.json b/ui/package.json index de37f4394a..26924c2afb 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "@feast-dev/feast-ui", - "version": "0.39.0", + "version": "0.39.1", "private": false, "files": [ "dist" From 1a8ddc4feb3e9aa5fda706776c392ae352fd1fc5 Mon Sep 17 00:00:00 2001 From: Alex Vinnik <33845028+alex-vinnik-sp@users.noreply.github.com> Date: Wed, 3 Apr 2024 10:59:52 -0500 Subject: [PATCH 5/8] SAASMLOPS-1139 Airlift SP specific files (#14) --- build.Jenkinsfile | 93 ++++++++++++++++++++++++++++++++++++ sailpoint-bytewax.dockerfile | 30 ++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 build.Jenkinsfile create mode 100644 sailpoint-bytewax.dockerfile diff --git a/build.Jenkinsfile b/build.Jenkinsfile new file mode 100644 index 0000000000..fadcbf9e78 --- /dev/null +++ b/build.Jenkinsfile @@ -0,0 +1,93 @@ +@Library('sailpoint/jenkins-release-utils')_ +pipeline { + + parameters { + string(name: 'BRANCH', defaultValue: 'master') + } + + agent { + kubernetes { + yaml "${libraryResource 'pods/build-container.yaml'}" + } + } + + environment { + + SERVICE_NAME = "feast-bytewax" + GITHUB_REPO = "git@github.com:sailpoint/feast.git" + ECR_REPOSITORY = "${env.AWS_ACCOUNT_ID}.dkr.ecr.us-east-1.amazonaws.com" + REPOSITORY_NAME = "sailpoint/${SERVICE_NAME}" + } + + stages { + stage('Checkout SCM') { + steps { + checkout( + [$class: 'GitSCM', + branches: [[name: "origin/${BRANCH}"], [name: "*/master"]], + doGenerateSubmoduleConfigurations: false, + extensions: [], submoduleCfg: [], + userRemoteConfigs: [[credentialsId: 'git-automation-ssh', url: "$GITHUB_REPO"]]]) + } + } + stage('Build Docker') { + steps { + container('kaniko') { + script { + echo "publishing ${SERVICE_NAME}:${BUILD_NUMBER}" + + sh """ + /kaniko/executor \ + --context ./ \ + --dockerfile ./sailpoint-bytewax.dockerfile \ + --build-arg DOCKER_BUILDKIT=1 \ + --destination=${ECR_REPOSITORY}/${REPOSITORY_NAME}:${BUILD_NUMBER} + """ + } + } + } + } + } + post { + always { + junit allowEmptyResults: true, testResults: '**/cov/*.xml' + } + success { + container('aws-cli') { + echo "Rebasing tag 'latest' to be '${BUILD_NUMBER}'" + sh ''' + MANIFEST=`aws ecr batch-get-image --repository-name ${REPOSITORY_NAME} --image-ids imageTag=${BUILD_NUMBER} --query images[].imageManifest --output text` + aws ecr put-image --repository-name ${REPOSITORY_NAME} --image-tag latest --image-manifest "\$MANIFEST" + ''' + } + slackSend( + channel : "proj-eng-iai-cicd", + message : "${SERVICE_NAME}:${BUILD_NUMBER} Build \n ${JOB_URL} ", + replyBroadcast: true, + color : "#33ff33", + failOnError : false + ) + } + failure { + container('aws-cli') { + assumePodRole { + script { + sh '''#!/bin/bash + aws ecr batch-delete-image \ + --repository-name $REPOSITORY_NAME \ + --image-ids imageTag=$BUILD_NUMBER + ''' + } + } + } + + slackSend( + channel : "proj-eng-iai-cicd", + message : "@iai-tarragon ${SERVICE_NAME}:${BUILD_NUMBER} Build broken \n ${JOB_URL} ", + replyBroadcast: true, + color : "#ff3333", + failOnError : false + ) + } + } +} diff --git a/sailpoint-bytewax.dockerfile b/sailpoint-bytewax.dockerfile new file mode 100644 index 0000000000..b9277806cf --- /dev/null +++ b/sailpoint-bytewax.dockerfile @@ -0,0 +1,30 @@ +# Original File: sdk/python/feast/infra/materialization/contrib/bytewax/Dockerfile +FROM 406205545357.dkr.ecr.us-east-1.amazonaws.com/sailpoint/python3.10:1 AS build + +RUN dnf install --refresh -y git + +WORKDIR /bytewax + +# Copy dataflow code +COPY sdk/python/feast/infra/materialization/contrib/bytewax/bytewax_materialization_dataflow.py /bytewax +COPY sdk/python/feast/infra/materialization/contrib/bytewax/dataflow.py /bytewax + +# Copy entrypoint +COPY sdk/python/feast/infra/materialization/contrib/bytewax/entrypoint.sh /bytewax + +# Copy necessary parts of the Feast codebase +COPY sdk/python sdk/python +COPY protos protos +COPY go go +COPY setup.py setup.py +COPY pyproject.toml pyproject.toml +COPY README.md README.md + +# Install Feast for AWS with Bytewax dependencies +# We need this mount thingy because setuptools_scm needs access to the +# git dir to infer the version of feast we're installing. +# https://github.com/pypa/setuptools_scm#usage-from-docker +# I think it also assumes that this dockerfile is being built from the root of the directory. +RUN --mount=source=.git,target=.git,type=bind SETUPTOOLS_SCM_PRETEND_VERSION=1 \ +pip3 install setuptools==69.* pip==24.* --upgrade --no-cache-dir \ +'.[aws,gcp,bytewax,snowflake,postgres,grpcio]' From 1673e199279d977a955a909aa48c6577a37fa0fc Mon Sep 17 00:00:00 2001 From: brijesh-vora-sp <137945907+brijesh-vora-sp@users.noreply.github.com> Date: Wed, 29 May 2024 11:55:10 -0500 Subject: [PATCH 6/8] SAASMLOPS-1335 Upgrade gunicorn package to remove vulnerability (#17) * SAASMLOPS-1335 Upgrade unicorn package to remove vulnerability * SAASMLOPS-1335 Add the gunicorn to sailpoint dockerfile --- sailpoint-bytewax.dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sailpoint-bytewax.dockerfile b/sailpoint-bytewax.dockerfile index b9277806cf..71fcd51e81 100644 --- a/sailpoint-bytewax.dockerfile +++ b/sailpoint-bytewax.dockerfile @@ -26,5 +26,5 @@ COPY README.md README.md # https://github.com/pypa/setuptools_scm#usage-from-docker # I think it also assumes that this dockerfile is being built from the root of the directory. RUN --mount=source=.git,target=.git,type=bind SETUPTOOLS_SCM_PRETEND_VERSION=1 \ -pip3 install setuptools==69.* pip==24.* --upgrade --no-cache-dir \ +pip3 install gunicorn==22.0.0 setuptools==69.* pip==24.* --upgrade --no-cache-dir \ '.[aws,gcp,bytewax,snowflake,postgres,grpcio]' From 5bd03bc2ecf57e13788cbf83040c7b8128b24864 Mon Sep 17 00:00:00 2001 From: Alex Vinnik <33845028+alex-vinnik-sp@users.noreply.github.com> Date: Tue, 25 Jun 2024 15:57:51 -0500 Subject: [PATCH 7/8] SAASMLOPS-1403 Add tolerations to bytewax pod spec (#18) --- .../kubernetes/k8s_materialization_engine.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sdk/python/feast/infra/materialization/kubernetes/k8s_materialization_engine.py b/sdk/python/feast/infra/materialization/kubernetes/k8s_materialization_engine.py index 2e7129b037..29e55c3b0c 100644 --- a/sdk/python/feast/infra/materialization/kubernetes/k8s_materialization_engine.py +++ b/sdk/python/feast/infra/materialization/kubernetes/k8s_materialization_engine.py @@ -414,6 +414,14 @@ def _create_job_definition(self, job_id, namespace, pods, env, index_offset=0): "name": self._configmap_name(job_id), }, ], + "tolerations": [ + { + "key": "bytewax", + "operator": "Equal", + "value": "instance", + "effect": "NoSchedule", + } + ], }, }, }, From 2c4a953da6ccb326b3269a6c8dabbaf697682ff9 Mon Sep 17 00:00:00 2001 From: nick-amaya-sp Date: Wed, 24 Jul 2024 13:12:13 -0500 Subject: [PATCH 8/8] fix: typos in k8s materialization engine, SAASMLOPS-1500 --- sdk/python/feast/infra/materialization/kubernetes/Dockerfile | 2 +- sdk/python/feast/repo_config.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/feast/infra/materialization/kubernetes/Dockerfile b/sdk/python/feast/infra/materialization/kubernetes/Dockerfile index 510bb72285..38d4f5f188 100644 --- a/sdk/python/feast/infra/materialization/kubernetes/Dockerfile +++ b/sdk/python/feast/infra/materialization/kubernetes/Dockerfile @@ -5,7 +5,7 @@ RUN apt-get update && \ WORKDIR /app -COPY sdk/python/feast/infra/materialization/kuberentes/main.py /app +COPY sdk/python/feast/infra/materialization/kubernetes/main.py /app # Copy necessary parts of the Feast codebase COPY sdk/python sdk/python diff --git a/sdk/python/feast/repo_config.py b/sdk/python/feast/repo_config.py index d5b3160b56..82c3e3ee80 100644 --- a/sdk/python/feast/repo_config.py +++ b/sdk/python/feast/repo_config.py @@ -45,7 +45,7 @@ "local": "feast.infra.materialization.local_engine.LocalMaterializationEngine", "snowflake.engine": "feast.infra.materialization.snowflake_engine.SnowflakeMaterializationEngine", "lambda": "feast.infra.materialization.aws_lambda.lambda_engine.LambdaMaterializationEngine", - "k8s": "feast.infra.materialization.kubernetes.kubernetes_materialization_engine.KubernetesMaterializationEngine", + "k8s": "feast.infra.materialization.kubernetes.k8s_materialization_engine.KubernetesMaterializationEngine", "spark.engine": "feast.infra.materialization.contrib.spark.spark_materialization_engine.SparkMaterializationEngine", }