-
Notifications
You must be signed in to change notification settings - Fork 50
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 ability to customize kfp-launcher
ConfigMap data contents
#681
add ability to customize kfp-launcher
ConfigMap data contents
#681
Conversation
A new image has been built to help with testing out this PR: To use this image run the following: cd $(mktemp -d)
git clone git@github.com:opendatahub-io/data-science-pipelines-operator.git
cd data-science-pipelines-operator/
git fetch origin pull/681/head
git checkout -b pullrequest 167bb2433fe8fa74ab55b36197c1049174676a02
oc new-project opendatahub
make deploy IMG="quay.io/opendatahub/data-science-pipelines-operator:pr-681" More instructions here on how to deploy and test a Data Science Pipelines Application. |
/verified |
/hold found a bug while writing the test :) |
167bb24
to
04e0a81
Compare
Change to PR detected. A new PR build was completed. |
@HumairAK here's the screenshots showing it works with a more complex yaml from your doc |
04e0a81
to
0d8b27c
Compare
Change to PR detected. A new PR build was completed. |
0d8b27c
to
dbbb704
Compare
Change to PR detected. A new PR build was completed. |
dbbb704
to
1f75522
Compare
Change to PR detected. A new PR build was completed. |
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.
Just left an optional nit.
I don't want to block the merge just because of that. So...
/lgtm
Allow the user to fully replace the `data` contents of the kfp-launcher ConfigMap. The `kfp-launcher` component requires a ConfigMap to exist in the namespace where it runs (i.e. the namespace where pipelines run). This ConfigMap contains object storage configuration, as well as pipeline root (object store root path where artifacts will be uploaded) configuration. Currently this ConfigMap *must* be named "kfp-launcher". We currently deploy a default copy of the kfp-launcher ConfigMap via DSPO, but a user may want to provide their own ConfigMap configuration, so that they can specify multiple object storage sources and paths. Add a `CustomKfpLauncherConfigMap` parameter to DSPA.ApiServer. When specified, the `data` contents of the `kfp-launcher` ConfigMap that DSPO writes will be fully replaced with the `data` contents of the ConfigMap specified here. Fixes: https://issues.redhat.com/browse/RHOAIENG-4528 Co-authored-by: Achyut Madhusudan <amadhusu@redhat.com>
1f75522
to
d42a130
Compare
Change to PR detected. A new PR build was completed. |
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.
/lgtm
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: HumairAK 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 |
/unhold |
The issue resolved by this Pull Request:
Resolves https://issues.redhat.com/browse/RHOAIENG-4528
Description of your changes:
Allow the user to fully replace the
data
contents of the kfp-launcher ConfigMap. Thekfp-launcher
component requires a ConfigMap to exist in the namespace where it runs (i.e. the namespace where pipelines run). This ConfigMap contains object storage configuration, as well as pipeline root (object store root path where artifacts will be uploaded) configuration. Currently this ConfigMap must be named "kfp-launcher". We currently deploy a default copy of the kfp-launcher ConfigMap via DSPO, but a user may want to provide their own ConfigMap configuration, so that they can specify multiple object storage sources and paths.Add a
CustomKfpLauncherConfigMap
parameter to DSPA.ApiServer. When specified, thedata
contents of thekfp-launcher
ConfigMap that DSPO writes will be fully replaced with thedata
contents of the ConfigMap specified here.Fixes: https://issues.redhat.com/browse/RHOAIENG-4528
Testing instructions
login to openshift
$ oc login --token=sha256~jMYSUPERSECRETTOKEN --server=https://api.greg-1234.bd9q.p3.openshiftapps.com:443
make a new project for dspo to be deployed
$ oc new-project dspo
check out the PR
$ gh pr checkout 681
deploy it using the pre-built image
$ make deploy IMG="quay.io/opendatahub/data-science-pipelines-operator:pr-681" OPERATOR_NS=dspo
wait a bit for the deployment to finish, and make sure it's up
make a new project to deploy a DSPA into
first, create a ConfigMap to copy data from (click the plus button at the top).
Example:
Here's another more complex example (don't have screenshots for this one, but it should work the same)
deploy the DSPA, also using the plus button. Don't forget to tell it about your new ConfigMap --
notice the
customKfpLauncherConfigMap: my-custom-kfp-launcher
line!wait a bit for DSPO to reconcile the new DSPA … once you start to see pods come up, should be good
then check the kfp-launcher ConfigMap. It's data section should look like what you put in the my-custom-kfp-launcher ConfigMap
Now delete the DSPA and redeploy it, but this time leave out the
customKfpLauncherConfigMap: my-custom-kfp-launcher
line from the DSPA. The kfp-launcher ConfigMap should now look how it usually does.Checklist