-
Notifications
You must be signed in to change notification settings - Fork 1
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
add sklearnserver rock #23
Conversation
adds a rock for the kserve v0.11 sklearnserver. This rock is modelled after the Paddle and pmmlserver rocks
PR is missing the tox.ini/tests folder. will add these next before merging this. But the rock itself works afaict in local testing |
PR is now ready for review, with proper tests. Any CI failures now are not intentional |
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.
After a sync with @ca-scribner, we have agreed that the pattern that this rockcraft project follows must be documented in a CONTRIBUTING.md file so it is more clear how to deal with these kind of rocks, as some workarounds were put in place to make things work similarly to the Dockerfile it is based on.
I'll do another pass once we have documented everything that's needed (separate PR).
* Removes detailed comments (they have been moved to a CONTRIBUTING.md file which will be implemented separately) * moves build-essential and libgomp1 to build-packages from overlay-packages to keep them from being put into the final rock
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.
Thanks @ca-scribner. The contributing guide in #27 makes all the workarounds in this rock easier to understand, and after our discussion yesterday, I think we can carry on with this approach for similar kserve server rocks.
Refactors the pmmlserver rock to use the same patterns as #23
Refactors the paddleserver rock to use the same patterns as #23
adds a rock for the kserve v0.11 sklearnserver based on this dockerfile and the existing Paddle and pmmlserver rocks
This PR refactors a little compared to the previous rocks like pmmlserver. The main goals were:
python3
)Specifically for the
pythonpath
, the pmmlserver rock needs to add/pmmlserver:/kserve
to its servicePYTHONPATH
because poetry by default installs a root project as editable, which means the code is not stored indist-packages
like the other installed packages. So when we copy our installed python packages from build env to the final rock in pmmlserver, we omit the pmmlserver and kserve packages (and then we "fix" that by copying the code separately, and adding the new code dirs toPYTHONPATH
.I'm worried this
PYTHONPATH
workaround might have unintended consequences, so instead in this rock I install kserve and sklearnserver packages as local dependencies of a dummy poetry project rather than as root projects. This tricks poetry into installing them normally (not editable), which means they are put indist-packages
like everything else.Testing instructions
The rock should launch, but then fail with: