-
Notifications
You must be signed in to change notification settings - Fork 68
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(py): Add support for storing models in S3 #765
feat(py): Add support for storing models in S3 #765
Conversation
Signed-off-by: syntaxsdev <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thank you @syntaxsdev for this!
some initial comments below.
which type of test can we consider to make sure the functionality is covered?
I'm thinking we could have some dedicated e2e test by extending the current opt-in pytest mechanism and deploy minio in that "scenario" of e2e testing. Do you have some additional ideas?
…sting with minio locally Signed-off-by: syntaxsdev <[email protected]>
176b6a8
to
afdc8cf
Compare
…tifacts in paths Signed-off-by: syntaxsdev <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to make sure the end results works as expected for KServe (not necessarily as a test in the PR itself, making the check manually can also do)
otherwise
/lgtm
already thanks @syntaxsdev
( I also believe this PR need rebasing to account for more recent openapi and generated changes ) |
…bucket, additional test coverage Signed-off-by: syntaxsdev <[email protected]>
Signed-off-by: syntaxsdev <[email protected]>
Signed-off-by: syntaxsdev <[email protected]>
c1c209d
to
624963f
Compare
Signed-off-by: syntaxsdev <[email protected]>
Signed-off-by: Sidney Glinton <[email protected]>
Signed-off-by: Matteo Mortari <[email protected]>
Signed-off-by: Matteo Mortari <[email protected]>
#!/usr/bin/env bash | ||
|
||
set -e |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tarilabs @syntaxsdev one question I have is that I was assuming we are using pytest libraries for any cluster management too, is that a wrong assumption?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no we are not "orchestrating cluster setup from pytest" if that was the question, as the request was to stick to makefile and scripting; the downside is netting on a basic common ground, but I see the advantage as reuse from Go or else in the future if needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct for reuse and manageability, this was the topic in shift left. @lugi0 might have some comments on this. I am not asking to change this PR but maybe we can capture a follow-up if that is the overall direction we need to be writing the tests with, if not we can ignore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm favourable of revising the setup, as you know I prsonally prefer to reduce Makefile and scripts to the minimum as possible, but we need indeed to account for multiple factors.
@lucferbux can you look into the issues with the UI tests here? |
Agh, this might happen due to latest config PR cc @christianvogt I'm gonna take a look |
A fix for the tests has been posted here #832 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
API looks good to me, we should verify Makefile changes on all platforms.
Signed-off-by: Matteo Mortari <[email protected]>
Signed-off-by: Matteo Mortari <[email protected]>
Signed-off-by: Matteo Mortari <[email protected]>
e2313b8
to
c27af31
Compare
Signed-off-by: Matteo Mortari <[email protected]>
c27af31
to
6d0aeab
Compare
Signed-off-by: Matteo Mortari <[email protected]>
f1c1d45
to
9883236
Compare
Signed-off-by: Matteo Mortari <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thank you @syntaxsdev , and all for this PR, this is a good foundation step to make life easier to the DS + MLOps Eng to orchestrate the Store-then-Register flow!
/lgtm
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tarilabs The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Within the Python client, users will be able to directly store models to an S3 compatible object storage.
AWS S3 connections will automatically be consumed.
Description
The bulk of the changes were done in
clients/python/src/_client.py
With E2E tests that were added to test functionality by creating a Minio instance
This implementation is within the
ModelRegistry
classExample usage:
You can path both files and paths to the
path
parameter.If a path is nested (ex.
data/models
) then ans3_prefix
variable will be required to allow for proper folder naming.Environment variables are picked up, but variables supplied via direct params are preferred over environment variables that are mounted.
How Has This Been Tested?
A local and remote version of Minio S3
deploy-latest-mr
uses..env
file is generated so that vars can be used for the added testsTests are passing when completely rebuilding and testing the new e2e workflow

To test, run
make test-e2e
as per usual.Merge criteria:
DCO
check)If you have UI changes