Releases: d2iq-archive/marathon
v1.5.10
Improved environment variable to command line argument mapping
As part of the fix for MARATHON-8254, the logic for receiving command-line options from environment variables has been reworked. "*" is properly propagated (previously, the glob-expanded result was getting passed), and spaces and new-lines are now preserved.
There's a small change in behavior for environments in which the launcher script is sourced, rather than executed. Unexported environment variables will not be converted in to parameters.
Fixed issues
- MARATHON-8159 Fixed a bug where
taskKillGracePeriodSeconds
parameter was updated incorrectly during a migration to 1.5. - DCOS-38317 Fixed a bug where Marathon was unable to restart an app with failing health checks and a persistent volume.
- MARATHON-8236 Fixed a bug where specifying a command-line parameter using a MARATHON_CMD prefix results in an error.
Other changes
- MARATHON-8283 Added warning logging when any of the offer resources is zero.
v1.5.9
Changes from 1.5.8 to 1.5.9
Added Metrics, Bug fixes, Backports and performance improvements.
Metrics
- MARATHON-8157 Metrics
currentDeploymentCount
is the current active deployments andDeploymentCount
is an always incrementing count of deployments. - MARATHON-8161 Metrics
reviveCount
is the count of revives sent to Mesos. - MARATHON-8213 Metrics
launchOperationCount
,launchGroupOperationCount
,reserveOperationCount
provides the count for the launch, launchGroup and reserve operation calls to Mesos. - MARATHON-8158 Metrics
bytesRead
,bytesWritten
are added to track all API request / responses. (#6197)
Performance Improvement
- MARATHON-7844 Introduced a way to reduce event bus output via a
light
param for/v2/events?plan-format=light
Fixed Issues
- MARATHON-8148 Fixed PodStatus to include task termination history. (#6216)
- MARATHON-8216 Fix Mesos HTTP health check for non-host networking mode with
containerPort=0
(#6235) (#6240) - MARATHON-8064 Fix ZK layout migration when store caching is disabled. (#6258)
Backports from 1.6
- MARATHON-8172 New command line flag
--max_running_deployments
was added to limit the max number of concurrently running deployments (#6178) - MARATHON-8195 Implemented back pressured batched GC scans, so Marathon doesn't consume too much memory. (#6220)
diff: v1.5.8...v1.5.9
https://downloads.mesosphere.io/marathon/releases/1.5.9/marathon-1.5.9.tgz
v1.4.12
- MARATHON-8011 Scaling to zero takes too much time in case of non-scaling related runspec changes (#5940)
- MARATHON-8124 Always unreserve resources for non-existing instances (#6072)
- MARATHON-7751 Do not start more instances than needed (#6054)
- Many documentation improvements
v1.5.8
Changes from 1.5.7 to 1.5.8
Bugfix release
Fixed issues
- MARATHON-7609 Send Instance health changed event when the overall status changed (#6132)
- MARATHON-8104 SlidingAverageSnapshot fix for metrics (#6135)
- Accessing /metrics endpoint is now done using
AuthorizedResource:: SystemConfig
type (instead ofSystemMetrics
) (#6100)
Special thanks to @clems4ever and @pierresouchay for all your efforts!
v1.5.7
Changes from 1.5.6 to 1.5.7
Fixed issues
- MARATHON-8039 Complete deployment after it was removed to avoid race condition. (#5944)
- Optimize
v2/groups
request performance: 10x throughput, 5x latency and 5x std. deviation improvement. (#6001) - MARATHON-8112 Open the persistence store before taking a backup using CLI (#6057)
- MARATHON-7751 Do not start more instances than needed (#6054)
- MARATHON-8124 Always unreserve resources for non-existing instances (#6072)
- MARATHON-7940 Disable Connection Pooling for HTTP Health Checks (#6098)
- Improved Documentation
Backports from 1.6
- MARATHON-8087 Preferential GPU Scheduling in Marathon
v1.6.352
Change from 1.6.322 to 1.6.352
GPU Scheduling
This change introduces the Marathon command line flag gpu_scheduling_behavior
to define how offered GPU resource should be treated.
Valid values are
undefined
indicating the old behaviour, ie apps and pods without GPU
requirement might launch on a node with GPU resources. A warning message
will be logged in such cases.restricted
indicating that resources on GPU containing nodes should only be
used for applications that require them.unrestricted
indicating that resources on GPU containing nodes can be used
whether or not applications require them.
The default is undefined
.
Fixed Issues
- MARATHON-8089, MARATHON-8088 Provide
restricted
andunrestricted
GPU scheduling behavior (#6052) - MARAHTON-8112 Open the persistence store before taking a backup using CLI (#6055)
- MARATHON-7751 Do not overscale pods with persistent volumes (#6038)
- Fixed a typo in the metrics conversion code where the
end
field of the/metrics
endpoint was not properly populated (#6035) - MARATHON-8063 Enhance App API to reflect resources for executor (#5986)
- Add deployment failure reason to event. (#6011)
- Vastly improved documentation on Unreachable Strategy
1.6.322
Recommended Mesos version is 1.5.0.
New versioning strategy
As of 1.6 version, Marathon switched to the new versioning strategy. We mostly follow SemVer but we needed to have a unique version number for every master build. For that reason, first 1.6 public release is 1.6.322. It does not mean there were 321 releases prior to this one that we did not share with the community, the number actually is number of commits on the master branch since the last minor release (so 1.5). As for all future releases, the fix version will be increasing but don't expect the numbers to be consequential.
New Behavior
Performance improvements
We have improved the overall performance of serialization in our API by 10x, leading to a substantial reduction in load for requests to /v2/apps
, and /v2/groups
. #5973
Maintenance mode support
Marathon has simple built-in support for Mesos Maintenance Primitives. For more information please see our docs.
Persistent volumes for pods
It is now possible to run stateful applications inside pods. For more information, please see docs.
And many more...
- Enhance App API to reflect resources for executor MARATHON-8063
- Add deployment failure to the event (#6011)(#6011)
- Support for IPv6 healthchecks MARATHON-7807
- IS constraint operator #5587
Fixed issues
portMappings
are exposed as$PORT_NAME
variable #5888
Breaking changes
SentryAppender
The Sentry Raven log appender has been updated to version 8.0.x. Users that have enabled the Sentry Raven appender will need to update their configuration according to the sentry migration guide.
Scala 2.12
Marathon 1.6.0 is compiled using Scala 2.12. This means that plugins which were compiled using Scala 2.11 will make Marathon fail during startup due to binary incompatibility between Scala 2.11 and 2.12.
Deprecations
/v2/schema route is Deprecated
The /v2/schema route, and JSON Schema definitions, are deprecated in favor of RAML. They will not be kept up-to-date. The endpoint will be disabled in Marathon 1.7.0 (can be re-enabled via an extended grace-period deprecation flag), and then completely removed in Marathon 1.8.0. The extended grace-deprecation flag will be documented in 1.7.0 and mentioned in the release notes. You can watch MARATHON-7981 for more details.
Marathon Health Checks Deprecation Schedule Update
Marathon Health Checks will continue functioning, but are not actively supported. You should migrate to Mesos Health checks as soon as possible.
In Marathon 1.8.0, we will start logging warning each time an app/pod references a Marathon health check.
In Marathon 1.9.0, if you upgrade and have app definitions with Marathon Health Checks, then Marathon will refuse to start. You will be able to temporarily re-enable them via an extended grace-period flag.
Marathon Health Checks will be completely removed in Marathon 1.10.0, and Marathon will refuse to start if the extended grace-period deprecation flag is specified.
v1.5.6
Changes from 1.5.5 to 1.5.6
Fixed issues
- MARATHON-7990 Ease up on the
toString
for Group and log clashing ids. - COPS-2072 Expose
containerPort
as$PORT_NAME
in environment variables. - MARATHON-7914 Migration from joda-time to java.time.
- MARATHON-8005 Fixing OffsetDateTime json serialization that was different form Timestamp serialization.
- MARATHON-8015 Fixes v1.5 migration issue with args only apps
- MARATHON-8011 Scaling to zero takes too much time in case of non-scaling related runspec changes
v1.4.11
Changes from 1.4.10 to 1.4.11
Fixed issues
- MARATHON-7992 - Validation errors on root group in large clusters can lead Marathon to crash.
v1.4.10
Changes from 1.4.9 to 1.4.10
Fixed issues
- MARATHON-7974 - If a non-super-user was explicitly given access to some resource, such as GroupResources, they were denied. This has been resolved.
- MARATHON-7962 - Enable killGracePeriodSeconds for Pods.
- MARATHON_EE-1770 - Optimized port assignments and performance enhancements.
- MARATHON_EE-1764 - Optimized port assignments and performance enhancements.