Skip to content
This repository has been archived by the owner on Aug 14, 2020. It is now read-only.

Add field to specify whether an isolator is required for execution #225

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

b
Copy link

@b b commented Mar 9, 2015

An isolator MAY include a field named "required". If the "required" field is present and has value "true" then an executor MUST either enforce the isolator or refuse to execute the container and return an error. A missing "required" field is treated as a value of "false".

@b b changed the title #224 - Add field to specify whether an isolator is required for execution Add field to specify whether an isolator is required for execution Mar 9, 2015
@philips
Copy link
Contributor

philips commented Mar 10, 2015

I think having this is reasonable. Letting the image say what it expects seems reasonable for a number of the isolators.

What required means for the resource isolators is more nebulous however.

/cc @cdaylward @jonboulle

@b
Copy link
Author

b commented Mar 10, 2015

For things that have a minimum requested allocation, like resource/cpu and resource/memory, it seems that either required is implicit or should be available. For the other currently specified resources, I agree required may not be applicable.

@jonboulle
Copy link
Contributor

I can't say I'm convinced by this change. "Letting the image say what it expects" is different from the spec enforcing that implementations MUST fail execution if isolators can't be satisfied. When are isolators not a runtime-controlled characteristic?

In #197 you wrote:

Specifying mandatory isolators provides a contract on which developers can rely for what isolators are guaranteed to be available.

Do you have examples here? Are you thinking of capabilities? Since right now all the other isolators are just resource, and I do not see why these should be necessarily prescribed in an image. (However I have been meaning to revisit the idea of introducing language regarding "reservations" and "limits" to the resource isolators which might clarify this a bit).

@jonboulle
Copy link
Contributor

Oops, missed this:

For things that have a minimum requested allocation, like resource/cpu and resource/memory, it seems that either required is implicit or should be available

My previous suggestion re: reservations/limit would help here.

@jonboulle
Copy link
Contributor

gaaah, I see language to this effect has been added to the spec. sorry, still catching up on things while I was out...

@b
Copy link
Author

b commented Mar 10, 2015

Correct, this is a backwards-compatible change. If you leave out the "required" field everything works as it does today.

@jonboulle
Copy link
Contributor

@cdaylward how are those isolator thoughts coming along? ;-)

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

Successfully merging this pull request may close these issues.

3 participants