All Versions
160
Latest Version
Avg Release Cycle
28 days
Latest Release
531 days ago

Changelog History
Page 13

  • v0.9.2 Changes

    June 05, 2019

    ๐Ÿ”’ SECURITY:

    • driver/exec: Fix privilege escalation issue introduced in Nomad 0.9.0. In Nomad 0.9.0 and 0.9.1, exec tasks by default run as nobody but with elevated capabilities, allowing tasks to perform privileged linux operations and potentially escalate permissions. (CVE-2019-12618) [GH-5728]

    BACKWARDS INCOMPATIBILITIES:

    • api: The api package removed Config.SetTimeout and Config.ConfigureTLS functions, intended to be used internally only. [GH-5275]
    • api: The job deployments endpoint now filters out deployments associated with older instances of the job. This can happen if jobs are purged and recreated with the same id. To get all deployments irrespective of creation time, add all=true. The nomad job deploymentCLI also defaults to doing this filtering. [GH-5702]
    • client: The format of service IDs in Consul has changed. If you rely upon Nomad's service IDs (not service names; those are stable), you will need to update your code. [GH-5536]
    • client: The format of check IDs in Consul has changed. If you rely upon Nomad's check IDs you will need to update your code. [GH-5536]
    • client: On startup a client will reattach to running tasks as before but will not restart exited tasks. Exited tasks will be restarted only after the client has reestablished communication with servers. System jobs will always be restarted. [GH-5669]

    ๐Ÿ”‹ FEATURES:

    • core: Add nomad alloc stop command to reschedule allocs [GH-5512]
    • core: Add nomad alloc signal command to signal allocs and tasks [GH-5515]
    • core: Add nomad alloc restart command to restart allocs and tasks [GH-5502]
    • code: Add nomad alloc exec command for debugging and running commands in an alloc [GH-5632]
    • core/enterprise: Preemption capabilities for batch and service jobs
    • ui: Preemption reporting everywhere where allocations are shown and as part of the plan step of job submit [GH-5594]
    • ui: Ability to search clients list by class, status, datacenter, or eligibility flags [GH-5318]
    • ui: Ability to search jobs list by type, status, datacenter, or prefix [GH-5236]
    • ui: Ability to stop and restart allocations [GH-5734]
    • ui: Ability to restart tasks [GH-5734]
    • vault: Add initial support for Vault namespaces [GH-5520]

    ๐Ÿ‘Œ IMPROVEMENTS:

    • core: Add -verbose flag to nomad status wrapper command [GH-5516]
    • core: Add ability to filter job deployments by most recent version of job [GH-5702]
    • core: Add node name to output of nomad node status command in verbose mode [GH-5224]
    • core: Reduce the size of the raft transaction for plans by only sending fields updated by the plan applier [GH-5602]
    • core: Add job update auto_promote flag, which causes deployments to promote themselves when all canaries become healthy [GH-5719]
    • api: Support configuring http.Client used by golang api package [GH-5275]
    • api: Add preemption related fields to API results that return an allocation list. [GH-5580]
    • api: Add additional config options to scheduler configuration endpoint to disable preemption [GH-5628]
    • cli: Add acl token list command [GH-5557]
    • client: Reduce unnecessary lost nodes on server failure [GH-5654]
    • client: Canary Promotion no longer causes services registered in Consul to become unhealthy [GH-4566]
    • client: Allow use of maintenance mode and externally registered checks against Nomad-registered consul services [GH-4537]
    • driver/exec: Fixed an issue causing large memory consumption for light processes [GH-5437]
    • telemetry: Add client.allocs.memory.allocated metric to expose allocated task memory in bytes. [GH-5492]
    • ui: Colored log support [GH-5620]
    • ui: Upgraded from Ember 2.18 to 3.4 [GH-5544]
    • ui: Replace XHR cancellation by URL with XHR cancellation by token [GH-5721]

    ๐Ÿ› BUG FIXES:

    • core: Fixed accounting of allocated resources in metrics. [GH-5637]
    • core: Fixed disaster recovering with raft 3 protocol peers.json [GH-5629], [GH-5651]
    • core: Fixed a panic that may occur when preempting service jobs [GH-5545]
    • core: Fixed an edge case that caused division by zero when computing spread score [GH-5713]
    • core: Change configuration parsing to use the HCL library's decode, improving JSON support [GH-1290]
    • core: Fix a case where non-leader servers would have an ever growing number of waiting evaluations [GH-5699]
    • cli: Fix output and exit status for system jobs with constraints [GH-2381] and [GH-5169]
    • client: Fix network fingerprinting to honor manual configuration [GH-2619]
    • client: Job validation now checks that the datacenter field does not contain empty strings [GH-5665]
    • client: Fix network port mapping related environment variables when running with Nomad 0.8 servers [GH-5587]
    • client: Fix issue with terminal state deployments being modified when allocation subsequently fails [GH-5645]
    • driver/docker: Fix regression around image GC [GH-5768]
    • metrics: Fixed stale metrics [GH-5540]
    • vault: Fix renewal time to be 1/2 lease duration with jitter [GH-5479]
  • v0.9.2-rc1

    May 23, 2019
  • v0.9.1 Changes

    April 29, 2019

    ๐Ÿ› BUG FIXES:

    • core: Fix bug with incorrect metrics on pending allocations [GH-5541]
    • client: Fix issue with recovering from logmon failures [GH-5577], [GH-5616]
    • client: Fix deadlock on client startup after reboot [GH-5568]
    • ๐Ÿ‘ท client: Fix issue with node registration where newly registered nodes would not run system jobs [GH-5585]
    • ๐Ÿณ driver/docker: Fix regression around volume handling [GH-5572]
    • ๐Ÿณ driver/docker: Fix regression in which logs aren't collected for docker container with tty set to true [GH-5609]
    • driver/exec: Fix an issue where raw_exec and exec processes are leaked when nomad agent is restarted [GH-5598]
  • v0.9.1-rc1

    April 23, 2019
  • v0.9.0 Changes

    April 09, 2019

    BACKWARDS INCOMPATIBILITIES:

    • core: Drop support for CentOS/RHEL 6. glibc >= 2.14 is required.
    • core: Switch to structured logging using go-hclog. If you have tooling that parses Nomad's logs, the format of logs has changed and your tools may need updating.
    • core: IOPS as a resource is now deprecated [GH-4970]. Nomad continues to parse IOPS in jobs to allow job authors time to remove iops from their jobs.
    • core: Allow the != constraint to match against keys that do not exist [GH-4875]
    • client: Task config validation is more strict in 0.9. For example unknown parameters in stanzas under the task config were ignored in previous versions but in 0.9 this will cause a task failure.
    • client: Task config interpolation requires names to be valid identifiers (node.region or NOMAD_DC). Interpolating other variables requires a new indexing syntax: env[".invalid.identifier."]. [GH-4843]
    • 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]
    • 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. 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]

    ๐Ÿ”‹ FEATURES:

    • Affinities and Spread: Jobs may now specify affinities towards certain node attributes. Affinities act as soft constraints, and inform the scheduler that the job has a preference for certain node properties. 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]
    • core: Added support for specifying node affinities. Affinities allow job operators to specify weighted placement preferences according to different node attributes [GH-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]
    • core: Added preemption support for system jobs. System jobs can now preempt other jobs of lower priority. See preemption for more details. [GH-4794]
    • acls: Allow support for using globs in namespace definitions [GH-4982]
    • agent: Support JSON log output [GH-5173]
    • api: Reduced api package dependencies [GH-5213]
    • client: Extend timeout to 60 seconds for Windows CPU fingerprinting [GH-4441]
    • client: Refactor client to support plugins and improve state handling [GH-4792]
    • client: Updated consul-template library to pick up recent fixes and improvements[GH-4885]
    • client: When retrying a failed artifact, do not download any successfully downloaded artifacts again [GH-5322]
    • client: Added service metadata tag that enables the Consul UI to show a Nomad icon for services registered by Nomad [GH-4889]
    • cli: Added support for coloured output on Windows [GH-5342]
    • driver/docker: Rename Logging type to driver [GH-5372]
    • driver/docker: Support logs when using Docker for Mac [GH-4758]
    • driver/docker: Added support for specifying storage_opt in the Docker driver [GH-4908]
    • driver/docker: Added support for specifying cpu_cfs_period in the Docker driver [GH-4462]
    • driver/docker: Added support for setting bind and tmpfs mounts in the Docker driver [GH-4924]
    • driver/docker: Report container images with user friendly name rather than underlying image ID [GH-4926]
    • driver/docker: Add support for collecting stats on Windows [GH-5355] drivers/docker: Report docker driver as undetected before first connecting to the docker daemon [GH-5362]
    • drivers: Added total memory usage to task resource metrics [GH-5190]
    • server/rpc: Reduce logging when undergoing temporary network errors such as hitting file descriptor limits [GH-4974]
    • server/vault: Tweaked logs to better identify vault connection errors [GH-5228]
    • server/vault: Added Vault token expiry info in nomad status CLI, and some improvements to token refresh process [GH-4817]
    • telemetry: All client metrics include a new node_class tag [GH-3882]
    • telemetry: Added new tags with value of child job id and parent job id for parameterized and periodic jobs [GH-4392]
    • ui: Improved JSON editor [GH-4541]
    • ui: Mobile friendly views [GH-4536]
    • ui: Filled out the styleguide [GH-4468]
    • ui: Support switching regions [GH-4572]
    • ui: Canaries can now be promoted from the UI [GH-4616]
    • ui: Stopped jobs can be restarted from the UI [GH-4615]
    • ui: Support widescreen format in alloc logs view [GH-5400]
    • ui: Gracefully handle errors from the stats end points [GH-4833]
    • ui: Added links to Jobs and Clients from the error page template [GH-4850]
    • ui: Jobs can be authored, planned, submitted, and edited from the UI [GH-4600]
    • ui: Display recent allocations on job page and introduce allocation tab [GH-4529]
    • ui: Refactored breadcrumbs and adjusted the breadcrumb paths on each page [GH-4458]
    • ui: Switching namespaces in the UI will now always "reset" back to the jobs list page [GH-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], [GH-4718], [GH-4727]

    ๐Ÿ› BUG FIXES:

    • core: Removed some GPL code inadvertently added for macOS support [GH-5202]
    • core: Fix an issue where artifact checksums containing interpolated variables failed validation [GH-4810]
    • core: Fix an issue where job summaries for parent dispatch/periodic jobs were not being computed correctly [GH-5205]
    • core: Fix an issue where a canary allocation with a deployment no longer in the state store caused a panic [GH-5259
    • client: Fix an issue reloading the client config [GH-4730]
    • client: Fix an issue where driver attributes are not updated in node API responses if they change after after startup [GH-4984]
    • 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]
    • driver/raw_exec: Fix an issue where tasks that used an interpolated command in driver configuration would not start [GH-4813]
    • drivers: Fix a bug where exec and java drivers get reported as detected and healthy when nomad is not running as root and without cgroup support
    • quota: Fixed a bug in Nomad enterprise where quota specifications were not being replicated to non authoritative regions correctly.
    • scheduler: When dequeueing evals ensure workers wait to the proper Raft index [GH-5381]
    • scheduler: Allow schedulers to handle evaluations that are created due to previous evaluation failures [GH-4712]
    • server/api: Fixed bug when trying to route to a down node [GH-5261]
    • server/vault: Fixed bug in Vault token renewal that could panic on a malformed Vault response [GH-4904], [GH-4937]
    • template: Fix parsing of environment templates when destination path is interpolated [GH-5253]
    • ui: Fixes for viewing objects that contain dots in their names [GH-4994]
    • ui: Correctly labeled certain classes of unknown errors as 404 errors [GH-4841]
    • ui: Fixed an issue where searching while viewing a paginated table could display no results [GH-4822]
    • ui: Fixed an issue where the task group breadcrumb didn't always include the namesapce query param [GH-4801]
    • ui: Added an empty state for the tasks list on the allocation detail page, for when an alloc has no tasks [GH-4860]
    • ui: Fixed an issue where dispatched jobs would get the wrong template type which could cause runtime errors [GH-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]
  • v0.9.0-rc2

    April 03, 2019
  • v0.9.0-rc1

    March 22, 2019
  • v0.8.7 Changes

    January 14, 2019

    ๐Ÿ‘Œ IMPROVEMENTS:

    • 0๏ธโƒฃ core: Added filter_default, prefix_filter and disable_dispatched_job_summary_metrics client options to improve metric filtering [GH-4878]
    • ๐Ÿ driver/docker: Support bind mount type in order to allow Windows users to mount absolute paths [GH-4958]

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ›  core: Fixed panic when Vault secret response is nil [GH-4904] [GH-4937]
    • ๐Ÿ‘ท core: Fixed issue with negative counts in job summary [GH-4949]
    • ๐Ÿ›  core: Fixed issue with handling duplicated blocked evaluations [GH-4867]
    • ๐Ÿ‘ท core: Fixed bug where some successfully completed jobs get re-run after job garbage collection [GH-4861]
    • ๐Ÿ›  core: Fixed bug in reconciler where allocs already stopped were being unnecessarily updated [GH-4764]
    • ๐Ÿ‘ท core: Fixed bug that affects garbage collection of batch jobs that are purged and resubmitted with the same id [GH-4839]
    • ๐Ÿ›  core: Fixed an issue with garbage collection where terminal but still running allocations could be garbage collected server side [GH-4965]
    • ๐Ÿš€ deployments: Fix an issue where a deployment with multiple task groups could be marked as failed when the first progress deadline was hit regardless of if that group was done deploying [GH-4842]
  • v0.8.6 Changes

    September 26, 2018

    ๐Ÿ‘Œ IMPROVEMENTS:

    • ๐ŸŽ core: Increased scheduling performance when annotating existing allocations [GH-4713]
    • core: Unique TriggerBy for evaluations that are created to place queued allocations [GH-4716]

    ๐Ÿ› BUG FIXES:

    • core: Fix a bug in Nomad Enterprise where non-voting servers could get bootstrapped as voting servers [GH-4702]
    • core: Fix an issue where an evaluation could fail if an allocation was being rescheduled and the node containing it was at capacity [GH-4713]
    • โฑ core: Fix an issue in which schedulers would reject evaluations created when prior scheduling for a job failed [GH-4712]
    • โฌ†๏ธ cli: Fix a bug where enabling custom upgrade versions for autopilot was not being honored [GH-4723]
    • ๐Ÿš€ deployments: Fix an issue where the deployment watcher could create a high volume of evaluations [GH-4709]
    • vault: Fix a regression in which Nomad was only compatible with Vault versions greater than 0.10.0 [GH-4698]
  • v0.8.5 Changes

    September 13, 2018

    ๐Ÿ‘Œ IMPROVEMENTS:

    • ๐Ÿš€ core: Failed deployments no longer block migrations [GH-4659]
    • client: Added option to prevent Nomad from removing containers when the task exits [GH-4535]

    ๐Ÿ› BUG FIXES:

    • ๐Ÿ‘ท core: Reset queued allocation summary to zero when job stopped [GH-4414]
    • โšก๏ธ core: Fix inverted logic bug where if disable_update_check was enabled, update checks would be performed [GH-4570]
    • ๐Ÿ”€ core: Fix panic due to missing synchronization in delayed evaluations heap [GH-4632]
    • core: Fix treating valid PEM files as invalid [GH-4613]
    • ๐Ÿ‘ท core: Fix panic in nomad job history when invoked with a job version that doesn't exist [GH-4577]
    • core: Fix issue with not properly closing connection multiplexer when its context is cancelled [GH-4573]
    • โฌ†๏ธ core: Upgrade vendored Vault client library to fix API incompatibility issue [GH-4658]
    • ๐Ÿณ driver/docker: Fix kill timeout not being respected when timeout is over five minutes [GH-4599]
    • โฑ scheduler: Fix nil pointer dereference [GH-4474]
    • โฑ scheduler: Fix panic when allocation's reschedule policy doesn't exist [GH-4647]
    • client: Fix migrating ephemeral disks when TLS is enabled [GH-4648]