Skip to content
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

new sessions/amalthea cleanup #524

Open
Panaetius opened this issue Nov 11, 2024 · 4 comments
Open

new sessions/amalthea cleanup #524

Panaetius opened this issue Nov 11, 2024 · 4 comments

Comments

@Panaetius
Copy link
Member

There's several smaller issues with the new amalthea and sessions in data services code. This issue serves as a tracking issue for them.

  • ImagePullPolicy is set to IfNotPresent for custom images, so something like :latest won't update
  • Editing some settings on the environment doesn't propagate when unhibernating sessions and there's no warning that a full restart is needed to apply the changes. E.g. users id, entrypoint, image tag.
  • All the k8s environment variables are available in sessions, we should probably limit that to only necessary ones: image
  • On session start there's sometimes a warning about the gateway being misconfigured. after refreshing, the session works.
    image
@leafty
Copy link
Member

leafty commented Nov 11, 2024

Editing some settings on the environment doesn't propagate when unhibernating sessions and there's no warning that a full restart is needed to apply the changes. E.g. users id, entrypoint, image tag.

This is most likely good by design. Any of these changes could render the session un-resumable, so it is best to freeze the launch settings.

ImagePullPolicy is set to IfNotPresent for custom images, so something like :latest won't update

We should probably open a full issue to implement image de-referencing at session launch.

@Panaetius
Copy link
Member Author

Panaetius commented Nov 11, 2024

This is most likely good by design. Any of these changes could render the session un-resumable, so it is best to freeze the launch settings.

yes but as mentioned, we should inform users of this. And it's no just when unhibernating, also if the session failed to launch and is backoff restarting. How this will manifest for users when trying to create a custom image session is that they will set up the session and type e.g. a wrong entrypoint, they will edit the session to fix it, click launch again, and it will still fail because it's still using the old settings. So really there's two things, one is not informing users that the session needs to be fully stopped for changes to apply (or make it a conscious choice with a button that allows force-applying it?), and two that when session start failed, no shapshot should be created and changes should be applied immediately (or a failed session should be stopped completely? only if there were no previous successful launches?).

To give an more tricky example, I'm playing with buildpack images right now and those run as user 1002, but we default to user 1000. The session will actually start and run for a second, and then fail due to a permission error, which I see in the logs. So I change UID to 1002 and click launch again, and it'll still fail because it's still UID 1000.

@leafty
Copy link
Member

leafty commented Nov 11, 2024

To give an more tricky example, I'm playing with buildpack images right now and those run as user 1002, but we default to user 1000. The session will actually start and run for a second, and then fail due to a permission error, which I see in the logs. So I change UID to 1002 and click launch again, and it'll still fail because it's still UID 1000.

Wait, why does this happen? The launch process should use the current settings from postgres.

@leafty
Copy link
Member

leafty commented Nov 12, 2024

one is not informing users that the session needs to be fully stopped for changes to apply (or make it a conscious choice with a button that allows force-applying it?)

This is a UI issue and needs to be tracked there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants