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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public boolean hasEffectiveCapabilities()
Represents the set of capabilities that the task will be executed with.
optional .mesos.CapabilityInfo effective_capabilities = 3;
hasEffectiveCapabilities
in interface Protos.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public 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.LinuxInfoOrBuilder
public final boolean isInitialized()
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException
java.io.IOException
public 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.InvalidProtocolBufferException
public static Protos.LinuxInfo parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static Protos.LinuxInfo parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static Protos.LinuxInfo parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static Protos.LinuxInfo parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static Protos.LinuxInfo parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public static Protos.LinuxInfo parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static Protos.LinuxInfo parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public static Protos.LinuxInfo parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
java.io.IOException
public static Protos.LinuxInfo parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public 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()