You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We'd like to put control plane services into their own project so that they don't share resource limits with system services, parts of the OS, such as crond. We have experienced faults in sled agent and other control plane components that exhaust the project's contract limit, for example. It also gives us a place to hang limits in the future.
This is a pre-requisite to oxidecomputer/omicron#5324 which will put sled-agent into the new project as a first step.
The reason will be displayed to describe this comment to others. Learn more.
A few questions:
How did we pick the starting ID of 100?
Do we want to keep the default additions to /etc/project?
Should we be putting this in the template file at build time or is there something we should be doing to make sure that this is created at system start up time as part of some SMF service that's delivered by Omicron? I'm not against the cross-consolidation dep here, just trying to think out loud about this. I guess in theory it makes sense to do this. I guess the project file itself is committed so it's not so bad.
How do you see us using projects longer term? I realize each zone has its own project database (I think!) and that'll end up being unique. We have many different services in the global zone that are part of the control plane writ large and not just sled agent. Is this really specific to sled agent or would we put maghemite and related in the same project?
The reason will be displayed to describe this comment to others. Learn more.
I think we should pick globally unique IDs, and probably start at a higher number like 200000.
I think it's expedient to wholesale pre-populate the file like this today, but in the limit we should be assembling this at zone install time (that is, the brand should be doing it) by combining a partial database from each zone image archive (of which there could be zero, one, or many) with the database from the baseline files in the ramdisk. There are some details to work out about that (e.g., how to deal with conflicts, etc), and it likely needs to cover several of the databases (e.g., not just project, but at least passwd, shadow, and group, as well) which is why I haven't gotten to that yet.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We'd like to put control plane services into their own project so that they don't share resource limits with system services, parts of the OS, such as
crond. We have experienced faults in sled agent and other control plane components that exhaust the project's contract limit, for example. It also gives us a place to hang limits in the future.This is a pre-requisite to oxidecomputer/omicron#5324 which will put
sled-agentinto the new project as a first step.