-
Notifications
You must be signed in to change notification settings - Fork 557
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
Allow Updates #17
Comments
I have been noodling over this one for a few days and I think we do indeed need to split the configuration into two parts, perhaps even two files, to make the difference between clear. How do we make this distinction? I would argue the delineation is around what the application needs to operate as far as namespaces and security and then what host resources it is allowed to consume on the host. Application Configuration
Host Resource Configuration
This is something that has been discussed a few times in appc in two contexts:
I think the evolution on my thinking here is drawing the line along what makes sense only once running on a host vs what is static and describes the application's needs. So, yes, I think we need to be able to design for updating a running container and the things that should be updatable are logically different enough that we should attempt to separate them clearly. |
We know we are going to want a state file for the bundle so that a user can hunt down the owning PID, etc. So, I think a reasonable thing to do is say that certain sections of the config.json will show up in the
Big open question @rjnagal: How would a user affect change on the container? Would an external system (docker/rkt/etc) rewrite this json to establish a desired state then call a reconciliation loop? Or something else? https://github.com/opencontainers/runc/blob/master/spec_linux.go#L25-L27 |
Also, here is the mega thread on lifecycle and updates on appc: appc/spec#276. A number of issues we are going to have to think through are discussed at length if we need points of reference. |
This may be related to #493. |
Collecting Update requirements and use-cases for the working group.
We should be able to update a running container. There are a few simple updates like resources for vertical scaling of containers (memory, cpu) that should be allowed. Adding a volume is another possible use-case.
Do we split the config into immutable and mutable parts? The updates can be done out of band, but we would like the config to reflect reality of the running state.
Hopefully, we can collect more requirement and concerns before handing it over to a working group.
The text was updated successfully, but these errors were encountered: