public static final class Protos.LinuxInfo extends com.google.protobuf.GeneratedMessageV3 implements Protos.LinuxInfoOrBuilder
Encapsulation for Linux specific configuration. E.g, capabilities, limits etc.Protobuf type
mesos.LinuxInfo| Modifier and Type | Class and Description |
|---|---|
static class |
Protos.LinuxInfo.Builder
Encapsulation for Linux specific configuration.
|
static class |
Protos.LinuxInfo.IpcMode
Protobuf enum
mesos.LinuxInfo.IpcMode |
| Modifier and Type | Field and Description |
|---|---|
static int |
BOUNDING_CAPABILITIES_FIELD_NUMBER |
static int |
CAPABILITY_INFO_FIELD_NUMBER |
static int |
EFFECTIVE_CAPABILITIES_FIELD_NUMBER |
static int |
IPC_MODE_FIELD_NUMBER |
static <any> |
PARSER
Deprecated.
|
static int |
SECCOMP_FIELD_NUMBER |
static int |
SHARE_CGROUPS_FIELD_NUMBER |
static int |
SHARE_PID_NAMESPACE_FIELD_NUMBER |
static int |
SHM_SIZE_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj) |
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.
|
static Protos.LinuxInfo |
getDefaultInstance() |
Protos.LinuxInfo |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
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.
|
<any> |
getParserForType() |
Protos.SeccompInfo |
getSeccomp()
Represents Seccomp configuration, which is used for syscall filtering.
|
Protos.SeccompInfoOrBuilder |
getSeccompOrBuilder()
Represents Seccomp configuration, which is used for syscall filtering.
|
int |
getSerializedSize() |
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.
|
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
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.
|
int |
hashCode() |
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.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static Protos.LinuxInfo.Builder |
newBuilder() |
static Protos.LinuxInfo.Builder |
newBuilder(Protos.LinuxInfo prototype) |
Protos.LinuxInfo.Builder |
newBuilderForType() |
protected Protos.LinuxInfo.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
static Protos.LinuxInfo |
parseDelimitedFrom(java.io.InputStream input) |
static Protos.LinuxInfo |
parseDelimitedFrom(java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Protos.LinuxInfo |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Protos.LinuxInfo |
parseFrom(java.nio.ByteBuffer data) |
static Protos.LinuxInfo |
parseFrom(java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Protos.LinuxInfo |
parseFrom(com.google.protobuf.ByteString data) |
static Protos.LinuxInfo |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Protos.LinuxInfo |
parseFrom(com.google.protobuf.CodedInputStream input) |
static Protos.LinuxInfo |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Protos.LinuxInfo |
parseFrom(java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static <any> |
parser() |
Protos.LinuxInfo.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
public static final int CAPABILITY_INFO_FIELD_NUMBER
public static final int BOUNDING_CAPABILITIES_FIELD_NUMBER
public static final int EFFECTIVE_CAPABILITIES_FIELD_NUMBER
public static final int SHARE_PID_NAMESPACE_FIELD_NUMBER
public static final int SECCOMP_FIELD_NUMBER
public static final int IPC_MODE_FIELD_NUMBER
public static final int SHM_SIZE_FIELD_NUMBER
public static final int SHARE_CGROUPS_FIELD_NUMBER
@Deprecated public static final <any> PARSER
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
@Deprecated public boolean hasCapabilityInfo()
Since 1.4.0, deprecated in favor of `effective_capabilities`.
optional .mesos.CapabilityInfo capability_info = 1 [deprecated = true];hasCapabilityInfo in interface Protos.LinuxInfoOrBuilder@Deprecated public Protos.CapabilityInfo getCapabilityInfo()
Since 1.4.0, deprecated in favor of `effective_capabilities`.
optional .mesos.CapabilityInfo capability_info = 1 [deprecated = true];getCapabilityInfo in interface Protos.LinuxInfoOrBuilder@Deprecated public Protos.CapabilityInfoOrBuilder getCapabilityInfoOrBuilder()
Since 1.4.0, deprecated in favor of `effective_capabilities`.
optional .mesos.CapabilityInfo capability_info = 1 [deprecated = true];getCapabilityInfoOrBuilder in interface Protos.LinuxInfoOrBuilderpublic boolean hasBoundingCapabilities()
The set of capabilities that are allowed but not initially granted to tasks.
optional .mesos.CapabilityInfo bounding_capabilities = 2;hasBoundingCapabilities in interface Protos.LinuxInfoOrBuilderpublic Protos.CapabilityInfo getBoundingCapabilities()
The set of capabilities that are allowed but not initially granted to tasks.
optional .mesos.CapabilityInfo bounding_capabilities = 2;getBoundingCapabilities in interface Protos.LinuxInfoOrBuilderpublic Protos.CapabilityInfoOrBuilder getBoundingCapabilitiesOrBuilder()
The set of capabilities that are allowed but not initially granted to tasks.
optional .mesos.CapabilityInfo bounding_capabilities = 2;getBoundingCapabilitiesOrBuilder in interface Protos.LinuxInfoOrBuilderpublic boolean hasEffectiveCapabilities()
Represents the set of capabilities that the task will be executed with.
optional .mesos.CapabilityInfo effective_capabilities = 3;hasEffectiveCapabilities in interface Protos.LinuxInfoOrBuilderpublic Protos.CapabilityInfo getEffectiveCapabilities()
Represents the set of capabilities that the task will be executed with.
optional .mesos.CapabilityInfo effective_capabilities = 3;getEffectiveCapabilities in interface Protos.LinuxInfoOrBuilderpublic Protos.CapabilityInfoOrBuilder getEffectiveCapabilitiesOrBuilder()
Represents the set of capabilities that the task will be executed with.
optional .mesos.CapabilityInfo effective_capabilities = 3;getEffectiveCapabilitiesOrBuilder in interface Protos.LinuxInfoOrBuilderpublic 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;hasSharePidNamespace in interface Protos.LinuxInfoOrBuilderpublic 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;getSharePidNamespace in interface Protos.LinuxInfoOrBuilderpublic 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;hasSeccomp in interface Protos.LinuxInfoOrBuilderpublic 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;getSeccomp in interface Protos.LinuxInfoOrBuilderpublic 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;getSeccompOrBuilder in interface Protos.LinuxInfoOrBuilderpublic 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;hasIpcMode in interface Protos.LinuxInfoOrBuilderpublic 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;getIpcMode in interface Protos.LinuxInfoOrBuilderpublic 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;hasShmSize in interface Protos.LinuxInfoOrBuilderpublic 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;getShmSize in interface Protos.LinuxInfoOrBuilderpublic 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];hasShareCgroups in interface Protos.LinuxInfoOrBuilderpublic 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];getShareCgroups in interface Protos.LinuxInfoOrBuilderpublic final boolean isInitialized()
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException
java.io.IOExceptionpublic int getSerializedSize()
public boolean equals(java.lang.Object obj)
public int hashCode()
public static Protos.LinuxInfo parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Protos.LinuxInfo parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Protos.LinuxInfo parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Protos.LinuxInfo parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Protos.LinuxInfo parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static Protos.LinuxInfo parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic static Protos.LinuxInfo parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOExceptionpublic static Protos.LinuxInfo parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic static Protos.LinuxInfo parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
java.io.IOExceptionpublic static Protos.LinuxInfo parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic Protos.LinuxInfo.Builder newBuilderForType()
public static Protos.LinuxInfo.Builder newBuilder()
public static Protos.LinuxInfo.Builder newBuilder(Protos.LinuxInfo prototype)
public Protos.LinuxInfo.Builder toBuilder()
protected Protos.LinuxInfo.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
public static Protos.LinuxInfo getDefaultInstance()
public static <any> parser()
public <any> getParserForType()
public Protos.LinuxInfo getDefaultInstanceForType()