Changelog History
Page 5
-
v1.3.0 Changes
๐ This release contains the following new features:
[MESOS-1763] - Support for frameworks to receive resources for multiple roles. This allows "multi-user" frameworks to leverage the role-based resource allocation in mesos. Prior to this support, one had to run multiple instances of a single-user framework to achieve multi-user resource allocation, or implement multi-user resource allocation in the framework.
[MESOS-6365] - Authentication and authorization support for HTTP executors. A new
--authenticate_http_executors
agent flag enables required authentication on the HTTP executor API. A new--executor_secret_key
flag sets a key file to be used when generating and authenticating default tokens that are passed to HTTP executors. Note that enabling these flags after upgrade is disruptive to HTTP executors that were launched before the upgrade; see 'docs/authentication.md' for more information on these flags and the recommended upgrade procedure. Implicit authorization rules have been added which allow an authenticated executor to make executor API calls as that executor and make operator API calls which affect that executor's container. See 'docs/authorization.md' for more information on these implicit authorization rules.[MESOS-6627] - Support for frameworks to modify the role(s) they are subscribed to. This is essential to supporting "multi-user" frameworks (see MESOS-1763) in that roles are expected to come and go over time (e.g. new employees join, new teams are formed, employees leave, teams are disbanded, etc).
NOTE: In Mesos 1.3.0, the master will no longer allow 0.x agents to register. Interoperability between 1.1+ masters and 0.x agents has never ๐ been supported; however, it was not explicitly disallowed, either. ๐ Starting with this release of Mesos, registration attempts by 0.x Mesos agents will be ignored.
๐ Deprecations/Removals:
[MESOS-7259] - Remove deprecated ACLs
SetQuota
andRemoveQuota
. This change is only applicable to the local authorizer since internally these acls were being translated to theUPDATE_QUOTA
action.[MESOS-7320] - Remove deprecated ACL
ShutdownFramework
. This change is only applicable to the local authorizer since internally these acls were being translated to theTEARDOWN_FRAMEWORK
action.
๐ Unresolved Critical Issues:
- [MESOS-1625] - Extra trailing CRLF being sent after the HTTP body in libprocess.
- [MESOS-1718] - Command executor can overcommit the agent.
- [MESOS-2554] - Slave flaps when using --slave_subsystems that are not used for isolation.
- [MESOS-2774] - SIGSEGV received during process::MessageEncoder::encode().
- [MESOS-2842] - Update FrameworkInfo.principal on framework re-registration.
- [MESOS-3533] - Unable to find and run URIs files.
- [MESOS-3747] - HTTP Scheduler API no longer allows FrameworkInfo.user to be empty string.
- [MESOS-3794] - Master should not store arbitrarily sized data in ExecutorInfo.
- [MESOS-4259] - mesos HA can't delete the the redundant container on failure slave node.
- [MESOS-4297] - Executor does not shutdown when framework teardown.
- [MESOS-4642] - Mesos Agent Json API can dump binary data from log files out as invalid JSON.
- [MESOS-4996] - 'containerizer->update' will always fail after killing a docker container.
- [MESOS-5352] - Docker volume isolator cleanup can be blocked by first cleanup failure.
- [MESOS-5396] - After failover, master does not remove agents with same UPID.
- [MESOS-5849] - Agent sandboxes on Windows surpass the 260 character path length limit.
- [MESOS-5859] - Some tasks are always in staged state.
- [MESOS-5989] - Libevent SSL Socket downgrade code accesses uninitialized memory / assumes single peek is sufficient.
- [MESOS-5995] - Protobuf JSON deserialisation does not accept numbers formated as strings.
- [MESOS-6356] - ASF CI has interleaved logging.
- [MESOS-6615] - Running mesos-slave in the docker that leave many zombie process.
- [MESOS-6623] - Re-enable tests impacted by request streaming support.
- [MESOS-6632] - ContainerLogger might leak FD if container launch fails.
- [MESOS-6780] - ContentType/AgentAPIStreamingTest.AttachContainerInput test fails reliably.
- [MESOS-6784] - IOSwitchboardTest.KillSwitchboardContainerDestroyed is flaky.
- [MESOS-6804] - Running 'tty' inside a debug container that has a tty reports "Not a tty".
- [MESOS-6843] - Fetcher should not assume stdout/stderr in the sandbox.
- [MESOS-6913] - AgentAPIStreamingTest.AttachInputToNestedContainerSession fails on Mac OS.
- [MESOS-6974] - DefaultExecutorTest.CommitSuicideOnTaskFailure test is flaky.
- [MESOS-6986] -
abort
inDRFSorter::add
. - [MESOS-7017] - HTTP API responses can crash the master.
- [MESOS-7082] - ROOT_DOCKER_DockerAndMesosContainerizers/DefaultExecutorTest.KillTask/0 is flaky.
- [MESOS-7099] - Quota can be exceeded due to coarse-grained offer technique.
- [MESOS-7215] - Race condition on re-registration of non-partition-aware frameworks.
- [MESOS-7298] - Fetcher caches files with world-readable permissions.
- [MESOS-7362] - GPU support can't work when run spark.
- [MESOS-7374] - Running DOCKER images in Mesos Container Runtime without
linux/filesystem
isolation enabled renders host unusable. - [MESOS-7381] - Flaky tests in NestedMesosContainerizerTest.
- [MESOS-7386] - Executor not cleaning up existing running docker containers if external logrotate/logger processes die/killed.
๐ Feature Graduations:
- [MESOS-2449] - Support group of tasks (Pod) constructs and API in Mesos.
- [MESOS-4641] - Support Container Network Interface (CNI).
- [MESOS-6419] - Teardown unregistered frameworks.
All Experimental Features:
- [MESOS-2533] - Support HTTP checks in Mesos.
- [MESOS-3094] - Mesos on Windows.
- [MESOS-3421] - Support sharing of resources across task instances.
- [MESOS-3567] - Support TCP checks in Mesos.
- [MESOS-4312] - Porting Mesos on Power (ppc64le).
- [MESOS-4355] - Implement isolator for Docker volume.
- [MESOS-4791] - Operator API v1.
- [MESOS-4828] - XFS disk quota isolator.
- [MESOS-5275] - Add capabilities support for mesos containerizer.
- [MESOS-5344] - Partition-aware Mesos frameworks.
- [MESOS-5788] - Added JAVA API adapter for seamless transition to new scheduler API.
- [MESOS-5931] - Support auto backend in Mesos Containerizer.
- [MESOS-6014] - Added port mapping CNI plugin.
- [MESOS-6077] - Added a default (task group) executor.
- [MESOS-6402] - rlimit support for Mesos containerizer.
- [MESOS-6460] - Container Attach/Exec.
- [MESOS-6758] - Support docker registry that requires basic auth.
- [MESOS-6906] - Introduce a general non-interpreting task check.
All Resolved Issues:
** ๐ Bug
- [MESOS-1987] - Add support for SemVer build and prerelease labels to stout.
- [MESOS-4245] - Add
dist
target to CMake solution. - [MESOS-4263] - Report volume usage through ResourceStatistics.
- [MESOS-5028] - Copy provisioner cannot replace directory with symlink.
- [MESOS-5172] - Registry puller cannot fetch blobs correctly from http Redirect 3xx urls.
- [MESOS-5288] - Update leveldb patch file to suport s390x.
- [MESOS-5880] - Semantics of
environment
differ across Windows and POSIX. - [MESOS-6134] - Port CFS quota support to Docker Containerizer using command executor.
- [MESOS-6138] - Add 'syntax=proto2' to all .proto files in Mesos.
- [MESOS-6327] - Large docker images causes container launch failures: Too many levels of symbolic links.
- [MESOS-6560] - The default stout stringify always copies its argument.
- [MESOS-6606] - Reject optimized builds with libcxx before 3.9.
- [MESOS-6720] - Check that
PreferredToolArchitecture
is set tox64
on Windows before building. - [MESOS-6730] - Reserve operation should validate reserved resource role against resource allocationInfo role.
- [MESOS-6731] - Create a test filter for stout tests that use
symlink
on Windows, as they will fail if not run as admin. - [MESOS-6732] - XFS disk isolator should check whether quotas are enabled.
- [MESOS-6742] - Adding support for s390x architecture.
- [MESOS-6815] - Enable glog stack traces when we call things like
ABORT
on Windows. - [MESOS-6858] - network/cni isolator generates incomplete resolv.conf.
- [MESOS-6868] - Transition Windows away from
os::killtree
. - [MESOS-6892] - Reconsider process creation primitives on Windows.
- [MESOS-6907] - FutureTest.After3 is flaky.
- [MESOS-6951] - Docker containerizer: mangled environment when env value contains LF byte.
- [MESOS-6953] - A compromised mesos-master node can execute code as root on agents.
- [MESOS-6976] - Disallow (re-)registration attempts by old agents.
- [MESOS-6982] - PerfTest.Version fails on recent Arch Linux.
- [MESOS-7022] - Update framework authorization to support multiple roles.
- [MESOS-7029] - FaultToleranceTest.FrameworkReregister is flaky.
- [MESOS-7035] - Add test for framework upgrading to MULTI_ROLE with tasks running.
- [MESOS-7049] - CgroupsAnyHierarchyWithPerfEventTest.ROOT_CGROUPS_PERF_PerfTest is broken on Fedora 25.
- [MESOS-7097] - Framework credentials can be used to register as an agent.
- [MESOS-7133] - mesos-fetcher fails with openssl-related output.
- [MESOS-7135] - Outstanding offers to a dropped framework role should be rescinded.
- [MESOS-7146] - OSX broken due to wrong configuration of LevelDB after update.
- [MESOS-7158] - Add
role
to task/executor to indicate allocation role of their resources. - [MESOS-7165] - Agents should be able to upgrade to be MULTI_ROLE capable.
- [MESOS-7172] - CMake does not incrementally recompile.
- [MESOS-7182] - Couple of MULTI_ROLE related tests are flaky.
- [MESOS-7197] - Requesting tiny amount of CPU crashes master.
- [MESOS-7208] - Persistent volume ownership is set to root when task is running with non-root user.
- [MESOS-7210] - HTTP health check doesn't work when mesos runs with --docker_mesos_image.
- [MESOS-7225] - Tasks launched via the default executor cannot access disk resource volumes.
- [MESOS-7236] - Base64 encoding/decoding (via stout) behaves differently on Windows.
- [MESOS-7237] - Enabling cgroups_limit_swap can lead to "invalid argument" error.
- [MESOS-7248] - RemoveNestedContainer returns unsupported.
- [MESOS-7255] - New mesos-style.py linter behavior breaks commiting when virtualenv is not installed.
- [MESOS-7259] - Remove deprecated ACLs
SetQuota
andRemoveQuota
. - [MESOS-7261] - maintenance.html is missing during packaging.
- [MESOS-7263] - User supplied task environment variables cause warnings in sandbox stdout.
- [MESOS-7264] - Possibly duplicate environment variables should not leak values to the sandbox.
- [MESOS-7265] - Containerizer startup may cause sensitive data to leak into sandbox logs.
- [MESOS-7270] - Java V1 Framwork Test failed on macOS.
- [MESOS-7272] - Unified containerizer does not support docker registry version < 2.3.
- [MESOS-7280] - Unified containerizer provisions docker image error with COPY backend.
- [MESOS-7281] - Backwards incompatible UpdateFrameworkMessage handling.
- [MESOS-7287] - Fix post-reviews.py to find
rbt.cmd
on Windows. - [MESOS-7300] - Mesos failed to build on Windows due to error C2440: 'return': cannot convert from 'Error' to 'bool'.
- [MESOS-7311] - CopyFetcherPluginTest.FetchExistingFile.
- [MESOS-7316] - Upgrading Mesos to 1.2.0 results in some information missing from the
/flags
endpoint. - [MESOS-7323] - Framework role tracking in allocator results in framework treated as active incorrectly.
- [MESOS-7340] - Log HTTP accesses to the /files endpoint.
- [MESOS-7346] - Agent crashes if the task name is too long.
- [MESOS-7348] - Network isolator crashes agent on startup when network interface cannot be found.
- [MESOS-7350] - Failed to pull image from Nexus Registry due to signature missing.
- [MESOS-7363] - Improver master robustness against duplicate UPIDs.
- [MESOS-7365] - Compile error with recent glibc.
- [MESOS-7372] - Improve agent re-registration robustness.
- [MESOS-7378] - Build failure with glibc 2.12.
- [MESOS-7389] - Mesos 1.2.0 crashes with pre-1.0 Mesos agents.
- [MESOS-7400] - The mesos master crashes due to an incorrect invariant check in the decoder.
- [MESOS-7427] - Registry puller cannot fetch manifests from Amazon ECR: 405 Unsupported.
- [MESOS-7430] - Per-role Suppress call implementation is broken.
- [MESOS-7431] - Registry puller cannot fetch manifests from Google GCR: 403 Forbidden.
- [MESOS-7453] - glyphicons-halflings-regular.woff2 is missing in WebUI.
- [MESOS-7456] - Compilation error on recent glibc in cgroups device subsystem.
- [MESOS-7464] - Recent Docker versions cannot be parsed by stout.
- [MESOS-7471] - Provisioner recover should not always assume 'rootfses' dir exists.
- [MESOS-7478] - Pre-1.2.x master does not work with 1.2.x agent.
- [MESOS-7484] - VersionTest.ParseInvalid aborts on Windows.
- [MESOS-7521] - Major performance regression in DRF sorter.
- [MESOS-7538] - Don't validate re-registrations that are going to be dropped.
** ๐ Documentation
- [MESOS-7005] - Add executor authentication documentation.
- [MESOS-7324] - Update documentation to reflect the addition of multi-role framework support.
** Epic
- [MESOS-1763] - Add support for frameworks to receive resources for multiple roles.
- [MESOS-6365] - Executor authentication.
- [MESOS-6627] - Allow frameworks to modify the role(s) they are subscribed to.
** ๐ Improvement
- [MESOS-970] - Upgrade bundled leveldb to 1.19.
- [MESOS-5186] - mesos.interface: Allow using protobuf 3.x.
- [MESOS-5992] - Complete the list of API Calls on the Operator HTTP API Doc.
- [MESOS-6280] - Task group executor should support command health checks.
- [MESOS-6304] - Add authentication support to the default executor.
- [MESOS-6523] - Agent cgroup assignment should precede agent initialization.
- [MESOS-6906] - Introduce a general non-interpreting task check.
- [MESOS-7021] - Consistent symlink behavior for os::stat accessors.
- [MESOS-7074] - port_mapping isolator: do not depend on /sys/class/net//speed.
- [MESOS-7101] - ExamplesTest.PersistentVolumeFramework failed on ASF CI.
- [MESOS-7120] - Add an Agent API call to cleanup nested container artifacts.
- [MESOS-7226] - Introduce precompiled headers (on Windows).
- [MESOS-7249] - Default executor does not support general checks.
- [MESOS-7256] - Replace Boost Type Traits leftovers with STL.
- [MESOS-7274] - Health checker does not support pause / resume.
- [MESOS-7275] - General checker does not support TCP checks.
- [MESOS-7276] - General checker does not support pause / resume.
- [MESOS-7277] - General checker does not support command checks via agent.
- [MESOS-7376] - Reduce copying of the Registry to improve Registrar performance.
- [MESOS-7387] - ZK master contender and detector don't respect zk_session_timeout option.
** Task
- [MESOS-3139] - Incorporate CMake into standard documentation.
- [MESOS-5418] - Test case: Escape containerizer command line on Windows.
- [MESOS-6022] - unit-test for port-mapper CNI plugin.
- [MESOS-6032] - Add infrastructure for unit tests in the new python-based CLI.
- [MESOS-6123] - Implement GET_AGENT call in v1 agent API.
- [MESOS-6447] - Display role weight / role quota information in the webui.
- [MESOS-6636] - Validate that tasks / executors / reservations / volumes do not mix Resource.allocation_info.roles.
- [MESOS-6637] - Validate that schedulers cannot perform operations on offers with different allocation roles.
- [MESOS-6657] - Update the webui to reflect that frameworks have multiple roles.
- [MESOS-6691] - Enable SSL in Mesos builds.
- [MESOS-6762] - Update release notes for multi-role changes.
- [MESOS-6791] - Allow to specific the device whitelist entries in cgroup devices subsystem.
- [MESOS-6808] - Refactor Docker::run to only take docker cli parameters.
- [MESOS-6855] - Add
role
section to response of /state endpoint. - [MESOS-6886] - Add authorization tests for debug API handlers.
- [MESOS-6940] - Do not send offers to MULTI_ROLE schedulers if agent does not have MULTI_ROLE capability.
- [MESOS-6967] - Ensure offer operations can be applied for MULTI_ROLE and non-MULTI_ROLE frameworks.
- [MESOS-6992] - Remove validation against "/" characters in roles to support hierarchical roles.
- [MESOS-6995] - Update the webui to reflect hierarchical roles.
- [MESOS-6996] - Add a 'Secret' protobuf message.
- [MESOS-6997] - Add the SecretGenerator module interface.
- [MESOS-6998] - Add authentication support to agent's '/v1/executor' endpoint.
- [MESOS-6999] - Add agent support for generating and passing executor secrets.
- [MESOS-7000] - Implement a JWT SecretGenerator.
- [MESOS-7001] - Implement a JWT authenticator.
- [MESOS-7003] - Introduce a 'Principal' type.
- [MESOS-7004] - Enable multiple HTTP authenticator modules.
- [MESOS-7009] - Add a 'secret' field to the 'Environment' message.
- [MESOS-7011] - Add an '--executor_secret_key' flag to the agent.
- [MESOS-7013] - Update the authorizer interface for executor authentication.
- [MESOS-7014] - Add implicit executor authorization to local authorizer.
- [MESOS-7024] - Update the allocator to handle hierarchical roles.
- [MESOS-7026] - Update authorization / authorization-filtering to handle hierarchical roles.
- [MESOS-7037] - Prevent setting quota on nested roles not contained by parent role quota.
- [MESOS-7038] - Update quota cluster capacity heuristic for hierarchical roles.
- [MESOS-7039] - Prevent quota removal that violates parent role-child role quota containment.
- [MESOS-7047] - Update agent for hierarchical roles.
- [MESOS-7048] - Remove adjustment code within Resources::apply.
- [MESOS-7061] - Re-persist tasks/executors with allocation info during agent recovery.
- [MESOS-7063] - Add a test for a MULTI_ROLE master reregistering an old agent.
- [MESOS-7269] - Migrate setting in config.py to a TOML file.
- [MESOS-7282] - Create a table abstraction for the Mesos CLI.
- [MESOS-7320] - Remove deprecated ACL
ShutdownFramework
. - [MESOS-7336] - Add resource provider API protobuf.
- [MESOS-7339] - Add authorization to agent executor API.
- [MESOS-7377] - Add authentication to the checker and health checker libraries.
- [MESOS-7391] - Add deprecation warning for Visual Studio 14 2015.
- [MESOS-7395] - Benchmark performance of hierarchical roles.
- [MESOS-7439] - Bump the default timeout value for docker volume driver unmount operation.
-
v1.2.3 Changes
- ๐ This is a bug fix release.
All Issues: ** ๐ Bug
- [MESOS-6743] - Docker executor hangs forever if
docker stop
fails. - [MESOS-6950] - Launching two tasks with the same Docker image simultaneously may cause a staging dir never cleaned up.
- [MESOS-7365] - Compile error with recent glibc.
- [MESOS-7378] - Build failure with glibc 2.12.
- [MESOS-7627] - Mesos slave stucks.
- [MESOS-7652] - Docker image with universal containerizer does not work if WORKDIR is missing in the rootfs.
- [MESOS-7744] - Mesos Agent Sends TASK_KILL status update to Master, and still launches task.
- [MESOS-7783] - Framework might not receive status update when a just launched task is killed immediately.
- [MESOS-7858] - Launching a nested container with namespace/pid isolation, with glibc < 2.25, may deadlock the LinuxLauncher and MesosContainerizer.
- [MESOS-7863] - Agent may drop pending kill task status updates.
- [MESOS-7865] - Agent may process a kill task and still launch the task.
- [MESOS-7872] - Scheduler hang when registration fails.
- [MESOS-7909] - Ordering dependency between 'linux/capabilities' and 'docker/runtime' isolator.
- [MESOS-7926] - Abnormal termination of default executor can cause MesosContainerizer::destroy to fail.
- [MESOS-7934] - OOM due to LibeventSSLSocket send incorrectly returning 0 after shutdown.
- [MESOS-7968] - Handle
/proc/self/ns/pid_for_children
when parsing available namespace. - [MESOS-7969] - Handle cgroups v2 hierarchy when parsing /proc/self/cgroups.
- [MESOS-7975] - The command/default/docker executor can incorrectly send a TASK_FINISHED update even when the task is killed.
- [MESOS-7980] - Stout fails to compile with libc >= 2.26.
- [MESOS-8051] - Killing TASK_GROUP fail to kill some tasks.
- [MESOS-8080] - The default executor does not propagate missing task exit status correctly.
- [MESOS-8135] - Masters can lose track of tasks' executor IDs.
-
v1.2.2 Changes
- ๐ This is a bug fix release.
All Issues: ** ๐ Bug
- [MESOS-5187] - The filesystem/linux isolator does not set the permissions of the host_path.
- [MESOS-7252] - Need to fix resource check in long-lived framework.
- [MESOS-7546] - WAIT_NESTED_CONTAINER sometimes returns 404.
- [MESOS-7569] - Allow "old" executors with half-open connections to be preserved during agent upgrade / restart.
- [MESOS-7581] - Fix interference of external Boost installations when using some unbundled dependencies.
- [MESOS-7689] - Libprocess can crash on malformed request paths for libprocess messages.
- [MESOS-7690] - The agent can crash when an unknown executor tries to register.
- [MESOS-7703] - Mesos fails to exec a custom executor when no shell is used.
- [MESOS-7728] - Java HTTP adapter crashes JVM when leading master disconnects.
- [MESOS-7770] - Persistent volume might not be mounted if there is a sandbox volume whose source is the same as the target of the persistent volume.
- [MESOS-7777] - Agent failed to recover due to mount namespace leakage in Docker 1.12/1.13.
- [MESOS-7796] - LIBPROCESS_IP isn't passed on to the fetcher.
- [MESOS-7830] - Sandbox_path volume does not have ownership set correctly.
** ๐ Improvement
- [MESOS-7540] - Add an agent flag for executor re-registration timeout.
-
v1.2.1 Changes
- ๐ This is a bug fix release.
NOTE: In Mesos 1.2.1, the master will no longer allow 0.x agents to register. Interoperability between 1.1+ masters and 0.x agents has never ๐ been supported; however, it was not explicitly disallowed, either. ๐ Starting with this release of Mesos, registration attempts by 0.x Mesos agents will be ignored.
All Issues: ** ๐ Bug
- [MESOS-1987] - Add support for SemVer build and prerelease labels to stout.
- [MESOS-5028] - Copy provisioner cannot replace directory with symlink.
- [MESOS-5172] - Registry puller cannot fetch blobs correctly from http Redirect 3xx urls.
- [MESOS-6327] - Large docker images causes container launch failures: Too many levels of symbolic links.
- [MESOS-6951] - Docker containerizer: mangled environment when env value contains LF byte.
- [MESOS-6976] - Disallow (re-)registration attempts by old agents.
- [MESOS-7133] - mesos-fetcher fails with openssl-related output.
- [MESOS-7197] - Requesting tiny amount of CPU crashes master.
- [MESOS-7208] - Persistent volume ownership is set to root when task is running with non-root user.
- [MESOS-7210] - HTTP health check doesn't work when mesos runs with --docker_mesos_image.
- [MESOS-7232] - Add support to auto-load /dev/nvidia-uvm in the GPU isolator.
- [MESOS-7237] - Enabling cgroups_limit_swap can lead to "invalid argument" error.
- [MESOS-7261] - maintenance.html is missing during packaging.
- [MESOS-7263] - User supplied task environment variables cause warnings in sandbox stdout.
- [MESOS-7264] - Possibly duplicate environment variables should not leak values to the sandbox.
- [MESOS-7265] - Containerizer startup may cause sensitive data to leak into sandbox logs.
- [MESOS-7272] - Unified containerizer does not support docker registry version < 2.3.
- [MESOS-7280] - Unified containerizer provisions docker image error with COPY backend.
- [MESOS-7316] - Upgrading Mesos to 1.2.0 results in some information missing from the
/flags
endpoint. - [MESOS-7346] - Agent crashes if the task name is too long.
- [MESOS-7350] - Failed to pull image from Nexus Registry due to signature missing.
- [MESOS-7366] - Agent sandbox gc could accidentally delete the entire persistent volume content.
- [MESOS-7368] - Documentation of framework role(s) in proto definition is confusing.
- [MESOS-7383] - Docker executor logs possibly sensitive parameters.
- [MESOS-7389] - Mesos 1.2.0 crashes with pre-1.0 Mesos agents.
- [MESOS-7400] - The mesos master crashes due to an incorrect invariant check in the decoder.
- [MESOS-7427] - Registry puller cannot fetch manifests from Amazon ECR: 405 Unsupported.
- [MESOS-7429] - Allow isolators to inject task-specific environment variables.
- [MESOS-7453] - glyphicons-halflings-regular.woff2 is missing in WebUI.
- [MESOS-7464] - Recent Docker versions cannot be parsed by stout.
- [MESOS-7471] - Provisioner recover should not always assume 'rootfses' dir exists.
- [MESOS-7478] - Pre-1.2.x master does not work with 1.2.x agent.
- [MESOS-7484] - VersionTest.ParseInvalid aborts on Windows.
-
v1.2.0 Changes
๐ This release contains the following new features:
[MESOS-5931] - Experimental Support auto backend in Mesos Containerizer, prefering overlayfs then aufs. Please note that the bind backend needs to be specified explicitly through the agent flag '--image_provisioner_backend' since it requires the sandbox already existed.
[MESOS-6402] - Experimental Add rlimit support to Mesos containerizer. The isolator adds support for setting POSIX resource limits (rlimits) for containers launched using the Mesos containerizer. POSIX rlimits can be used to control the resources a process can consume. See
docs/posix_rlimits.md
for details.[MESOS-6419] - Experimental Teardown unregistered frameworks. The master now treats recovered frameworks very similarly to frameworks that are registered but currently disconnected. For example, recovered frameworks will be reported via the normal "frameworks" key when querying HTTP endpoints. This means there is no longer a concept of "orphan tasks": if the master knows about a task, the task will be running under a framework. Similarly, "teardown" operations on recovered frameworks will now work correctly.
[MESOS-6460] - Experimental Container Attach and Exec. This feature adds new Agent APIs for attaching a remote client to the stdin, stdout, and stderr of a running Mesos task, as well as an API for launching new processes inside the same container as a running Mesos task and attaching to its stdin, stdout, and stderr. At a high level, these APIs mimic functionality similar to docker attach and docker exec. The primary motivation for such functionality is to enable users to debug their running Mesos tasks.
[MESOS-6758] - Experimental Support 'Basic' auth docker private registry on Mesos Containerizer. Until now, the mesos containerizer always assumed Bearer auth, but we now also support basic auth for private registries. Please note that the AWS ECS uses Basic authorization but it does not work yet due to the redirect issue MESOS-5172.
๐ Deprecations:
- [MESOS-6650] - Remove slavePreLaunchDockerEnvironmentDecorator and slavePreLaunchDockerHook.
โ Additional API Changes:
[MESOS-3601] - Formalize all headers and metadata for HTTP API Event Stream
[MESOS-6286] - If an agent restarts but fails to complete recovery within
agent_reregister_timeout
, the master will now mark the agent as unreachable. This mainly changes behavior in two situations: (a) the master will now be more robust if agent recovery hangs indefinitely (e.g., due to a container being in a bad state), and (b) if agent recovery takes a very long time (e.g., because the agent's work directory contains a large number of completed tasks), the master might now mark an agent unreachable that would previously have been able to eventually recover successfully.[MESOS-6419] - When a framework reregisters after master failover, it is only allowed to change certain fields in its FrameworkInfo. For example, changing "failover_timeout" is allowed, but changing "role" is not. In previous Mesos releases, the same restrictions on changes to FrameworkInfo were only enforced after framework failover, not master failover.
[MESOS-6670] - Authz for Agent v1 operator API
[MESOS-6675] - Changed the allocator API to support adding inactive frameworks. Custom allocator implementations will need to be updated.
[MESOS-6865] - Remove the constraint of being only able to launch 2-level nested containers on Agent API.
๐ Unresolved Critical Issues:
- [MESOS-1625] - Extra trailing CRLF being sent after the HTTP body in libprocess
- [MESOS-1718] - Command executor can overcommit the agent.
- [MESOS-2554] - Slave flaps when using --slave_subsystems that are not used for isolation.
- [MESOS-2774] - SIGSEGV received during process::MessageEncoder::encode()
- [MESOS-2842] - Update FrameworkInfo.principal on framework re-registration
- [MESOS-3533] - Unable to find and run URIs files
- [MESOS-3747] - HTTP Scheduler API no longer allows FrameworkInfo.user to be empty string
- [MESOS-3794] - Master should not store arbitrarily sized data in ExecutorInfo.
- [MESOS-4259] - mesos HA can't delete the the redundant container on failure slave node.
- [MESOS-4297] - Executor does not shutdown when framework teardown.
- [MESOS-4642] - Mesos Agent Json API can dump binary data from log files out as invalid JSON.
- [MESOS-4996] - 'containerizer->update' will always fail after killing a docker container.
- [MESOS-5352] - Docker volume isolator cleanup can be blocked by first cleanup failure.
- [MESOS-5396] - After failover, master does not remove agents with same UPID.
- [MESOS-5849] - Agent sandboxes on Windows surpass the 260 character path length limit
- [MESOS-5859] - Some tasks are always in staged state.
- [MESOS-5989] - Libevent SSL Socket downgrade code accesses uninitialized memory / assumes single peek is sufficient.
- [MESOS-6327] - Large docker images causes container launch failures: Too many levels of symbolic links.
- [MESOS-6356] - ASF CI has interleaved logging.
- [MESOS-6615] - Running mesos-slave in the docker that leave many zombie process
- [MESOS-6623] - Re-enable tests impacted by request streaming support
- [MESOS-6632] - ContainerLogger might leak FD if container launch fails.
- [MESOS-6780] - ContentType/AgentAPIStreamingTest.AttachContainerInput test fails reliably
- [MESOS-6784] - IOSwitchboardTest.KillSwitchboardContainerDestroyed is flaky
- [MESOS-6804] - Running 'tty' inside a debug container that has a tty reports "Not a tty"
- [MESOS-6815] - Enable glog stack traces when we call things like
ABORT
on Windows - [MESOS-6843] - Fetcher should not assume stdout/stderr in the sandbox.
- [MESOS-6913] - AgentAPIStreamingTest.AttachInputToNestedContainerSession fails on Mac OS.
- [MESOS-6974] - DefaultExecutorTest.CommitSuicideOnTaskFailure test is flaky.
- [MESOS-6986] - abort in DRFSorter::add
- [MESOS-7017] - HTTP API responses can crash the master.
- [MESOS-7050] - IOSwitchboard FDs leaked when containerizer launch fails -- leads to deadlock
- [MESOS-7099] - Quota can be exceeded due to coarse-grained offer technique.
๐ Feature Graduations:
- None
All Experimental Features:
- [MESOS-2449] - Support group of tasks (Pod) constructs and API in Mesos.
- [MESOS-2533] - Support HTTP checks in Mesos.
- [MESOS-3094] - Mesos on Windows.
- [MESOS-3421] - Support sharing of resources across task instances.
- [MESOS-3567] - Support TCP checks in Mesos.
- [MESOS-4312] - Porting Mesos on Power (ppc64le).
- [MESOS-4355] - Implement isolator for Docker volume.
- [MESOS-4641] - Support Container Network Interface (CNI).
- [MESOS-4791] - Operator API v1.
- [MESOS-4828] - XFS disk quota isolator.
- [MESOS-5275] - Add capabilities support for mesos containerizer.
- [MESOS-5344] - Partition-aware Mesos frameworks.
- [MESOS-5788] - Added JAVA API adapter for seamless transition to new scheduler API.
- [MESOS-5931] - NEW Support auto backend in Mesos Containerizer.
- [MESOS-6014] - Added port mapping CNI plugin.
- [MESOS-6077] - Added a default (task group) executor.
- [MESOS-6402] - NEW rlimit support for Mesos containerizer
- [MESOS-6419] - NEW Teardown unregistered frameworks
- [MESOS-6460] - NEW Container Attach/Exec
- [MESOS-6758] - NEW Support docker registry that requires basic auth.
All Issues:
** ๐ Bug * [MESOS-1802] - HealthCheckTest.HealthStatusChange is flaky on jenkins. * [MESOS-2537] - AC_ARG_ENABLED checks are broken * [MESOS-2723] - The mesos-execute tool does not support zk:// master URLs * [MESOS-3335] - FlagsBase copy-ctor leads to dangling pointer. * [MESOS-3932] - Silence Boost compiler warnings with CMake * [MESOS-4601] - Don't dump stack trace on failure to bind() * [MESOS-4695] - SlaveTest.StateEndpoint is flaky * [MESOS-4973] - Duplicates in 'unregistered_frameworks' in /state * [MESOS-4975] - mesos::internal::master::Slave::tasks can grow unboundedly * [MESOS-5218] - Fetcher should not chown the entire sandbox. * [MESOS-5303] - Add capabilities support for mesos execute cli. * [MESOS-5662] - Call parent class
SetUpTestCase
function in our test fixtures. * [MESOS-5821] - Clean up the thousands of compiler warnings on MSVC * [MESOS-5835] - AuditPATCH_CMD
; make sure all patches are being applied on Windows. * [MESOS-5856] - Logrotate ContainerLogger module does not rotate logs when run as root with--switch_user
. * [MESOS-5879] - cgroups/net_cls isolator causing agent recovery issues * [MESOS-5963] - HealthChecker should not decide when to kill tasks and when to stop performing health checks. * [MESOS-6001] - Aufs backend cannot support the image with numerous layers. * [MESOS-6002] - The whiteout file cannot be removed correctly using aufs backend. * [MESOS-6010] - Docker registry puller shows decode error "No response decoded". * [MESOS-6119] - TCP health checks are not portable. * [MESOS-6142] - Frameworks may RESERVE for an arbitrary role. * [MESOS-6206] - Change reconciliation to return results for in-progress removals and reregistrations * [MESOS-6286] - Master does not remove an agent if it is responsive but not registered * [MESOS-6288] - The default executor should maintain launcher_dir. * [MESOS-6293] - HealthCheckTest.HealthyTaskViaHTTPWithoutType fails on some distros. * [MESOS-6316] - CREATE of shared volumes should not be allowed by frameworks not opted in to the capability. * [MESOS-6320] - Implement clang-tidy check to catch incorrect flags hierarchies * [MESOS-6349] - JSON Generation breaks if other locale than C is used. * [MESOS-6360] - The handling of whiteout files in provisioner is not correct. * [MESOS-6380] - mesos-local failed to start without sudo * [MESOS-6388] - Report new PARTITION_AWARE task statuses in HTTP endpoints * [MESOS-6389] - Update webui for PARTITION_AWARE changes * [MESOS-6409] - mesos-ps - Invalid header value * [MESOS-6414] - cgroups isolator cleanup failed when the hierarchy is cleanup by docker daemon * [MESOS-6419] - The 'master/teardown' endpoint should support tearing down 'unregistered_frameworks'. * [MESOS-6420] - Mesos Agent leaking sockets when port mapping network isolator is ON * [MESOS-6432] - Roles with quota assigned can "game" the system to receive excessive resources. * [MESOS-6444] - Ensure single copy of shared count of total resources in role sorter. * [MESOS-6446] - WebUI redirect doesn't work with stats from /metric/snapshot * [MESOS-6448] - Show the leading master hostname in the webUI. * [MESOS-6452] - Compile error in strerror.h on OSX * [MESOS-6455] - DefaultExecutorTests fail when running on hosts without docker. * [MESOS-6459] - PosixRLimitsIsolatorTest.TaskExceedingLimit fails on OS X * [MESOS-6461] - Duplicate framework ids in /master/frameworks endpoint 'unregistered_frameworks'. * [MESOS-6478] - "filesystem/linux" isolator leaks (phantom) mounts inmount
output * [MESOS-6483] - Check failure when a 1.1 master marking a 0.28 agent as unreachable * [MESOS-6484] - Memory leak inFuture<T>::after()
* [MESOS-6501] - Add a test for duplicate framework ids in "unregistered_frameworks" * [MESOS-6504] - Use 'geteuid()' for the root privileges check. * [MESOS-6508] - monitor/statistics error in webui when launch mesos via mesos-local * [MESOS-6516] - Parallel test running does not respect GTEST_FILTER * [MESOS-6519] - MasterTest.OrphanTasksMultipleAgents * [MESOS-6520] - Make errno an explicit argument for ErrnoError. * [MESOS-6526] -mesos-containerizer launch --environment
exposes executor env vars inps
. * [MESOS-6527] - Memory leak in the libprocess request decoder. * [MESOS-6544] - MasterMaintenanceTest.InverseOffersFilters is flaky. * [MESOS-6545] - TestContainerizer is not thread-safe. * [MESOS-6566] - The Docker executor should not leak task env variables in the Docker command cmd line. * [MESOS-6569] - MesosContainerizer/DefaultExecutorTest.KillTask/0 failing on ASF CI * [MESOS-6576] - DefaultExecutorTest.KillTaskGroupOnTaskFailure sometimes fails in CI * [MESOS-6588] - LinuxRootfs misses required files * [MESOS-6597] - Include v1 Operator API protos in generated JAR and python packages. * [MESOS-6598] - Broken Link Framework Development Page * [MESOS-6602] - Shutdown completed frameworks when unreachable agent reregisters * [MESOS-6604] - Uninitialized member ObjectApprover::weight_info. * [MESOS-6606] - Reject optimized builds with libcxx before 3.9 * [MESOS-6618] - Some tests use hardcoded port numbers. * [MESOS-6619] - Improve task management for unreachable tasks * [MESOS-6621] - SSL downgrade path will CHECK-fail when using both temporary and persistent sockets * [MESOS-6624] - Master WebUI does not work on Firefox 45 * [MESOS-6625] - Expose container id in ContainerStatus in DockerContainerizer. * [MESOS-6640] - mesos-local doesn't hande --work_dir correctly. * [MESOS-6646] - StreamingRequestDecoder incompletely initializes its http_parser_settings * [MESOS-6647] - Cyclic header dependency between libprocess' defer.hpp and executor.hpp * [MESOS-6652] - Perf version not correctly parsed on Fedora 24 (and probably others) * [MESOS-6653] - Overlayfs backend may fail to mount the rootfs if both container image and image volume are specified. * [MESOS-6654] - Duplicate image layer ids may make the backend failed to mount rootfs. * [MESOS-6658] - Mesos tests generated with cmake build fail to unload libraries properly * [MESOS-6665] - io::redirect might cause stack overflow. * [MESOS-6666] - HttpServeTest.Discard failed on OSX sierra * [MESOS-6672] - Class DynamicLibrary's default copy constructor can lead to inconsistent state * [MESOS-6676] - Always re-link with scheduler during re-registration. * [MESOS-6677] - Error in Windows agent's Flags::runtime_dir CLI * [MESOS-6684] - Update addFramework/removeFramework to handle multi-role frameworks * [MESOS-6685] - Update Role::Resources to correctly account for multi-role frameworks * [MESOS-6688] - IOSwitchboard should recover spawned server pid on agent restarts * [MESOS-6689] - Remove of unix domain socket path in IOSwitchboard::cleanup * [MESOS-6700] - Porthttp_tests.cpp
* [MESOS-6701] - Portrecordio_tests.cpp
* [MESOS-6704] - Portexecutor_http_api_tests.cpp
* [MESOS-6707] - Portgc_tests.cpp
* [MESOS-6710] - Porthttp_authentication_tests.cpp
* [MESOS-6711] - Portvalues_tests.cpp
* [MESOS-6716] - Porturi_tests.cpp
* [MESOS-6717] - Add Windows support to agent test harness * [MESOS-6718] - Should destroy DEBUG containers on agent recovery. * [MESOS-6722] - Agent tries to use POSIX paths for the variable data runtime directory. * [MESOS-6725] - The style of.navbar-text
is inconsistent with the style of texts on the left side * [MESOS-6726] - IOSwitchboardServerFlags adds flags for non-optional fields w/o providing a default value * [MESOS-6736] - CMake'sCURRENT_CMAKE_BUILD_DIR
does not escape '\' * [MESOS-6737] - The agent should synchronize with the IOSwitchboard to determine when it is ready to accept incoming connections. * [MESOS-6739] - Authorize v1 GET_CONTAINERS call * [MESOS-6740] - Authorize v1 GET_FLAGS call * [MESOS-6741] - Authorize v1 SET_LOGGING_LEVEL call * [MESOS-6744] - DefaultExecutorTest.KillTaskGroupOnTaskFailure is flaky * [MESOS-6745] - MesosContainerizer/DefaultExecutorTest.KillTask/0 is flaky * [MESOS-6746] - IOSwitchboard doesn't properly flush data on ATTACH_CONTAINER_OUTPUT * [MESOS-6747] - ContainerLogger runnable must not inherit the slave environment. * [MESOS-6748] - I/O switchboard should inherit agent environment variables. * [MESOS-6750] - Metrics on the Agent view of the Mesos web UI flickers between empty and non-empty states * [MESOS-6756] - I/O switchboard should deal with the case when reaping of the server failed. * [MESOS-6757] - Consider using CMake to configure test scripts in thebin/
diretory * [MESOS-6761] - Implementos::user
on Windows * [MESOS-6767] - Reached unreachable statement at /mesos/src/slave/containerizer/mesos/launch.cpp:766 * [MESOS-6772] - Stop buildingmesos-agent
twice. * [MESOS-6775] - The 'http::connect(address)' always uses the DEFAULT_KIND() of socket even if SSL is undesired. * [MESOS-6781] - Mesos containerizer overrides environment variables passed to the executor incorrectly. * [MESOS-6788] - Avoid stack overflow when handling streaming responses in API handlers * [MESOS-6789] - SSL socket's 'shutdown()' method is broken * [MESOS-6793] - CniIsolatorTest.ROOT_EnvironmentLibprocessIP fails on systems using dash as sh * [MESOS-6795] - Listening socket might get closed while the accept is still in flight. * [MESOS-6802] - SSL socket can lose bytes in the case of EOF * [MESOS-6803] - Agent authentication does not have an initialdelay
* [MESOS-6805] - Check unreachable task cache for task ID collisions on launch * [MESOS-6811] - IOSwitchboardServerTest.SendHeartbeat and IOSwitchboardServerTest.ReceiveHeartbeat broken on OS X * [MESOS-6813] - IOSwitchboardServerTest.AttachOutput has stack overflow issue. * [MESOS-6820] - FaultToleranceTest.FrameworkReregister is flaky. * [MESOS-6824] - mesos-this-capture clang-tidy check has false positives * [MESOS-6826] - OsTest.User fails on recent Arch Linux. * [MESOS-6829] - Mesos fails to compile when using FORTIFY_SOURCE without optimizations * [MESOS-6830] - Mesos fails to link with gold when providing -pie without -fPIC * [MESOS-6837] - FaultToleranceTest.FrameworkReregister is flaky * [MESOS-6839] - It is currently impossible to kill a task in the Windows executor * [MESOS-6848] - The default executor does not exit if a single task pod fails. * [MESOS-6852] - Nested container's launch command is not set correctly in docker/runtime isolator. * [MESOS-6860] - Some tests use CHECK instead of ASSERT * [MESOS-6862] - Replace os::system usages to reduce the risk of command injection. * [MESOS-6864] - Container Exec should be possible with tasks belonging to a task group * [MESOS-6866] - Mesos agent not checking IDs before using them as part of the paths * [MESOS-6870] - Portdefault_executor_tests.cpp
* [MESOS-6871] - Scheme parsing is incorrect in libprocess URL::parse(). * [MESOS-6895] - Loop uses dependent nested names for friend declaration which isn't supported by recent clang * [MESOS-6900] - Add test for framework upgrading to multi-role capability. * [MESOS-6904] - Perform batching of allocations to reduce allocator queue backlogging. * [MESOS-6908] - Zero health check timeout is interpreted literally. * [MESOS-6911] - SlaveRecoveryTest/0.RegisterDisconnectedSlave test is flaky * [MESOS-6912] - IOSwitchboardServerTest.AttachInput fails consistently on Mac OS. * [MESOS-6917] - Segfault when the executor sets an invalid UUID when sending a status update. * [MESOS-6920] - Validate the UUID in Master::statusUpdate. * [MESOS-6922] - SlaveRecoveryTest/0.RecoverTerminatedExecutor is flaky * [MESOS-6937] - ContentType/MasterAPITest.ReserveResources/1 fails during Writer close * [MESOS-6946] - Make wait status checks consistent. * [MESOS-6948] - AgentAPITest.LaunchNestedContainerSession is flaky * [MESOS-6954] - Running LAUNCH_NESTED_CONTAINER with a docker container id as parent crashes the agent * [MESOS-6962] - Navbar overlays breadcrumbs in WebUI on narrow screens * [MESOS-6963] - The logo doesn't fit in mobile WebUI * [MESOS-6966] - master/tasks_unreachable metric never decremented * [MESOS-6969] - Use clipboard.js for copy/paste webui functionality * [MESOS-6983] - TaskValidationTest.TaskReusesUnreachableTaskID is flaky * [MESOS-6989] - Docker executor segfaults in ~MesosExecutorDriver() * [MESOS-6991] - ChangeEnvironment.Variable.Value
from required to optional * [MESOS-7008] - Quota not recovered from registry in empty cluster. * [MESOS-7020] - cgroups::internal::write can incorrectly report success * [MESOS-7027] - CommandExecutor ENV overwritten by Docker Image ENV in Unified Containerizer * [MESOS-7036] - Rate limiter deadlocks during IO Switchboard-related tests * [MESOS-7057] - Consider using the relink functionality of libprocess in the executor driver. * [MESOS-7059] - Unnecessary mkdirs in ProvisionerDockerLocalStoreTest.* * [MESOS-7060] - Tests depends on DockerArchive and LinuxRootfs failed. * [MESOS-7075] - mesos-execute rejects all offers * [MESOS-7077] - Check failed: resource.has_allocation_info(). * [MESOS-7102] - Crash when sending a SIGUSR1 signal to the agent. * [MESOS-7119] - Mesos master crash while accepting inverse offer. * [MESOS-7129] - Default executor exits with a stack trace in a few scenarios. * [MESOS-7133] - mesos-fetcher fails with openssl-related output. * [MESOS-7137] - Custom executors cannot use any reserved resources. * [MESOS-7144] - Wrap IOSwitchboard.connect() in a dispatch * [MESOS-7152] - The agent may be flapping after the machine reboots due to provisioner recover. * [MESOS-7153] - The new http::Headers abstraction may break some modules.** ๐ Documentation * [MESOS-5597] - Document Mesos "health check" feature. * [MESOS-6335] - Add user doc for task group tasks * [MESOS-6411] - Add documentation for CNI port-mapper plugin. * [MESOS-6806] - Update the addition, deletion and modification logic of CNI configuration files. * [MESOS-7154] - Document provisioner auto backend support.
** Epic * [MESOS-3820] - Test-only libprocess reinitialization * [MESOS-4641] - Support Container Network Interface (CNI). * [MESOS-4766] - Improve allocator performance. * [MESOS-6402] - Add rlimit support to Mesos containerizer * [MESOS-6460] - Mesos Support for Container Attach and Container Exec * [MESOS-6670] - Authz for Agent v1 operator API
** ๐ Improvement * [MESOS-3601] - Formalize all headers and metadata for HTTP API Event Stream * [MESOS-5792] - Add mesos tests to CMake (make check) * [MESOS-5900] - Support Unix domain socket connections in libprocess * [MESOS-5931] - Support auto backend in Unified Containerizer. * [MESOS-5992] - Complete the list of API Calls on the Operator HTTP API Doc * [MESOS-6177] - Return unregistered agents recovered from registrar in
GetAgents
and/or/state.json
* [MESOS-6229] - Default to using hardened compilation flags * [MESOS-6296] - Default executor should be able to launch multiple task groups * [MESOS-6305] - Add authorization support for nested container calls * [MESOS-6309] - Mesos-specific targets appear in libprocess' cmake config. * [MESOS-6329] - Send TASK_DROPPED for task launch errors * [MESOS-6330] - Send TASK_UNKNOWN during explicit reconciliation * [MESOS-6331] - Don't send TASK_LOST when accepting offers in a disconnected scheduler * [MESOS-6332] - Don't send TASK_LOST in the agent * [MESOS-6339] - Support docker registry that requires basic auth. * [MESOS-6361] - Enable partition-awareness in mesos-execute * [MESOS-6369] - Add a column for FrameworkID when displaying tasks in the WebUI * [MESOS-6395] - HealthChecker sends updates to executor via libprocess messaging. * [MESOS-6396] - Hooks should allow sandbox dependent environment variables. * [MESOS-6397] - Simplify the comparison logic forExecutorInfo
. * [MESOS-6399] - Allowed to pass extra envs when launch development scripts. * [MESOS-6401] - Authorizer interface should behave more uniform * [MESOS-6407] - Move DEFAULT_v1_xxx macros to the v1 namespace. * [MESOS-6426] - Add rlimit support to Mesos containerizer * [MESOS-6427] - Add documentation for rlimit support of Mesos containerizer * [MESOS-6443] - Display maintenance information in the webui. * [MESOS-6530] - Add support for incremental gzip decompression. * [MESOS-6556] - Hostname support for the network/cni isolator. * [MESOS-6557] - IPC namespace isolator * [MESOS-6562] - Use JSON content type in mesos-execute. * [MESOS-6567] - Actively Scan for CNI Configurations * [MESOS-6571] - Add "--task" flag to mesos-execute * [MESOS-6626] - Supportforeachpair
for LinkedHashMap * [MESOS-6639] - Update 'io::redirect()' to take an optional vector of callback hooks. * [MESOS-6648] - MesosContainerizer launch helper should take ContainerLaunchInfo. * [MESOS-6650] - Remove slavePreLaunchDockerEnvironmentDecorator and slavePreLaunchDockerHook. * [MESOS-6675] - Change allocator API to support adding inactive frameworks * [MESOS-6719] - Unify "active" and "state"/"connected" fields in Master::Framework * [MESOS-6758] - Support 'Basic' auth docker private registry on Unified Containerizer. * [MESOS-6763] - Add heartbeats to both input/output connections in IOSwitchboard * [MESOS-6821] - Override of automatic resources should be by exact match not substring * [MESOS-6865] - Remove the constraint of being only able to launch 2 level nested containers on Agent API * [MESOS-6936] - Add support for media types needed for streaming request/responses. * [MESOS-6947] - Fix pailer XSS vulnerability * [MESOS-7045] - Skip already stored layers in local Docker puller * [MESOS-7051] - Introduce a new http::Headers abstraction. * [MESOS-7071] - Agent State Lacks Framework Principal** Story * [MESOS-3505] - Support specifying Docker image by Image ID. * [MESOS-3753] - Test the HTTP Scheduler library with SSL enabled
** Task * [MESOS-3398] - Revisit MAXHOSTNAMELEN implementation in Windows * [MESOS-3697] - Add
make tests
target to CMake build system. * [MESOS-3843] - Auditsrc/CMakelists.txt
to make sure we're compiling everything we need to build the agent binary. * [MESOS-3910] - Libprocess: Implement cleanup of the SocketManager in process::finalize * [MESOS-3934] - Libprocess: Unify the initialization of the MetricsProcess and ReaperProcess * [MESOS-4119] - Add support for enabling --3way to apply-reviews.py. * [MESOS-5826] - Streamline building of example frameworks * [MESOS-5966] - Add libprocess HTTP tests with SSL support * [MESOS-6040] - Add a CMake build formesos-port-mapper
* [MESOS-6185] - Improve test coverage for shared persistent volumes. * [MESOS-6214] - Containerizers assume caller will call 'destroy' if 'launch' fails. * [MESOS-6278] - Add test cases for the HTTP health checks. * [MESOS-6279] - Add test cases for the TCP health check. * [MESOS-6366] - Design doc for executor authentication * [MESOS-6376] - Add documentation for capabilities support of the mesos containerizer * [MESOS-6403] - Draft design doc for rlimit support for Mesos containerizer * [MESOS-6431] - Add support for port-mapping inmesos-execute
* [MESOS-6462] - Design Doc: Mesos Support for Container Attach and Container Exec * [MESOS-6463] - Build a prototype for remote pty support * [MESOS-6464] - Add fine grained control of which namespaces a nested container should inherit (or not). * [MESOS-6465] - Add a task_id -> container_id mapping in state.json * [MESOS-6466] - Add support for streaming HTTP requests in Mesos * [MESOS-6467] - Build a Container I/O Switchboard * [MESOS-6470] - Support TTY in IOSwitchboard. * [MESOS-6471] - Build support for LAUNCH_NESTED_CONTAINER_SESSION call into the Agent API in Mesos * [MESOS-6472] - Build support for ATTACH_CONTAINER_INPUT into the Agent API in Mesos * [MESOS-6473] - Build support for ATTACH_CONTAINER_OUTPUT into the Agent API in Mesos * [MESOS-6474] - Add fine-grained ACLs for authorization with the new debugging APIs * [MESOS-6475] - Mesos Container Attach/Exec Unit Tests * [MESOS-6476] - Build a Mock HTTP Server that implements the new Debugging API calls * [MESOS-6477] - Build a standalone python client for connecting to our Mock HTTP Server that implements the new Debug APIs * [MESOS-6493] - Add test cases for the HTTPS health checks. * [MESOS-6525] - Add API protos for managing debug containers * [MESOS-6528] - Container status of a task in a pod is not correct. * [MESOS-6543] - Add special case for entering the "mount" namespace of a parent container * [MESOS-6546] - Update the Containerizer to handle attachInput and attachOutput calls. * [MESOS-6547] - Update the mesos containerizer to launch per-container I/O switchboards * [MESOS-6553] - UpdateMesosContainerizerProcess::_launch()
to passContainerLaunchInfo
to launcher->fork()* [MESOS-6594] - Add
Containerizer::attach()` API call * [MESOS-6628] - Add a FrameworkInfo.roles field along with a MULTI_ROLE capability. * [MESOS-6629] - Add master validation of FrameworkInfo.roles. * [MESOS-6631] - Disallow frameworks from modifying FrameworkInfo.roles. * [MESOS-6633] - Introduce Resource.AllocationInfo. * [MESOS-6634] - Add Resource.AllocationInfo in Offer to indicate a single role per offer. * [MESOS-6638] - Update Suppress and Revive to be per-role. * [MESOS-6651] - Make IOSwitchboard an isolator. * [MESOS-6663] - Container should be destroyed if IOSwitchboard server terminates unexpectedly. * [MESOS-6664] - Force cleanup of IOSwitchboard server if it does not terminate after the container terminates. * [MESOS-6749] - Update master and agent endpoints to expose FrameworkInfo.roles. * [MESOS-6764] - Add a grace period for terminating the I/O switchboard server. * [MESOS-6958] - Support linux filesystem type detection. * [MESOS-6970] - Display allocation info when printing Resources. * [MESOS-7062] - Add a test for a MULTI_ROLE framework receiving offers for each of its roles. -
v1.1.3 Changes
- ๐ This is a bug fix release.
All Issues: ** ๐ Bug
- [MESOS-5187] - The filesystem/linux isolator does not set the permissions of the host_path.
- [MESOS-6743] - Docker executor hangs forever if
docker stop
fails. - [MESOS-6950] - Launching two tasks with the same Docker image simultaneously may cause a staging dir never cleaned up.
- [MESOS-7540] - Add an agent flag for executor re-registration timeout.
- [MESOS-7569] - Allow "old" executors with half-open connections to be preserved during agent upgrade / restart.
- [MESOS-7689] - Libprocess can crash on malformed request paths for libprocess messages.
- [MESOS-7690] - The agent can crash when an unknown executor tries to register.
- [MESOS-7581] - Fix interference of external Boost installations when using some unbundled dependencies.
- [MESOS-7703] - Mesos fails to exec a custom executor when no shell is used.
- [MESOS-7728] - Java HTTP adapter crashes JVM when leading master disconnects.
- [MESOS-7770] - Persistent volume might not be mounted if there is a sandbox volume whose source is the same as the target of the persistent volume.
- [MESOS-7777] - Agent failed to recover due to mount namespace leakage in Docker 1.12/1.13.
- [MESOS-7796] - LIBPROCESS_IP isn't passed on to the fetcher.
- [MESOS-7830] - Sandbox_path volume does not have ownership set correctly.
- [MESOS-7863] - Agent may drop pending kill task status updates.
- [MESOS-7865] - Agent may process a kill task and still launch the task.
-
v1.1.2 Changes
- ๐ This is a bug fix release.
All Issues: ** ๐ Bug
- [MESOS-2537] - AC_ARG_ENABLED checks are broken.
- [MESOS-5028] - Copy provisioner cannot replace directory with symlink.
- [MESOS-5172] - Registry puller cannot fetch blobs correctly from http Redirect 3xx urls.
- [MESOS-6327] - Large docker images causes container launch failures: Too many levels of symbolic links.
- [MESOS-7057] - Consider using the relink functionality of libprocess in the executor driver.
- [MESOS-7119] - Mesos master crash while accepting inverse offer.
- [MESOS-7152] - The agent may be flapping after the machine reboots due to provisioner recover.
- [MESOS-7197] - Requesting tiny amount of CPU crashes master.
- [MESOS-7210] - HTTP health check doesn't work when mesos runs with --docker_mesos_image.
- [MESOS-7237] - Enabling cgroups_limit_swap can lead to "invalid argument" error.
- [MESOS-7265] - Containerizer startup may cause sensitive data to leak into sandbox logs.
- [MESOS-7350] - Failed to pull image from Nexus Registry due to signature missing.
- [MESOS-7366] - Agent sandbox gc could accidentally delete the entire persistent volume content.
- [MESOS-7383] - Docker executor logs possibly sensitive parameters.
- [MESOS-7422] - Docker containerizer should not leak possibly sensitive data to agent log.
- [MESOS-7471] - Provisioner recover should not always assume 'rootfses' dir exists.
- [MESOS-7482] - #elif does not match #ifdef when checking the platform.
-
v1.1.1 Changes
- ๐ This is a bug fix release.
All Issues: ** ๐ Bug
- [MESOS-6002] - The whiteout file cannot be removed correctly using aufs backend.
- [MESOS-6010] - Docker registry puller shows decode error "No response decoded".
- [MESOS-6142] - Frameworks may RESERVE for an arbitrary role.
- [MESOS-6360] - The handling of whiteout files in provisioner is not correct.
- [MESOS-6411] - Add documentation for CNI port-mapper plugin.
- [MESOS-6526] -
mesos-containerizer launch --environment
exposes executor env vars inps
. - [MESOS-6571] - Add "--task" flag to mesos-execute.
- [MESOS-6597] - Include v1 Operator API protos in generated JAR and python packages.
- [MESOS-6606] - Reject optimized builds with libcxx before 3.9.
- [MESOS-6621] - SSL downgrade path will CHECK-fail when using both temporary and persistent sockets.
- [MESOS-6624] - Master WebUI does not work on Firefox 45.
- [MESOS-6676] - Always re-link with scheduler during re-registration.
- [MESOS-6848] - The default executor does not exit if a single task pod fails.
- [MESOS-6852] - Nested container's launch command is not set correctly in docker/runtime isolator.
- [MESOS-6917] - Segfault when the executor sets an invalid UUID when sending a status update.
- [MESOS-7008] - Quota not recovered from registry in empty cluster.
- [MESOS-7133] - mesos-fetcher fails with openssl-related output.
-
v1.1.0 Changes
๐ This release contains the following new features:
[MESOS-2449] - Experimental support for launching a group of tasks via a new
LAUNCH_GROUP
Offer operation. Mesos will guarantee that either all tasks or none of the tasks in the group are delivered to the executor. Executors receive the task group via a newLAUNCH_GROUP
event.[MESOS-2533] - Experimental support for HTTP and HTTPS health checks. Executors may now use the updated
HealthCheck
protobuf to implement HTTP(S) health checks. Both default executors (command and docker) leveragecurl
binary for sending HTTP(S) requests and connect to127.0.0.1
, hence a task must listen on all interfaces. On Linux, for BRIDGE and USER modes, docker executor enters the task's network namespace.[MESOS-3421] - Experimental Support sharing of resources across containers. Currently persistent volumes are the only resources allowed to be shared.
[MESOS-3567] - Experimental support for TCP health checks. Executors may now use the updated
HealthCheck
protobuf to implement TCP health checks. Both default executors (command and docker) connect to127.0.0.1
, hence a task must listen on all interfaces. On Linux, for BRIDGE and USER modes, docker executor enters the task's network namespace.[MESOS-4324] - Allow tasks to access persistent volumes in either a read-only or read-write manner. Using a volume in read-only mode can simplify sharing that volume between multiple tasks on the same agent.
[MESOS-5275] - Experimental support for linux capabilities. Frameworks or operators now have fine-grained control over the capabilities that a container may have. This allows a container to run as root, but not have all the privileges associated with the root user (e.g., CAP_SYS_ADMIN).
[MESOS-5344] - Experimental support for partition-aware Mesos frameworks. In previous Mesos releases, when an agent is partitioned from the master and then reregisters with the cluster, all tasks running on the agent are terminated and the agent is shutdown. In Mesos 1.1, partitioned agents will no longer be shutdown when they reregister with the master. By default, tasks running on such agents will still be killed (for backward compatibility); however, frameworks can opt-in to the new PARTITION_AWARE capability. If they do this, their tasks will not be killed when a partition is healed. This allows frameworks to define their own policies for how to handle partitioned tasks. Enabling the PARTITION_AWARE capability also introduces a new set of task states: TASK_UNREACHABLE, TASK_DROPPED, TASK_GONE, TASK_GONE_BY_OPERATOR, and TASK_UNKNOWN. These new states are intended to eventually replace the TASK_LOST state.
[MESOS-5788] - Experimental support for Java scheduler adapter. This adapter allows framework developers to toggle between the old/new API (driver/scheduler library) implementations, thereby allowing them to easily transition their frameworks to the new v1 Scheduler API.
[MESOS-6014] - Experimental A new port-mapper CNI plugin, the
mesos-cni-port-mapper
has been introduced. For Mesos containers, with the CNI port-mapper plugin, users can now expose container ports through host ports using DNAT. This is especially useful when Mesos containers are attached to isolated CNI networks such as private bridge networks, and the services running in the container needs to be exposed outside these isolated networks.[MESOS-6077] - Experimental A new default executor is introduced which frameworks can use to launch task groups as nested containers. All the nested containers share resources likes cpu, memory, network and volumes.
๐ Deprecations:
The following metrics are deprecated and will be removed in Mesos 1.4: master/slave_shutdowns_scheduled, master/slave_shutdowns_canceled, slave_shutdowns_completed. As of Mesos 1.1.0, these metrics will always be zero. The following new metrics have been introduced as replacements: master/slave_unreachable_scheduled, master/slave_unreachable_canceled, master/slave_unreachable_completed.
[MESOS-5955] - Health check binary "mesos-health-check" is removed.
[MESOS-6371] - Remove the 'recover()' interface in 'ContainerLogger'.
โ Additional API Changes:
[MESOS-6204] - A new agent flag called
--runtime_dir
. Unlike--work_dir
which persists data across reboots,--runtime_dir
is designed to checkpoint state that should persist across agent restarts, but not across reboots. By default this flag is set to/var/run/mesos
when run as root andos::temp/mesos/runtime/
when run as non-root.[MESOS-6220] - HTTP handler failures should result in 500 rather than 503 responses. This means that when using the master or agent endpoints, failures will now result in a
500 Internal Server Error
rather than a503 Service Unavailable
.[MESOS-6241] - New API calls (LAUNCH_NESTED_CONTAINER, KILL_NESTED_CONTAINER and WAIT_NESTED_CONTAINER) have been added to the v1 Agent API to manage nested containers within an executor container.
๐ Unresolved Critical Issues:
- [MESOS-3794] - Master should not store arbitrarily sized data in ExecutorInfo.
- [MESOS-4642] - Mesos Agent Json API can dump binary data from log files out as invalid JSON.
- [MESOS-5396] - After failover, master does not remove agents with same UPID.
- [MESOS-5856] - Logrotate ContainerLogger module does not rotate logs when run as root with
--switch_user
. - [MESOS-6142] - Frameworks may RESERVE for an arbitrary role.
- [MESOS-6327] - Large docker images causes container launch failures: Too many levels of symbolic links.
- [MESOS-6360] - The handling of whiteout files in provisioner is not correct.
- [MESOS-6419] - The 'master/teardown' endpoint should support tearing down 'unregistered_frameworks'.
- [MESOS-6432] - Roles with quota assigned can "game" the system to receive excessive resources.
All Experimental Features:
- [MESOS-2449] - Support group of tasks (Pod) constructs and API in Mesos.
- [MESOS-2533] - Support HTTP checks in Mesos.
- [MESOS-3094] - Mesos on Windows.
- [MESOS-3421] - Support sharing of resources across task instances.
- [MESOS-3567] - Support TCP checks in Mesos.
- [MESOS-4312] - Porting Mesos on Power (ppc64le).
- [MESOS-4355] - Implement isolator for Docker volume.
- [MESOS-4641] - Support Container Network Interface (CNI).
- [MESOS-4791] - Operator API v1.
- [MESOS-4828] - XFS disk quota isolator.
- [MESOS-5275] - Add capabilities support for unified containerizer.
- [MESOS-5344] - Partition-aware Mesos frameworks.
- [MESOS-5788] - Added JAVA API adapter for seamless transition to new scheduler API.
- [MESOS-6014] - Added port mapping CNI plugin.
- [MESOS-6077] - Added a default (task group) executor.
All Issues:
** ๐ Bug
- [MESOS-1653] - HealthCheckTest.GracePeriod is flaky.
- [MESOS-2346] - Docker tasks exiting normally, but returning TASK_FAILED.
- [MESOS-3471] - Disable perf test when perf version is not support.
- [MESOS-3760] - Remove fragile sleep() from ProcessManager::settle().
- [MESOS-3959] - Executor page of mesos ui does not show slave hostname.
- [MESOS-4070] - numify() handles negative numbers inconsistently.
- [MESOS-4638] - versioning preprocessor macros.
- [MESOS-4668] - Agent's /state endpoint does not include full reservation information.
- [MESOS-4948] - Move maintenance tests to use the new scheduler library interface.
- [MESOS-4973] - Duplicates in 'unregistered_frameworks' in /state
- [MESOS-4975] - mesos::internal::master::Slave::tasks can grow unboundedly.
- [MESOS-5276] - HTTPCommandExecutor should terminate after it receives an ACK from the agent.
- [MESOS-5290] - WebUI shows the active task is launched 46 years ago.
- [MESOS-5320] - SSL related error messages can be misguiding or incomplete.
- [MESOS-5448] - Persistent volume deletion on the agent should survive slave restart.
- [MESOS-5481] - PerfFilter disable Registrar_BENCHMARK test cases incorrectly.
- [MESOS-5613] - mesos-local fails to start if MESOS_WORK_DIR isn't set.
- [MESOS-5701] - Add benchmark for sorter performance.
- [MESOS-5752] - ROOT_GarbageCollectorUndeletableFilesTest.BusyMountPoint is flaky.
- [MESOS-5759] - ProcessRemoteLinkTest.RemoteUseStaleLink and RemoteStaleLinkRelink are flaky.
- [MESOS-5812] - MasterAPITest.Subscribe is flaky.
- [MESOS-5846] - AgentAPITest.GetState is flaky.
- [MESOS-5852] - CMake build needs to generate protobufs before building libmesos.
- [MESOS-5860] - MasterAPITest.GetTasks is flaky.
- [MESOS-5864] - Document MESOS_SANDBOX executor env variable.
- [MESOS-5867] - Operator ReadFile API read file bugs.
- [MESOS-5869] - Disable resources validation for
+=
and-=
. - [MESOS-5875] - Scalar resource output operator doesn't print full significant digits.
- [MESOS-5878] - Strict/RegistrarTest.UpdateQuota/0 is flaky.
- [MESOS-5888] - SlaveAuthorizerTest/ViewFlags is flaky.
- [MESOS-5891] - /help endpoint does not set Content-Type to HTML.
- [MESOS-5907] - ExamplesTest.DiskFullFramework fails on Arch.
- [MESOS-5909] - Stout "OsTest.User" test can fail on some systems.
- [MESOS-5917] - All actors should have a distinguishable ID.
- [MESOS-5919] - Improve performance for
Resources.contains
andResources.filter
. - [MESOS-5921] -
validate
is a bit heavy to check negative scalar resource. - [MESOS-5922] - mesos-agent --help exit status is 1.
- [MESOS-5928] - Agent's '--version' flag doesn't work.
- [MESOS-5930] - Orphan tasks can show up as running after they have finished.
- [MESOS-5942] - Windows implementation of
os::rmdir
is not compliant with POSIX version. - [MESOS-5958] - Reviewbot failing due to python files not being cleaned up after distclean.
- [MESOS-5972] - SharedResourcesTest failing.
- [MESOS-5979] - elfio-3.1.patch is actually not applied.
- [MESOS-5981] - task failed in windows Server 2012 client, test-framwork example.
- [MESOS-5985] - Fix broken link in
networking.md
. - [MESOS-5996] - Windows mesos-containerizer crashes.
- [MESOS-6000] - Overlayfs backend cannot support the image with numerous layers.
- [MESOS-6005] - Support docker registry running non-https on localhost:.
- [MESOS-6013] - Use readdir instead of readdir_r.
- [MESOS-6026] - Tasks mistakenly marked as FAILED due to race b/w sendExecutorTerminatedStatusUpdate() and _statusUpdate().
- [MESOS-6031] - Collect throttle related metrics for DockerContainerizer.
- [MESOS-6041] - Stream ID mismatch should print out expected and received stream ID.
- [MESOS-6049] - XFS disk isolator doesn't handle old containers correctly.
- [MESOS-6052] - Unable to launch containers on CNI networks on CoreOS.
- [MESOS-6057] - docker isolator does not overwrite Dockerfile ENV.
- [MESOS-6059] - Allow clean up unknown container during the clean up phase of the container.
- [MESOS-6069] - Misspelled TASK_KILLED in mesos slave.
- [MESOS-6074] - Master check failure if the metrics endpoint is polled soon after it starts.
- [MESOS-6085] - Agent's /state endpoint does not include total resources.
- [MESOS-6087] - Add master tests for TaskGroup.
- [MESOS-6100] - Make fails compiling 1.0.1.
- [MESOS-6104] - Potential FD double close in libevent's implementation of
sendfile
. - [MESOS-6110] - Deprecate using health checks without setting the type.
- [MESOS-6118] - Agent would crash with docker container tasks due to host mount table read.
- [MESOS-6122] - Mesos slave throws systemd errors even when passed a flag to disable systemd.
- [MESOS-6131] - Improved performance for resource flatten.
- [MESOS-6141] - Some tests do not properly set 'flags.launcher' with the correct value.
- [MESOS-6144] - Validate that TaskGroup executor and tasks do not use DOCKER ContainerInfo.
- [MESOS-6145] - Isolator namespaces/pid is leaking mounts.
- [MESOS-6152] - Resource leak in libevent_ssl_socket.cpp.
- [MESOS-6153] - Resource leak in slave.cpp.
- [MESOS-6154] - Clean up queued tasks if a task group is killed before launch.
- [MESOS-6157] - ContainerInfo is not validated.
- [MESOS-6159] - Remove stout's Set type.
- [MESOS-6167] - CgroupsIsolatorTest.ROOT_CGROUPS_RevocableCpu is flaky.
- [MESOS-6170] - Health check grace period covers failures happening after first success.
- [MESOS-6173] - Authentication in v2 protobuf should not be
required
. - [MESOS-6176] - CpuIsolatorTest.ROOT_SystemCpuUsage is flaky.
- [MESOS-6181] - The logic for BadACLNoPrincipal and BadACLDropCreateAndDestroy is not correct.
- [MESOS-6207] - Python bindings fail to build with custom SVN installation path.
- [MESOS-6208] - Containers that use the Mesos containerizer but don't want to provision a container image fail to validate.
- [MESOS-6210] - Master redirect with suffix gets in redirect loop.
- [MESOS-6216] - LibeventSSLSocketImpl::create is not safe to call concurrently with os::getenv.
- [MESOS-6217] - PAGE_SIZE was not declared in PPC64LE.
- [MESOS-6226] - Master crashes while transitioning tasks to 'TASK_UNREACHABLE'.
- [MESOS-6233] - Master CHECK fails during recovery while relinking to other masters.
- [MESOS-6234] - Potential socket leak during Zookeeper network changes.
- [MESOS-6245] - Driver based schedulers performing explicit acknowledgements cannot acknowledge updates from HTTP based executors.
- [MESOS-6246] - Libprocess links will not generate an ExitedEvent if the socket creation fails.
- [MESOS-6248] - mesos-slave cannot start , Assertion `isError()' failed.
- [MESOS-6257] - Resources not recovered after rescinding an offer on DESTROY on shared volumes.
- [MESOS-6259] - CNI isolator should not
CHECK
forresolv.conf
underrootContainerDir
. - [MESOS-6260] - Composing containerizer needs to properly handle nested container launch.
- [MESOS-6262] - Default executor should kill all other tasks in a task group if any task exits with a non-zero exit status.
- [MESOS-6263] - Mesos containerizer should figure out the correct sandbox directory for nested launch.
- [MESOS-6269] - CNI isolator doesn't activate loopback interface.
- [MESOS-6270] - Agent crashes when trying to recover pods.
- [MESOS-6274] - Agent should not allow HTTP executors to re-subscribe before containerizer recovery is done.
- [MESOS-6283] - Fix the Web UI allowing access to the task sandbox for nested containers.
- [MESOS-6289] - Pass the 'user' into nested container launch.
- [MESOS-6290] - Support nested containers for logger in Mesos Containerizer.
- [MESOS-6295] - Excessive logging on agent when oversubscription modules are attached.
- [MESOS-6300] - A destroyed nested container is not reflected in the parent container's children map.
- [MESOS-6301] - Recursive destroy in MesosContainerizer is problematic.
- [MESOS-6302] - Agent recovery can fail after nested containers are launched.
- [MESOS-6308] - CHECK failure in DRF sorter.
- [MESOS-6317] - Race in master/allocator when updating oversubscribed resources of an agent.
- [MESOS-6319] - ContentType/AgentAPITest.NestedContainerLaunch/1 is flaky.
- [MESOS-6321] - CHECK failure in HierarchicalAllocatorTest.NoDoubleAccounting.
- [MESOS-6322] - Agent fails to kill empty parent container.
- [MESOS-6323] - 'mesos-containerizer launch' should inherit agent environment variables.
- [MESOS-6324] - CNI should not use
ifconfig
in executorspre_exec_command
. - [MESOS-6363] - Default executor should not crash with a failed assertion if it notices a disconnection from the agent for non checkpointed frameworks.
- [MESOS-6370] - The executor library does not invoke the shutdown callback upon recovery timeout.
- [MESOS-6386] - "Reached unreachable statement" in LinuxCapabilitiesIsolatorTest.
- [MESOS-6391] - Command task's sandbox should not be owned by root if it uses container image.
- [MESOS-6393] - Deprecated SSL_ environment variables are non functional already.
- [MESOS-6420] - Mesos Agent leaking sockets when port mapping network isolator is ON.
- [MESOS-6445] - Reconciliation for unreachable agent after master failover is incorrect.
- [MESOS-6446] - WebUI redirect doesn't work with stats from /metric/snapshot.
- [MESOS-6457] - Tasks shouldn't transition from TASK_KILLING to TASK_RUNNING.
- [MESOS-6461] - Duplicate framework ids in /master/frameworks endpoint 'unregistered_frameworks'.
- [MESOS-6482] - Master check failure when marking an agent unreachable.
- [MESOS-6483] - Check failure when a 1.1 master marking a 0.28 agent as unreachable.
- [MESOS-6497] - Java Scheduler Adapter does not surface MasterInfo.
- [MESOS-6502] - version uses incorrect MESOS{MAJOR,MINOR,PATCH}_VERSION in libmesos java binding.
- [MESOS-6527] - Memory leak in the libprocess request decoder.
** ๐ Documentation
- [MESOS-5221] - Add Documentation for Nvidia GPU support.
- [MESOS-5808] - Elasticsearch misspelled on homepage.
- [MESOS-6028] - mesos-execute has a typo in volume help.
- [MESOS-6103] - Mesos version is not uptodate in getting-started page.
- [MESOS-6343] - Documentation Error: Default Executor does not implicitly construct resources.
** Epic
- [MESOS-2449] - Support group of tasks (Pod) constructs and API in Mesos.
- [MESOS-3421] - Support sharing of resources across task instances.
- [MESOS-4312] - Porting Mesos on Power (ppc64le).
- [MESOS-4791] - Operator API v1.
- [MESOS-5344] - Partition-aware Mesos frameworks.
- [MESOS-6014] - Added port mapping CNI plugin.
** ๐ Improvement
- [MESOS-2533] - Support HTTP checks in Mesos.
- [MESOS-3567] - Support TCP checks in Mesos.
- [MESOS-4049] - Allow user to control behavior of partitioned agents/tasks.
- [MESOS-4155] - Speed up ExamplesTest.*.
- [MESOS-4172] - GarbageCollectorIntegrationTest.Restart is slow.
- [MESOS-4324] - Allow access to shared persistent volumes as read only or read write by tasks.
- [MESOS-4325] - Offer shareable resources to frameworks only if it is opted in.
- [MESOS-4431] - Support sharing of persistent volumes via shared resources.
- [MESOS-4663] - Speed up ExamplesTest.PersistentVolumeFramework.
- [MESOS-4694] - DRFAllocator takes very long to allocate resources with a large number of frameworks.
- [MESOS-4892] - Support arithmetic operations for shared resources with consumer counts.
- [MESOS-5038] - Added a any mechanism for futures.
- [MESOS-5070] - Introduce more flexible subprocess interface for child options.
- [MESOS-5425] - Consider using IntervalSet for Port range resource math.
- [MESOS-5464] - The max number of completed executors for a mesos slave should be configurable.
- [MESOS-5565] - Add logging when Offer::Operation::Launch message has no tasks.
- [MESOS-5716] - Document docker private registry with authentication support in Unified Containerizer.
- [MESOS-5732] - MasterAPITest.UnreserveResources is slow.
- [MESOS-5756] - Cmake build system needs to regenerate protobufs when they are updated.
- [MESOS-5790] - Ensure all examples in Scheduler HTTP API docs are valid JSON.
- [MESOS-5822] - Add a build script for the Windows CI.
- [MESOS-5870] - Fix the large preview logo in Slack.
- [MESOS-5901] - Make the command executor unversioned.
- [MESOS-5936] - Operator SUBSCRIBE api should provdide more task metadata than just state changes.
- [MESOS-5944] - Remove
O_SYNC
from StatusUpdateManager logs. - [MESOS-5949] - Allow frameworks to learn the time when an agent became unreachable.
- [MESOS-5951] - Remove "strict registry" code.
- [MESOS-5954] - Docker executor does not use HealthChecker library.
- [MESOS-5955] - The "mesos-health-check" binary is not used anymore.
- [MESOS-5961] - HTTP and TCP health checks should support docker executor and bridged mode.
- [MESOS-5965] - Implement garbage collection for unreachable agent lists in registry.
- [MESOS-5978] - Improve run time for arithmetic operators for Resources.
- [MESOS-5983] - Number of libprocess worker threads is not configurable for log-rotation module.
- [MESOS-6006] - Abstract mesos-style.py to allow future linters to be added more easily.
- [MESOS-6008] - Add the infrastructure for a new python-based CLI.
- [MESOS-6025] - Validate health check protobuf in the master.
- [MESOS-6037] - Offer::Operation.type should be optional.
- [MESOS-6039] - Update elfio to version 3.2.
- [MESOS-6050] - Add an agent flag for 'runtime_dir'.
- [MESOS-6051] - Add functions to the 'Launcher' abstraction to aid in checkpointing the exit status of containers.
- [MESOS-6060] - Add MOUNT or PATH disk type in logging resources.
- [MESOS-6063] - Track recovered and prepared subsystems for a container.
- [MESOS-6065] - Support provisioning image volumes in an isolator.
- [MESOS-6075] - Avoid libprocess functions in
mesos-containerizer launch
. - [MESOS-6080] - Expose metrics in scheduler library.
- [MESOS-6088] - Update launch helper to checkpoint exit status of launched process.
- [MESOS-6090] - Change master to always update registry before in-memory state.
- [MESOS-6096] - Update mesos-execute to support launching task groups.
- [MESOS-6098] - Frameworks UI shows metrics for used resources plus offers.
- [MESOS-6140] - Add a parallel test runner.
- [MESOS-6218] - Avoided to concat cgroup internally in subsystems.
- [MESOS-6220] - HTTP handler failures should result in 500 response rather than 503 response.
- [MESOS-6242] - Expose unknown container case on Containerizer::wait.
- [MESOS-6243] - Expose failures and unknown container cases from Containerizer::destroy.
- [MESOS-6282] - CNI isolator should print plugin's stderr.
- [MESOS-6299] - Master doesn't remove task from pending when it is invalid.
- [MESOS-6310] - Remove or define non-POSIX function.
- [MESOS-6371] - Remove the 'recover()' interface in 'ContainerLogger'.
** Task
- [MESOS-3370] - Deprecate the external containerizer.
- [MESOS-4390] - Shared Volumes Design Doc.
- [MESOS-5039] - Add Subsystem abstraction for cgroups unified isolator.
- [MESOS-5040] - Add cgroups_subsystems flag for cgroups unified isolator.
- [MESOS-5041] - Add cgroups unified isolator.
- [MESOS-5042] - Add cpu subsystem support in cgroups unified isolator.
- [MESOS-5043] - Add cpuacct subsystem support in cgroups unified isolator.
- [MESOS-5045] - Add memory subsystem support in cgroups unified isolator.
- [MESOS-5046] - Add net_cls subsystem support in cgroups unified isolator.
- [MESOS-5047] - Add perf_event subsystem support in cgroups unified isolator.
- [MESOS-5051] - Create helpers for manipulating Linux capabilities.
- [MESOS-5144] - Cleanup memory leaks in libprocess finalize().
- [MESOS-5228] - Add tests for Capability API.
- [MESOS-5232] - Add capability information to ContainerInfo protobuf message.
- [MESOS-5275] - Add capabilities support for unified containerizer.
- [MESOS-5488] - Implement READ_FILE Call in v1 master API.
- [MESOS-5515] - Implement READ_FILE Call in v1 agent API.
- [MESOS-5516] - Implement GET_STATE Call in v1 agent API.
- [MESOS-5651] - Add devices subsystem support in cgroups unified isolator.
- [MESOS-5652] - Enable cgroups unified isolator.
- [MESOS-5788] - Added JAVA API adapter for seamless transition to new scheduler API.
- [MESOS-5809] - Implement GET_FRAMEWORKS Call in v1 agent API.
- [MESOS-5810] - Implement GET_EXECUTORS Call in v1 agent API.
- [MESOS-5811] - Implement GET_TASKS Call in v1 agent API.
- [MESOS-5855] - Create a 'Disk (not) full' example framework.
- [MESOS-5970] - Remove HTTP_PARSER_VERSION_MAJOR < 2 code in decoder.
- [MESOS-5973] - Remove CgroupsCpushareIsolator.
- [MESOS-5974] - Remove CgroupsMemIsolator.
- [MESOS-5975] - Remove CgroupsPerfEventIsolator.
- [MESOS-5976] - Remove CgroupsNetClsIsolator.
- [MESOS-5977] - Remove CgroupsDevicesIsolator.
- [MESOS-5987] - Update health check protobuf for HTTP and TCP health check.
- [MESOS-6017] - Introduce
PortMapping
protobuf. - [MESOS-6020] - Remove
slavePid
from the Containerizer::launch API. - [MESOS-6021] - Consolidate two
Containerizer::launch
methods into one. - [MESOS-6023] - Create a binary for the port-mapper plugin.
- [MESOS-6036] - Define the Framework API protobufs required for TaskGroups.
- [MESOS-6042] - Validate TaskGroup launch in the master.
- [MESOS-6043] - Add interface for launching nested containers in Containerizer.
- [MESOS-6045] - Implement LAUNCH_GROUP operation in master.
- [MESOS-6067] - Support provisioner to be nested aware for Mesos Pods.
- [MESOS-6068] - Refactor MesosContainerizer::launch to prepare for nesting support.
- [MESOS-6070] - Renamed containerizer::Termination to ContainerTermination.
- [MESOS-6071] - Validate that an explicitly specified DEFAULT executor has disk resources.
- [MESOS-6073] - Update the streaming function for ContainerID to be nesting aware.
- [MESOS-6076] - Implement RunTaskGroup handler on the agent.
- [MESOS-6077] - Added a default (task group) executor.
- [MESOS-6102] - Add event for agent added in master operator API.
- [MESOS-6130] - Make the disk usage isolator nesting-aware.
- [MESOS-6150] - Introduce the new isolator recover interface for nested container support.
- [MESOS-6151] - Populate
CommandInfo
correctly for default executors. - [MESOS-6156] - Make the
network/cni
isolator nesting aware. - [MESOS-6160] - Add protobuf definition for a Volume::Source that specifies a path from parent container's sandbox.
- [MESOS-6186] - Make the generic
cgroups
isolator nesting aware. - [MESOS-6188] - Make the
gpu/nvidia
isolator nesting aware. - [MESOS-6189] - Add a virtual method to Isolator to indicate if it supports nesting.
- [MESOS-6190] - Make the docker/runtime isolator nesting aware.
- [MESOS-6191] - Make the filesystem/linux isolator nesting aware.
- [MESOS-6192] - Make the appc/runtime isolator nesting aware.
- [MESOS-6194] - Make the disk/du isolator nesting aware.
- [MESOS-6199] - Make the volume/image isolator nesting aware.
- [MESOS-6204] - Introduce a "runtime" directory owned by the containerizer for checkpointing container information.
- [MESOS-6227] - Update the default executor to launch/wait/destroy child containers.
- [MESOS-6230] - Add support for health checks to the default executor.
- [MESOS-6235] - Add 'argv' variant of 'os::system'.
- [MESOS-6241] - Add agent::Call / agent::Response API for managing nested containers.
- [MESOS-6258] - Add
volume/sandbox_path
isolator to support Volume::Source::SANDBOX_PATH. - [MESOS-6265] - Adjust cgroups layout for nested containers.
- [MESOS-6272] - Allow WebUI/other tools to access the task sandbox for a nested container.
- [MESOS-6284] - MesosContainerizer should skip non-nesting aware isolators for nested container.
- [MESOS-6287] - MesosContainer should allow 'wait' on terminated nested container.
- [MESOS-6312] - Update CHANGELOG to mention addition of agent '--runtime_dir' flag.
- [MESOS-6344] - Allow
network/cni
isolator to take a search path for CNI plugins instead of single directory. - [MESOS-6408] - Changelog for
mesos-cni-port-mapper
to 1.1.0.
** Wish
- [MESOS-5929] - Total cluster resources on master Mesos UI should have better spacing.
-
v1.0.4 Changes
- ๐ This is a bug fix release.
All Issues: ** ๐ Bug * [MESOS-2537] - AC_ARG_ENABLED checks are broken * [MESOS-6606] - Reject optimized builds with libcxx before 3.9 * [MESOS-7008] - Quota not recovered from registry in empty cluster. * [MESOS-7265] - Containerizer startup may cause sensitive data to leak into sandbox logs. * [MESOS-7366] - Agent sandbox gc could accidentally delete the entire persistent volume content. * [MESOS-7383] - Docker executor logs possibly sensitive parameters. * [MESOS-7422] - Docker containerizer should not leak possibly sensitive data to agent log.