You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by id...@apache.org on 2014/11/05 22:54:09 UTC
git commit: CHANGELOG and docs/upgrades.md for 0.21.0.
Repository: mesos
Updated Branches:
refs/heads/master 53a7a6430 -> a7733493d
CHANGELOG and docs/upgrades.md for 0.21.0.
Review: https://reviews.apache.org/r/27633
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/a7733493
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/a7733493
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/a7733493
Branch: refs/heads/master
Commit: a7733493dc9e6f2447f825671d8a745602c9bf7a
Parents: 53a7a64
Author: Ian Downes <id...@twitter.com>
Authored: Wed Nov 5 10:26:15 2014 -0800
Committer: Ian Downes <id...@twitter.com>
Committed: Wed Nov 5 13:42:15 2014 -0800
----------------------------------------------------------------------
CHANGELOG | 154 ++++++++++++++++++++++++++++++++++++++++++++++++--
docs/upgrades.md | 13 +++++
2 files changed, 162 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/a7733493/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index 05fcb4d..eb56331 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,15 +1,159 @@
-(WIP) Release Notes - Mesos - Version 0.21.0
+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.
+ * [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-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
+
+** 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
http://git-wip-us.apache.org/repos/asf/mesos/blob/a7733493/docs/upgrades.md
----------------------------------------------------------------------
diff --git a/docs/upgrades.md b/docs/upgrades.md
index 175eb13..3aff335 100644
--- a/docs/upgrades.md
+++ b/docs/upgrades.md
@@ -6,6 +6,19 @@ layout: documentation
This document serves as a guide for users who wish to upgrade an existing mesos cluster. Some versions require particular upgrade techniques when upgrading a running cluster. Some upgrades will have incompatible changes.
+## Upgrading from 0.20.x to 0.21.x
+
+**NOTE** Disabling slave checkpointing has been deprecated; the slave --checkpoint flag has been deprecated and will be removed in a future release.
+
+In order to upgrade a running cluster:
+
+* Install the new master binaries and restart the masters.
+* Install the new slave binaries and restart the slaves.
+* Upgrade the schedulers by linking the latest native library (mesos jar upgrade not necessary).
+* Restart the schedulers.
+* Upgrade the executors by linking the latest native library and mesos jar (if necessary).
+
+
## Upgrading from 0.19.x to 0.20.x.
**NOTE**: The Mesos API has been changed slightly in this release. The CommandInfo has been changed (see below), which makes launching a command more flexible. The 'value' field has been changed from _required_ to _optional_. However, it will not cause any issue during the upgrade (since the existing schedulers always set this field).