-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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(backend): Parameterizing v2 Launcher and Driver Images #10269
Conversation
Hi @DharmitD. Thanks for your PR. I'm waiting for a kubeflow member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Env: []k8score.EnvVar{ | ||
{ | ||
Name: LauncherImageEnvVar, | ||
Value: GetLauncherImage(), |
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.
is this value the same as c.launcherImage
at line 241? if yes, you can directly use it. no need to call the function again, although it gets the same value.
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.
@yhwang good catch!
I updated it to set Image directly to the result of GetLauncherImage()
and remove the Env
field.
@@ -117,7 +117,7 @@ func Compile(jobArg *pipelinespec.PipelineJob, kubernetesSpecArg *pipelinespec.S | |||
templates: make(map[string]*wfapi.Template), | |||
// TODO(chensun): release process and update the images. | |||
driverImage: "gcr.io/ml-pipeline/kfp-driver@sha256:8e60086b04d92b657898a310ca9757631d58547e76bbbb8bfc376d654bef1707", |
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.
Not sure do you also want to parameterize the driver image? This image is also hard coded into the spec unless the Argo compiler move it to use Argo HTTP Template.
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.
+1, please do the same for driver as well, the two are usually updated together
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.
/ok-to-test |
/test kubeflow-pipeline-upgrade-test |
/test kubeflow-pipelines-samples-v2 |
1 similar comment
/test kubeflow-pipelines-samples-v2 |
|
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.
@@ -111,7 +133,7 @@ func (c *workflowCompiler) addContainerDriverTemplate() string { | |||
}, | |||
}, | |||
Container: &k8score.Container{ | |||
Image: c.driverImage, | |||
Image: GetDriverImage(), |
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.
nit: It would be great if you can add some unit tests to this change. Not necessarily a blocker for merging this PR though.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: chensun 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 |
@DharmitD: The following test failed, say
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
/lgtm Thanks @DharmitD |
…#10269) * Parameterize v2 launcher image * Parameterize v2 driver image
I added the environment variables in the API server, but it doesn't seem to have any effect. Here are the commands I used:
I also added the environment variables in the ArgoExec image, but unfortunately, it doesn't work either. |
update image then add |
…#10269) * Parameterize v2 launcher image * Parameterize v2 driver image
I want to highlight that These runs will still use the
|
…455) Enable charm configuration of launcher and driver images used during pipeline steps. Those can be configured through config options `launcher-image` and `driver-image`. When unset, KFP uses the default values defined. This is based on upstream implementation introduced in kubeflow/pipelines#10269. Closes #452
…455) Enable charm configuration of launcher and driver images used during pipeline steps. Those can be configured through config options `launcher-image` and `driver-image`. When unset, KFP uses the default values defined. This is based on upstream implementation introduced in kubeflow/pipelines#10269. Closes #452
Description of your changes:
Resolves #10229
Parameterizing the v2 launcher and driver images so it's possible to extend/provide fixes to the code.
Testing instructions:
Follow instructions listed here and run a
make install-compiler
to ensure that the changes compile correctly.Save the code changes locally and build an API Server image
Deploy KFP using steps listed here and replace the API Server image with the above image. Make sure API Server still comes up correctly.
Checklist: