-
Notifications
You must be signed in to change notification settings - Fork 243
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
Is there a plan to use a storage backend that would persist code between successive "odo push" executions? #3562
Comments
@johnmcollier I was told that you did some research on using a persistent backend for components. @kadel the issue description is largely based on what you explained me when I was stuck while implementing |
@dharmit Yah, our earlier "kdo" poc used persistent volumes instead of emptyDir volumes for components |
@kadel @johnmcollier out of curiosity, why did we go with |
@dharmit I don't fully remember the reasons why but I believe we had a couple concerns around mandating persistent volumes for all components:
|
We discussed this on today's call, we decided on minimally supporting a toggle to enable users to switch between ephemeral emptyDir volumes and PersistentVolumes. We didn't decide on a default however. |
Since using persistent volumes would help solve more than just |
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
Closing since this was addressed by #4316 /close |
@dharmit: Closing this issue. In response to this:
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. |
Which functionality do you think we should add?
While working on #2920, we found that since we use
emptyDir
as backing storage volume, the k8s Deployment fails to come up after linking.A bit about linking. Linking (
odo link
) creates a Service Binding Request (SBR) using the APIs provided by Service Binding Operator (SBO). A SBR creates a k8s Secret and injects this Secret's information into theenvFrom
field of the run container. It does this by modifying the Deployment's YAML definition.As a result of this change in Deployment's definition, the underling pod is restarted. Upon restart, the application fails to get reloaded since the code is not stored anywhere.
Why is this needed?
As a result of our inability to store the code on cluster and bring the application back to running state, we need to do
odo push
after doingodo link
for an Operator backed service. OTOH, we didn't have this requirement when linking Service Catalog backed service.Thus, there's a different UX:
odo push
. (needs to be verified when working with devfile component.)odo push
./kind feature
/kind discussion
/area UX
The text was updated successfully, but these errors were encountered: