-
Notifications
You must be signed in to change notification settings - Fork 344
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
Remove system-owned runtime image configurations #3130
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Patrick Titzler <[email protected]>
This is really a function of how the user chooses to "upgrade" the application. If they treat the upgrade as "uninstall/install", then the files in
We should probably document equivalent |
Signed-off-by: Patrick Titzler <[email protected]>
Great point! I've updated the PR description accordingly. |
Signed-off-by: Patrick Titzler <[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.
These changes look good. I think we should also remove the references to etc/metadata/runtime-images
that are in pyproject.toml
for completeness:
Line 164 in 6950c72
"etc/config/metadata/runtime-images" = "share/jupyter/metadata/runtime-images" |
Line 179 in 6950c72
"etc/config/metadata/runtime-images/*.json", |
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 don't think we should remove these runtime images as these will make the pipelines unusable out of the box.
What is the issue behind here?
- Do we need to make these images based on UBI?
- Do we need to create a elyra-base image for ISV's to use for embedding them in their system?
Pipelines are already unusable out of the box for KFP and Airflow because users need to create a runtime configuration first, which is a non-trivial task. That local executions currently require a container image to be as associated even though it is never used is a design issue, which should be fixable.
The issues are listed in the PR description. Mitigation options for users of container based deployments are documented in the linked release notes.
As far as I know it was never our intention to be the provider and maintainer of runtime images. Users are of course free to continue using any image of their choice, even the ones we are referencing today. The currently referenced images may or may not be maintained (e.g. kept current) by their owners, which requires manual intervention by the users. It is therefore my belief that by not including runtime image configurations we are not introducing a new problem.
The existing base/example images we have (e.g. Open Data Hub, which will become a major consumer of Elyra, is already creating their own set of standardized container images for OCP: https://github.com/opendatahub-io/notebooks. I don't think there is a need for the Elyra maintainers to provide additional images beyond what is already available. |
Yes, we make this on purpose to make sure validation was considering the pipeline ready for real business which is run in a runtime which requires associated runtime-images. As the elyra maintainers, we cannot guess what the configuration required to connect to a runtime deployed on the user environment, so unfortunately we cannot provide a sample runtime configuration. But we can guess some widely used runtime-images that can be useful for users and allow them to use elyra out of the box, even if they only want to run local pipelines. The thing here is probably that we do this every day, so we know what and where to do it with our eyes closed. New users will be overwhelmed with the required steps to run a pipeline, our sample pipelines will not work as there is not going to be any runtime-image to use, etc and they will just give up. |
I find the requirement of a docker image for all generic nodes knowing I want to run the pipeline locally to be my number one pet peeve about Elyra! I really wish this requirement could be relaxed until the time of submission when the actual runtime is determined. Or perhaps we could relax the requirement if Generic Pipeline is selected since those can only use generic components. We really need a runtime configuration meta-property like "require-images-on-generic-components", then, by promoting Local to its own runtime (here we are again!) we could make the proper enforcement. (This would also argue for some client-side validation to improve UX.) If we could relax the runtime-image requirement on generic nodes so that its enforcement is a function of runtime selection, then I think this would allow a generic pipeline to be run out-of-the-box. Regarding the removal of the system-owned runtime-image metadata instances, I think providing a table of parameters for CLI I think we're going to run into issues with these anyway once |
I am ok with this, the issue is that we have the "as you build" checks that mark nodes as red when they are not ready for submission, more like a compilation check before you run, to avoid only seeing 10 issues when you run and we will lose that. |
If we treat the absence of the etc/config/metadata/runtime-images directory as a valid condition it could be confusing to log a file not found "error" Signed-off-by: Patrick Titzler <[email protected]>
Elyra currently pre-installs a set of runtime image configurations. There are several issues:
This PR removes these runtime configurations from the Elyra installation. Migration instructions will be included in the Elyra release notes. A draft version can be found here https://github.com/elyra-ai/elyra/discussions/3120. Note that documentation links in this document will yield a 404 until Elyra 3.15.0 was published.
Considerations:
pip install ... --upgrade
. The removal only impacts new installations in a clean environment or upgrades that are performed by runningpip uninstall ...
followed bypip install ...
.elyra-metadata install
command to create the desired default runtime image configuration entries.etc/config/metadata/runtime_images
directory.What changes were proposed in this pull request?
How was this pull request tested?
test-server
andtest-integration
Makefile targets complete successfullyDeveloper's Certificate of Origin 1.1