public static interface Protos.LinuxInfoOrBuilder
Modifier and Type | Method and Description |
---|---|
Protos.CapabilityInfo |
getBoundingCapabilities()
The set of capabilities that are allowed but not initially
granted to tasks.
|
Protos.CapabilityInfoOrBuilder |
getBoundingCapabilitiesOrBuilder()
The set of capabilities that are allowed but not initially
granted to tasks.
|
Protos.CapabilityInfo |
getCapabilityInfo()
Deprecated.
|
Protos.CapabilityInfoOrBuilder |
getCapabilityInfoOrBuilder()
Deprecated.
|
Protos.CapabilityInfo |
getEffectiveCapabilities()
Represents the set of capabilities that the task will
be executed with.
|
Protos.CapabilityInfoOrBuilder |
getEffectiveCapabilitiesOrBuilder()
Represents the set of capabilities that the task will
be executed with.
|
Protos.LinuxInfo.IpcMode |
getIpcMode()
There are two special cases that we need to handle for this field:
1.
|
Protos.SeccompInfo |
getSeccomp()
Represents Seccomp configuration, which is used for syscall filtering.
|
Protos.SeccompInfoOrBuilder |
getSeccompOrBuilder()
Represents Seccomp configuration, which is used for syscall filtering.
|
boolean |
getShareCgroups()
If set as 'true', the container will share the cgroups from its parent
container, otherwise it will have its own cgroups created.
|
boolean |
getSharePidNamespace()
If set as 'true', the container shares the pid namespace with
its parent.
|
int |
getShmSize()
Size of /dev/shm in MB.
|
boolean |
hasBoundingCapabilities()
The set of capabilities that are allowed but not initially
granted to tasks.
|
boolean |
hasCapabilityInfo()
Deprecated.
|
boolean |
hasEffectiveCapabilities()
Represents the set of capabilities that the task will
be executed with.
|
boolean |
hasIpcMode()
There are two special cases that we need to handle for this field:
1.
|
boolean |
hasSeccomp()
Represents Seccomp configuration, which is used for syscall filtering.
|
boolean |
hasShareCgroups()
If set as 'true', the container will share the cgroups from its parent
container, otherwise it will have its own cgroups created.
|
boolean |
hasSharePidNamespace()
If set as 'true', the container shares the pid namespace with
its parent.
|
boolean |
hasShmSize()
Size of /dev/shm in MB.
|
@Deprecated boolean hasCapabilityInfo()
Since 1.4.0, deprecated in favor of `effective_capabilities`.
optional .mesos.CapabilityInfo capability_info = 1 [deprecated = true];
@Deprecated Protos.CapabilityInfo getCapabilityInfo()
Since 1.4.0, deprecated in favor of `effective_capabilities`.
optional .mesos.CapabilityInfo capability_info = 1 [deprecated = true];
@Deprecated Protos.CapabilityInfoOrBuilder getCapabilityInfoOrBuilder()
Since 1.4.0, deprecated in favor of `effective_capabilities`.
optional .mesos.CapabilityInfo capability_info = 1 [deprecated = true];
boolean hasBoundingCapabilities()
The set of capabilities that are allowed but not initially granted to tasks.
optional .mesos.CapabilityInfo bounding_capabilities = 2;
Protos.CapabilityInfo getBoundingCapabilities()
The set of capabilities that are allowed but not initially granted to tasks.
optional .mesos.CapabilityInfo bounding_capabilities = 2;
Protos.CapabilityInfoOrBuilder getBoundingCapabilitiesOrBuilder()
The set of capabilities that are allowed but not initially granted to tasks.
optional .mesos.CapabilityInfo bounding_capabilities = 2;
boolean hasEffectiveCapabilities()
Represents the set of capabilities that the task will be executed with.
optional .mesos.CapabilityInfo effective_capabilities = 3;
Protos.CapabilityInfo getEffectiveCapabilities()
Represents the set of capabilities that the task will be executed with.
optional .mesos.CapabilityInfo effective_capabilities = 3;
Protos.CapabilityInfoOrBuilder getEffectiveCapabilitiesOrBuilder()
Represents the set of capabilities that the task will be executed with.
optional .mesos.CapabilityInfo effective_capabilities = 3;
boolean hasSharePidNamespace()
If set as 'true', the container shares the pid namespace with its parent. If the container is a top level container, it will share the pid namespace with the agent. If the container is a nested container, it will share the pid namespace with its parent container. This field will be ignored if 'namespaces/pid' isolator is not enabled.
optional bool share_pid_namespace = 4;
boolean getSharePidNamespace()
If set as 'true', the container shares the pid namespace with its parent. If the container is a top level container, it will share the pid namespace with the agent. If the container is a nested container, it will share the pid namespace with its parent container. This field will be ignored if 'namespaces/pid' isolator is not enabled.
optional bool share_pid_namespace = 4;
boolean hasSeccomp()
Represents Seccomp configuration, which is used for syscall filtering. This field is used to override the agent's default Seccomp configuration.
optional .mesos.SeccompInfo seccomp = 5;
Protos.SeccompInfo getSeccomp()
Represents Seccomp configuration, which is used for syscall filtering. This field is used to override the agent's default Seccomp configuration.
optional .mesos.SeccompInfo seccomp = 5;
Protos.SeccompInfoOrBuilder getSeccompOrBuilder()
Represents Seccomp configuration, which is used for syscall filtering. This field is used to override the agent's default Seccomp configuration.
optional .mesos.SeccompInfo seccomp = 5;
boolean hasIpcMode()
There are two special cases that we need to handle for this field: 1. This field is not set: For backward compatibility we will keep the previous behavior: Top level container will have its own IPC namespace and nested container will share the IPC namespace from its parent container. If the container does not have its own rootfs, it will share agent's /dev/shm, otherwise it will have its own /dev/shm. 2. The `namespaces/ipc` isolator is not enabled: This field will be ignored in this case. For backward compatibility, in the `filesystem/linux` isolator we will keep the previous behavior: Any containers will share IPC namespace from agent, and if the container does not have its own rootfs, it will also share agent's /dev/shm, otherwise it will have its own /dev/shm. TODO(qianzhang): Remove the support for the above two cases after the deprecation cycle (started in 1.9). Eventually we want a single isolator (`namespaces/ipc`) to handle both IPC namespace and /dev/shm, and decouple /dev/shm from container's rootfs (i.e., whether a container will have its own /dev/shm depends on its `ipc_mode` instead of whether the container has its own rootfs).
optional .mesos.LinuxInfo.IpcMode ipc_mode = 6;
Protos.LinuxInfo.IpcMode getIpcMode()
There are two special cases that we need to handle for this field: 1. This field is not set: For backward compatibility we will keep the previous behavior: Top level container will have its own IPC namespace and nested container will share the IPC namespace from its parent container. If the container does not have its own rootfs, it will share agent's /dev/shm, otherwise it will have its own /dev/shm. 2. The `namespaces/ipc` isolator is not enabled: This field will be ignored in this case. For backward compatibility, in the `filesystem/linux` isolator we will keep the previous behavior: Any containers will share IPC namespace from agent, and if the container does not have its own rootfs, it will also share agent's /dev/shm, otherwise it will have its own /dev/shm. TODO(qianzhang): Remove the support for the above two cases after the deprecation cycle (started in 1.9). Eventually we want a single isolator (`namespaces/ipc`) to handle both IPC namespace and /dev/shm, and decouple /dev/shm from container's rootfs (i.e., whether a container will have its own /dev/shm depends on its `ipc_mode` instead of whether the container has its own rootfs).
optional .mesos.LinuxInfo.IpcMode ipc_mode = 6;
boolean hasShmSize()
Size of /dev/shm in MB. If not set, the size of the /dev/shm for container will be value of the `--default_container_shm_size` agent flag, if that flag is not set too, the size of the /dev/shm will be half of the host RAM which is the default behavior of Linux. This field will be ignored for the container which shares /dev/shm from its parent and it will be also ignored for any containers if the `namespaces/ipc` isolator is not enabled. Please note that we only support setting this field when the `ipc_mode` field is set to `PRIVATE` otherwise the container launch will be rejected.
optional uint32 shm_size = 7;
int getShmSize()
Size of /dev/shm in MB. If not set, the size of the /dev/shm for container will be value of the `--default_container_shm_size` agent flag, if that flag is not set too, the size of the /dev/shm will be half of the host RAM which is the default behavior of Linux. This field will be ignored for the container which shares /dev/shm from its parent and it will be also ignored for any containers if the `namespaces/ipc` isolator is not enabled. Please note that we only support setting this field when the `ipc_mode` field is set to `PRIVATE` otherwise the container launch will be rejected.
optional uint32 shm_size = 7;
boolean hasShareCgroups()
If set as 'true', the container will share the cgroups from its parent container, otherwise it will have its own cgroups created. Please note: 1. For tasks in a task group launched via the LAUNCH_GROUP operation, this field may be set to 'true' or 'false'. Resource limits may only be set for tasks in a task group when this field is set to 'false'. 2. For tasks launched via the LAUNCH operation, this field may only be set to 'true', and in this case resource limits may be set on these tasks. 3. For containers launched via the agent's LAUNCH_NESTED_CONTAINER_SESSION call, this field must be set to 'true'. 4. For executor containers, this field may only be set to 'false'. 5. All tasks under a single executor must share the same value of this field, if it is set. Note that this means that all tasks within a single task group must set this field to the same value.
optional bool share_cgroups = 8 [default = true];
boolean getShareCgroups()
If set as 'true', the container will share the cgroups from its parent container, otherwise it will have its own cgroups created. Please note: 1. For tasks in a task group launched via the LAUNCH_GROUP operation, this field may be set to 'true' or 'false'. Resource limits may only be set for tasks in a task group when this field is set to 'false'. 2. For tasks launched via the LAUNCH operation, this field may only be set to 'true', and in this case resource limits may be set on these tasks. 3. For containers launched via the agent's LAUNCH_NESTED_CONTAINER_SESSION call, this field must be set to 'true'. 4. For executor containers, this field may only be set to 'false'. 5. All tasks under a single executor must share the same value of this field, if it is set. Note that this means that all tasks within a single task group must set this field to the same value.
optional bool share_cgroups = 8 [default = true];