blob: e055707135bae1d4e08cd99e7d81ee949eb7e40d [file] [log] [blame]
Release Notes - Mesos - Version 0.28.0
--------------------------------------------
This release contains the following new features:
* [MESOS-4343] - A new cgroups isolator for enabling the net_cls subsystem in
Linux. The cgroups/net_cls isolator allows operators to provide network
performance isolation and network segmentation for containers within a Mesos
cluster. To enable the cgroups/net_cls isolator, append `cgroups/net_cls` to
the `--isolation` flag when starting the slave. Please refer to
docs/mesos-containerizer.md for more details.
* [MESOS-4687] - The implementation of scalar resource values (e.g., "2.5
CPUs") has changed. Mesos now reliably supports resources with up to three
decimal digits of precision (e.g., "2.501 CPUs"); resources with more than
three decimal digits of precision will be rounded. Internally, resource math
is now done using a fixed-point format that supports three decimal digits of
precision, and then converted to/from floating point for input and output,
respectively. Frameworks that do their own resource math and manipulate
fractional resources may observe differences in roundoff error and numerical
precision.
* [MESOS-4479] - Reserved resources can now optionally include "labels".
Labels are a set of key-value pairs that can be used to associate metadata
with a reserved resource. For example, frameworks can use this feature to
distinguish between two reservations for the same role at the same agent
that are intended for different purposes.
* [MESOS-2840] - **Experimental** support for container images in Mesos
containerizer (a.k.a. Unified Containerizer). This allows frameworks to
launch Docker/Appc containers using Mesos containerizer without relying on
docker daemon (engine) or rkt. The isolation of the containers is done using
isolators. Please refer to docs/container-image.md for currently supported
features and limitations.
* [MESOS-4793] - **Experimental** support for v1 Executor HTTP API. This
allows executors to send HTTP requests to the /api/v1/executor agent
endpoint without the need for an executor driver. Please refer to
docs/executor-http-api.md for more details.
* [MESOS-4370] Added support for service discovery of Docker containers that
use Docker Remote API v1.21.
Additional API Changes:
* [MESOS-4066] - Agent should not return partial state when a request is made to /state endpoint during recovery.
* [MESOS-4547] - Introduce TASK_KILLING state.
* [MESOS-4712] - Remove 'force' field from the Subscribe Call in v1 Scheduler API.
* [MESOS-4591] - Change the object of ReserveResources and CreateVolume ACLs to `roles`.
* [MESOS-3583] - Add stream IDs for HTTP schedulers.
* [MESOS-4427] - Ensure ip_address in state.json (from NetworkInfo) is valid
All Issues:
** Bug
* [MESOS-1187] - precision errors with allocation calculations
* [MESOS-1469] - No output from review bot on timeout
* [MESOS-2007] - AllocatorTest/0.SlaveReregistersFirst is flaky
* [MESOS-2017] - Segfault with "Pure virtual method called" when tests fail
* [MESOS-3273] - EventCall Test Framework is flaky
* [MESOS-3397] - sorter.cpp: Check failed: total.resources.contains(slaveId)
* [MESOS-3413] - Docker containerizer does not symlink persistent volumes into sandbox
* [MESOS-3570] - Make Scheduler Library use HTTP Pipelining Abstraction in Libprocess
* [MESOS-3719] - Core dump on /teardown
* [MESOS-3725] - shared library loading depends on environment variable updates
* [MESOS-3833] - /help endpoints do not work for nested paths
* [MESOS-3940] - /reserve and /unreserve should be permissive under a master without authentication.
* [MESOS-4029] - ContentType/SchedulerTest is flaky.
* [MESOS-4047] - MemoryPressureMesosTest.CGROUPS_ROOT_SlaveRecovery is flaky
* [MESOS-4071] - Master crash during framework teardown ( Check failed: total.resources.contains(slaveId))
* [MESOS-4249] - Mesos fetcher step skipped with MESOS_DOCKER_MESOS_IMAGE flag
* [MESOS-4255] - Add mechanism for testing recovery of HTTP based executors
* [MESOS-4285] - Mesos command task doesn't support volumes with image
* [MESOS-4291] - fs::enter(rootfs) does not work if 'rootfs' is read only.
* [MESOS-4298] - Sync up configuration.md and flags.cpp
* [MESOS-4338] - Create utilities for common shell commands used.
* [MESOS-4370] - NetworkSettings.IPAddress field is deprecated in Docker
* [MESOS-4383] - Support docker runtime configuration env var from image.
* [MESOS-4395] - Add persistent volume endpoint tests with no principal
* [MESOS-4416] - Get the perf version function return fail
* [MESOS-4427] - Ensure ip_address in state.json (from NetworkInfo) is valid
* [MESOS-4454] - Create common sha512 compute utility function.
* [MESOS-4478] - ReviewBot seemed to be crashing ReviewBoard server when posting large reviews
* [MESOS-4484] - GMock warning in MasterTest.OrphanTasks
* [MESOS-4495] - Delete `os::chown` on Windows
* [MESOS-4496] - Replace `glob` on Windows with something more suited to the platform
* [MESOS-4499] - Docker provisioner store should reuse existing layers in the cache.
* [MESOS-4517] - Introduce docker runtime isolator.
* [MESOS-4542] - MasterQuotaTest.AvailableResourcesAfterRescinding is flaky.
* [MESOS-4546] - Mesos Agents needs to re-resolve hosts in zk string on leader change / failure to connect
* [MESOS-4555] - Build broken with GCC 5.3.0
* [MESOS-4556] - ShasumTest.SHA512SimpleFile failed on centos7.
* [MESOS-4562] - Mesos UI shows wrong count for "started" tasks
* [MESOS-4563] - Docker::Container::Create should handle NetworkSettings.IPAddress being an empty string.
* [MESOS-4570] - DockerFetcherPluginTest.INTERNET_CURL_FetchImage seems flaky.
* [MESOS-4573] - Design doc for scheduler HTTP Stream IDs
* [MESOS-4583] - Rename `examples/event_call_framework.cpp` to `examples/test_http_framework.cpp`
* [MESOS-4584] - Update Rakefile for mesos site generation
* [MESOS-4585] - mesos-fetcher LIBPROCESS_PORT set to 5051 URI fetch failure
* [MESOS-4587] - Docker environment variables must be able to contain the equal sign
* [MESOS-4591] - `/reserve` and `/create-volumes` endpoints allow operations for any role
* [MESOS-4597] - `freebsd.hpp` is missing from the release tarball
* [MESOS-4598] - Logrotate ContainerLogger should not remove IP from environment.
* [MESOS-4602] - Invalid usage of ATOMIC_FLAG_INIT in member initialization
* [MESOS-4614] - SlaveRecoveryTest/0.CleanupHTTPExecutor is flaky
* [MESOS-4615] - ContainerLoggerTest.DefaultToSandbox is flaky
* [MESOS-4619] - Remove markdown files from doxygen pages
* [MESOS-4637] - Docker process executor can die with agent unit on systemd.
* [MESOS-4639] - Posix process executor can die with agent unit on systemd.
* [MESOS-4640] - Logrotate container logger can die with agent unit on systemd.
* [MESOS-4656] - strings::split behaves incorrectly when n=1
* [MESOS-4661] - SlaveRecoveryTest/0.ReconnectHTTPExecutor is flaky
* [MESOS-4669] - Add common compression utility
* [MESOS-4670] - `cgroup_info` not being exposed in state.json when ComposingContainerizer is used.
* [MESOS-4671] - Status updates from executor can be forwarded out of order by the Agent.
* [MESOS-4674] - Linux filesystem isolator tests are flaky.
* [MESOS-4675] - Cannot disable systemd support
* [MESOS-4676] - ROOT_DOCKER_Logs is flaky.
* [MESOS-4677] - LimitedCpuIsolatorTest.ROOT_CGROUPS_Pids_and_Tids is flaky.
* [MESOS-4681] - Updated libnl3 download links
* [MESOS-4683] - Document docker runtime isolator.
* [MESOS-4693] - Variable shadowing in HookManager::slavePreLaunchDockerHook
* [MESOS-4703] - Make Stout configuration modular and consumable by downstream (e.g., libprocess and agent)
* [MESOS-4711] - Race condition in libevent poll implementation causes crash
* [MESOS-4714] - "make DESTDIR=<path> install" broken
* [MESOS-4743] - Mesos fetcher not working correctly on docker apps on CoreOS
* [MESOS-4747] - ContainerLoggerTest.MesosContainerizerRecover cannot be executed in isolation
* [MESOS-4768] - MasterMaintenanceTest.InverseOffers is flaky
* [MESOS-4774] - Wrong symbolic link of some Mesos libraries
* [MESOS-4784] - SlaveTest.MetricsSlaveLaunchErrors test relies on implicit blocking behavior hitting the global metrics endpoint
* [MESOS-4806] - LevelDBStateTests write to the current directory
* [MESOS-4824] - "filesystem/linux" isolator does not unmount orphaned persistent volumes
* [MESOS-4825] - Master's slave reregister logic does not update version field
* [MESOS-4830] - Bind docker runtime isolator with docker image provider.
* [MESOS-4831] - Master sometimes sends two inverse offers after the agent goes into maintenance.
* [MESOS-4832] - DockerContainerizerTest.ROOT_DOCKER_RecoverOrphanedPersistentVolumes exits when the /tmp directory is bind-mounted
* [MESOS-4833] - Poor allocator performance with labeled resources and/or persistent volumes
* [MESOS-4836] - Fix rmdir for windows
* [MESOS-4866] - Added document for overlayfs backend.
* [MESOS-4888] - Default cmd is executed as an incorrect command.
* [MESOS-4903] - Allow multiple loads of module manifests
** Documentation
* [MESOS-1471] - Document replicated log design/internals
* [MESOS-3831] - Document operator HTTP endpoints
* [MESOS-4376] - Document semantics of `slaveLost`
* [MESOS-4377] - Document units associated with resource types
* [MESOS-4452] - Improve documentation around roles, principals, authz, and reservations
* [MESOS-4622] - Update configuration.md with `--cgroups_net_cls_primary_handle` agent flag.
* [MESOS-4702] - Document default value of "offer_timeout"
* [MESOS-4786] - Example in C++ style guide uses wrong indention for wrapped line
* [MESOS-4854] - Update CHANGELOG with net_cls isolator
* [MESOS-4873] - Add documentation about container image support.
** Epic
* [MESOS-4343] - Introduce the ability to assign network handles to mesos containers
* [MESOS-4793] - Executor API v1
** Improvement
* [MESOS-197] - Executor sendStatusUpdate should ACK on slave checkpoint
* [MESOS-2585] - Use full width for mesos div.container
* [MESOS-2971] - Implement OverlayFS based provisioner backend
* [MESOS-3608] - Optionally install test binaries.
* [MESOS-4004] - Support default entrypoint and command runtime config in Mesos containerizer
* [MESOS-4005] - Support workdir runtime configuration from image
* [MESOS-4169] - MasterMaintenanceTest.InverseOffers is slow
* [MESOS-4225] - Exposed docker/appc image manifest to mesos containerizer.
* [MESOS-4261] - Remove docker auth server flag
* [MESOS-4333] - Refactor Appc provisioner tests
* [MESOS-4344] - Allow operators to assign net_cls major handles to mesos agents
* [MESOS-4479] - Implement reservation labels
* [MESOS-4486] - Speed up FetcherCacheTest.Local* test cases
* [MESOS-4487] - Introduce status() interface in `Containerizer`
* [MESOS-4488] - Define a CgroupInfo protobuf to expose cgroup isolator configuration.
* [MESOS-4489] - The `cgroups/net_cls` isolator needs to expose handles in the ContainerStatus
* [MESOS-4490] - Get container status information in slave.
* [MESOS-4493] - Add ability to create symlink on Windows
* [MESOS-4494] - Implement `size`, `usage`, and other disk metrics reporting on Windows.
* [MESOS-4497] - Add ZK to the Windows agent build
* [MESOS-4498] - Refactor os.hpp to be less monolithic, and more cross-platform compatible
* [MESOS-4520] - Introduce a status() interface for isolators
* [MESOS-4523] - Enable benchmark tests in ASF CI
* [MESOS-4547] - Introduce TASK_KILLING state.
* [MESOS-4551] - process::collect() and process::await only take a fixed number of arguments (when not using a list).
* [MESOS-4552] - Help strings are not removed from the global help process upon process termination.
* [MESOS-4564] - Separate Appc protobuf messages to its own file.
* [MESOS-4566] - Avoid unnecessary temporary `std::string` constructions and copies in `jsonify`.
* [MESOS-4571] - SlaveRecoveryTest.RecoverStatusUpdateManager is not consistent with its description
* [MESOS-4575] - Fix Appc image caching to share with image fetcher
* [MESOS-4588] - Set title for documentation webpages.
* [MESOS-4618] - Speed up FetcherCacheTest.SimpleEviction
* [MESOS-4628] - Speed up FetcherCache test cases by reduce allocation_interval.
* [MESOS-4636] - Add parent hook to subprocess.
* [MESOS-4657] - Add LOG(INFO) in `cgroups/net_cls` for debugging allocation of net_cls handles.
* [MESOS-4667] - Expose persistent volume information in HTTP endpoints
* [MESOS-4685] - Speed up FetcherCache test cases by disable framework checkpoint.
* [MESOS-4710] - Add comment about labels caveats to mesos.proto
* [MESOS-4731] - Update /frameworks to use jsonify
* [MESOS-4776] - Libprocess metrics/snapshot endpoint rate limiting should be configurable.
* [MESOS-4783] - Disable rate limiting of the global metrics endpoint for mesos-tests execution
* [MESOS-4792] - Remove src/common/date_utils.{c,h}pp
* [MESOS-4796] - Debug ability enhancement for unified container
** Task
* [MESOS-1940] - Add Mesos-graced/hosted libraries to installation path
* [MESOS-3339] - Implement filtering mechanism for (Scheduler API Events) Testing
* [MESOS-3424] - Support fetching AppC images into the store
* [MESOS-3525] - Figure out how to enforce 64-bit builds on Windows.
* [MESOS-3583] - Introduce stream IDs in HTTP Scheduler API
* [MESOS-3613] - Port slave/paths.cpp to Windows
* [MESOS-3643] - Implement stout/os/windows/shell.hpp
* [MESOS-3763] - Need for http::put request method
* [MESOS-3929] - Automate the process of landing commits for committers
* [MESOS-3943] - Support dynamic weight in allocator
* [MESOS-4066] - Agent should not return partial state when a request is made to /state endpoint during recovery.
* [MESOS-4200] - Test case(s) for weights + allocation behavior
* [MESOS-4345] - Implement a network-handle manager for net_cls cgroup subsystem
* [MESOS-4358] - Expose net_cls network handles in agent's state endpoint
* [MESOS-4421] - Document that /reserve, /create-volumes endpoints can return misleading "success"
* [MESOS-4433] - Implement a callback testing interface for the Executor Library
* [MESOS-4435] - Update `Master::Http::stateSummary` to use `jsonify`.
* [MESOS-4438] - Add 'dependency' message to 'AppcImageManifest' protobuf.
* [MESOS-4439] - Fix appc CachedImage image validation
* [MESOS-4457] - Implement tests for the new Executor library
* [MESOS-4531] - Document multi-disk support.
* [MESOS-4590] - Add test case for reservations with same role, different principals
* [MESOS-4596] - Add common Appc spec utilities.
* [MESOS-4660] - Document net_cls isolator in docs/mesos-containerizer.md.
* [MESOS-4686] - Implement master failover tests for the scheduler library.
* [MESOS-4691] - Add a HierarchicalAllocator benchmark with reservation labels.
* [MESOS-4700] - Allow agent to configure net_cls handle minor range.
* [MESOS-4707] - Add fs:supported() function for detecting whether a file system is supported
* [MESOS-4712] - Remove 'force' field from the Subscribe Call in v1 Scheduler API
* [MESOS-4713] - ReviewBot should not fail hard if there are circular dependencies in a review chain
* [MESOS-4746] - CMake: Add leveldb library to 3rdparty external builds.
* [MESOS-4748] - Add Appc image fetcher tests.
* [MESOS-4780] - Remove `user` and `rootfs` flags in Windows launcher.
* [MESOS-4798] - Make existing scheduler library tests use the callback interface.
* [MESOS-4817] - Remove internal usage of deprecated *.json endpoints.
* [MESOS-4822] - Add support for local image fetching in Appc provisioner.
* [MESOS-4829] - Remove `grace_period_seconds` field from Shutdown event v1 protobuf.
* [MESOS-4834] - Add 'file' fetcher plugin.
Release Notes - Mesos - Version 0.27.1
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-4546] - Mesos Agents needs to re-resolve hosts in zk string on leader change / failure to connect.
* [MESOS-4563] - Docker::Container::Create should handle NetworkSettings.IPAddress being an empty string.
* [MESOS-4582] - state.json serving duplicate "active" fields.
* [MESOS-4585] - mesos-fetcher LIBPROCESS_PORT set to 5051 URI fetch failure.
* [MESOS-4587] - Docker environment variables must be able to contain the equal sign.
* [MESOS-4597] - `freebsd.hpp` is missing from the release tarball.
* [MESOS-4598] - Logrotate ContainerLogger should not remove IP from environment.
* [MESOS-4637] - Docker process executor can die with agent unit on systemd.
* [MESOS-4639] - Posix process executor can die with agent unit on systemd.
* [MESOS-4640] - Logrotate container logger can die with agent unit on systemd.
* [MESOS-4675] - Can not disable systemd support.
** Improvement
* [MESOS-4566] - Avoid unnecessary temporary `std::string` constructions and copies in `jsonify`.
* [MESOS-4636] - Add parent hook to subprocess.
** Task
* [MESOS-4435] - Update `Master::Http::stateSummary` to use `jsonify`.
* [MESOS-4531] - Document multi-disk support.
Release Notes - Mesos - Version 0.27.0
--------------------------------------------
** API Changes:
* [MESOS-313] - Report executor termination to framework schedulers.
* [MESOS-2315] - Removed deprecated CommandInfo::ContainerInfo.
* [MESOS-3988] - Implicit roles.
* [MESOS-4154] - Rename shutdown_frameworks to teardown_frameworks.
** Bug
* [MESOS-934] - 'Logging and Debugging' document is out-of-date.
* [MESOS-1613] - HealthCheckTest.ConsecutiveFailures is flaky
* [MESOS-2209] - Mesos should not use negative exit codes
* [MESOS-2768] - SIGPIPE in process::run_in_event_loop()
* [MESOS-3134] - Port bootstrap to CMake
* [MESOS-3151] - ReservationTest.CompatibleCheckpointedResourcesWithPersistentVolumes is flaky
* [MESOS-3235] - FetcherCacheHttpTest.HttpCachedSerialized and FetcherCacheHttpTest.HttpCachedConcurrent are flaky
* [MESOS-3307] - Configurable size of completed task / framework history
* [MESOS-3349] - Removing mount point fails with EBUSY in LinuxFilesystemIsolator.
* [MESOS-3379] - LinuxFilesystemIsolatorTest.ROOT_VolumeFromHostSandboxMountPoint is failed
* [MESOS-3472] - RegistryTokenTest.ExpiredToken test is flaky
* [MESOS-3479] - COMMAND Health Checks are not executed if the timeout is exceeded
* [MESOS-3551] - Replace use of strerror with thread-safe alternatives strerror_r / strerror_l.
* [MESOS-3595] - Framework process hangs after master failover when number frameworks > libprocess thread pool size
* [MESOS-3718] - Implement Quota support in allocator
* [MESOS-3773] - RegistryClientTest.SimpleGetBlob is flaky
* [MESOS-3799] - Compilation warning with Ubuntu wily: auto_ptr is deprecated
* [MESOS-3809] - Expose advertise_ip and advertise_port as command line options in mesos slave
* [MESOS-3817] - Rename offers to outstanding offers
* [MESOS-3832] - Scheduler HTTP API does not redirect to leading master
* [MESOS-3834] - slave upgrade framework checkpoint incompatibility
* [MESOS-3851] - Investigate recent crashes in Command Executor
* [MESOS-3859] - Add github support to apply-reviews.py.
* [MESOS-3860] - Add support for `stout/process.hpp` on Windows.
* [MESOS-3868] - Make apply-review.sh use apply-reviews.py
* [MESOS-3909] - isolator module headers depend on picojson headers
* [MESOS-3916] - MasterMaintenanceTest.InverseOffersFilters is flaky
* [MESOS-3939] - ubsan error in net::IP::create(sockaddr const&): misaligned address
* [MESOS-3963] - Move "using mesos::fetcher::FetcherInfo" into internal namespace in "fetcher.hpp"
* [MESOS-3965] - Ensure resources in `QuotaInfo` protobuf do not contain `role`
* [MESOS-4002] - ReservationEndpointsTest.UnreserveAvailableAndOfferedResources is flaky
* [MESOS-4024] - HealthCheckTest.CheckCommandTimeout is flaky.
* [MESOS-4031] - slave crashed in cgroupstatistics()
* [MESOS-4047] - MemoryPressureMesosTest.CGROUPS_ROOT_SlaveRecovery is flaky
* [MESOS-4067] - ReservationTest.ACLMultipleOperations is flaky
* [MESOS-4069] - libevent_ssl_socket assertion fails
* [MESOS-4072] - The lt-mesos-master will coredump in some situation.
* [MESOS-4102] - Quota doesn't allocate resources on slave joining.
* [MESOS-4107] - `os::strerror_r` breaks the Windows build
* [MESOS-4108] - Implement `os::mkdtemp` for Windows
* [MESOS-4109] - HTTPConnectionTest.ClosingResponse is flaky
* [MESOS-4110] - Implement `WindowsError` to correspond with `ErrnoError`.
* [MESOS-4154] - Rename shutdown_frameworks to teardown_frameworks
* [MESOS-4177] - Create a user doc for Executor HTTP API
* [MESOS-4184] - Jenkins builds for Centos fail with missing 'which' utility and incorrect 'java.home'
* [MESOS-4192] - Add documentation for API Versioning
* [MESOS-4193] - Port `process/file.hpp`
* [MESOS-4202] - Race in SSL socket shutdown
* [MESOS-4218] - Test for Quota Status Endpoint
* [MESOS-4266] - S3 URIs prefixed with / by fetcher
* [MESOS-4274] - libprocess build fail with libhttp-parser >= 2.0
* [MESOS-4275] - Duration uses fixed-width types inconsistently
* [MESOS-4281] - Correctly handle disk quota usage when volumes are bind mounted into the container.
* [MESOS-4283] - Accept 3-field version of HDFS du output
* [MESOS-4290] - Reject tasks with images with filesystem/posix isolator
* [MESOS-4293] - Updated master help message for acls.
* [MESOS-4294] - Protobuf parse should support parsing JSON object containing JSON Null.
* [MESOS-4310] - Disable support for --switch-user on Windows.
* [MESOS-4311] - Protobuf parse should pass error messages when parsing nested JSON.
* [MESOS-4328] - Docker container REST API /monitor/statistics.json output have no timestamp field
* [MESOS-4347] - GMock warning in ReservationTest.ACLMultipleOperations
* [MESOS-4348] - GMock warning in HookTest.VerifySlaveRunTaskHook, HookTest.VerifySlaveTaskStatusDecorator
* [MESOS-4349] - GMock warning in SlaveTest.ContainerUpdatedBeforeTaskReachesExecutor
* [MESOS-4357] - GMock warning in RoleTest.ImplicitRoleStaticReservation
* [MESOS-4375] - Allow schemes in HDFS URI fetcher plugin to be configurable.
* [MESOS-4409] - MasterTest.MaxCompletedFrameworksFlag is flaky
* [MESOS-4411] - Traverse all roles for quota allocation.
* [MESOS-4417] - Prevent allocator from crashing on successful recovery.
* [MESOS-4425] - Introduce filtering test abstractions for HTTP events to libprocess
* [MESOS-4449] - SegFault on agent during executor startup
* [MESOS-4507] - Replace busybox image with alpine in Docker tests
* [MESOS-4515] - ContainerLoggerTest.LOGROTATE_RotateInSandbox breaks when running on Centos6.
* [MESOS-4530] - NetClsIsolatorTest.ROOT_CGROUPS_NetClsIsolate is flaky
* [MESOS-4533] - DiskUsageCollectorTest.ExcludeRelativePath fails on Linux
* [MESOS-4534] - Resources object can be mutated through the public API
* [MESOS-4535] - Logrotate ContainerLogger may not handle FD ownership correctly
* [MESOS-4539] - Exclude paths in Posix disk isolator should be absolute paths.
** Documentation
* [MESOS-3581] - License headers show up all over doxygen documentation.
* [MESOS-3936] - Document possible task state transitions for framework authors
* [MESOS-3996] - libprocess: document when, why defer() is necessary
* [MESOS-4204] - Document that frameworks that participate in a role should cooperate
* [MESOS-4206] - Write new logging-related documentation
* [MESOS-4207] - Add an example bug due to a lack of defer() to the defer() documentation
* [MESOS-4209] - Document "how to program with dynamic reservations and persistent volumes"
* [MESOS-4314] - Publish Quota Documentation
* [MESOS-4396] - Adding Tachyon to the list of frameworks
** Improvement
* [MESOS-313] - Report executor terminations to framework schedulers.
* [MESOS-920] - Set GLOG_drop_log_memory=false in environment prior to logging initialization.
* [MESOS-2275] - Document header include rules in style guide
* [MESOS-2353] - Improve performance of the state.json endpoint for large clusters.
* [MESOS-3074] - Add capacity heuristic for quota requests in Master
* [MESOS-3232] - Implement HTTP Basic Authentication for Mesos endpoints
* [MESOS-3493] - benchmark for declining offers
* [MESOS-3720] - Tests for Quota support in master
* [MESOS-3827] - Improve compilation speed of GMock tests
* [MESOS-3960] - Standardize quota endpoints
* [MESOS-3979] - Replace `QuotaInfo` with `Quota` in allocator interface
* [MESOS-4020] - Introduce filter for non-revocable resources in `Resources`
* [MESOS-4021] - Remove quota from Registry for quota remove request
* [MESOS-4056] - Respond with `MethodNotAllowed` if a request uses an unsupported method.
* [MESOS-4058] - Do not use `Resource.role` for resources in quota request.
* [MESOS-4085] - Implement implicit roles
* [MESOS-4103] - Show disk usage and allocation in WebUI
* [MESOS-4128] - Refactor sorter factories in allocator and improve comments around them.
* [MESOS-4136] - Add a ContainerLogger module that restrains log sizes
* [MESOS-4183] - Move operator<< definitions to .cpp files and include <iosfwd> in .hpp where possible.
* [MESOS-4195] - Add dynamic reservation tests with no principal
* [MESOS-4231] - Add a new category to cpplint to detect missing white-space in comments
* [MESOS-4241] - Consolidate docker store slave flags
* [MESOS-4262] - Enable net_cls subsytem in cgroup infrastructure
* [MESOS-4277] - Provide constexpr Duration::min() and max()
* [MESOS-4302] - Offer filter timeouts are ignored if the allocator is slow or backlogged.
* [MESOS-4337] - Implement a simple Windows version of dirent.hpp, for compatibility.
* [MESOS-4351] - Remove logic around checkpointing in the slave
* [MESOS-4410] - Introduce protobuf for quota set request.
* [MESOS-4505] - Hierarchical allocator performance is slow due to Quota
* [MESOS-4578] - docker run -c is deprecated
** Task
* [MESOS-2079] - IO.Write test is flaky on OS X 10.10.
* [MESOS-2210] - Disallow special characters in role.
* [MESOS-2296] - Implement the Events stream on slave for Call endpoint
* [MESOS-2315] - Deprecate / Remove CommandInfo::ContainerInfo
* [MESOS-2455] - Add operator endpoints to create/destroy persistent volumes.
* [MESOS-3515] - Support Subscribe Call for HTTP based Executors
* [MESOS-3550] - Create a Executor Library based on the new Executor HTTP API
* [MESOS-3615] - Port slave/state.cpp
* [MESOS-3627] - Port process/pid.hpp to Windows
* [MESOS-3628] - Port process/address.hpp to Windows
* [MESOS-3629] - Port stout/ip.hpp to Windows
* [MESOS-3630] - Port stout/net.hpp to Windows
* [MESOS-3631] - Implement stout/windows/net.hpp
* [MESOS-3633] - Port stout/path.hpp to Windows
* [MESOS-3640] - Implement stout/os/windows/ls.hpp
* [MESOS-3645] - Implement stout/os/windows/stat.hpp
* [MESOS-3658] - Port stout/protobuf.hpp to Windows
* [MESOS-3659] - Port slave/paths.hpp to Windows
* [MESOS-3660] - Port slave/state.hpp to Windows
* [MESOS-3693] - Port stout/os/open.hpp to Windows
* [MESOS-3861] - Authenticate quota requests
* [MESOS-3862] - Authorize set quota requests.
* [MESOS-3864] - Simplify and/or document the libprocess initialization synchronization logic
* [MESOS-3882] - Libprocess: Implement process::Clock::finalize
* [MESOS-3911] - Add a `--force` flag to disable sanity check in quota
* [MESOS-3912] - Rescind offers in order to satisfy quota
* [MESOS-3925] - Add HDFS based URI fetcher plugin.
* [MESOS-3951] - Make HDFS tool wrappers asynchronous.
* [MESOS-3981] - Implement recovery in the Hierarchical allocator
* [MESOS-3983] - Tests for quota request validation
* [MESOS-3984] - Tests for quota support in `allocate()` function.
* [MESOS-3985] - Tests for rescinding offers for quota
* [MESOS-4013] - Introduce status endpoint for quota
* [MESOS-4014] - Introduce remove endpoint for quota
* [MESOS-4064] - Add ContainerInfo to internal Task protobuf.
* [MESOS-4081] - Authorize quota removal
* [MESOS-4087] - Introduce a module for logging executor/task output
* [MESOS-4088] - Modularize existing plain-file logging for executor/task logs launched with the Mesos Containerizer
* [MESOS-4116] - Add tests for quotas + empty roles (no registered frameworks)
* [MESOS-4137] - Modularize plain-file logging for executor/task logs launched with the Docker Containerizer
* [MESOS-4150] - Implement container logger module metadata recovery
* [MESOS-4220] - Introduce result_of with C++14 semantics to stout.
* [MESOS-4221] - Invoke _Deferred's implicit conversion operator explicitly.
* [MESOS-4228] - Use std::is_bind_expression to reroute the result of std::bind.
* [MESOS-4236] - Create a design document for jsonify
* [MESOS-4237] - Introduce `jsonify` to stout.
* [MESOS-4238] - Update `Master::Http::state` to use the `jsonify` facility.
* [MESOS-4239] - Update relevant libprocess components to support the `jsonify` facility.
* [MESOS-4240] - Pull provisioner from linux filesystem isolator to Mesos containerizer.
* [MESOS-4378] - Add Source to Resource.DiskInfo.
* [MESOS-4380] - Adjust Resource arithmetics for DiskInfo.Source.
* [MESOS-4400] - Create persistent volume directories based on DiskInfo.Source.
* [MESOS-4402] - Update filesystem isolators to look for persistent volume directories from the correct location.
* [MESOS-4403] - Check paths in DiskInfo.Source.Path exist during slave initialization.
* [MESOS-4415] - Implement stout/os/windows/rmdir.hpp
* [MESOS-4506] - Posix disk isolator should ignore disk quota enforcement for MOUNT type disk resources.
* [MESOS-4526] - Include the allocated portion of reserved resources in the role sorter for DRF.
* [MESOS-4527] - Include allocated portion of the reserved resources in the quota role sorter for DRF.
* [MESOS-4528] - Account for reserved resources in the quota guarantee check.
* [MESOS-4529] - Update the allocator to not offer unreserved resources beyond quota.
** Wish
* [MESOS-3962] - Add labels to the message Port
Release Notes - Mesos - Version 0.26.0
--------------------------------------
** API Changes:
* [MESOS-3560] - Fix JSON-based credential files by changing protobuf `Credential` field `secret` from bytes to string.
* [MESOS-3824] - Add /frameworks endpoint to master.
** Bug
* [MESOS-1867] - Precision errors in UI.
* [MESOS-2864] - Master should not change the state of a terminal task if it receives another terminal update.
* [MESOS-3030] - Build failure on OS 10.11 using Xcode 7.
* [MESOS-3280] - Master fails to access replicated log after network partition.
* [MESOS-3293] - Failing ROOT_ tests on CentOS 7.1 - LimitedCpuIsolatorTest.
* [MESOS-3326] - Make use of C++11 atomics.
* [MESOS-3329] - Unused hashmap::existsValue functions have incomplete code paths.
* [MESOS-3411] - ReservationEndpointsTest.AvailableResources appears to be faulty.
* [MESOS-3428] - Support running filesystem isolation with Command Executor in MesosContainerizer.
* [MESOS-3470] - UserCgroupIsolatorTest failed on CentOS 6.6.
* [MESOS-3501] - Configure cannot find libevent headers in CentOS 6.
* [MESOS-3506] - Build instructions for CentOS 6.6 should include `sudo yum update`.
* [MESOS-3517] - Building mesos from source fails when OS language is not English.
* [MESOS-3519] - Fix file descriptor leakage / double close in the code base.
* [MESOS-3522] - MesosScheduler declineOffer results in an acceptOffer.
* [MESOS-3552] - CHECK failure due to floating point precision on reservation request.
* [MESOS-3553] - LIBPROCESS_IP not passed when executor's environment is specified.
* [MESOS-3560] - JSON-based credential files do not work correctly.
* [MESOS-3563] - Revocable task CPU shows as zero in /state.json.
* [MESOS-3569] - Typos in Mesos Monitoring doc page.
* [MESOS-3584] - Rename libprocess tests to "libprocess-tests".
* [MESOS-3591] - mesos-slave: --help output for "--master" is incomplete.
* [MESOS-3594] - Rename http_api_tests.cpp to scheduler_http_api_tests.cpp.
* [MESOS-3597] - Running tests with CMake are annoying and have a bad reporting story.
* [MESOS-3600] - Unable to build with non-default protobuf.
* [MESOS-3602] - hdfs du fails due to prepended / on path.
* [MESOS-3603] - Test build failure due to comparison between signed and unsigned integers.
* [MESOS-3604] - ExamplesTest.PersistentVolumeFramework does not work in OS X El Capitan.
* [MESOS-3605] - hdfs.du() fails on os x due to lack of native-hadoop library.
* [MESOS-3694] - Enable building mesos.apache.org locally in a Docker container.
* [MESOS-3698] - JSON parsing allows non-whitespace trailing characters.
* [MESOS-3700] - Deprecate resource_monitoring_interval flag.
* [MESOS-3708] - Improve process::subprocess ABORT message.
* [MESOS-3715] - Enable Request resource using Call::REQUEST in scheduler driver.
* [MESOS-3716] - Update Allocator interface to support quota.
* [MESOS-3728] - Libprocess: Flaky behavior on test suite when finalizing.
* [MESOS-3733] - ContentType/SchedulerTest.Suppress/0 is flaky.
* [MESOS-3734] - Incorrect sed syntax for Mac OSX.
* [MESOS-3738] - Mesos health check is invoked incorrectly when Mesos slave is within the docker container.
* [MESOS-3743] - Provide diagnostic output in agent log when fetching fails.
* [MESOS-3748] - HTTP scheduler library does not gracefully parse invalid resource identifiers.
* [MESOS-3751] - MESOS_NATIVE_JAVA_LIBRARY not set on MesosContainerize tasks with --executor_environmnent_variables.
* [MESOS-3769] - Agent logs are misleading during agent shutdown.
* [MESOS-3770] - SlaveRecoveryTest/0.RecoverCompletedExecutor is flaky.
* [MESOS-3771] - Mesos JSON API creates invalid JSON due to lack of binary data / non-ASCII handling.
* [MESOS-3773] - RegistryClientTest.SimpleGetBlob is flaky.
* [MESOS-3793] - Cannot start mesos local on a Debian GNU/Linux 8 docker machine.
* [MESOS-3800] - Containerizer attempts to create Linux launcher by default.
* [MESOS-3806] - 'mount --make-rslave /' does not work as expected on ubuntu 14.04.
* [MESOS-3810] - Must be able to use NetworkInfo with mesos-executor.
* [MESOS-3822] - Cannot specify multiple masters when slave start up.
* [MESOS-3834] - Slave upgrade framework checkpoint incompatibility.
* [MESOS-3837] - Rootfs in provisioner test doesn't handle symlink directories properly.
* [MESOS-3840] - Build broken: 'adding 'bool' to a string does not append to the string' in filesystem tests.
* [MESOS-3847] - Root tests for LinuxFilesystemIsolatorTest are broken.
* [MESOS-3849] - Corrected style in Makefiles.
* [MESOS-3937] - Test DockerContainerizerTest.ROOT_DOCKER_Launch_Executor fails.
* [MESOS-3953] - DockerTest.ROOT_DOCKER_CheckPortResource fails.
* [MESOS-3964] - LimitedCpuIsolatorTest.ROOT_CGROUPS_Cfs and LimitedCpuIsolatorTest.ROOT_CGROUPS_Cfs_Big_Quota fail on Debian 8.
* [MESOS-3966] - LinuxFilesystemIsolatorTest.ROOT_ImageInVolumeWithRootFilesystem fails on Centos 7.1.
* [MESOS-3969] - Failing 'make distcheck' on Debian 8, somehow SSL-related.
* [MESOS-3974] - CgroupsAnyHierarchyMemoryPressureTest tests fail on CentOS 6.7.
* [MESOS-3975] - SSL build of mesos causes flaky testsuite.
* [MESOS-3989] - Add missing DiscoveryInfo field to v1/mesos.proto.
* [MESOS-4106] - The health checker may fail to inform the executor to kill an unhealthy task after max_consecutive_failures.
** Documentation
* [MESOS-2783] - Document the fetcher.
* [MESOS-3692] - Clarify error message 'could not chown work directory'.
* [MESOS-3749] - Configuration docs are missing --enable-libevent and --enable-ssl.
* [MESOS-3752] - CentOS 6 dependency install fails at Maven.
* [MESOS-3905] - Five new docker-related slave flags are not covered by the configuration documentation.
** Improvement
* [MESOS-1841] - Mesos components should expose their version on an endpoint.
* [MESOS-2035] - Add reason to containerizer proto Termination.
* [MESOS-2273] - Add "tests" target to Makefile for building-but-not-running tests.
* [MESOS-2467] - Allow --resources flag to take JSON.
* [MESOS-2613] - Change docker rm command.
* [MESOS-2924] - Allow simple construction via initializer list on hashset.
* [MESOS-2960] - Configure DiscoveryInfo and Visibility per port.
* [MESOS-2972] - Serialize Docker image spec as protobuf.
* [MESOS-3099] - Validation of Docker Image Manifests from Docker Registry.
* [MESOS-3366] - Allow resources/attributes discovery.
* [MESOS-3417] - Log source address replicated log received broadcasts.
* [MESOS-3429] - Allow HTTP response codes in libprocess to be matched.
* [MESOS-3468] - Improve apply_reviews.sh script to apply chain of reviews.
* [MESOS-3554] - Allocator changes trigger large re-compiles.
* [MESOS-3566] - Add a section to the Scheduler HTTP API docs around RecordIO specification.
* [MESOS-3721] - We need the active flag on frameworks in the /state-summary endpoint.
* [MESOS-3735] - Mesos master should expose the version of registered agents.
* [MESOS-3759] - Document messages.proto.
* [MESOS-3788] - Clarify NetworkInfo semantics for IP addresses and group policies.
* [MESOS-3819] - Add documentation explaining "roles".
* [MESOS-4015] - Expose task / executor health in master & slave state.json.
** Task
* [MESOS-1832] - Slave should accept PingSlaveMessage but not "PING" message.
* [MESOS-2224] - Add explanatory comments for Allocator interface.
* [MESOS-2295] - Implement the Call endpoint on Slave.
* [MESOS-2906] - Slave : Synchronous Validation for Calls.
* [MESOS-3104] - Add an endpoint that exposes component flags.
* [MESOS-3129] - Move all MesosContainerizer related files under src/slave/containerizer/mesos.
* [MESOS-3332] - Support HTTP Pipelining in libprocess (http::post).
* [MESOS-3405] - Add JSON::protobuf for google::protobuf::RepeatedPtrField.
* [MESOS-3407] - Mesos fetcher automatically extract gz files.
* [MESOS-3480] - Refactor Executor struct in Slave to handle HTTP based executors.
* [MESOS-3762] - Refactor SSLTest fixture such that MesosTest can use the same helpers.
* [MESOS-3824] - Add /frameworks endpoint to master.
* [MESOS-3845] - Send TaskStatus::container_status inside reconciliation updates.
* [MESOS-3900] - Enable mesos-reviewbot project on jenkins to use docker.
Release Notes - Mesos - Version 0.25.0
--------------------------------------
This release contains:
* [MESOS-1474] - Experimental support for maintenance primitives. Please refer
to maintenance.md for more information.
* [MESOS-2600] - Added master endpoints /reserve and /unreserve for dynamic
reservations. Please refer to reservation.md for more
information.
* [MESOS-2044] - Extended Module APIs to enable IP per container assignment,
isolation and resolution.
** API Changes
* [MESOS-3037] - Add a SUPPRESS call to the scheduler.
** Bug
* [MESOS-2635] - Web UI Display Bug when starting lots of tasks with small cpu value.
* [MESOS-2986] - Docker version output is not compatible with Mesos.
* [MESOS-3046] - Stout's UUID re-seeds a new random generator during each call to UUID::random.
* [MESOS-3051] - performance issues with port ranges comparison.
* [MESOS-3052] - Allocator performance issue when using a large number of filters.
* [MESOS-3136] - COMMAND health checks with Marathon 0.10.0 are broken.
* [MESOS-3169] - FrameworkInfo should only be updated if the re-registration is valid.
* [MESOS-3185] - Refactor Subprocess logic in linux/perf.cpp to use common subroutine.
* [MESOS-3239] - Refactor master HTTP endpoints help messages such that they cannot be out of sync.
* [MESOS-3245] - The comments of DRFSorter::dirty is not correct.
* [MESOS-3254] - Cgroup CHECK fails test harness.
* [MESOS-3258] - Remove Frameworkinfo capabilities on re-registration.
* [MESOS-3261] - Move QoS plug-ins to a specified folder like resource_estimator.
* [MESOS-3269] - The comments of Master::updateSlave() is not correct.
* [MESOS-3282] - Web UI no longer shows Tasks information.
* [MESOS-3344] - Add more comments for strings::internal::fmt.
* [MESOS-3351] - duplicated slave id in master after master failover.
* [MESOS-3387] - Refactor MesosContainerizer to accept namespace dynamically.
* [MESOS-3408] - Labels field of FrameworkInfo should be added into v1 mesos.proto.
* [MESOS-3411] - ReservationEndpointsTest.AvailableResources appears to be faulty.
* [MESOS-3423] - Perf event isolator stops performing sampling if a single timeout occurs.
* [MESOS-3426] - process::collect and process::await do not perform discard propagation.
* [MESOS-3430] - LinuxFilesystemIsolatorTest.ROOT_PersistentVolumeWithoutRootFilesystem fails on CentOS 7.1.
* [MESOS-3450] - Update Mesos C++ Style Guide for namespace usage.
* [MESOS-3451] - Failing tests after changes to Isolator/MesosContainerizer API.
* [MESOS-3458] - Segfault when accepting or declining inverse offers.
* [MESOS-3474] - ExamplesTest.{TestFramework, JavaFramework, PythonFramework} failed on CentOS 6.
* [MESOS-3489] - Add support for exposing Accept/Decline responses for inverse offers.
* [MESOS-3490] - Mesos UI fails to represent JSON entities.
* [MESOS-3512] - Don't retry close() on EINTR.
* [MESOS-3513] - Cgroups Test Filters aborts tests on Centos 6.6.
* [MESOS-3519] - Fix file descriptor leakage / double close in the code base.
* [MESOS-3538] - CgroupsNoHierarchyTest.ROOT_CGROUPS_NOHIERARCHY_MountUnmountHierarchy test is flaky.
* [MESOS-3575] - V1 API java/python protos are not generated.
** Documentation
* [MESOS-2083] - Add documentation for maintenance primitives.
* [MESOS-2466] - Write documentation for all the LIBPROCESS_* environment variables.
* [MESOS-3230] - Create a HTTP based Authentication design doc.
* [MESOS-3492] - Expose maintenance user doc via the documentation home page.
* [MESOS-3508] - Update docs for Agent's --launcher flag.
* [MESOS-3516] - Add user doc for networking support in Mesos 0.25.0.
** Improvement
* [MESOS-2719] - Deprecating '.json' extension in master endpoints urls.
* [MESOS-2757] - Add -> operator for Option<T>, Try<T>, Result<T>, Future<T>.
* [MESOS-2875] - Add containerId to ResourceUsage to enable QoS controller to target a container.
* [MESOS-2964] - libprocess io does not support peek().
* [MESOS-2983] - Deprecating '.json' extension in slave endpoints url.
* [MESOS-2984] - Deprecating '.json' extension in files endpoints url.
* [MESOS-3037] - Add a SUPPRESS call to the scheduler.
* [MESOS-3187] - Docker cli option support.
* [MESOS-3304] - Remove remnants of LIBPROCESS_STATISTICS_WINDOW.
* [MESOS-3312] - Factor out JSON to repeated protobuf conversion.
* [MESOS-3340] - Command-line flags should take precedence over OS Env variables.
* [MESOS-3347] - Remove dead code in src/linux/perf.cpp.
* [MESOS-3377] - mesos docker container with container_name as ENV variable.
* [MESOS-3457] - Add flag to disable hostname lookup.
** Task
* [MESOS-1831] - Master should send PingSlaveMessage instead of "PING".
* [MESOS-1935] - Replace hard-coded reap interval with a constant.
* [MESOS-2061] - Add InverseOffer protobuf message.
* [MESOS-2062] - Add InverseOffer to Event/Call API.
* [MESOS-2066] - Add optional 'Unavailability' to resource offers to provide maintenance awareness.
* [MESOS-2067] - Add HTTP API to the master for maintenance operations.
* [MESOS-2600] - Add /reserve and /unreserve endpoints on the master for dynamic reservation.
* [MESOS-2907] - Agent : Create Basic Functionality to handle /call endpoint.
* [MESOS-3015] - Add hooks for Slave exits.
* [MESOS-3038] - Resource offers do not contain Unavailability, given a maintenance schedule.
* [MESOS-3042] - Master/Allocator does not send InverseOffers to resources to be maintained.
* [MESOS-3043] - Master does not handle InverseOffers in the Accept call (Event/Call API).
* [MESOS-3045] - Maintenance information is not populated in case of failover.
* [MESOS-3066] - Replicated registry needs a representation of maintenance schedules.
* [MESOS-3069] - Registry operations do not exist for manipulating maintanence schedules.
* [MESOS-3217] - Replace boost unordered_{set,map} and hash with std versions.
* [MESOS-3223] - Implement token manager for docker registry.
* [MESOS-3265] - Starting maintenance needs to deactivate agents and kill tasks.
* [MESOS-3266] - Stopping/Completing maintenance needs to reactivate agents.
* [MESOS-3299] - Add a protobuf to represent time with integer precision.
* [MESOS-3310] - Support provisioning images specified in volumes.
* [MESOS-3345] - Expand the range of integer precision when converting into/out of json.
* [MESOS-3346] - Add filter support for inverse offers.
* [MESOS-3375] - Add executor protobuf to v1.
* [MESOS-3395] - In CMake build system, download third party dependencies from a "trusted channel" instead of from Mesos GitHub mirror.
* [MESOS-3419] - Add HELP message for reserve/unreserve endpoint.
* [MESOS-3425] - Modify LinuxLauncher to support Systemd.
* [MESOS-3459] - Change /machine/up and /machine/down endpoints to take an array.
* [MESOS-3510] - Synchronize V1 helper functions with pre-v1.
* Work In Progress:
* Functionality for endpoint 'api/v1/executor' introduced on 'Agent' is incomplete.
Release Notes - Mesos - Version 0.24.1
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-2986] - Docker version output is not compatible with Mesos
* [MESOS-3136] - COMMAND health checks with Marathon 0.10.0 are broken
Release Notes - Mesos - Version 0.24.0
--------------------------------------
This release contains experimental v1 scheduler HTTP API. This allows framework schedulers
to send HTTP requests to master endpoint ('/api/v1/scheduler') without the need for a driver.
The release also includes these features:
* [MESOS-336] - Mesos slave should cache executors
* API Changes:
* [MESOS-2293] - Implement the scheduler endpoint on master
* [MESOS-3135] - Publish MasterInfo to ZK using JSON
* Binary API Changes (e.g., new flags)
* [MESOS-3154] - Enable Mesos Agent Node to use arbitrary script / module to figure out IP, HOSTNAME
* [MESOS-809] - External control of the ip that Mesos components publish to zookeeper
* Deprecations:
* [MESOS-2736] - MasterInfo `ip`, `port` and `hostname` are deprecated in
favor of using the `address` field (see `Address` protobuf)
* Work In Progress:
* Support for 'Image' field added to 'Volume' and 'ContainerInfo' protobufs is incomplete.
This release also includes several bug fixes and stability improvements.
** Bug
* [MESOS-2166] - PerfEventIsolatorTest.ROOT_CGROUPS_Sample requires 'perf' to be installed
* [MESOS-2337] - __init__.py not getting installed in $PREFIX/lib/pythonX.Y/site-packages/mesos
* [MESOS-2480] - Protobuf jar is required for unbundled protobuf regardless of --disable-java flag.
* [MESOS-2493] - google glog link is incorrect
* [MESOS-2497] - Create synchronous validations for Calls
* [MESOS-2552] - C++ Scheduler library should send HTTP Calls to master
* [MESOS-2559] - Do not use RunTaskMessage.framework_id.
* [MESOS-2660] - ROOT_CGROUPS_Listen and ROOT_IncreaseRSS tests are flaky
* [MESOS-2862] - mesos-fetcher won't fetch uris which begin with a " "
* [MESOS-2868] - --attributes flag in slave cannot take a value with ':'
* [MESOS-2882] - Duplicate name-value env-vars in '-e' option of docker run
* [MESOS-2900] - Display capabilities in state.json
* [MESOS-2989] - Changing to "framework" from "framwork"
* [MESOS-3001] - Create a "demo" HTTP API client
* [MESOS-3002] - Rename Option<T>::get(const T& _t) to getOrElse() broke network isolator
* [MESOS-3027] - Compiler warning in stout subcommand tests
* [MESOS-3058] - Cgroup tests relies on cgroups::get() returning in a specific order
* [MESOS-3079] - `sudo make distcheck` fails on Ubuntu 14.04 (and possibly other OSes too)
* [MESOS-3121] - Always disable SSLV2
* [MESOS-3124] - Updating persistent volumes after slave restart is problematic.
* [MESOS-3138] - PersistentVolumeTest.SlaveRecovery test fails on OSX
* [MESOS-3141] - Compiler warning when mocking function type has an enum return type.
* [MESOS-3143] - Disable endpoints rule fails to recognize HTTP path delegates
* [MESOS-3148] - Resolve issue with hanging tests with Zookeeper
* [MESOS-3168] - MesosZooKeeperTest fixture can have side effects across tests
* [MESOS-3170] - 0.23 Build fails when compiling against -lsasl2 which has been statically linked
* [MESOS-3175] - subprocess_tests.cpp:598 delete used but allocated with new[]
* [MESOS-3178] - Perform a self bind mount of rootfs itself in fs::chroot::enter.
* [MESOS-3192] - ContainerInfo::Image::AppC::id should be optional
* [MESOS-3195] - Fix master metrics for scheduler calls
* [MESOS-3197] - MemIsolatorTest/{0,1}.MemUsage fails on OS X
* [MESOS-3201] - Libev handle_async can deadlock with run_in_event_loop
* [MESOS-3203] - MasterAuthorizationTest.DuplicateRegistration test is flaky
* [MESOS-3204] - PortMappingIsolatorProcess shell script can silently fail
* [MESOS-3207] - C++ style guide is not rendered correctly (code section syntax disregarded)
* [MESOS-3209] - parameterize allocator benchmark by framework count
* [MESOS-3234] - enable automake maintainer mode
* [MESOS-3237] - HTTP requests with nested path are not properly handled by libprocess
* [MESOS-3238] - Master endpoint help message is incorrect
* [MESOS-3260] - SchedulerTest.* are broken on OSX and CentOS
* [MESOS-3262] - HTTPTest.NestedGet is flaky
* [MESOS-3263] - SchedulerTask.KillTest fails for JSON Requests
* [MESOS-3267] - JSON serialization/deserialization of bytes is incorrect
* [MESOS-3274] - Build error with port mapping isolator
* [MESOS-3275] - ContentType/HttpApiTest.UpdatePidToHttpSchedulerWithoutForce is flaky
* [MESOS-3284] - JSON representation of Protobuf should use base64 encoding for 'bytes' fields.
* [MESOS-3287] - downloadWithHadoop tries to access Error() for a valid Try<bool>
* [MESOS-3290] - Master should drop HTTP calls when it's recovering
** Documentation
* [MESOS-1838] - Add documentation for Authentication
* [MESOS-2555] - Document issue with slave recovery when using systemd.
* [MESOS-3087] - Typos in oversubscription doc
* [MESOS-3167] - Design doc for versioning the HTTP API
* [MESOS-3278] - Add the revocable metrics information in monitoring doc
* [MESOS-3281] - Create a user doc for Scheduler HTTP API
* [MESOS-3286] - Revocable metrics information are missed for slave node
** Improvement
* [MESOS-2350] - Add support for MesosContainerizerLaunch to chroot to a specified path
* [MESOS-2794] - Implement filesystem isolators
* [MESOS-2795] - Introduce filesystem provisioner abstraction
* [MESOS-2798] - Export statistics on "unevictable" memory
* [MESOS-2800] - Rename Option<T>::get(const T& _t) to getOrElse() and refactor the original function
* [MESOS-2841] - FrameworkInfo should include a Labels field to support arbitrary, lightweight metadata
* [MESOS-2880] - Add Frameworkinfo.capabilities on framework re-registration
* [MESOS-2902] - Enable Mesos to use arbitrary script / module to figure out IP, HOSTNAME
* [MESOS-2924] - Allow simple construction via initializer list on hashset.
* [MESOS-2946] - Authorizer Module: Interface design
* [MESOS-2947] - Authorizer Module: Implementation, Integration & Tests
* [MESOS-2951] - Inefficient container usage collection
* [MESOS-2965] - Add implicit cast to string operator to Path.
* [MESOS-2967] - Missing doxygen documentation for libprocess socket interface
* [MESOS-3020] - Expose major, minor and patch components from stout Version
* [MESOS-3054] - update gitignore
* [MESOS-3093] - Support HTTPS requests in libprocess
* [MESOS-3112] - Fetcher should perform cache eviction based on cache file usage patterns.
* [MESOS-3118] - Remove pthread specific code from Stout
* [MESOS-3119] - Remove pthread specific code from Libprocess
* [MESOS-3120] - Remove pthread specific code from Mesos
* [MESOS-3127] - Improve task reconciliation documentation.
* [MESOS-3173] - Mark Path::basename, Path::dirname as const functions.
* [MESOS-3182] - Make Master::registerFramework() and Master::reregisterFramework() call into Master::subscribe()
** Story
* [MESOS-2860] - Create the basic infrastructure to handle /scheduler endpoint
* [MESOS-3142] - As a Developer I want a better way to run shell commands
* [MESOS-3211] - As a Python developer I want a simple way to obtain information about Master from ZooKeeper
* [MESOS-3212] - As a Java developer I want a simple way to obtain information about Master from ZooKeeper
** Task
* [MESOS-2294] - Implement the Events stream on master for Call endpoint
* [MESOS-2640] - Remove old frameworks and ec2 scripts from core Mesos repository
* [MESOS-2910] - Add an Event message handler to scheduler driver
* [MESOS-2913] - Scheduler driver should send Call messages to the master
* [MESOS-2933] - Pass slave's total resources to the ResourceEstimator and QoSController via Slave::usage().
* [MESOS-2961] - Add cpuacct subsystem utils to cgroups
* [MESOS-3012] - Support existing message passing optimization with Event/Call.
* [MESOS-3067] - Implement a streaming response decoder for events stream
* [MESOS-3088] - Update scheduler driver to send SUBSCRIBE call
* [MESOS-3089] - Update scheduler library to send REQUEST call
* [MESOS-3101] - Standardize separation of Windows/Linux-specific OS code
* [MESOS-3102] - Separate OS-specific code in the stout library
* [MESOS-3130] - Custom isolators should implement Isolator instead of IsolatorProcess.
* [MESOS-3131] - Master should send heartbeats on the subscription connection
* [MESOS-3132] - Allow slave to forward messages through the master for HTTP schedulers.
* [MESOS-3145] - Using a unresolvable hostname crashes the framework on registration
* [MESOS-3149] - Use setuptools to install python cli package
* [MESOS-3162] - Provide a means to check http connection equality for streaming connections.
* [MESOS-3179] - Create a test abstraction for preparing test rootfs.
* [MESOS-3194] - Implement a 'read-only' AppC Image Store
** Wish
* [MESOS-3276] - Add Scrapinghub to the Powered By Mesos page
Release Notes - Mesos - Version 0.23.1
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-2986] - Docker version output is not compatible with Mesos
* [MESOS-3136] - COMMAND health checks with Marathon 0.10.0 are broken
Release Notes - Mesos - Version 0.23.0
--------------------------------------
This release contains new features:
* [MESOS-1585] - Per-container network isolation: bandwidth capping and unique
egress flow to reduce buffer bloat. Refer to the network
monitoring and isolation documentation for more information.
* [MESOS-2115] - Dockerized slaves will properly recover Docker containers upon failover.
Plus an upgrade to the minimum required compiler versions:
* [MESOS-2604] - Upgrade minimum required compilers to GCC 4.8+ or clang 3.5+.
And experimental support for the following features:
* [MESOS-336] - Fetcher Caching of executor/task binaries. Refer to the fetcher
documentation for more information.
* [MESOS-354] - Support for launching tasks/executors on revocable resources.
These resources can be revoked by Mesos at any time, causing the
tasks using them to be throttled or preempted.
* [MESOS-910] - SSL encryption via libevent. Refer to the SSL documentation for
instructions on building and enabling SSL.
* [MESOS-1554] - Frameworks can create Persistent Volumes from disk resources.
Refer to the persistent volume documentation for more information.
* [MESOS-2018] - Frameworks can dynamically reserve resources for their role.
Refer to the reservation documentation for more information.
This release also includes API changes, new modules, and deprecations.
* Binary API Changes (e.g. new flags):
* [MESOS-1913] - Create libevent/SSL-backed Socket implementation
* [MESOS-2110] - Configurable Ping Timeouts
* [MESOS-2155] - Make docker containerizer killing orphan containers optional
* [MESOS-2832] - Enable configuring Mesos with environment variables without
having them leak to tasks launched
* Framework API Changes:
* [MESOS-1127] - Implement the protobufs for the scheduler API
* [MESOS-2097] - Update Resource protobuf with DiskInfo.
* [MESOS-2191] - Add ContainerId to the TaskStatus message
* [MESOS-2292] - Implement Call/Event protobufs for Executor
* [MESOS-2475] - Add the Resource::ReservationInfo protobuf message.
* [MESOS-2614] - Update name, hostname, failover_timeout, and webui_url in
master on framework re-registration
* [MESOS-2654] - A new 'capabilities' field has been added to FrameworkInfo to
opt in to revocable resources.
* [MESOS-2691] - Update Resource message to include revocable resources.
* [MESOS-2955] - Introduce acceptOffers scheduler driver API for performing
operations on Offers
* [MESOS-2957] - Add version to MasterInfo
* Web UI Changes:
* [MESOS-2104] - Correct naming of cgroup memory statistics
* [MESOS-2485] - Added master metrics for slave removal reasons.
* [MESOS-2620] - Implement a mechanism which allows access control of endpoints
* [MESOS-2743] - Include ExecutorInfos for custom executors in master/state.json
* [MESOS-2775] - Added slave metrics for revocable resources.
* [MESOS-2776] - Added master metrics for revocable resources.
* Module API Changes:
* [MESOS-2050] - Revise Authenticator interface
* [MESOS-2351] - Enable label and environment decorators (hooks) to remove
label and environment entries
* [MESOS-2884] - Allow isolators to specify required namespaces
* New Module/Hook interfaces:
* [MESOS-2160] - Add support for allocator modules
* [MESOS-2650] - Modularize the Resource Estimator
* Deprecations:
* [MESOS-2058] - Remove stats.json endpoints for Master and Slave
* [MESOS-2697] - '/master/shutdown' endpoint is deprecated in favor of
the new '/master/teardown' endpoint.
This release also includes several bug fixes and stability improvements.
** Bug
* [MESOS-328] - HTTP headers should be considered case-insensitive.
* [MESOS-719] - missing-call-to-setgroups
* [MESOS-757] - The post-reviews.py script hangs if HTTP authentication has expired
* [MESOS-1303] - ExamplesTest.{TestFramework, NoExecutorFramework} flaky
* [MESOS-1690] - Expose metric for container destroy failures
* [MESOS-1795] - Assertion failure in state abstraction crashes JVM
* [MESOS-1825] - Support the webui over HTTPS.
* [MESOS-2016] - docker_name_prefix is too generic
* [MESOS-2020] - mesos should send docker failure messages to scheduler
* [MESOS-2161] - AbstractState JNI check fails for Marathon framework
* [MESOS-2165] - When cyrus sasl MD5 isn't installed configure passes,
tests fail without any output
* [MESOS-2183] - docker containerizer doesn't work when mesos-slave is
running in a container
* [MESOS-2199] - Failing test: SlaveTest.ROOT_RunTaskWithCommandInfoWithUser
* [MESOS-2309] - Mesos rejects ExecutorInfo as incompatible when there is no
functional difference
* [MESOS-2367] - Improve slave resiliency in the face of orphan containers
* [MESOS-2373] - DRFSorter needs to distinguish resources from different slaves.
* [MESOS-2387] - SlaveTest.TaskLaunchContainerizerUpdateFails is flaky
* [MESOS-2401] - MasterTest.ShutdownFrameworkWhileTaskRunning is flaky
* [MESOS-2402] - MesosContainerizerDestroyTest.LauncherDestroyFailure is flaky
* [MESOS-2403] - MasterAllocatorTest/0.FrameworkReregistersFirst is flaky
* [MESOS-2412] - Potential memleak(s) in stout/os.hpp
* [MESOS-2426] - Developer Guide improvements
* [MESOS-2436] - Adapt unit test relying on non-checkpointing slaves
* [MESOS-2450] - Hardcoded constants in libprocess should be replaced by
their INADDR_XXX equivalents
* [MESOS-2457] - Update post-reviews to rbtools in 'submit your patch' of
developer's guide
* [MESOS-2464] - Authentication failure may lead to slave crash
* [MESOS-2469] - Mesos master/slave should be able to bind to 127.0.0.1 if
explicitly requested
* [MESOS-2479] - Task filter input disappears entirely once the search query
yields no results
* [MESOS-2481] - Update CHANGELOG and upgrades doc about the new acceptOffers API.
* [MESOS-2494] - Clang build broken with "expression result unused" warning
* [MESOS-2514] - Change the default leaf qdisc to fq_codel inside containers
* [MESOS-2530] - Alloc-dealloc-mismatch in OsSendfileTest.sendfile
* [MESOS-2534] - PerfTest.ROOT_SampleInit test fails.
* [MESOS-2538] - Remove unnecessary default flags from PortMappingMesosTest.
* [MESOS-2548] - new `make distcheck` failures inside a docker container
* [MESOS-2557] - Do not pass FrameworkID to Framework constructor for Master/Slave.
* [MESOS-2558] - Mark RunTaskMessage.framework_id as optional
* [MESOS-2566] - Fix the Attributes and Resources documentation
* [MESOS-2592] - The sandbox directory is not chown'ed if the fetcher doesn't run
* [MESOS-2598] - Slave state.json frameworks.executors.queued_tasks wrong format?
* [MESOS-2601] - Tasks are not removed after recovery from slave and mesos containerizer
* [MESOS-2603] - Permissions and ownership of persistent volumes are not set correctly.
* [MESOS-2611] - Get Started about CentOS 6.5 is wrong
* [MESOS-2627] - ExamplesTest.PersistentVolumeFramework is flaky
* [MESOS-2636] - Segfault in inline Try<IP> getIP(const std::string& hostname, int family)
* [MESOS-2656] - Slave should send status update immediately when container
launch fails.
* [MESOS-2659] - update pthread and python autoconf macros
* [MESOS-2660] - ROOT_CGROUPS_Listen test is flaky
* [MESOS-2668] - Slave fails to recover when there are still processes left
in its cgroup
* [MESOS-2671] - Port mapping isolator causes SIGABRT during slave recovery.
* [MESOS-2672] - ContainerizerTest.ROOT_CGROUPS_BalloonFramework flaky
* [MESOS-2690] - --enable-optimize build fails with maybe-uninitialized
* [MESOS-2748] - /help generated links point to wrong URLs
* [MESOS-2764] - Allow Resource Estimator to get Resource Usage information.
* [MESOS-2778] - Non-POD static variables used in fq_codel and ingress.
* [MESOS-2781] - getQdisc function in routing::queueing::internal.cpp returns
incorrect qdisc
* [MESOS-2787] - mesos-ps fails with "KeyError: 'mem_rss_bytes'"
* [MESOS-2788] - mesos-ps truncates memory statistics
* [MESOS-2792] - Remove duplicate literals in ingress & fq_codel queueing disciplines
* [MESOS-2808] - Slave should call into resource estimator whenever it wants
to forward oversubscribed resources
* [MESOS-2809] - Mesos fails to launch Docker images built with large Dockerfiles
* [MESOS-2815] - Flaky test: FetcherCacheHttpTest.HttpCachedSerialized
* [MESOS-2835] - Fix typos in source comments
* [MESOS-2866] - Slave should send oversubscribed resource information after
master failover.
* [MESOS-2869] - OversubscriptionTest.FixedResourceEstimator is flaky
* [MESOS-2873] - style hook prevent's valid markdown files from getting committed
* [MESOS-2874] - Convert PortMappingStatistics to use automatic JSON encoding/decoding
* [MESOS-2877] - Allow libprocess firewall to have more control over the
responses sent on failures
* [MESOS-2881] - Linker error when building Mesos with unbundled dependencies
* [MESOS-2889] - Add SSL switch to python configuration
* [MESOS-2890] - Sandbox URL doesn't work in web-ui when using SSL
* [MESOS-2891] - Performance regression in hierarchical allocator.
* [MESOS-2894] - web UI shows "YYYY" for year instead of year
* [MESOS-2904] - Add slave metric to count container launch failures
* [MESOS-2914] - Port mapping isolator should cleanup unknown orphan containers
after all known orphan containers are recovered during recovery.
* [MESOS-2917] - Specify correct libnl version for configure check
* [MESOS-2919] - Framework can overcommit oversubscribable resources during
master failover.
* [MESOS-2925] - Invalid usage of ATOMIC_FLAG_INIT in member initialization
* [MESOS-2932] - There is a typo in docs/docker-containerizer.md file
* [MESOS-2943] - mesos fails to compile under mac when libssl and libevent are enabled
* [MESOS-2962] - Slave fails with Abort stacktrace when DNS cannot resolve hostname
* [MESOS-2973] - SSL tests don't work with --gtest_repeat
* [MESOS-2975] - SSL tests don't work with --gtest_shuffle
* [MESOS-2986] - Docker version output is not compatible with Mesos
* [MESOS-2991] - Compilation Error on Mac OS 10.10.4 with clang 3.5.0
* [MESOS-2993] - Document per container unique egress flow and network queueing statistics
* [MESOS-2996] - Failing Docker tests on CentOS Linux release 7.1.1503.
* [MESOS-2997] - SSL connection failure causes failed CHECK.
* [MESOS-3005] - SSL tests can fail depending on hostname configuration
* [MESOS-3025] - 0.22.x scheduler driver drops 0.23.x reconciliation status
updates due to missing StatusUpdate.uuid.
* [MESOS-3034] - ReservationTest.CompatibleCheckpointedResources is flaky
* [MESOS-3055] - Master doesn't properly handle SUBSCRIBE call
* [MESOS-3060] - FTP response code for success not recognized by fetcher.
** Documentation
* [MESOS-2205] - Add user documentation for reservations
* [MESOS-2395] - Slave recovery documentation shows incorrect recover flag
* [MESOS-2416] - Update or delete release guide in confluence wiki
* [MESOS-2525] - Missing information in Python interface launchTasks scheduler method
* [MESOS-2616] - Update C++ style guide on variable naming.
* [MESOS-2621] - Create documentation for observability metrics
* [MESOS-2622] - Document the semantic change in decorator return values
* [MESOS-2783] - document the fetcher
* [MESOS-2886] - Capture some testing patterns we use in a doc
* [MESOS-2942] - Create documentation for using SSL
* [MESOS-2992] - Improve attribute documentation to reflect current state
* [MESOS-3033] - Add user guide for oversubscription
** Improvement
* [MESOS-692] - Reservations are not reported in master's state.json
* [MESOS-994] - Add an Option<string> os::getenv() to stout
* [MESOS-1733] - Change the stout path utility to declare a single, variadic
'join' function instead of several separate declarations of
various discrete arities
* [MESOS-1991] - Remove dynamic allocation from Option
* [MESOS-2023] - mesos-execute should allow setting environment variables
* [MESOS-2057] - Concurrency control for fetcher cache
* [MESOS-2069] - Basic fetcher cache functionality
* [MESOS-2070] - Implement simple slave recovery behavior for fetcher cache
* [MESOS-2072] - Fetcher cache eviction
* [MESOS-2074] - Fetcher cache test fixture
* [MESOS-2103] - Expose number of processes and threads in a container
* [MESOS-2111] - Add build instructions for OSX in getting started
* [MESOS-2136] - Expose per-cgroup memory pressure
* [MESOS-2277] - Document undocumented HTTP endpoints
* [MESOS-2323] - write flags to log at startup
* [MESOS-2332] - Report per-container metrics for network bandwidth throttling
* [MESOS-2333] - Securing Sandboxes via Filebrowser Access Control
* [MESOS-2340] - Add ability to decode JSON serialized MasterInfo from ZK
* [MESOS-2374] - Support relative host paths for container volumes
* [MESOS-2392] - Rate limit slaves removals during master recovery.
* [MESOS-2400] - Improve NsTest.ROOT_setns
* [MESOS-2438] - Improve support for streaming HTTP Responses in libprocess.
* [MESOS-2454] - Add support for /proc/self/mountinfo on Linux
* [MESOS-2461] - Slave should provide details on processes running in its cgroups
* [MESOS-2462] - Add option for Subprocess to set a death signal for the forked child
* [MESOS-2507] - Performance issue in the master when a large number of
slaves are registering.
* [MESOS-2519] - Log IP addresses from HTTP requests
* [MESOS-2527] - Add default bind to socket
* [MESOS-2528] - Symlink the namespace handle with ContainerID for the port
mapping isolator.
* [MESOS-2547] - Cleanup stale bind mounts for port mapping isolator during
slave recovery.
* [MESOS-2549] - Remove non-variadic strings::format
* [MESOS-2550] - Mesos doesn't compile with clang 3.6
* [MESOS-2565] - Clean up style and comments in modules.
* [MESOS-2571] - Expose Memory Pressure in MemIsolator
* [MESOS-2573] - Use Memory Test Helper to improve some test code.
* [MESOS-2595] - Create docker executor
* [MESOS-2608] - test-framework should support principal only credential
* [MESOS-2609] - Move StatusUpdateStream implementation to a compilation unit
* [MESOS-2624] - "configure" should fail when "patch" is not available.
* [MESOS-2653] - Slave should act on correction events from QoS controller
* [MESOS-2666] - use standard compiler detection macros
* [MESOS-2680] - Update modules doc with hook usage example
* [MESOS-2693] - Printing a resource should show information about
reservation, disk etc
* [MESOS-2709] - Design Master discovery functionality for HTTP-only clients
* [MESOS-2716] - Add non-const reference version of Option<T>::get.
* [MESOS-2729] - Update DRF sorter to update total resources
* [MESOS-2745] - Add 'Path' to stout's user guide
* [MESOS-2752] - Add HTB queueing discipline wrapper class
* [MESOS-2784] - Added constexpr to C++11 whitelist.
* [MESOS-2793] - Add support for container rootfs to Mesos isolators
* [MESOS-2801] - Remove dynamic allocation from Future<T>
* [MESOS-2804] - Log framework capabilities in the master.
* [MESOS-2805] - Make synchronized as primary form of synchronization.
* [MESOS-2836] - Report per-container metrics for network bandwidth
throttling to the slave
* [MESOS-2837] - Decode network statistics from mesos-network-helper
* [MESOS-2870] - Add validation capability to stout Flags
* [MESOS-2888] - Add SSL socket tests
* [MESOS-2928] - Update stout #include headers
* [MESOS-2940] - Reconciliation is expensive for large numbers of tasks.
* [MESOS-2958] - Update Call protobuf to move top level FrameworkInfo inside Subscribe
* [MESOS-2966] - socket::peer() and socket::address() might fail with SSL enabled
** Story
* [MESOS-1552] - Mesos javadoc should include .proto javadoc
* [MESOS-2551] - C++ Scheduler library should send Call messages to Master
* [MESOS-2746] - As a Framework User I want to be able to discover my Task's IP
** Task
* [MESOS-1598] - Add advanced shaping controls to routing library
* [MESOS-1856] - Support specifying libnl3 install location.
* [MESOS-2031] - Manage persistent directories on slave.
* [MESOS-2085] - Add support encrypted and non-encrypted communication in
parallel for cluster upgrade
* [MESOS-2108] - Add configure flag or environment variable to enable
SSL/libevent Socket
* [MESOS-2123] - Document changes in C++ Resources API in CHANGELOG.
* [MESOS-2139] - Enable the master to handle reservation operations
* [MESOS-2213] - Custom allocators should implement Allocator instead of
AllocatorProcess
* [MESOS-2233] - Run ASF CI mesos builds inside docker
* [MESOS-2289] - Design doc for the HTTP API
* [MESOS-2290] - Move all scheduler driver validations to master
* [MESOS-2291] - Move executor driver validations to slave
* [MESOS-2348] - Introduce a new filter abstraction for Resources.
* [MESOS-2366] - MasterSlaveReconciliationTest.ReconcileLostTask is flaky
* [MESOS-2375] - Remove the checkpoint variable entirely from slave/flags.hpp
* [MESOS-2404] - Add an example framework to test persistent volumes.
* [MESOS-2405] - Add user doc for using persistent volumes.
* [MESOS-2422] - Use fq_codel qdisc for egress network traffic isolation
* [MESOS-2427] - Add Java binding for the acceptOffers API.
* [MESOS-2428] - Add Python bindings for the acceptOffers API.
* [MESOS-2476] - Enable Resources to handle Resource::ReservationInfo
* [MESOS-2477] - Enable Resources::apply to handle reservation operations.
* [MESOS-2489] - Enable a framework to perform reservation operations.
* [MESOS-2491] - Persist the reservation state on the slave
* [MESOS-2496] - Make description consistent when adding flags
* [MESOS-2563] - Add license blobs to Java JNI cpp files
* [MESOS-2596] - Update allocator docs
* [MESOS-2597] - Choose allocator based on master flag and loaded modules
* [MESOS-2615] - Pipe 'updateFramework' path from master to Allocator to
support framework re-registration
* [MESOS-2629] - Update style guide to disallow capture by reference of temporaries
* [MESOS-2630] - Remove capture by reference of temporaries in Stout
* [MESOS-2631] - Remove capture by reference of temporaries in libprocess
* [MESOS-2649] - Implement Resource Estimator
* [MESOS-2652] - Update Mesos containerizer to understand revocable cpu resources
* [MESOS-2655] - Implement a stand alone test framework that uses revocable
cpu resources
* [MESOS-2661] - Remove pre-C++11 codepaths
* [MESOS-2662] - Remove <stout/memory.hpp> and switch from memory:: to std::
* [MESOS-2663] - Remove <stout/tuple.hpp> and switch from tuples:: to std::
* [MESOS-2670] - Update existing lambdas to meet style guide
* [MESOS-2677] - Add unrestricted unions to style guide
* [MESOS-2689] - Slave should forward oversubscribable resources to the master
* [MESOS-2730] - Add a new API call to the allocator to update
oversubscribed resources
* [MESOS-2733] - Update master to handle oversubscribed resource estimate
from the slave
* [MESOS-2734] - Update allocator to allocate revocable resources
* [MESOS-2739] - Remove dynamic allocation from Stout Try<T>
* [MESOS-2740] - Remove dynamic allocation from Stout Result<T>
* [MESOS-2753] - Master should validate tasks using oversubscribed resources
* [MESOS-2761] - Delegating constructors are not allowed by styleguide
* [MESOS-2762] - Explicitly-defaulted functions are not allowed by styleguide
* [MESOS-2770] - Slave should forward total amount of oversubscribed
resources to the master
* [MESOS-2773] - Pass callback to the resource estimator to retrieve
ResourceUsage from Resource Monitor on demand.
* [MESOS-2791] - Create a FixedResourceEstimator to return fixed amount of
oversubscribable resources.
* [MESOS-2807] - As a developer I need an easy way to convert MasterInfo
protobuf to/from JSON
* [MESOS-2818] - Pass 'allocated' resources for each executor to the
resource estimator.
* [MESOS-2823] - Pass callback to the QoS Controller to retrieve
ResourceUsage from Resource Monitor on demand.
* [MESOS-2892] - Add benchmark for hierarchical allocator.
* [MESOS-2893] - Add queue size metrics for the allocator.
* [MESOS-2898] - Write tests for new JSON (ZooKeeper) functionality
** Wish
* [MESOS-2510] - Add a function which test if a JSON object is contained in
another JSON object
Release Notes - Mesos - Version 0.22.2
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-2986] - Docker version output is not compatible with Mesos
Release Notes - Mesos - Version 0.22.1
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-1795] - Assertion failure in state abstraction crashes JVM.
* [MESOS-2161] - AbstractState JNI check fails for Marathon framework.
* [MESOS-2583] - Tasks getting stuck in staging.
* [MESOS-2592] - The sandbox directory is not chown'ed if the
fetcher doesn't run.
* [MESOS-2601] - Tasks are not removed after recovery from slave and mesos
containerizer
* [MESOS-2643] - Python scheduler driver disables implicit acknowledgments by
default.
* [MESOS-2668] - Slave fails to recover when there are still processes left in
its cgroup
** Improvement
* [MESOS-2461] - Slave should provide details on processes running in its
cgroups
** Task
* [MESOS-2614] - Update name, hostname, failover_timeout, and webui_url
in master on framework re-registration
Release Notes - Mesos - Version 0.22.0
--------------------------------------
This release contains several new features:
* Support for explicitly sending status updates acknowledgements from
schedulers; refer to the upgrades document for upgrading schedulers.
* Rate limiting slave removal, to safeguard against unforeseen bugs leading to
widespread slave removal.
* Disk quota isolation in Mesos containerizer; refer to the containerization
documentation to enable disk quota monitoring and enforcement.
* Support for module hooks in task launch sequence. Refer to the modules
documentation for more information.
* Anonymous modules: a new kind of module that does not receive any callbacks
but coexists with its parent process.
* New service discovery info in task info allows framework users to specify
discoverability of tasks for external service discovery systems. Refer to
the framework development guide for more information.
* New '--external_log_file' flag to serve external logs through the Mesos web UI.
* New '--gc_disk_headroom' flag to control maxmimum executor sandbox age.
* API Changes:
* [MESOS-1143] - TASK_ERROR is now sent instead of TASK_LOST when rescheduling
a task should not be attempted.
* [MESOS-2086] - Update messages.proto to use a raw bytestream instead of a
string for AuthenticationStartMessage.
* [MESOS-2120] - Task labels which enable key value pairs in task info which
follows them through the task life-cycle.
* [MESOS-2185] - Slave state.json will now include custom resource types in
addition to first-class resource types.
* [MESOS-2208] - Service discovery info for tasks and executors.
* [MESOS-2322] - All arguments can now read their values from a file, just
specify --name=file://path/to/file.
* [MESOS-2347] - The C++/Java/Python APIs have been updated to provide the
ability for schedulers to explicitly send acknowledgements.
TaskStatus now includes a UUID to enable this.
* Deprecations:
* [MESOS-444] - Slave checkpoint flag has been removed as it will be enabled
for all slaves.
* [MESOS-1876] - Remove deprecated 'slave_id' field in ReregisterSlaveMessage.
* [MESOS-2058] - Deprecate stats.json endpoints for Master and Slave and task
status counts from state.json. See /help/metrics endpoint for
more information.
* [MESOS-2322] - Deprecated specifying JSON blobs to parse using an absolute
path to point at the filename.
This release also includes several bug fixes and stability improvements.
** Technical task
* [MESOS-2263] - Enable protobuf::write to handle google::protobuf::RepeatedPtrField<T>
* [MESOS-2264] - Enable protobuf::read to handle google::protobuf::RepeatedPtrField<T>
* [MESOS-2265] - Introduce an os::rename abstraction to stout.
* [MESOS-2266] - Introduce a checkpoint function to support google::protobuf::Repeated<T>
** Bug
* [MESOS-998] - Slave should wait until Containerizer::update() completes
successfully.
* [MESOS-1432] - Atomically set close-on-exec where possible.
* [MESOS-1708] - Using the wrong resource "name" should report a better error.
* [MESOS-1922] - Slave blocks on the fetcher after terminating an executor.
* [MESOS-2008] - MasterAuthorizationTest.DuplicateReregistration is flaky.
* [MESOS-2048] - Fix MesosContainerizerExecuteTest.IoRedirection test.
* [MESOS-2121] - Fix ProcTest.MultipleThreads flaky.
* [MESOS-2167] - Remove empty resource checker in master.
* [MESOS-2176] - Hierarchical allocator inconsistently accounts for
reserved resources.
* [MESOS-2177] - Create socket wrappers for different protocol families.
* [MESOS-2181] - Build failure - overloaded 'socket(int, __socket_type, int)'
is ambiguous.
* [MESOS-2185] - slave state endpoint does not contain all resources in
the resources field.
* [MESOS-2192] - libprocess fails to build under g++-4.6 - src/clock.cpp.
* [MESOS-2206] - Latest health status omitted during reconciliation.
* [MESOS-2225] - FaultToleranceTest.ReregisterFrameworkExitedExecutor is
flaky.
* [MESOS-2228] - SlaveTest.MesosExecutorGracefulShutdown is flaky.
* [MESOS-2232] - Suppress MockAllocator::transformAllocation() warnings.
* [MESOS-2236] - Compilation failure on GCC 4.4.7.
* [MESOS-2241] - DiskUsageCollectorTest.SymbolicLink test is flaky.
* [MESOS-2279] - Future callbacks should be cleared once the future has transitioned.
* [MESOS-2283] - SlaveRecoveryTest.ReconcileKillTask is flaky.
* [MESOS-2302] - FaultToleranceTest.SchedulerFailoverFrameworkMessage is flaky.
* [MESOS-2305] - Refactor validators in Master.
* [MESOS-2306] - MasterAuthorizationTest.FrameworkRemovedBeforeReregistration
is flaky.
* [MESOS-2313] - fix reviewboard setting so all users have same rbt settings.
* [MESOS-2319] - Unable to set --work_dir to a non /tmp device.
* [MESOS-2324] - MasterAllocatorTest/0.OutOfOrderDispatch is flaky.
* [MESOS-2325] - CPU busy loop in libprocess libev clock.
* [MESOS-2326] - Broken OSX Build after fixed bugs in CREATE/DESTROY operation
handlers.
* [MESOS-2328] - http::URL build error with clang 3.3.
* [MESOS-2344] - segfaults running make check from ev integration.
* [MESOS-2355] - MasterTest.SlavesEndpointTwoSlaves fails sometimes because
the master assigns the same ID to both slaves.
* [MESOS-2366] - Fixed a flaky reconciliation test.
* [MESOS-2377] - Fix leak in libevent's version EventLoop::delay.
* [MESOS-2381] - Put Authentication protobufs back in mesos.internal package.
* [MESOS-2390] - HADOOP_HOME no longer works with fetcher.
* [MESOS-2410] - Broken build on OS X 10.8.5 caused by mac_tests in stout.
* [MESOS-2414] - Java bindings segfault during framework shutdown.
* [MESOS-2420] - Fetcher tests fail to build on ubuntu 14.10.
* [MESOS-2447] - Mesos replicated log does not log the Action type name.
* [MESOS-2452] - The recovered executor directory points to the meta directory.
* [MESOS-2463] - Slaves sends mutated copy of executorinfo to new elected
master.
* [MESOS-2486] - With unbundled dependencies Mesos doesn't build with
-Wl,--no-copy-dt-needed-entries.
* [MESOS-2499] - SOURCE_EXECUTOR not set properly in slave.cpp.
** Documentation
* [MESOS-1470] - Add operational documentation for running HA masters.
* [MESOS-2282] - developers guide is missing some details.
* [MESOS-2327] - Authorization docs incorrectly describe how to configure turn
off permissive mode.
* [MESOS-2391] - Provide user doc for the new posix disk isolator in Mesos
containerizer.
* [MESOS-2396] - Provide user doc for service discovery info.
** Epic
* [MESOS-2150] - Service discovery info for tasks and executors.
** Improvement
* [MESOS-1148] - Add support for rate limiting slave removal.
* [MESOS-1248] - Use JSON instead of our own format for passing URI information
to mesos-fetcher.
* [MESOS-1316] - Implement decent unit test coverage for the mesos-fetcher
tool.
* [MESOS-1587] - Report disk usage from MesosContainerizer.
* [MESOS-1588] - Enforce disk quota in MesosContainerizer.
* [MESOS-1711] - Create method for users to identify HDFS compatible protocols
in fetcher.cpp.
* [MESOS-1960] - Silence symbolic link to pre-commit in bootstrap.
* [MESOS-1974] - Refactor the C++ Resources abstraction for DiskInfo.
* [MESOS-2009] - Libprocess: Introduce mutex.
* [MESOS-2010] - Libprocess: Introduce enable_shared_from_this.
* [MESOS-2011] - Introduce mutex.
* [MESOS-2012] - Introduce enable_shared_from_this.
* [MESOS-2019] - Replace the ip and port pairs from the UPID class and
process namespace with Node class.
* [MESOS-2051] - Pull Metrics struct out of Master and Slave to improve
readability.
* [MESOS-2056] - Refactor fetcher code in preparation for fetcher cache.
* [MESOS-2094] - Libprocess: Introduce make_shared.
* [MESOS-2095] - Introduce make_shared.
* [MESOS-2104] - Correct naming of cgroup memory statistics.
* [MESOS-2126] - Libprocess Future: Improve performance, Vector instead of
Queue.
* [MESOS-2127] - killTask() should perform reconciliation for unknown tasks.
* [MESOS-2169] - Make GC_DISK_HEADROOM configurable through slave command line
flag.
* [MESOS-2172] - Refactor fetcher namespace into a class.
* [MESOS-2173] - Consolidate all fetcher env vars into one that holds a JSON
object.
* [MESOS-2193] - serve an externally managed log via the web ui.
* [MESOS-2230] - Update RateLimiter to allow the acquired future to be
discarded.
* [MESOS-2272] - Remove "internal" namespace from within "mesos"
* [MESOS-2314] - remove unnecessary constants.
* [MESOS-2347] - Add ability for schedulers to explicitly acknowledge status
updates on the driver.
** Story
* [MESOS-444] - Remove --checkpoint flag in the slave once checkpointing is stable.
* [MESOS-1694] - Future::failure should return a const string&
* [MESOS-1830] - Expose master stats differentiating between master-generated
and slave-generated LOST tasks Task.
* [MESOS-1876] - Remove deprecated 'slave_id' field in ReregisterSlaveMessage.
* [MESOS-1903] - Add backoff to framework re-registration retries.
* [MESOS-2029] - Allow slave to checkpoint resources.
* [MESOS-2060] - Add support for 'hooks' in task launch sequence.
* [MESOS-2098] - Update task validation to be after task authorization.
* [MESOS-2099] - Support acquiring/releasing resources with DiskInfo in allocator.
* [MESOS-2100] - Implement master to slave protocol for persistent disk resources.
* [MESOS-2101] - Add the persistent resources release primitive to the
framework API.
* [MESOS-2106] - Enable libevent backed libprocess with configure flag.
* [MESOS-2107] - Create libevent-backed clock implementation.
* [MESOS-2109] - Introduce socket factory.
* [MESOS-2114] - Extract and generalize WhitelistWatcher.
* [MESOS-2133] - Create libevent-backed poll implementation.
* [MESOS-2135] - Support DiskInfo in C++ Resources.
* [MESOS-2138] - Add an Offer::Operation message for Dynamic Reservations.
* [MESOS-2178] - Add a method from converting the hostname to an ip address and
create initialization wrappers for sockaddr_in and addrinfo.
* [MESOS-2240] - Narrow down file permissions on os::open.
Release Notes - Mesos - Version 0.21.2
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-2986] - Docker version output is not compatible with Mesos
Release Notes - Mesos - Version 0.21.1
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-2047] Isolator cleanup failures shouldn't cause TASK_LOST.
* [MESOS-2071] Libprocess generates invalid HTTP
* [MESOS-2147] Large number of connections slows statistics.json responses.
* [MESOS-2182] Performance issue in libprocess SocketManager.
** Improvement
* [MESOS-1925] Docker kill does not allow containers to exit gracefully
* [MESOS-2113] Improve configure to find apr and svn libraries/headers in OSX
Release Notes - Mesos - Version 0.21.0
--------------------------------------
This release includes several new features.
* State reconciliation for frameworks:
* Allows frameworks to reconcile the states of the tasks.
* Support for Mesos modules
* Support for modules in master, slave and tests using the --modules
flag.
* Task status now includes source and reason:
* [MESOS-343] - Expose TASK_FAILED reason to Frameworks.
* [MESOS-1143] - Add a TASK_ERROR task status.
* A shared filesystem isolator:
* Volumes can be mounted from the host into a container's
filesystem.
* Parts of the shared filesystem can be made private to each
container, e.g., a private /tmp for each container.
* A pid namespace isolator:
* Processes inside a container will not have visibility to host
processes or processes in any other container.
* Containers will be destroyed by terminating the 'init' process for
the pid namespace rather than using the freezer cgroup, avoiding known
kernel bugs.
* API Changes:
* [MESOS-1461] - Add task reconciliation to the Python API.
* Deprecations:
* [MESOS-1807] - Disallow executors with cpu only or memory only resources.
* [MESOS-1986] - Disabling checkpointing is deprecated and the --checkpoint flag will be removed in a future release.
* Build changes:
* [MESOS-1044] - Require C++11 compiler support.
This release also includes several bug fixes and stability
improvements.
** Bug
* [MESOS-487] - Balloon framework fails to run due to bad flags
* [MESOS-631] - Slave started in cleanup mode shouldn't accept new tasks
* [MESOS-947] - Slave should properly handle a killTask() that arrives between runTask() and _runTask()
* [MESOS-1081] - Master should not deactivate authenticated framework/slave on new AuthenticateMessage unless new authentication succeeds.
* [MESOS-1195] - systemd.slice + cgroup enablement fails in multiple ways.
* [MESOS-1208] - 3rdparty/libprocess/3rdparty/boost-1.53.0/boost/math/special_functions/sign.hpp:113:55: error: typedef 'fp_tag' locally defined but not used [-Werror=unused-local-typedefs]
* [MESOS-1219] - Master should disallow frameworks that reconnect after failover timeout.
* [MESOS-1389] - Reconciliation can send TASK_LOST before a terminal update reaches the framework.
* [MESOS-1392] - Failure when znode is removed before we can read its contents.
* [MESOS-1414] - Status updates should not be sent from the slave until it is registered.
* [MESOS-1463] - mesos-local.sh dumps core
* [MESOS-1668] - Handle a temporary one-way master --> slave socket closure.
* [MESOS-1676] - ZooKeeperMasterContenderDetectorTest.MasterDetectorTimedoutSession is flaky
* [MESOS-1688] - No offers if no memory is allocatable
* [MESOS-1695] - The stats.json endpoint on the slave exposes "registered" as a string.
* [MESOS-1696] - Improve reconciliation between master and slave.
* [MESOS-1703] - better error message when replicated log hasn't been initialized
* [MESOS-1712] - Automate disallowing of commits mixing mesos/libprocess/stout
* [MESOS-1715] - The slave does not send pending tasks during re-registration.
* [MESOS-1716] - The slave does not add pending tasks as part of the staging tasks metric.
* [MESOS-1722] - Wrong attributes separator in slave --help
* [MESOS-1741] - mesos-slave shouldn't fail if dockerd is down
* [MESOS-1746] - clear TaskStatus data to avoid OOM
* [MESOS-1748] - MasterZooKeeperTest.LostZooKeeperCluster is flaky
* [MESOS-1769] - Segfault when using external containerizer
* [MESOS-1774] - Fix protobuf detection on systems with Python 3 as default
* [MESOS-1782] - AllocatorTest/0.FrameworkExited is flaky
* [MESOS-1783] - MasterTest.LaunchDuplicateOfferTest is flaky
* [MESOS-1786] - FaultToleranceTest.ReconcilePendingTasks is flaky.
* [MESOS-1797] - Packaged Zookeeper does not compile on OSX Yosemite
* [MESOS-1799] - Reconciliation can send out-of-order updates.
* [MESOS-1814] - Task attempted to use more offers than requested in example jave and python frameworks
* [MESOS-1817] - Completed tasks remains in TASK_RUNNING when framework is disconnected
* [MESOS-1821] - CHECK failure in master.
* [MESOS-1824] - when "docker ps -a" returns 400+ lines enabling docker containerizer results in all executors dying
* [MESOS-1833] - Running docker container with colon in executor id generates error
* [MESOS-1834] - Default port for mesos is 5050, but documentation states it as 5051
* [MESOS-1843] - Specifying --with-curl doesn't work.
* [MESOS-1844] - AllocatorTest/0.SlaveLost is flaky
* [MESOS-1849] - Cannot execute container in privileged mode
* [MESOS-1853] - Remove /proc and /sys remounts from port_mapping isolator
* [MESOS-1854] - SlaveRecoveryTest.MultipleSlaves is flaky.
* [MESOS-1855] - Mesos 0.20.1 doesn't compile
* [MESOS-1857] - path::join() is broken
* [MESOS-1858] - Leaked file descriptors in StatusUpdateStream.
* [MESOS-1862] - Performance regression in the Master's http metrics.
* [MESOS-1866] - Race between ~Authenticator() and Authenticator::authenticate() can lead to schedulers/slaves to never get authenticated
* [MESOS-1869] - UpdateFramework message might reach the slave before Reregistered message and get dropped
* [MESOS-1873] - Don't pass task-related arguments to mesos-executor
* [MESOS-1875] - os::killtree() incorrectly returns early if pid has terminated
* [MESOS-1878] - Access to sandbox on slave from master UI does not show the sandbox contents
* [MESOS-1881] - Reviewbot should not apply reviews that are submitted.
* [MESOS-1884] - Composing Containerizer is not sending calls to still launching containers
* [MESOS-1892] - Using mesos-0.20.1.jar with libmesos-0.21.0 reliably segfaults
* [MESOS-1901] - Slave resources obtained from localhost:5051/state.json is not correct.
* [MESOS-1915] - Docker containers that fail to launch are not killed
* [MESOS-1945] - SlaveTest.KillTaskBetweenRunTaskParts is flaky
* [MESOS-1948] - Docker tests are flaky
* [MESOS-1967] - Test RoutingTest.INETSockets fails on some machine
* [MESOS-1969] - RBT only takes revision ranges as args for versions >= 0.6
* [MESOS-1970] - slave and offer ids are indistinguishable in the logs
* [MESOS-1975] - Module manager causes make check failure for annotated mesos versions.
* [MESOS-1989] - Container network stats reported by the port mapping isolator is the reverse of the actual network stats.
* [MESOS-2025] - OsTest.killtreeNoRoot: Process reparent assumes new parent is init pid 1
* [MESOS-2036] - Fix the Json format for the --modules and update the help message
* [MESOS-2046] - Configure should check headers and libraries for svn and apr
* [MESOS-2050] - InMemoryAuxProp plugin used by Authenticators results in SEGFAULT
* [MESOS-2052] - RunState::recover should always recover 'completed'
* [MESOS-2078] - Scheduler driver may ACK status updates when the scheduler threw an exception
** Documentation
* [MESOS-1506] - Update documentation/flags regarding new default hostname semantics
* [MESOS-1950] - Add module writers guide
* [MESOS-1984] - Documentation for Egress Control Limit
* [MESOS-2033] - Documentation for isolator filesystem/shared.
* [MESOS-2034] - Documentation for isolator namespaces/pid.
* [MESOS-2037] - Update docs/configuration.md
* Epic
* [MESOS-1407] - Provide state reconciliation for frameworks.
* Improvement
* [MESOS-186] - Resource offers should be rescinded after some configurable timeout
* [MESOS-750] - Require compilers that support c++11
* [MESOS-1181] - Improve cpplint rule coverage
* [MESOS-1502] - expose message event queue size from libprocess
* [MESOS-1567] - Add logging of the user uid when receiving SIGTERM.
* [MESOS-1586] - Isolate system directories, e.g., per-container /tmp
* [MESOS-1643] - Provide APIs to return port resource for a given role
* [MESOS-1656] - Do not remove docker container until gc process runs
* [MESOS-1728] - Libprocess: report bind parameters on failure
* [MESOS-1752] - Allow variadic templates
* [MESOS-1771] - introduce unique_ptr
* [MESOS-1779] - Mesos style checker should catch trailing white space
* [MESOS-1811] - Reconcile disconnected/deactivated semantics in the master code
* [MESOS-1813] - Fail fast in example frameworks if task goes into unexpected state
* [MESOS-1863] - Split launch tasks and decline offers metrics
* [MESOS-1896] - Enable module specific command line parameters
* [MESOS-1927] - Enable implicit local cluster launch to load modules
* [MESOS-1932] - Install git pre commit hook during bootstrap
* [MESOS-1951] - Add --isolation flag to mesos-tests
* [MESOS-1972] - Move TASK_LOST generations due to invalid tasks from scheduler driver to master
* [MESOS-2038] - Remove dead code in Slave::_runTask
* Story
* [MESOS-343] - Expose TASK_FAILED reason to Frameworks.
* [MESOS-1765] - Use PID namespace to avoid freezing cgroup
* Task
* [MESOS-681] - Document the reconciliation API.
* [MESOS-1410] - Keep terminal unacknowledged tasks in the master's state.
* [MESOS-1808] - Expose RTT in container stats
* [MESOS-1864] - Add test integration for module developers
* [MESOS-1931] - Add support for isolator modules
* [MESOS-1943] - Add event queue size metrics to scheduler driver
* [MESOS-1964] - 0.21.0 release
* [MESOS-1965] - Create mesos::modules namespace for all module related stuff
* [MESOS-1985] - Use more standard debug / release build flags
Release Notes - Mesos - Version 0.20.1
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-1705] - SubprocessTest.Status sometimes flakes out
* [MESOS-1724] - Can't include port in DockerInfo's image
* [MESOS-1727] - Configure fails with ../configure: line 18439: syntax error near unexpected token `PROTOBUFPREFIX,'
* [MESOS-1729] - LogZooKeeperTest.WriteRead fails due to SIGPIPE (escalated to SIGABRT)
* [MESOS-1730] - Should be an error if commandinfo shell=true when using docker containerizer
* [MESOS-1732] - Mesos containerizer doesn't reject tasks with container info set
* [MESOS-1737] - Isolation=external result in core dump on 0.20.0
* [MESOS-1740] - Bad error message when docker containerizer isn't enabled
* [MESOS-1749] - SlaveRecoveryTest.ShutdownSlave is flaky
* [MESOS-1755] - Add docker support to mesos-execute
* [MESOS-1758] - Freezer failure leads to lost task during container destruction.
* [MESOS-1760] - MasterAuthorizationTest.FrameworkRemovedBeforeReregistration is flaky
* [MESOS-1764] - Build Fixes from 0.20 release
* [MESOS-1766] - MasterAuthorizationTest.DuplicateRegistration test is flaky
* [MESOS-1809] - Modify docker pull to use docker inspect after a successful pull
** Improvement
* [MESOS-1621] - Docker run networking should be configurable and support bridge network
* [MESOS-1762] - Avoid docker pull on each container run
* [MESOS-1770] - Docker with command shell=true should override entrypoint
Release Notes - Mesos - Version 0.20.0
--------------------------------------
This release includes a lot of new cool features. The major new features are
listed below:
* Docker support in Mesos:
* Users now can launch executors/tasks within Docker containers.
* Mesos now supports running multiple containerizers simultaneously. The slave
can dynamically choose a containerizer to launch containers based on the
configuration of executors/tasks.
* Container level network monitoring for mesos containerizer:
* Network statistics for each active container can be retrieved through the
/monitor/statistics.json endpoint on the slave.
* Completely transparent to the tasks running on the slave. No need to change
the service discovery mechanism for tasks.
* Framework authorization:
* Allows frameworks to (re-)register with authorized roles.
* Allows frameworks to launch tasks/executors as authorized users.
* Allows authorized principals to shutdown framework(s) through HTTP endpoint.
* Framework rate limiting:
* In a multi-framework environment, this feature aims to protect the
throughput of high-SLA (e.g., production, service) frameworks by having the
master throttle messages from other (e.g., development, batch) frameworks.
* Enable building against installed third-party dependencies.
* API Changes:
* [MESOS-857] - The Python API now uses different namespacing. This will break
existing schedulers, please refer to the upgrades document.
* [MESOS-1409] - Status update acknowledgements are sent through the Master
now. This only affects you if you're using a non-Mesos binding (e.g. pure
language binding), in which case refer to the upgrades document.
* HTTP endpoint changes:
* [MESOS-1188] - "deactivated_slaves" represents inactive slaves in "/stats.json" and "/state.json".
* [MESOS-1390] - "/shutdown" authenticated endpoint has been added to master to shutdown a framework.
* Deprecations:
* [MESOS-1219] - Master should disallow completed frameworks from re-registering with same framework id.
* [MESOS-1695] - "/stats.json" on the slave exposes "registered" value as string instead of integer.
This release also includes several bug fixes and stability improvements.
** Sub-task
* [MESOS-1292] - [MESOS-1259]:Enrich the Java Docs in the src/java files. -- ZooKeeperState.java
* [MESOS-1293] - [MESOS-1259]:Enrich the Java Docs in the src/java files. -- Variable.java
* [MESOS-1294] - [MESOS-1259]:Enrich the Java Docs in the src/java files. -- State.java
** Bug
* [MESOS-445] - Scheduler driver destructor waits forever
* [MESOS-473] - Freezer fails fatally when it is unable to write 'FROZEN' to freezer.state
* [MESOS-759] - The cgroups TaskKiller should skip freezing the cgroup if it is already empty.
* [MESOS-856] - TasksKiller may run forever because the cgroup cannot be frozen.
* [MESOS-878] - Slave should not register with the master when in TERMINATING.
* [MESOS-1001] - registrar doesn't build on Linux/Clang
* [MESOS-1119] - Allocator should make an allocation decision per slave instead of per framework/role.
* [MESOS-1149] - SlaveRecovery.Reboot test doesn't reap executor
* [MESOS-1170] - Update system check (glog)
* [MESOS-1171] - Update system check (gmock)
* [MESOS-1172] - Update system check (libev)
* [MESOS-1173] - Update system check (picojson)
* [MESOS-1174] - Update system check (protobuf)
* [MESOS-1178] - Only enable the oom killer if it's not enabled
* [MESOS-1337] - AllocatorZooKeeperTest/0.FrameworkReregistersFirst runs forever
* [MESOS-1341] - AllocatorZooKeeperTest/0.FrameworkReregistersFirst is flaky
* [MESOS-1348] - The SlaveRecoveryTest.GCExecutor test leaks child processes.
* [MESOS-1354] - Resource leak in jvm.cpp
* [MESOS-1404] - Glibc 'fork()' is not async signal safe
* [MESOS-1417] - Slave should not send terminal status update before containerizer update is finished
* [MESOS-1422] - AllocatorTest/0.SchedulerFailover test is flaky
* [MESOS-1428] - Failed to update 'registry': Failed to perform store within 5secs (caused flaky MasterTest.StatusUpdateAcknowledgementsThroughMaster)
* [MESOS-1435] - RegistrarZooKeeperTest.TaskRunning is flaky, sometimes runs forever.
* [MESOS-1436] - AllocatorZooKeeperTest/0.SlaveReregistersFirst flaky and can run forever
* [MESOS-1437] - SlaveRecoveryTest/0.RestartBeforeContainerizerLaunch is flaky
* [MESOS-1439] - SchedulerTest.MetricsEndpoint is flaky
* [MESOS-1454] - Command executor should have nonzero resources
* [MESOS-1467] - commit msg was changed after run ./support/post-reviews.py
* [MESOS-1477] - Deadlock when terminating ZooKeeperProcess
* [MESOS-1479] - Cgroups cpu isolator should only report cfs stats if cfs is enabled
* [MESOS-1492] - Add support for optionally throttling the frameworks not specified in RateLimits config
* [MESOS-1504] - mesos.pb.h header include is problematic.
* [MESOS-1513] - FaultToleranceTest.SlaveReregisterTerminatedExecutor is flaky
* [MESOS-1526] - Regression in 'make distclean': files left around.
* [MESOS-1529] - Handle a network partition between Master and Slave
* [MESOS-1532] - AllocatorZooKeeperTest/0.SlaveReregistersFirst and AllocatorZooKeeperTest/0.FrameworkReregistersFirst are flaky
* [MESOS-1533] - HealthCheck tests are flaky
* [MESOS-1536] - AllocatorZooKeeperTest/0.FrameworkReregistersFirst
* [MESOS-1540] - Fix a typo in src/Makefile.am to include java test cases
* [MESOS-1543] - MasterTest.OrphanTasks is flaky
* [MESOS-1544] - DRFAllocatorTest.SameShareAllocations is flaky
* [MESOS-1549] - The configure script should check for libnl headers as well
* [MESOS-1555] - ExecutorInfo validity check is broken in Master
* [MESOS-1578] - Improve framework rate limiting by imposing the max number of outstanding messages per framework principal
* [MESOS-1604] - LowLevelSchedulerLibprocess did not receive offers from Master
* [MESOS-1610] - Mesos containerizer should not call isolate if the child process already died.
* [MESOS-1617] - Linux kernel generates duplicated tc u32 filter handles
* [MESOS-1624] - Apache Jenkins build fails due to -lsnappy is set when building leveldb
* [MESOS-1627] - Installed protobuf header files include wrong path to mesos header file
* [MESOS-1629] - GLOG Initialized twice if the Framework Scheduler also uses GLOG
* [MESOS-1632] - Seg fault due to infinite recursion "<< RepeatedPtrField<Resource>"
* [MESOS-1633] - Create a static mesos library
* [MESOS-1635] - zk flag fails when specifying a file and the replicated logs
* [MESOS-1639] - Master OOMs when throttling traffic from LoadGeneratorFramework
* [MESOS-1649] - Network isolator should tolerate slave crashes while doing isolate/cleanup.
* [MESOS-1653] - HealthCheckTest.GracePeriod is flaky.
* [MESOS-1655] - ZooKeeperTest.LeaderDetectorTimeoutHandling is flaky
* [MESOS-1658] - Implementation of process::io::poll can lead to broken pipes.
* [MESOS-1670] - Build Failure on Mac OSX with undefined link
* [MESOS-1673] - The value of MASTER_PING_TIMEOUT is non-deterministic
* [MESOS-1677] - AllocatorTest.FrameworkReregistersFirst is flaky.
* [MESOS-1692] - Build error on gcc-4.4.
* [MESOS-1693] - Enable builds for ARM
* [MESOS-1700] - ThreadLocal does not release pthread keys or log properly.
* [MESOS-1704] - Mac OS X build breaks in DockerContainerizerProcess::fetch
* [MESOS-1705] - SubprocessTest.Status sometimes flakes out
* [MESOS-1710] - Compilation against master fails on make check
** Documentation
* [MESOS-1480] - Write Documentation for Authorization
* [MESOS-1702] - Add document for network monitoring.
** Epic
* [MESOS-1071] - Enable building against installed third-party dependencies.
* [MESOS-1228] - Container level network monitoring
* [MESOS-1342] - Add authorization support.
** Improvement
* [MESOS-292] - Remove unnecessary includes of headers to improve compile times
* [MESOS-320] - Add instrumentation into libprocess.
* [MESOS-857] - restructure mesos python namespace
* [MESOS-921] - Consider simultaneous containerizer support
* [MESOS-987] - Wire up a code coverage tool
* [MESOS-1188] - Rename slaves/frameworks.activated/deactivated
* [MESOS-1236] - stout's os module uses a mix of Try<Nothing> and bool returns
* [MESOS-1237] - stout's os::ls should return a Try<>
* [MESOS-1259] - Enrich the Java Docs in the src/java files.
* [MESOS-1312] - Show active tasks orphaned by a framework disconnect
* [MESOS-1324] - Create a network isolator based on port mapping
* [MESOS-1339] - Add "per-framework-principal" counters for all messages from a scheduler on Master
* [MESOS-1379] - Provide a reconciliation mechanism for tasks unknown to the framework.
* [MESOS-1390] - Add an authenticated '/shutdown' endpoint for shutting down a running framework
* [MESOS-1446] - Create an abstraction for launching an operation in a subprocess.
* [MESOS-1450] - Add setns utilities to stout
* [MESOS-1453] - Update reconciliation semantics send statuses for each task.
* [MESOS-1499] - Add flags parse support for specific protobufs
* [MESOS-1501] - Add flags parse support for RateLimits protobuf
* [MESOS-1511] - Simplify 'Operation' semantics to only handle logics in the subprocess side
* [MESOS-1519] - Expose constructors of types used in java APIs
* [MESOS-1523] - ZooKeeper timeout should be longer
* [MESOS-1525] - Don't require slave id for reconciliation requests.
* [MESOS-1528] - Refactor Subprocess to support execve style launch and customized clone function
* [MESOS-1557] - Allow the network isolator to handle those tasks that are not isolated by the network isolator
* [MESOS-1559] - Allow jenkins build machine to dump stack traces of all threads when timeout
* [MESOS-1590] - Allow LoadGeneratorFramework to read password from a file
* [MESOS-1591] - Do not install LoadGeneratorFramework
* [MESOS-1608] - Add support for installing stout headers
* [MESOS-1616] - ReregisterCompletedFrameworks test does not use real JSON parser
* [MESOS-1620] - Reconciliation does not send back tasks pending validation / authorization.
* [MESOS-1652] - Stream Docker logs into sandbox logs
** Story
* [MESOS-1350] - Initial implementation of framework API rate limiter, taking the config via master flag
* [MESOS-1595] - Provide a way to install libprocess
** Task
* [MESOS-1307] - Authorize offer allocations
* [MESOS-1325] - Create a linux routing library abstraction based on libnl
* [MESOS-1343] - Authorize "/shutdown" HTTP endpoint through ACLs.
* [MESOS-1374] - Verify static libprocess scheduler port works with Mesos Master
* [MESOS-1409] - Send status update acknowledgments through the Master.
* [MESOS-1443] - Create a protobuf for framework rate limit configuration and load it as JSON through master flags
* [MESOS-1444] - Integrate rate limiter into the master
* [MESOS-1445] - Add new tests for framework rate limiting
* [MESOS-1451] - Remove 'offer_id' field from LaunchTasksMessage.
* [MESOS-1505] - Add a test to verify that frameworks with same share get equal number of allocations
* [MESOS-1530] - Create LoadGeneratorScheduler to test Framework Rate Limiting
* [MESOS-1568] - Support ENTRYPOINT style containers
* [MESOS-1580] - Accept --isolation=external through a deprecation cycle.
* [MESOS-1593] - Add DockerInfo Configuration
* [MESOS-1600] - IP classifiers in routing lib should ignore IP packets with IP options
* [MESOS-1601] - Add metrics for port mapping network isolator
* [MESOS-1671] - Expose executor metrics for slave.
* [MESOS-1672] - Add filter to allocator resourcesRecovered method
* [MESOS-1674] - Kill private_resources and treat 'ephemeral_ports' as a resource.
* [MESOS-1683] - Create user doc for framework rate limiting feature
Release Notes - Mesos - Version 0.19.1
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-1448] - Mesos Fetcher doesn't support URLs that have 30X redirects.
* [MESOS-1534] - Scheduler process is not explicitly terminated in the destructor of MesosSchedulerDriver.
* [MESOS-1538] - A container destruction in the middle of a launch leads to CHECK failure.
* [MESOS-1539] - No longer able to spin up Mesos master in local mode.
* [MESOS-1550] - MesosSchedulerDriver should never, ever, call 'stop'.
* [MESOS-1551] - Master does not create work directory when missing.
Release Notes - Mesos - Version 0.19.0
--------------------------------------
* The primary feature of this release is the "Registrar". This is the addition
of replicated state in the master to ensure the set of slaves in the cluster
remains consistent in the presence of master failovers.
* This feature is currently used in a write-only manner by default to allow
smooth upgrades. 0.20.0 by default will be write *and* read.
* Operators must now specify the 'work_dir' for the master, along with the
'quorum' size of the ensemble of masters.
* This means adding or removing masters must be done carefully! The best
practice is to only ever add or remove a single master at a time and to
allow a small amount of time for the replicated log to catch up on the new
master.
* Authentication support has been added for slaves.
* Metrics reporting has been overhauled and is now exposed on /metrics/snapshot.
* Support for external containerization strategies has been added to support
custom container needs as well as experimentation; this is an alpha release!
* There are also several bug fixes and stability improvements.
** Sub-task
* [MESOS-562] - Update 'Getting Started' Documentation Page
* [MESOS-783] - Master::killTask must not answer with TASK_LOST when the task is unknown.
* [MESOS-841] - Enforce only leading master can write to the Registrar.
* [MESOS-880] - introduce observe endpoint to master
* [MESOS-957] - introduce RepairCoordinator stub into master
* [MESOS-1226] - Add flags for replicated log backed registry.
* [MESOS-1338] - Add global counters for each message type on Master
** Bug
* [MESOS-361] - Restrict the character space of user provided TaskIDs.
* [MESOS-577] - bootstrap fails with automake 1.14
* [MESOS-578] - configure fails on OSX 10.8.4
* [MESOS-682] - Master should properly consolidate "slaves" and "deactivated" maps
* [MESOS-743] - ReservationAllocatorTest.ResourcesReturned test is flaky
* [MESOS-767] - Slave should re-register with completed frameworks/executors
* [MESOS-779] - mesos python examples use 2 space indent
* [MESOS-873] - Crash in os::killtree on Mavericks
* [MESOS-931] - post-review is deprecated.
* [MESOS-1000] - Clang build broken on 0.18.0 master
* [MESOS-1019] - AllocatorZooKeeperTest/0.SlaveReregistersFirst is flaky.
* [MESOS-1020] - AllocatorZooKeeperTest/0.SlaveReregistersFirst is flaky
* [MESOS-1025] - json_tests fails build
* [MESOS-1042] - Fix bad CGROUPS_ROOT_Write test
* [MESOS-1048] - LimitedCpuIsolatorTest.CgroupsCfs is broken when run as non-root
* [MESOS-1053] - tar: You must specify one of the `-Acdtrux' or `--test-label' options
* [MESOS-1054] - Java extension build is broken if libsnappy is installed
* [MESOS-1058] - Master CHECK failure: hierarchical_allocator_process.hpp:421 Check failed: !slaves.contains(slaveId)
* [MESOS-1062] - CpuIsolatorTest/0.SystemCpuUsage is flaky
* [MESOS-1067] - Specifying minimum logging level doesn't work
* [MESOS-1072] - Update system check (python boto)
* [MESOS-1077] - Registrar tests are flaky.
* [MESOS-1080] - cpplint.py doesn't analyze hpp files
* [MESOS-1082] - Make fails on AWS Ubuntu 12.04 and 13.10
* [MESOS-1083] - Error in CgroupsTest::SetUpTestCase() and TearDownTestCase()
* [MESOS-1088] - ZooKeeperMasterContenderDetectorTest.MasterDetectorExpireSlaveZKSessionNewMaster is flaky
* [MESOS-1092] - [Doc] "bin/mesos-master --help" to "mesos-master --help"
* [MESOS-1099] - Log health checks in mesos
* [MESOS-1100] - Drop "OOM notifier is triggered" log message
* [MESOS-1124] - Mesos EC2 scripts: Cannot find any cluster
* [MESOS-1126] - Change linkage around libjvm to use dlopen.
* [MESOS-1152] - ProcTest.MultipleThreads is flaky
* [MESOS-1157] - make dist fail
* [MESOS-1158] - make distcheck fail
* [MESOS-1161] - Inconsistent completed frameworks state between slave and master
* [MESOS-1164] - URL encoded urls do not work in slave
* [MESOS-1165] - Retry required when recovering an empty log
* [MESOS-1167] - Update system check (boost)
* [MESOS-1168] - Update system check (zookeeper)
* [MESOS-1175] - Update system check (http-parser)
* [MESOS-1191] - ProcTest unit tests flaky
* [MESOS-1202] - Make it easy to apply GitHub pull requests
* [MESOS-1210] - OsTest.children test is flaky
* [MESOS-1211] - MesosContainerizer should recover isolators after the launcher recovers
* [MESOS-1214] - CHECK failure in Group
* [MESOS-1230] - Compiler warning in libprocess statistics
* [MESOS-1231] - CHECK failed in log coordinator
* [MESOS-1235] - Metrics.Snapshot* tests fail
* [MESOS-1239] - Group CHECK failure
* [MESOS-1264] - Slave authentication retries can trigger TASK_LOST for non-checkpointing frameworks.
* [MESOS-1265] - Group should not process enqueued events from previous ZooKeeper instance (and ZK session)
* [MESOS-1268] - distclean break during maven clean up
* [MESOS-1271] - CHECK failure in replica.
* [MESOS-1273] - SlaveRecoveryTest/0.RestartBeforeContainerizerLaunch is flaky
* [MESOS-1275] - FaultToleranceTest.SlaveReregisterOnZKExpiration is flaky
* [MESOS-1276] - Make the delay between master detection and registration configurable
* [MESOS-1310] - Queuing up slave (re-)registration during authentication causes reply() to fail
* [MESOS-1318] - ProcessWatcher triggers seg fault
* [MESOS-1331] - SlaveRecoveryTest/0.NonCheckpointingFramework is flaky.
* [MESOS-1333] - Runtime error when invoking post-reviews.py with rbt 0.6
* [MESOS-1347] - GarbageCollectorIntegrationTest.DiskUsage is flaky.
* [MESOS-1348] - The SlaveRecoveryTest.GCExecutor test leaks child processes.
* [MESOS-1361] - Flaky test: SlaveRecoveryTest/0.RecoverCompletedExecutor
* [MESOS-1362] - Flaky test: SlaveRecoveryTest/0.RemoveNonCheckpointingFramework
* [MESOS-1365] - SlaveRecoveryTest/0.MultipleFrameworks is flaky
* [MESOS-1368] - Credentials file permissions check is broken
* [MESOS-1370] - SlaveRecoveryTest/0.RemoveNonCheckpointingFramework is flaky
* [MESOS-1372] - Compiler warning from stout flags
* [MESOS-1376] - CHECK failure in the Registrar
* [MESOS-1400] - Master doesn't recover resources for invalid offers
* [MESOS-1406] - Master stats.json using boolean instead of integral value for 'elected'.
* [MESOS-1408] - Unnecessary queuing of status update acknowledgments in the scheduler driver.
* [MESOS-1413] - MesosContainerizerExecuteTest.IoRedirection fails on OSX
* [MESOS-1415] - Web UI master redirect message doesn't show up
* [MESOS-1418] - Master should remove/rescind offers for disconnected slave.
* [MESOS-1419] - Properly rescind offers
* [MESOS-1449] - Isolator::recover will attempt to remove slave cgroup when using --slave_subsystems
* [MESOS-1455] - Segfault in libprocess during Process linking.
** Documentation
* [MESOS-1002] - Add "make check" instruction to getting started doc
* [MESOS-1377] - Update configuration documentation to reflect 0.19.0 master flags.
** Epic
* [MESOS-764] - Implement Master persistence using the Registrar.
** Improvement
* [MESOS-135] - Improve javadoc (use @param, @return, etc)
* [MESOS-269] - Better JSON Support
* [MESOS-295] - Allow new masters to have better understanding of cluster state
* [MESOS-581] - Expose cpu and memory usage statistics for master and slave
* [MESOS-610] - Split slave specific tests out of master_tests
* [MESOS-922] - Containerizer to support launching tasks by TaskInfo
* [MESOS-945] - Show framework host name in the WebUI
* [MESOS-956] - Add an "Sequence" abstraction to serialize callbacks.
* [MESOS-980] - Revisit Future discard semantics to enforce that transitions occur through a Promise.
* [MESOS-982] - Relax slave (re-)registration retries and add a backoff mechanism.
* [MESOS-983] - Expose log coordinator demotion.
* [MESOS-984] - Implement "auto-initialization" of the Replicated Log.
* [MESOS-995] - Extend Subprocess to support environment variables, changing user and working directory
* [MESOS-1015] - Some header files have 'using' statements
* [MESOS-1026] - Pull std::tuple / boost::tuples::tuple into tuples namespace of stout
* [MESOS-1036] - Implement a library for exposing statistical metrics.
* [MESOS-1041] - fatal() should use abort rather than exit(1) to get stacktraces
* [MESOS-1052] - Add a script that can run via CI to verify the reviews.
* [MESOS-1055] - Add explicit to single argument constructors
* [MESOS-1057] - libprocess: Add explicit to single argument constructors
* [MESOS-1068] - No --version command line parameter
* [MESOS-1087] - Display warning for credentials file permissions
* [MESOS-1105] - TODO(benh): choose a better scheme to set mem in slave/containerizer/containerizer.cpp
* [MESOS-1112] - Refactor the Registrar to push the operations to the caller to simplify the interface
* [MESOS-1151] - Make review bot check for style issues
* [MESOS-1155] - Improve the performance of Registrar
* [MESOS-1160] - Support flattening from Try into Future.
* [MESOS-1182] - Implement an output stream operator overload for Master::Slave
* [MESOS-1224] - Add dynamic loadable library abstraction to stout.
* [MESOS-1234] - Mesos ReviewBot should look at old reviews first
* [MESOS-1252] - Support ENV MAVEN_HOME to establish the path of the `mvn` executable.
* [MESOS-1255] - Master UI should show Mesos version
* [MESOS-1270] - Reconcile logging messages in master
* [MESOS-1274] - Disallow further operations in the Registrar when a failure occurs.
* [MESOS-1287] - metrics collection should not wait indefinitely
* [MESOS-1332] - Improve Master and Slave metric names
* [MESOS-1344] - Add flags support for JSON
* [MESOS-1349] - Mesos style checker should only check for updated files
* [MESOS-1358] - Show when the leading master was elected in the webui
* [MESOS-1382] - Include the error message in routing::socket().
* [MESOS-1405] - Mesos fetcher does not support S3(n)
** Story
* [MESOS-804] - Add authentication support for slaves
* [MESOS-838] - Consider exporting queue size as a metric from the master
** Task
* [MESOS-911] - Add pluggable authorization interface
* [MESOS-974] - Add a unit test for java api of replicated log
* [MESOS-981] - Implement Storage on the Replicated Log.
* [MESOS-1116] - Create library to track statistics of metrics
* [MESOS-1123] - Implement tests for stout/cache.hpp
* [MESOS-1132] - Port master stats.json over to new metrics library
* [MESOS-1133] - Port slave stats.json over to new metrics library
* [MESOS-1146] - Port system process stats over to new metrics library
* [MESOS-1197] - Adding signal safe os::system
* [MESOS-1217] - Add Timer metric to Metrics library
* [MESOS-1284] - metrics Timer should use Clock
* [MESOS-1304] - Create framework rate limiting design document and gather feedback
* [MESOS-1305] - Export frameworks QPS through metrics endpoint
* [MESOS-1314] - Update default registry to "replicated_log".
* [MESOS-1317] - Add integration tests to enforce the semantics of a "strict" registry.
* [MESOS-1319] - Add recovery integration tests for a "strict" registry.
* [MESOS-1320] - Add reconciliation integration tests for a "strict" registry.
* [MESOS-1321] - Add killTask integration tests for a "strict" registry.
* [MESOS-1322] - Add failover integration tests for a "strict" registry.
* [MESOS-1371] - Expose libprocess queue length from scheduler driver to metrics endpoint
* [MESOS-1373] - Keep track of the principals for authenticated pids in Master.
* [MESOS-1380] - mesos-local should set default work_dir
* [MESOS-1383] - Expose the authenticated principal through Authenticator::authenticate() result
* [MESOS-1387] - Integrate Authorizer into Master
* [MESOS-1411] - Update Master and Slave to handle status update acknowledgments going through the master.
Release Notes - Mesos - Version 0.18.2
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-1313] - The executor bit is now essentially ignored with the 0.18.1 fetcher implementation
Release Notes - Mesos - Version 0.18.1
--------------------------------------
* This is a bug fix release.
** Bug
* [MESOS-979] - Master segfault when tasks.json endpoint is hit
* [MESOS-1045] - Unrecognized file extension in CommandInfo.URI causes executor to exit
* [MESOS-1078] - JNI calls hasNext on ArrayList instead of iterator
* [MESOS-1221] - Slave should update the containerizers with executor resources after recovery
* [MESOS-1241] - Unable to disable the auto-extraction of URIs (mesos-fetcher)
** Improvement
* [MESOS-1212] - Use maven to compile and package Mesos' Java files
Release Notes - Mesos - Version 0.18.0
--------------------------------------
* The primary feature of this release is a refactor of the isolation
abstraction to make it easy to add pluggable isolators/containerizers.
** Sub-task
* [MESOS-1043] - Change configure.ac to use C++11 by default.
** Bug
* [MESOS-422] - Master leader election should be more robust to stale ephemeral nodes
* [MESOS-537] - ZooKeeperMasterDetectorTest.MasterDetectorExpireSlaveZKSessionNewMaster is flaky
* [MESOS-672] - Web UI redirection does not work for hosts whose ip addresses are not publicly accessible
* [MESOS-837] - AWAIT_READY should not depend on process::Clock
* [MESOS-904] - Check for libcxx is missing in configure.ac
* [MESOS-912] - Slave sometimes crashes with SIGPIPE
* [MESOS-927] - OsTest.killtree is flaky
* [MESOS-937] - Fix "pure virtual method called" bug in zookeeper::ProcessWatcher
* [MESOS-952] - Clock::resume should adjust timeouts that were created in a paused/advanced Clock context.
* [MESOS-954] - The /__processes__ endpoint in libprocess is missing a needed lock acquisition.
* [MESOS-958] - Group should not ignore the ZNOAUTH error in creating the parent path for the group
* [MESOS-963] - Compile fails on 10.9
* [MESOS-965] - GroupTest.GroupWatchWithSessionExpiration is flaky
* [MESOS-966] - symbolize.cc:235:58: error: invalid suffix on literal; C++11 requires a space between literal and identifier
* [MESOS-967] - configure: error: cannot find libsasl2
* [MESOS-977] - MasterZooKeeperTest.LostZooKeeperCluster is flaky
* [MESOS-985] - FaultToleranceTest.IgnoreKillTaskFromUnregisteredFramework is flaky
* [MESOS-989] - Flaky whitelist tests
* [MESOS-991] - hashmap.hpp error: control reaches end of non-void function
* [MESOS-1009] - src/demangle.cc:170:13: error: comparison between pointer and integer ('const char *' and 'int')
* [MESOS-1029] - lib stout compile errors on Ubuntu 13.10 with Clang 3.5
* [MESOS-1030] - Mesos compile errors on Ubuntu 13.10 with Clang 3.5: const & ..., header guard
* [MESOS-1038] - Log coordinator should demote itself after a write is discarded.
* [MESOS-1045] - Unrecognized file extension in CommandInfo.URI causes executor to exit
* [MESOS-1049] - Cpu Isolator incorrectly writes double values when writing cpu.cfs_quota_us.
* [MESOS-1050] - Containerizer broke getting hadoop binary from $HADOOP_HOME and $PATH
* [MESOS-1051] - tar command used in fetcher not portable to OS X
* [MESOS-1063] - Containerizer fails when fetching more than one URL
* [MESOS-1079] - Mesos python egg build failure on OS X Mavericks (Xcode 5.1)
* [MESOS-1086] - DRF allocator should take into account past allocations when determining an ordering so frameworks are not starved.
* [MESOS-1095] - Build failure on OSX when using gcc-4.7
* [MESOS-1121] - /usr/include/c++/4.7/type_traits:1834:9: error: no match for call to '(std::_Bind<process::Future<process::http::Response> (*(std::_Placeholder<1>))(const std::basic_string<char>&)>) ()'
* [MESOS-1128] - ':' colon in executor work directories is unusual
* [MESOS-1135] - A re-registering framework that authenticates with Master might not get any offers
* [MESOS-1176] - make distcheck fails when enabling c++11
** Documentation
* [MESOS-926] - Document change to separate cgroup mounts
** Improvement
* [MESOS-903] - Store MasterInfo in ZK to enable master web UI redirection etc.
* [MESOS-943] - Provide an abstraction for asynchronous launching of subprocesses.
* [MESOS-975] - Show git tag info in master and slave log output
** New Feature
* [MESOS-600] - Rework Isolator abstraction
Release Notes - Mesos - Version 0.17.0
--------------------------------------
* The primary feature of this release is to add recovery support for
replicated log to make it more resilient to disk failures.
* If less than quorum of disks fail, the replicated log will
automatically perform catch-up to recover lost data.
** Sub-task
* [MESOS-902] - add post to libprocess
** Bug
* [MESOS-280] - ExecutorDriver methods' javadocs should not be referring to SchedulerDriver methods
* [MESOS-533] - SlaveRecoveryTest/0.CleanupExecutor is flaky on Jenkins.
* [MESOS-789] - Make link to times in the webui clickable
* [MESOS-799] - Mesos python egg is faulty on OS X Mavericks
* [MESOS-831] - script-without-shebang
* [MESOS-861] - FaultToleranceTest.FrameworkReliableRegistration could hang
* [MESOS-875] - A recovering slave should not ignore valid status updates.
* [MESOS-877] - Future::then and Promise::associate have memory leaks.
* [MESOS-897] - Cleanup of stout headers from fedora review
* [MESOS-913] - Help endpoint does not work on slaves.
* [MESOS-916] - add .gitignore-template file for ./bootstrap generated files
* [MESOS-925] - remove --without-curl from libprocess
* [MESOS-941] - Memory limit not correctly set when no memory resource set on executor level
* [MESOS-951] - Build failure: in log/catchup.cpp on Clang
* [MESOS-993] - Performance issue during replicated log catch-up when the initial log position is large
* [MESOS-1014] - Log truncation takes a long time during catch-up if the initial position is very large
** Documentation
* [MESOS-929] - Aurora not added to the framework docs
** Improvement
* [MESOS-749] - Add support for multiple offers in launchTasks
* [MESOS-772] - expose count of running tasks
* [MESOS-827] - Create LOOP_FOR(duration) macro to guard testing loop from running indefinitely
* [MESOS-860] - Get mesos' libprocess dependency glog to compile with clang and libc++
* [MESOS-863] - Get mesos' libprocess dependency protobuf to compile with clang and libc++
* [MESOS-864] - Eliminate the use of internal stdlibc++ templates for achieving libc++ compatibility
* [MESOS-896] - Enable newer versions of http_parser.
** New Feature
* [MESOS-736] - Support catch-up replicated log
** Task
* [MESOS-323] - Get mesos compiling with clang to open up path forward to c++11
* [MESOS-519] - Deprecate and remove old monitoring endpoint.
Release Notes - Mesos - Version 0.16.0
--------------------------------------
* The primary feature of this release is major refactoring work on the
master election and detection process to improve its reliability and
flexibility.
** Sub-task
* [MESOS-645] - Improve the performance of Future.
** Bug
* [MESOS-403] - CoordinatorTest.TruncateLearnedFill test is flaky
* [MESOS-455] - ZooKeeperTest.MasterDetectorShutdownNetwork runs forever
* [MESOS-463] - Detector ZNode creation failure.
* [MESOS-465] - Failures due to ZooKeeper operation timeouts in the master detector.
* [MESOS-498] - ZooKeeperTest.MasterDetectorTimedoutSession is flaky
* [MESOS-536] - GarbageCollectorTest.Unschedule is flaky
* [MESOS-592] - Don't dump a stack trace from bad --zk flag in the detector, use EXIT(1) instead of LOG(FATAL).
* [MESOS-624] - Master improperly prints the exit status of the executor
* [MESOS-641] - Stout killtree / pstree tests fail on Ubuntu 10.04.
* [MESOS-778] - FaultToleranceTest.ReconcileIncompleteTasks test is flaky
* [MESOS-782] - Slaves in local cluster should get unique work directories
* [MESOS-795] - ZooKeeperTest.MasterDetectorTimedoutSession test is flaky
* [MESOS-800] - CHECK failure in cgroups_isolator.
* [MESOS-807] - Discard is not propagated in process::dispatch.
* [MESOS-811] - Group::cancel can return a failed future if the membership is already cancelled
* [MESOS-822] - AllocatorTest/0.SchedulerFailover is flaky
* [MESOS-823] - ZooKeeperMasterContenderDetectorTest.ContenderDetectorShutdownNetwork is flaky
* [MESOS-826] - Bad 'master' flag in slave should not print a stack trace
* [MESOS-828] - CgroupsIsolator BalloonFramework Test is broken.
* [MESOS-842] - ZooKeeperMasterContenderDetectorTest.ContenderDetectorShutdownNetwork runs forever
* [MESOS-844] - Slave should not recover checkpointed data immediately after reboot
* [MESOS-851] - Scheduler Driver does not guarantee that abort() prevents further calls on the Scheduler.
* [MESOS-858] - Ignore launch/kill requests in the slave originating from non-leading masters.
* [MESOS-859] - Cgroup kill should use cgroup.procs, not tasks
* [MESOS-866] - Pailer popup window is not scrollable in Chrome or Safari
* [MESOS-867] - ZK Membership IDs are 32 bit signed integers, not 64 bit unsigned integers.
* [MESOS-870] - Slave http endpoint can crash the slave when no master is detected.
* [MESOS-871] - GroupTest.RetryableErrors is flaky
* [MESOS-883] - Group's handling of non-retryable errors and local timeout is incorrect
* [MESOS-884] - Incorrect asynchronous detection and contention loops in Master
* [MESOS-889] - Bad 'master' string given by scheduler should not print a stack trace
* [MESOS-892] - Additional Issues with contender related change
* [MESOS-935] - Group should tell MasterDetector "no memberships detected" when it locally times out
* [MESOS-940] - Slave should checkpoint bootid after recovery instead of after registration
** Improvement
* [MESOS-111] - Add SVN ignore and git ignore info to repository
* [MESOS-728] - Masters should seppuku using EXIT instead of abort() when leadership is lost.
* [MESOS-756] - Improve release tooling.
* [MESOS-760] - Capture memory usage statistics before OOM
* [MESOS-761] - Export all memory stats from memory.stat via CgroupsIsolator's usage()
* [MESOS-768] - Executor driver stop() should dispatch stop to executor process instead of terminating it
* [MESOS-802] - Web UI shows no errors when navigation to slave fails
* [MESOS-806] - Allowing converting from an Owned<T> to a Shared<T>.
* [MESOS-818] - Bump up the minimum number threads libprocess creates to accommodate new tests
* [MESOS-833] - The Status Update Manager should use a back-off mechanism for retried updates.
* [MESOS-835] - Reduce the minimum amount of CPUs required to make offers
* [MESOS-849] - As a developer I should be able to set the AUTOMAKE and ACLOCAL environment variables for autoconf to pickup when using the bootstrap script.
* [MESOS-881] - Tests are slow because the scheduler attempts to authenticate before the master realizes it is elected.
* [MESOS-900] - Paginate all tables in the web UI
Release Notes - Mesos - Version 0.15.0
--------------------------------------
* The primary feature in this release is to add authentication support
between frameworks and masters.
* You can set --authentication=true on masters to only allow
authenticated frameworks to register.
* Frameworks can call the new `MesosSchedulerDriver` constructor to
enable authentication.
* This release also moves Jenkins framework out of the mesos repo to
https://github.com/jenkinsci/mesos-plugin.
** Sub-task
* [MESOS-742] - GC directories based on modification time
* [MESOS-766] - Make --checkpoint to true by default
** Bug
* [MESOS-400] - Example Java framework test is flaky
* [MESOS-467] - AllocatorTest.FrameworkExited is flaky
* [MESOS-477] - Improve stout duration tests and Stringify(Days(value))
* [MESOS-512] - GroupTest.MultipleGroups is flaky.
* [MESOS-577] - bootstrap fails with automake 1.14
* [MESOS-650] - SlaveExecutorRerouterCtrl does not handle missing slave.
* [MESOS-655] - FaultToleranceTest.MasterFailover not simulating a realistic Master shutdown
* [MESOS-661] - WebUI pailer does not preserve newlines when data is copied from firefox.
* [MESOS-664] - Type resolution issue on 32 bit systems
* [MESOS-685] - SlaveRecoveryTest/0.RecoveryTimeout Java SIGSEGV
* [MESOS-686] - Testing isolator is broken when multiple frameworks are in play
* [MESOS-702] - Webui table headers are not consistently aligned vertically
* [MESOS-729] - ./stout/include/stout/hashmap.hpp:49:5: error: ‘erase’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
* [MESOS-732] - Make slave recovery asynchronous
* [MESOS-734] - MasterTest.ReconcileTaskTest "not authenticated"
* [MESOS-737] - Recover completed frameworks/executors during recovery
* [MESOS-738] - CgroupsIsolatorTest.ROOT_CGROUPS_BalloonFramework_NoBuffer can't finish
* [MESOS-746] - master error when start with --weights input parameters
* [MESOS-747] - FaultToleranceTest.ReregisterFrameworkExitedExecutor test fails
* [MESOS-758] - Incorrect memory statistics are reported under linux
* [MESOS-762] - Revert the use of the soft limit and memory threshold notifications.
* [MESOS-771] - StatusUpdateManagerTest.DuplicateTerminalUpdateBeforeAck is flaky
* [MESOS-773] - StatusUpdateManagerTest.DuplicateTerminalUpdateBeforeAck is flaky
* [MESOS-774] - FaultToleranceTest.MasterFailover test is flaky
* [MESOS-777] - GarbageCollectorIntegrationTest.ExitedFramework test is flaky
* [MESOS-787] - Authenticatee process deadlocks
* [MESOS-792] - FaultToleranceTest.SchedulerFailoverFrameworkMessage is flaky
* [MESOS-801] - SlaveRecoveryTest / ReconcileTasksMissingFromSlave is flaky.
** Documentation
* [MESOS-518] - Improve README with Markdown
** Improvement
* [MESOS-769] - Master's authenticate should not depend on 'from'
** New Feature
* [MESOS-704] - Add authentication support using SASL and CRAM-MD5
** Task
* [MESOS-608] - Move Jenkins code out of the mesos repo to Jenkins CI repo
Release Notes - Mesos - Version 0.14.1
--------------------------------------
* This is a bug fix release.
** Sub-task
* [MESOS-725] - Slave should cleanup meta directory if started in non-strict mode and slave info changes.
** Bug
* [MESOS-420] - Master crashes when re-registering framework
* [MESOS-488] - The Master incorrectly sends a "Framework failed over" message when the scheduler driver retries an initial failover re-registration.
* [MESOS-641] - Stout killtree / pstree tests fail on Ubuntu 10.04.
* [MESOS-658] - A framework can be incorrectly removed by the Master.
* [MESOS-662] - Executor OOM could lead to a kernel hang
* [MESOS-679] - Inability to find a latest run should not be considered a recovery error
* [MESOS-680] - Empty files should not be considered as recovery errors
* [MESOS-690] - Slave finalize() throws segfault
* [MESOS-694] - Preserve exit status for SIGTERM.
* [MESOS-711] - Master::reconcile incorrectly recovers resources from reconciled tasks.
* [MESOS-714] - Slave should check if the (re-)registered is from the expected master
** Improvement
* [MESOS-620] - Add slaveDisconnected and slaveReconnected calls to the Allocator
Release Notes - Mesos - Version 0.14.0
--------------------------------------
* The primary feature in this release is "Slave Recovery" which allows
restarted slaves (e.g., deploys, crashes) to reconnect with old live
executors/tasks. To enable slave recovery:
* First you need to enable checkpointing on slaves with "--checkpoint" flag.
* Frameworks can opt in to this feature by setting "FrameworkInfo.checkpoint"
when registering with the master.
* Once a Framework opts in, a restarted slave will recover all the framework's
tasks and executors. The tasks/executors stay alive through a slave
restart and reconnect with the restarted slave.
* Slave recovery also improves the reliability of delivering status updates.
* The release also includes a new feature called "Resource Reservations" which
allows reserving resources on a slave to particular roles (This is an
experimental feature).
* This release also includes a new Mesos plugin for Jenkins which allows Jenkins
to dynamically launch Jenkins slaves on a Mesos cluster (This is an
experimental feature).
* There are also several bug fixes and stability improvements.
** Sub-task
* [MESOS-548] - Upgrade angular.js to use the full angular-ui.js
* [MESOS-549] - Change truncated IDs to show on hover
* [MESOS-630] - Improve the performance of Master::Http::stats().
** Bug
* [MESOS-235] - Mesos daemon ignores --conf option
* [MESOS-368] - HTTP.Endpoints test is flaky.
* [MESOS-370] - The process based isolation module should walk the process tree to collect resource usage.
* [MESOS-380] - Command Executor doesn't send TASK_KILLED for killed tasks.
* [MESOS-434] - Process isolator libprocess throws exception
* [MESOS-449] - CgroupsTests are flaky on Ubuntu
* [MESOS-451] - Always update resources for re-registered executors.
* [MESOS-461] - Freezer failure while in FREEZING state.
* [MESOS-479] - SlaveRecoveryTest/0.CleanupExecutor failure.
* [MESOS-485] - Latest trunk fails on strict aliasing on CentOS
* [MESOS-490] - Update mesos-daemon.sh (and associated scripts) to work with new flags mechanisms.
* [MESOS-497] - Queued tasks should be launched in the order they were received
* [MESOS-499] - Local slave run crashes on startup
* [MESOS-508] - Master crash due to Broken Pipe
* [MESOS-514] - FaultToleranceTest.ReconcileIncompleteTasks is flaky
* [MESOS-522] - ZooKeeperMasterDetectorTest.MasterDetectorExpireSlaveZKSessionNewMaster
* [MESOS-534] - ReaperTest.TerminatedChildProcess is flaky on Jenkins.
* [MESOS-545] - Remove hack in post-reviews.py for tracking parent branch
* [MESOS-582] - HTTP.Endpoints is flaky
* [MESOS-594] - Add CXXFLAGS='-fno-strict-aliasing' if using gcc 4.4.*.
* [MESOS-597] - Set MESOS_NATIVE_LIBRARY or (DY)LD_LIBRARY_PATH before launching an executor in order to enable JVM based executors to easily find libmesos.so.
* [MESOS-599] - Make sure stderr/stdout get launcher output.
* [MESOS-607] - Slave recovery should properly handle executors that were cleanly terminated in the previous run
* [MESOS-611] - Refactor slave recovery to ensure slave recovers its state first
* [MESOS-612] - Slave should not recover completed executors
* [MESOS-614] - Master should remove checkpointing slave that gets disconnected when the new slave tries to register
* [MESOS-616] - The Master / Slave should not store frameworks as both active and completed.
* [MESOS-619] - Master should properly reconcile KillTasks
* [MESOS-627] - Slave should offer total disk instead of available disk by default
* [MESOS-628] - A non-checkpointing slave should still cleanup the latest slave symlink
* [MESOS-632] - Executor driver should commit suicide if it cannot re-connect with a slave after a timeout
* [MESOS-633] - Master should inform a recovered slave about frameworks that were completed
* [MESOS-635] - Master doesn't update the task state when it generates TASK_LOST
* [MESOS-636] - Executors under cgroups isolator die immediately when a slave dies if it has a controlling TTY attached
* [MESOS-637] - Executor should re-register with the updates in the same order as it received them
* [MESOS-638] - Slave should not send command executor infos to master when it reregisters
* [MESOS-640] - Duplicate status update with same UUID crashes the slave
* [MESOS-644] - Slave doesn't correctly handle checkpointed terminal update whose ack doesn't reach the executor
* [MESOS-646] - Slave recovery doesn't properly handle checkpointed queued tasks
* [MESOS-648] - Slave should properly handle partial writes of status updates
* [MESOS-657] - SlaveRecoveryTest/1.PartitionedSlave fails with cgroups
* [MESOS-668] - SlaveRecoveryTest/0.MultipleFrameworks flaky
* [MESOS-671] - CgroupsIsolator does not listen for OOM events on recovered executors.
* [MESOS-673] - Task reconciliation does not properly release executor resources.
* [MESOS-675] - CHECK failure in the Master.
* [MESOS-676] - Slave::reregistered LOG(FATAL)s due to being in RECOVERING state.
* [MESOS-689] - Master incorrectly rejects tasks for long lived executors if they don't have FrameworkID set
** Improvement
* [MESOS-179] - Need to check for Python development headers
* [MESOS-221] - New Allocators
* [MESOS-329] - Add 'help' endpoints to libprocess.
* [MESOS-552] - Jenkins scheduler should use the latest Mesos jar built from the repo
* [MESOS-553] - Jenkins plugin should bundle the native Mesos library
* [MESOS-554] - Jenkins scheduler should properly handle TASK_LOST
* [MESOS-555] - Jenkins scheduler should reuse a Jenkins slave
* [MESOS-557] - Upgrade to Bootstrap CSS v2.3.2
* [MESOS-558] - Upgrade to full release of Angular JS
* [MESOS-559] - Replace Bootstrap's JS with Angular UI Bootstrap
* [MESOS-580] - Improve Command Executor
* [MESOS-613] - Give better guidance when recovery fails
* [MESOS-626] - Add the ability for example frameworks to checkpoint
* [MESOS-634] - Make slave recovery more robust by ignoring absence of files
* [MESOS-651] - Expose slave re-registration time in the Web UI
* [MESOS-663] - Expose recovery errors when running recovery in --no-strict mode
** New Feature
* [MESOS-110] - Slave Recovery: A slave restart should not restart tasks
* [MESOS-203] - Killtree that recursively kills sessions
* [MESOS-504] - Add weighted DRF.
* [MESOS-505] - Add resource reservations/pools per role.
* [MESOS-506] - Implement Jenkins scheduler for Mesos
** Task
* [MESOS-643] - Revert the semantics of newly introduced changes to FrameworkReregistered messages
* [MESOS-647] - Revert the default recovery mode to strict
Release Notes - Mesos - Version 0.13.0
--------------------------------------
* This release includes a major refactor of the internal testing infrastructure.
* There are also several bug fixes and stability improvements (esp. around ZooKeeper).
* Hadoop on Mesos is moved out of the mesos repo to its own repository (https://github.com/mesos/hadoop).
** Bug
* [MESOS-77] - ExceptionTest.AbortOnFrameworkError sometimes hangs if Mesos built without optimizations
* [MESOS-201] - CppFramework test occasionally fails
* [MESOS-217] - LOST tasks are incorrectly reconciled between mesos and framework
* [MESOS-232] - Unit test CoordinatorTest.Elect triggers non-deterministic assertion failure in libprocess.
* [MESOS-276] - SIGSEV with current trunk and OpenJDK 7u3
* [MESOS-277] - Java test framework test is flaky
* [MESOS-289] - Zookeeper tests are flaky
* [MESOS-301] - Coordinator test is flaky
* [MESOS-318] - os::memory does not consider sysinfo.mem_unit
* [MESOS-321] - libprocess http::encode fails test
* [MESOS-344] - --disable-java still uses java headers during make check
* [MESOS-353] - ZooKeepet state test GetSetGet hung
* [MESOS-362] - Inconsistent slave maps in the master.
* [MESOS-365] - Slave should reject tasks before registering with the master.
* [MESOS-366] - Master check failure during load tests.
* [MESOS-369] - Mesos tests spitting out error messages.
* [MESOS-379] - Zookeeper MasterDetectorExpireSlaveZKSessionNewMaster test is flaky
* [MESOS-385] - MasterTest.TaskRunning flaky on Jenkins.
* [MESOS-392] - FaultTolerance SchedulerExit test hangs
* [MESOS-393] - Forking at an unlucky time on OS X can cause the C++ library to deadlock.
* [MESOS-394] - Don't do ExecutorLauncher in forked process but exec first instead.
* [MESOS-395] - FaultToleranceTest.SchedulerFailoverFrameworkMessage test is flaky.
* [MESOS-399] - MonitorTest.WatchUnwatch failed.
* [MESOS-400] - Example Java framework test is flaky
* [MESOS-401] - SlaveRecoveryTest/0.RecoverTerminatedExecutor is flaky on OSX.
* [MESOS-402] - CoordinatorTest.TruncateNotLearnedFill test is flaky
* [MESOS-405] - SlaveRecoveryTest/1.ReconnectExecutor crashes.
* [MESOS-406] - Google mock throws a segfault when invoked by TestFilter
* [MESOS-407] - Google test filter processing is incorrect for the empty string.
* [MESOS-408] - FaultToleranceTest.SlavePartitioned is flaky
* [MESOS-412] - MasterTest.ShutdownUnregisteredExecutor flaky
* [MESOS-423] - A slave asked to shutdown should not re-register with a new slave id
* [MESOS-424] - CgroupsIsolatorTest.BalloonFramework runs forever
* [MESOS-436] - FaultToleranceTest.SchedulerFailover test is flaky
* [MESOS-437] - ResourceOffersTest.ResourceOfferWithMultipleSlaves is flaky
* [MESOS-440] - Allow for headroom in the GC algorithm.
* [MESOS-441] - AllocatorZooKeeperTest/0.FrameworkReregistersFirst is flaky
* [MESOS-446] - Master should shutdown slaves that were deactivated
* [MESOS-447] - Master should send TASK_LOST updates for unknown tasks when slave reregisters
* [MESOS-450] - The master should shut down slaves upon removal.
* [MESOS-453] - AllocatorZookeeper tests are using /tmp/mesos work directory
* [MESOS-454] - ResourceOffers tests are using /tmp/mesos working directory
* [MESOS-462] - Resource usage collection failure messages have '1' as the failure message.
* [MESOS-469] - Scheduler driver should call disconnected on master failover
* [MESOS-474] - Mesos 0.10.0: make check fails on Ubuntu 12.04LTS
* [MESOS-476] - Upgrade libev to 4.15
* [MESOS-481] - Slave needs to only inform the master about non-terminal executors, for proper resource accounting
* [MESOS-482] - Status update manager should not cleanup the stream when there are pending updates, even though it received an ACK for a terminal update
* [MESOS-484] - Latest ZooKeeperState.cpp doesn't compile on Mountain Lion
* [MESOS-502] - Slave crashes when handling duplicate terminal updates
* [MESOS-515] - Slave fails to detect free disk space
* [MESOS-524] - JVM tests are flaky on OSX.
* [MESOS-530] - A registered slave should check registration id when it receives mulitple re(re-)gistered messages from the master
* [MESOS-535] - Master crashes when removing non-checkpointing framework from a checkpointing slave
* [MESOS-538] - Master should not offer non-checkpointing slave's resources to checkpointing frameworks
* [MESOS-587] - MesosNativeLibrary.java doesn't read environment variable "MESOS_NATIVE_LIBRARY".
* [MESOS-604] - Slave should use the filesystem containing the work directory for disk usage calculation
* [MESOS-605] - Fix wrong compression for hadoop package
* [MESOS-606] - Slave incorrectly moves a task from 'terminatedTasks' to 'completedTasks'
* [MESOS-609] - Executor should remove the task from queuedTasks when it moves a queued task to terminatedTasks.
** Improvement
* [MESOS-46] - Refactor MasterTest to use fixture
* [MESOS-134] - Add Python documentation
* [MESOS-140] - Unrecognized command line args should fail the process
* [MESOS-242] - Add more tests to Dominant Share Allocator
* [MESOS-305] - Inform the frameworks / slaves about a master failover
* [MESOS-346] - Improve OSX configure output when deprecated headers are present.
* [MESOS-360] - Mesos jar should be built for java 6
* [MESOS-409] - Master detector code should stat nodes before attempting to create
* [MESOS-472] - Separate ResourceStatistics::cpu_time into ResourceStatistics::cpu_user_time and ResourceStatistics::cpu_system_time.
* [MESOS-493] - Expose version information in http endpoints
* [MESOS-503] - Master should log LOST messages sent to the framework
* [MESOS-526] - Change slave command line flag from 'safe' to 'strict'
* [MESOS-602] - Allow Mesos native library to be loaded from an absolute path
* [MESOS-603] - Add support for better test output in newer versions of autools
** New Feature
* [MESOS-169] - Ability to for tests to catch in-flight messages that are dispatched
** Task
* [MESOS-618] - Remove Hadoop on Mesos from repository in favor of external repository
* [MESOS-643] - Revert the semantics of newly introduced changes to FrameworkReregistered messages
Release Notes - Mesos - Version 0.12.1
--------------------------------------
* This release is primarily a bug fix release with a few small features for running JVM frameworks, like Hadoop and Jenkins.
** Bug
* [MESOS-515] - Slave fails to detect free disk space
* [MESOS-524] - JVM tests are flaky on OSX.
* [MESOS-587] - MesosNativeLibrary.java doesn't read environment variable "MESOS_NATIVE_LIBRARY".
* [MESOS-597] - Set MESOS_NATIVE_LIBRARY or (DY)LD_LIBRARY_PATH before launching an executor in order to enable JVM based executors to easily find libmesos.so.
* [MESOS-599] - Make sure stderr/stdout get launcher output.
* [MESOS-604] - Slave should use the filesystem containing the work directory for disk usage calculation
* [MESOS-605] - Fix wrong compression for hadoop package
** Improvement
* [MESOS-179] - Need to check for Python development headers
* [MESOS-346] - Improve OSX configure output when deprecated headers are present.
* [MESOS-360] - Mesos jar should be built for java 6
* [MESOS-602] - Allow Mesos native library to be loaded from an absolute path
* [MESOS-603] - Add support for better test output in newer versions of autools
Release Notes - Mesos - Version 0.12.0
--------------------------------------
* This release includes bug fixes and stability improvements.
* The primary feature in this release is executor resource consumption monitoring. Slaves now monitor resource consumption of running executors and expose it over JSON and through the webui.
* This release also includes a new and improved Hadoop framework. The new port doesn't require patching Hadoop (i.e., it's a self contained Hadoop contrib) and lets you use existing schedulers (e.g., the fair scheduler or capacity scheduler)! The tradeoff, however, is that it doesn't take as much advantage of the fine-grained nature of a Mesos task (i.e., there is no longer a 1-1 mapping between a Mesos task and a map/reduce task).
** Sub-task
* [MESOS-214] - Report resources being used by executors
* [MESOS-419] - Old slave directories should not be garbage collected based on file modification time
** Bug
* [MESOS-107] - Scheduler library should not acknowledge a status update if the driver has been aborted.
* [MESOS-152] - Slave should forward status updates for unknown tasks
* [MESOS-285] - configure.macosx checks for version "10.7" but should check for 10.7 or greater
* [MESOS-307] - Web UI file download links are broken.
* [MESOS-317] - python mesos core bindings rejects framework messages with null bytes
* [MESOS-319] - Fix buggy read / write calls.
* [MESOS-325] - make clean is broken
* [MESOS-332] - Executor launcher fetches resources as slave user, instead of executor user.
* [MESOS-340] - Gperftools target always rebuilds.
* [MESOS-374] - HTTP GET requests to /statistics/snapshot.json crash the slave
* [MESOS-422] - Master leader election should be more robust to stale ephemeral nodes
* [MESOS-486] - TaskInfo should include a 'source' in order to enable getting resource monitoring statistics.
** Improvement
* [MESOS-293] - Make clean deletes checked in files.
** New Feature
* [MESOS-99] - display slave resource usage information in the slave webui
** Task
* [MESOS-274] - Unicode / Binary files over http endpoints.
* [MESOS-324] - Monitor executor resource usage.
* [MESOS-331] - Add --disable-perftools to configure.
Release Notes - Mesos - Version 0.11.0
--------------------------------------
** Brainstorming
* [MESOS-357] - participate in GSoC 2013
* [MESOS-358] - do not participate in the GSoC 2013
** Bug
* [MESOS-260] - Implement a duration abstraction
* [MESOS-261] - bootstrap fails when automake version >= 1.12
* [MESOS-263] - Complete the new webui (slave, framework, executor pages)
* [MESOS-264] - Make fails on the latest ubuntu
* [MESOS-270] - Log viewing broken on mesos-local runs
* [MESOS-364] - cgroup tests fail on Ubuntu
* [MESOS-386] - AllocatorTest/0.TaskFinished has incomplete expectations.
* [MESOS-388] - Latest update breaks building on OSX
* [MESOS-404] - FilesTest.BrowseTest is flaky
* [MESOS-413] - AllocatorTest/0.TaskFinished test has bad expectations.
** Improvement
* [MESOS-252] - Web UI Improvements
* [MESOS-253] - Enable -Wall -Werror on the build
* [MESOS-254] - Improve mesos slave's garbage collection
* [MESOS-259] - Expose slave attributes in slave endpoint & sortable tables
** Task
* [MESOS-275] - HTTP endpoint for file download.
* [MESOS-279] - Impose a limit on HTTP Response size
* [MESOS-389] - Add OSX slave to the Jenkins build.
* [MESOS-491] - Add mesos-0.11.0-incubating jar to maven central
Release Notes - Mesos - Version 0.10.0
--------------------------------------
** Sub-task
* [MESOS-89] - create utilities to collect information from the proc filesystem
* [MESOS-212] - Eliminate Bottle and Python based webui.
* [MESOS-222] - Rename SimpleAllocator to DominantShareAllocator
* [MESOS-223] - Libprocess-ify Allocator
* [MESOS-224] - Write allocator tests
** Bug
* [MESOS-17] - Hadoop executors killed while tasks in COMMIT_PENDING
* [MESOS-34] - Rendering JSON needs to escape strings properly.
* [MESOS-44] - Master Detector uses the wrong ACL when auth is not required
* [MESOS-48] - Remove the failover flag from executor driver
* [MESOS-54] - Mesos ZooKeeper authentication is broken
* [MESOS-83] - Filters should be removed when more resources are available than rejected offer had
* [MESOS-145] - mesos executor holds on to fd spawned by slave after slave death, preventing slave from restarting
* [MESOS-148] - Building of included Hadoop broken
* [MESOS-164] - Crash on Mac OS X due to dlopen not being thread-safe
* [MESOS-183] - Included MPI Framework Fails to Start
* [MESOS-187] - Mesos should not pass an invalid task to a slave
* [MESOS-190] - Slave seg fault when executor exited
* [MESOS-199] - Attempting to use killtree.sh after forked pid has died is fruitless.
* [MESOS-200] - New Linux 'proc' code assuming too new a kernel.
* [MESOS-209] - A race bug in ProcessManager::spawn in libprocess.
* [MESOS-211] - Fix Slave GC tests
* [MESOS-218] - Master throws exception on removeTask() if Framework is not connected
* [MESOS-220] - Slave throws exception in librocess when master is down
* [MESOS-229] - mesos zookeeper group code fails to connect when pre-existing children of the group path are read-only
* [MESOS-233] - port should not be of type short
* [MESOS-239] - Allocator doesn't handle framework failover correctly
* [MESOS-244] - Mesos slave process is not shutting down cleanly
* [MESOS-247] - Ranges comparison has a bug
* [MESOS-248] - Python quit unexpectedly while using mesos plugin
* [MESOS-251] - DRF allocator doesn't expire filter correctly
* [MESOS-257] - Master doesn't recover resources when executor exits
* [MESOS-262] - Slave should not charge the resources required for launching a executor against the executor
* [MESOS-266] - When the master removes a slave, a shutdown should be sent.
* [MESOS-268] - Slave should force kill executors when it is shutting down
* [MESOS-278] - Master Fails to Connect to Zookeeper
* [MESOS-284] - Short-term fix for fire-walling slave shutdown and lost slave messages from the 'wrong' master
* [MESOS-286] - AllocatorTest is flaky
* [MESOS-288] - Latest trunk does not finish make check
* [MESOS-290] - Jobtracker can't get TaskTrackerInfo when the JobTracker log file is deleted
* [MESOS-299] - Master detector doesn't notify about leading master after network disconnection
* [MESOS-302] - Scheduler driver shouldn't send an ACK if the driver is aborted while sending stats update
* [MESOS-303] - mesos slave crashes during framework termination
* [MESOS-306] - Mesos-master frequently crashes
* [MESOS-310] - cgroups isolation module should not block on fetching executors
* [MESOS-339] - Release script is expecting enter, not any key
* [MESOS-382] - FaultToleranceTest.FrameworkReliableRegistration test is flaky.
* [MESOS-383] - AllocatorTest/0.FrameworkExited test is broken
* [MESOS-464] - mesos 0.10.0 fails to build on ubutu 13.04
** Improvement
* [MESOS-8] - Maintain a history of executed frameworks/tasks and show it on the web UI
* [MESOS-57] - Submit mesos.jar to Maven Central
* [MESOS-142] - Explicitly set and clean test work directories
* [MESOS-149] - Garbage collection on slaves
* [MESOS-171] - Make CommandInfo 'uri' field be repeated, possibly making a URI embedded message to describe whether or not we should 'chmod +x' the resulting resource.
* [MESOS-180] - Update the Hadoop patch to list protobuf-2.4.1 as a dependency so Maven pulls it down.
* [MESOS-193] - Create a single-page javascript interface to replace the existing webui
* [MESOS-194] - Make killtree more verbose.
* [MESOS-255] - Expose files through HTTP endpoints.
* [MESOS-256] - Introduce a cluster name into the Web UI
* [MESOS-272] - Create a 'fs' namespace and migrate as appropriate from our 'os' namespace.
** New Feature
* [MESOS-86] - Expose master url to the scheduler
* [MESOS-158] - Make ExecutorInfo more rich
* [MESOS-185] - Provide a master stat indicating number of outstanding resource offers
* [MESOS-207] - A new isolation module on Linux that uses Linux control groups (cgroups) directly.
* [MESOS-208] - Add whitelist option to master
** Question
* [MESOS-258] - mesos-master / mesos-slave => error: [Errno 32] Broken pipe
* [MESOS-298] - Executor fails to start
* [MESOS-311] - ClassNotFoundException when deploying hadoop on mesos
** Task
* [MESOS-69] - Migrate to Apache wiki and de-activate github wiki
* [MESOS-80] - Add a page or section to the wiki defining project coding standards
* [MESOS-133] - Make Mesos clean of most GCC warnings
* [MESOS-398] - Add mesos-0.10.0-incubating jar to maven central
Release Notes - Mesos - Version 0.9.0
-------------------------------------
** Dependency upgrade
* [MESOS-174] - Upgrade protobuf dependency to version 2.4.1
** Improvement
* [MESOS-3] - Ask executors to shutdown when a framework goes away
* [MESOS-167] - Make API names consistent
** New Feature
* [MESOS-146] - EC2 scripts should find the latest AMI from a known URL