Skip to content

Releases: mesosphere/dcos-commons

0.58.0 Log4J CVE-2021-44228

17 Dec 01:32
Compare
Choose a tag to compare

This is a patch release on v0.58.0 to mitigate the Log4J CVE-2021-44228

  • Bump Log4J versions to 2.16.0

0.56.0 Log4J CVE-2021-44228

17 Dec 03:39
Compare
Choose a tag to compare

This is a patch release on v0.56.0 to mitigate the Log4J CVE-2021-44228

  • Bump Log4J versions to 2.16.0
  • Use release version of mesos:1.8.0 instead of SNAPSHOT

0.55.4 Log4J CVE-2021-44228

17 Dec 02:43
Compare
Choose a tag to compare

This is a patch release on v0.55.4 to mitigate the Log4J CVE-2021-44228

  • Bump Log4J versions to 2.16.0

0.55.2 Log4J CVE-2021-44228

17 Dec 01:09
Compare
Choose a tag to compare

This is a patch release on v0.55.2 to mitigate the Log4J CVE-2021-44228

  • Bump Log4J versions to 2.16.0

0.57.3 Log4J CVE-2021-44228

16 Dec 19:52
Compare
Choose a tag to compare

This is a patch release on v0.57.3 to mitigate the Log4J CVE-2021-44228

  • Bump Log4J versions to 2.16.0

0.57.2 Log4J CVE-2021-44228

16 Dec 20:03
Compare
Choose a tag to compare

This is a patch release on v0.57.2 to mitigate the Log4J CVE-2021-44228

  • Bump Log4J versions to 2.16.0

0.57.0 Log4J CVE-2021-44228

15 Dec 23:55
Compare
Choose a tag to compare

This is a patch release on v0.57.0 to mitigate the Log4J CVE-2021-44228

  • Bump Log4J versions to 2.16.0

0.58.0

12 Nov 12:55
Compare
Choose a tag to compare

Automatic Pod-Replacement

This release of the SDK introduces automatic-pod replacement. It is suggested to use an automatic pod-replacement failure policy with external-storage as rebuilding data associated with a pod isn't expected to be as expensive as compared to equivalent ROOT or MOUNT volumes.

Note: When enabled, automatic pod replacement applies across the service and not just a single pod type.

Replacement Failure Policy

Services implementing automatic pod replacement must specify the Replacement Failure Policy for tasks declared as permanently failing. The Replacement Failure Policy is constructed and passed to a Service Spec in a programmatic way as part of the scheduler's implementation.

Cassandra example:

Replacement Failure Policy cannot be defined in a YAML service specification.

Vertical bursting support

Previously, sidecar tasks (such as running Cassandra nodetool repair) were able to consume memory and cpu resources from the primary task. This is because Mesos previously launched all tasks in to a single cgroups. SDK v0.58.0 will instruct Mesos to launch all tasks in separate cgroups. This means that if a sidecar task actually needs more memory than that which it specifically requests, and no configuration is changed, the sidecar task will get OOM killed.

To remedy this, all frameworks should update their service specs so that ultimately the resource-limits for both the primary data service task, and side-car tasks, can be defined. Further, the templates in the Universe should expose appropriate configuration parameters so that bursting for both can be defined.

Tasks can be configured to optional consume more than they request.

With resource-limits, a task can be configured to consume more CPU or Memory than that which is requested and reserved. This is fantastic news for data-services that would permanently set aside an entire CPU so that occassional backup or repair side-car tasks can be run. To repeat a point made before, SDK service templates should expose appropriate configuration parameters so that resource-limits can be set, at the very least, for sidecar tasks.

Instead of Cassandra requiring 1 CPU for a sidecar tasks, it could instead set aside 0.1 CPU, and then set a resource limit of up to 2 CPUs. This will allow the task to run fast when their are leftover resources to run them, and leave CPUs available to service time-sensitive API requests.
This feature is opt-in, enable it by adding resource limits to your Service Spec.
PR (#3231)

Support external volumes

Cassandra example:

This feature is opt-in, enable it by adding external volumes to your Service Spec.
Design document (#3266)

0.58.0-rc3

13 Oct 21:34
Compare
Choose a tag to compare
0.58.0-rc3 Pre-release
Pre-release

Changes

Allowed values for External Volume Driver Name

This release will not allow any arbitrary values to be passed in the driver-name. The only accepted values are pxd for Portworx Driver and netapp for NetApp Driver.

Default External Volume Name

The naming scheme for the external volume differs for both supported drivers. Whereas, for the Portworx, the naming scheme is the same as defined in the previous release. But for the NetApp, since it does not support the hyphen - in the external volume name, so it would be replaced by the underscore _.

The SDK will now use the following scheme for external volume-name in case of the NetApp driver, where none is specified by the operator:
<svc-name> _ <pod-type> _ <pod-index>

  • <svc-name> : Sanitized service path with slashes / replaced to double underscore __
  • <pod-type> : Pod-type
  • <pod-index> : Pod-index

As an example, instances of pod type foo in service /path/to/service will be created with the following external volumes:

path__to__service_foo_1
path__to__service_foo_2

v0.58.0-rc2

28 Sep 15:48
Compare
Choose a tag to compare
v0.58.0-rc2 Pre-release
Pre-release

Changes

Automatic Pod-Replacement

This release of the SDK introduces automatic-pod replacement. It is suggested to use an automatic pod-replacement failure policy with external-storage as rebuilding data associated with a pod isn't expected to be as expensive as compared to equivalent ROOT or MOUNT volumes.

Note: When enabled, automatic pod replacement applies across the service and not just a single pod type.

Replacement Failure Policy

Services implementing automatic pod replacement must specify the Replacement Failure Policy for tasks declared as permanently failing. The Replacement Failure Policy is constructed and passed to a Service Spec in a programmatic way as part of the scheduler's implementation.

Cassandra example:

Replacement Failure Policy cannot be defined in a YAML service specification.

Default External Volume Name

The release of the SDK makes updates the naming scheme for external volumes, this applies for cases where the operator has not explicitly specified external volume name to use.

The SDK will now use the following scheme for external-volume names where none is specified by the operator:
<svc-name>-<pod-type>-<pod-index>
-<svc-name> : Sanitized service path with slashes / replaced to double underscore __
-<pod-type> : Pod-type
-<pod-index> : Pod-index

As an example, instances of pod type foo in service /path/to/service will be created with the following external volumes:

path__to__service-foo-1
path__to__service-foo-2

If the operator explicitly specifies an external volume name of ServiceVolume, the following external volumes will be created:

ServiceVolume-1
ServiceVolume-2