mirror of
https://github.com/kemko/nomad.git
synced 2026-01-05 09:55:44 +03:00
changelog
This commit is contained in:
99
CHANGELOG.md
99
CHANGELOG.md
@@ -1,6 +1,7 @@
|
||||
## 0.9.0 (Unreleased)
|
||||
|
||||
__BACKWARDS INCOMPATIBILITIES:__
|
||||
|
||||
* core: Switch to structured logging using [go-hclog](https://github.com/hashicorp/go-hclog)
|
||||
* core: IOPS as a resource is now deprecated [[GH-4970](https://github.com/hashicorp/nomad/issues/4970)]
|
||||
* core: Allow the != constraint to match against keys that do not exist [[GH-4875](https://github.com/hashicorp/nomad/pull/4875)]
|
||||
@@ -10,44 +11,88 @@ __BACKWARDS INCOMPATIBILITIES:__
|
||||
* client: Node metadata variables must have valid identifiers, whether
|
||||
specified in the config file (`client.meta` stanza) or on the command line
|
||||
(`-meta`). [[GH-5158](https://github.com/hashicorp/nomad/pull/5158)]
|
||||
* driver/lxc: The LXC driver is no longer packaged with Nomad and is instead
|
||||
distributed separately as a driver plugin. Further, the LXC driver codebase
|
||||
is now in a separate
|
||||
[repository](https://github.com/hashicorp/nomad-driver-lxc). If you are using
|
||||
LXC, please follow the 0.9.0 upgrade guide as you will have to install the
|
||||
LXC driver before conducting an in-place upgrade to Nomad 0.9.0 [[GH-5162](https://github.com/hashicorp/nomad/issues/5162)]
|
||||
|
||||
FEATURES:
|
||||
|
||||
* **Affinities and Spread**: Job's may now specify affinities towards certain
|
||||
node attributes. Affinities act as soft constraints, and inform the scheduler
|
||||
that a preference for certain node properties exists. The new spread stanza
|
||||
informs the scheduler that allocations should be spread across a specific
|
||||
property such as datacenter or availability zone. This is useful to increase
|
||||
failure tolerance of critical applications.
|
||||
* **System Job Preemption**: System jobs may now preempt lower priority
|
||||
allocations. The ability to place system jobs on all targeted nodes is
|
||||
critical since system jobs often run applications that provide services for
|
||||
all allocations on the node.
|
||||
* **Driver Plugins**: Nomad now supports task drivers as plugins. Driver
|
||||
plugins operate the same as built-in drivers and can be developed and
|
||||
distributed independently from Nomad.
|
||||
* **Device Plugins**: Nomad now supports scheduling and mounting devices via
|
||||
device plugins. Device plugins expose hardware devices such as GPUs to Nomad
|
||||
and instruct the client on how to make them available to tasks. Device
|
||||
plugins can expose the health of devices, the devices attributes, and device
|
||||
usage statistics. Device plugins can be developed and distributed
|
||||
independently from Nomad.
|
||||
* **Nvidia GPU Device Plugin**: Nomad builds-in a Nvidia GPU device plugin to
|
||||
add out of the box support for scheduling Nvidia GPUs.
|
||||
* **Client Refactor**: Major focus has been put in this release to refactor the
|
||||
Nomad Client codebase. The goal of the refactor has been to make the
|
||||
codebase more modular to increase developer velocity and testability.
|
||||
* **Mobile UI Views:** The side-bar navigation, breadcrumbs, and various other page
|
||||
elements are now responsively resized and repositioned based on your browser size.
|
||||
* **Job Authoring from the UI:** It is now possible to plan and submit new jobs, edit
|
||||
existing jobs, stop and start jobs, and promote canaries all from the UI.
|
||||
* **Improved Stat Tracking in UI:** The client detail, allocation detail, and task
|
||||
detail pages now have line charts that plot CPU and Memory usage changes over time.
|
||||
* **Structured Logging**: Nomad now uses structured logging with the ability to
|
||||
output logs in a JSON format.
|
||||
|
||||
IMPROVEMENTS:
|
||||
|
||||
* core: Added advertise address to client node meta data [[GH-4390](https://github.com/hashicorp/nomad/issues/4390)]
|
||||
* core: Added support for specifying node affinities. Affinities allow job operators to specify weighted placement preferences
|
||||
according to different node attributes [[GH-4512](https://github.com/hashicorp/nomad/issues/4512)]
|
||||
* core: Added support for spreading allocations across a specific attribute. Operators can specify spread
|
||||
target percentages across failure domains such as datacenter or rack [[GH-4512](https://github.com/hashicorp/nomad/issues/4512)]
|
||||
* core: Added support for specifying node affinities. Affinities allow job operators to specify weighted placement preferences according to different node attributes [[GH-4512](https://github.com/hashicorp/nomad/issues/4512)]
|
||||
* core: Added support for spreading allocations across a specific attribute. Operators can specify spread target percentages across failure domains such as datacenter or rack [[GH-4512](https://github.com/hashicorp/nomad/issues/4512)]
|
||||
* core: Added preemption support for system jobs. System jobs can now preempt other jobs of lower priority. See [preemption](https://www.nomadproject.io/docs/internals/scheduling/preemption.html) for more details. [[GH-4794](https://github.com/hashicorp/nomad/pull/4794)]
|
||||
* acls: Allow support for using globs in namespace definitions [[GH-4982](https://github.com/hashicorp/nomad/pull/4982)]
|
||||
* agent: Support JSON log output [[GH-5173](https://github.com/hashicorp/nomad/issues/5173)]
|
||||
* api: Reduced api package dependencies [[GH-5213](https://github.com/hashicorp/nomad/pull/5213)]
|
||||
* client: Added service metadata tag that enables the Consul UI to show a Nomad
|
||||
icon for services registered by Nomad [[GH-4889](https://github.com/hashicorp/nomad/issues/4889)]
|
||||
* client: Refactor client to support plugins and improve state handling [[GH-4792](https://github.com/hashicorp/nomad/pull/4792)]
|
||||
* client: Extend timeout to 60 seconds for Windows CPU fingerprinting [[GH-4441](https://github.com/hashicorp/nomad/pull/4441)]
|
||||
* client: Refactor client to support plugins and improve state handling [[GH-4792](https://github.com/hashicorp/nomad/pull/4792)]
|
||||
* client: Updated consul-template library to pick up recent fixes and improvements[[GH-4885](https://github.com/hashicorp/nomad/pull/4885)]
|
||||
* driver/docker: Report container images with user friendly name rather than underlying image ID [[GH-4926](https://github.com/hashicorp/nomad/pull/4926)]
|
||||
* client: Added service metadata tag that enables the Consul UI to show a Nomad icon for services registered by Nomad [[GH-4889](https://github.com/hashicorp/nomad/issues/4889)]
|
||||
* driver/docker: Support logs when using Docker for Mac [[GH-4758](https://github.com/hashicorp/nomad/issues/4758)]
|
||||
* driver/docker: Added support for specifying `storage_opt` in the Docker driver [[GH-4908](https://github.com/hashicorp/nomad/pull/4908)]
|
||||
* driver/docker: Added support for specifying `cpu_cfs_period` in the Docker driver [[GH-4462](https://github.com/hashicorp/nomad/pull/4462)]
|
||||
* driver/docker: Added support for setting bind and tmpfs mounts in the Docker driver [[GH-4924](https://github.com/hashicorp/nomad/pull/4924)]
|
||||
* driver/docker: Report container images with user friendly name rather than underlying image ID [[GH-4926](https://github.com/hashicorp/nomad/pull/4926)]
|
||||
* drivers: Added total memory usage to task resource metrics [[GH-5190](https://github.com/hashicorp/nomad/pull/5190)]
|
||||
* server/rpc: Reduce logging when undergoing temporary network errors such as hitting file descriptor limits [[GH-4974](https://github.com/hashicorp/nomad/issues/4974)]
|
||||
* server/vault: Tweaked logs to better identify vault connection errors [[GH-5228](https://github.com/hashicorp/nomad/pull/5228)]
|
||||
* server/vault: Added Vault token expiry info in `nomad status` CLI, and some improvements to token refresh process [[GH-4817](https://github.com/hashicorp/nomad/pull/4817)]
|
||||
* telemetry: All client metrics include a new `node_class` tag [[GH-3882](https://github.com/hashicorp/nomad/issues/3882)]
|
||||
* telemetry: Added new tags with value of child job id and parent job id for
|
||||
parameterized and periodic jobs [[GH-4392](https://github.com/hashicorp/nomad/issues/4392)]
|
||||
* ui: CPU and Memory metrics are plotted over time during a session in line charts on node detail, allocation detail, and task detail pages [[GH-4661](https://github.com/hashicorp/nomad/issues/4661)], [[GH-4718](https://github.com/hashicorp/nomad/issues/4718)], [[GH-4727](https://github.com/hashicorp/nomad/issues/4727)]
|
||||
* ui: Switching namespaces in the UI will now always "reset" back to the jobs list page [[GH-4533](https://github.com/hashicorp/nomad/issues/4533)]
|
||||
* ui: Refactored breadcrumbs and adjusted the breadcrumb paths on each page [[GH-4458](https://github.com/hashicorp/nomad/issues/4458)]
|
||||
* ui: Jobs can be authored, planned, submitted, and edited from the UI [[GH-4600](https://github.com/hashicorp/nomad/issues/4600)]
|
||||
* ui: Added links to Jobs and Clients from the error page template [[GH-4850](https://github.com/hashicorp/nomad/issues/4850)]
|
||||
* ui: Gracefully handle errors from the stats end points [[GH-4833](https://github.com/hashicorp/nomad/issues/4833)]
|
||||
* ui: Stopped jobs can be restarted from the UI [[GH-4615](https://github.com/hashicorp/nomad/issues/4615)]
|
||||
* ui: Canaries can now be promoted from the UI [[GH-4616](https://github.com/hashicorp/nomad/issues/4616)]
|
||||
* telemetry: Added new tags with value of child job id and parent job id for parameterized and periodic jobs [[GH-4392](https://github.com/hashicorp/nomad/issues/4392)]
|
||||
* ui: Improved JSON editor [[GH-4541](https://github.com/hashicorp/nomad/issues/4541)]
|
||||
* ui: Mobile friendly views [[GH-4536](https://github.com/hashicorp/nomad/issues/4536)]
|
||||
* ui: Filled out the styleguide [[GH-4468](https://github.com/hashicorp/nomad/issues/4468)]
|
||||
* vendor: Removed library obsoleted by go 1.8 [[GH-4469](https://github.com/hashicorp/nomad/issues/4469)]
|
||||
* acls: Allow support for using globs in namespace definitions [[GH-4982](https://github.com/hashicorp/nomad/pull/4982)]
|
||||
* ui: Support switching regions [[GH-4572](https://github.com/hashicorp/nomad/issues/4572)]
|
||||
* ui: Canaries can now be promoted from the UI [[GH-4616](https://github.com/hashicorp/nomad/issues/4616)]
|
||||
* ui: Stopped jobs can be restarted from the UI [[GH-4615](https://github.com/hashicorp/nomad/issues/4615)]
|
||||
* ui: Gracefully handle errors from the stats end points [[GH-4833](https://github.com/hashicorp/nomad/issues/4833)]
|
||||
* ui: Added links to Jobs and Clients from the error page template [[GH-4850](https://github.com/hashicorp/nomad/issues/4850)]
|
||||
* ui: Jobs can be authored, planned, submitted, and edited from the UI [[GH-4600](https://github.com/hashicorp/nomad/issues/4600)]
|
||||
* ui: Display recent allocations on job page and introduce allocation tab [[GH-4529](https://github.com/hashicorp/nomad/issues/4529)]
|
||||
* ui: Refactored breadcrumbs and adjusted the breadcrumb paths on each page [[GH-4458](https://github.com/hashicorp/nomad/issues/4458)]
|
||||
* ui: Switching namespaces in the UI will now always "reset" back to the jobs list page [[GH-4533](https://github.com/hashicorp/nomad/issues/4533)]
|
||||
* ui: CPU and Memory metrics are plotted over time during a session in line charts on node detail, allocation detail, and task detail pages [[GH-4661](https://github.com/hashicorp/nomad/issues/4661)], [[GH-4718](https://github.com/hashicorp/nomad/issues/4718)], [[GH-4727](https://github.com/hashicorp/nomad/issues/4727)]
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
* core: Removed some GPL code inadvertently added for macOS support [[GH-5202](https://github.com/hashicorp/nomad/pull/5202)]
|
||||
* core: Fix an issue where artifact checksums containing interpolated variables failed validation [[GH-4810](https://github.com/hashicorp/nomad/pull/4819)]
|
||||
* core: Fix an issue where job summaries for parent dispatch/periodic jobs were not being computed correctly [[GH-5205](https://github.com/hashicorp/nomad/pull/5205)]
|
||||
@@ -56,14 +101,16 @@ BUG FIXES:
|
||||
* driver/docker: Fix a path traversal issue where mounting paths outside alloc dir might be possible despite `docker.volumes.enabled` set to false [[GH-4983](https://github.com/hashicorp/nomad/pull/4983)]
|
||||
* driver/raw_exec: Fix an issue where tasks that used an interpolated command in driver configuration would not start [[GH-4813](https://github.com/hashicorp/nomad/pull/4813)]
|
||||
* quota: Fixed a bug in Nomad enterprise where quota specifications were not being replicated to non authoritative regions correctly.
|
||||
* scheduler: Allow schedulers to handle evaluations that are created due to previous evaluation failures [[GH-4712](https://github.com/hashicorp/nomad/issues/4712)]
|
||||
* server/vault: Fixed bug in Vault token renewal that could panic on a malformed Vault response [[GH-4904](https://github.com/hashicorp/nomad/issues/4904)], [[GH-4937](https://github.com/hashicorp/nomad/pull/4937)]
|
||||
* template: Fix parsing of environment templates when destination path is
|
||||
interpolated [[GH-5253](https://github.com/hashicorp/nomad/issues/5253)]
|
||||
* ui: Fixed an issue where distribution bar corners weren't rounded when there was only one or two slices in the chart [[GH-4507](https://github.com/hashicorp/nomad/issues/4507)]
|
||||
* ui: Fixed an issue where dispatched jobs would get the wrong template type which could cause runtime errors [[GH-4852](https://github.com/hashicorp/nomad/issues/4852)]
|
||||
* ui: Added an empty state for the tasks list on the allocation detail page, for when an alloc has no tasks [[GH-4860](https://github.com/hashicorp/nomad/issues/4860)]
|
||||
* ui: Fixed an issue where the task group breadcrumb didn't always include the namesapce query param [[GH-4801](https://github.com/hashicorp/nomad/issues/4801)]
|
||||
* template: Fix parsing of environment templates when destination path is interpolated [[GH-5253](https://github.com/hashicorp/nomad/issues/5253)]
|
||||
* ui: Fixes for viewing objects that contain dots in their names [[GH-4994](https://github.com/hashicorp/nomad/issues/4994)]
|
||||
* ui: Correctly labeled certain classes of unknown errors as 404 errors [[GH-4841](https://github.com/hashicorp/nomad/issues/4841)]
|
||||
* ui: Fixed an issue where searching while viewing a paginated table could display no results [[GH-4822](https://github.com/hashicorp/nomad/issues/4822)]
|
||||
* ui: Fixed an issue where the task group breadcrumb didn't always include the namesapce query param [[GH-4801](https://github.com/hashicorp/nomad/issues/4801)]
|
||||
* ui: Added an empty state for the tasks list on the allocation detail page, for when an alloc has no tasks [[GH-4860](https://github.com/hashicorp/nomad/issues/4860)]
|
||||
* ui: Fixed an issue where dispatched jobs would get the wrong template type which could cause runtime errors [[GH-4852](https://github.com/hashicorp/nomad/issues/4852)]
|
||||
* ui: Fixed an issue where distribution bar corners weren't rounded when there was only one or two slices in the chart [[GH-4507](https://github.com/hashicorp/nomad/issues/4507)]
|
||||
|
||||
## 0.8.7 (January 14, 2019)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user