open-nomad/CHANGELOG.md

554 lines
28 KiB
Markdown
Raw Normal View History

2016-08-19 17:40:32 +00:00
## 0.5.0 (Unreleased)
2016-11-01 00:38:07 +00:00
__BACKWARDS INCOMPATIBILITIES:__
* jobspec: Extracted the disk resources from the task to the task group. The
new block is name `ephemeral_disk`. Nomad will automatically convert
existing jobs but newly submitted jobs should refactor the disk resource
[GH-1710, GH-1679]
2016-08-19 17:40:32 +00:00
IMPROVEMENTS:
2016-10-27 18:44:49 +00:00
* core: Support for gossip encryption [GH-1791]
2016-11-01 00:38:07 +00:00
* core: Vault integration to handle secure introduction of tasks [GH-1583,
GH-1713]
* core: New `set_contains` constraint to determine if a set contains all
specified values [GH-1839]
2016-10-27 18:43:36 +00:00
* core: Scheduler version enforcement disallows different scheduler version
from making decisions simultaneously [GH-1872]
2016-11-01 00:45:39 +00:00
* core: Introduce node SecretID which can be used to minimize the available
surface area of RPCs to malicious Nomad Clients [GH-1597]
2016-11-01 00:42:40 +00:00
* core: Add `sticky` volumes which inform the scheduler to prefer placing
updated allocations on the same node and to reuse the `local/` and
`alloc/data` directory from previous allocation allowing semi-persistent
data and allow those folders to be synced from a remote node [GH-1654,
GH-1741]
2016-10-18 16:56:10 +00:00
* agent: Add DataDog telemetry sync [GH-1816]
2016-11-01 00:38:07 +00:00
* agent: Allow Consul health checks to use bind address rather than advertise
[GH-1866]
2016-11-01 01:18:30 +00:00
* agent/config: Advertise addresses do not need to specify a port [GH-1902]
* api: Support TLS for encrypting Raft, RPC and HTTP APIs [GH-1853]
2016-10-31 17:25:55 +00:00
* api: Implement blocking queries for querying a job's evaluations [GH-1892]
2016-08-24 21:24:03 +00:00
* cli: `nomad alloc-status` shows allocation creation time [GH-1623]
2016-10-24 17:55:45 +00:00
* cli: `nomad node-status` shows node metadata in verbose mode [GH-1841]
2016-09-27 23:32:32 +00:00
* client: Failed RPCs are retried on all servers [GH-1735]
2016-08-23 16:51:07 +00:00
* client: Enforce shared allocation directory disk usage [GH-1580]
2016-09-01 16:57:23 +00:00
* client: Introduce a `secrets/` directory to tasks where sensitive data can
2016-09-02 22:04:07 +00:00
be written [GH-1681]
2016-11-01 00:38:07 +00:00
* client/jobspec: Add support for templates that can render static files,
dynamic content from Consul and secrets from Vault [GH-1783]
2016-10-11 18:22:09 +00:00
* driver: Export `NOMAD_JOB_NAME` environment variable [GH-1804]
2016-10-27 16:30:30 +00:00
* driver/docker: Docker For Mac support [GH-1806]
* driver/docker: Support Docker volumes [GH-1767]
* driver/docker: Allow Docker logging to be configured [GH-1767]
* driver/lxc: Support for LXC containers [GH-1699]
2016-11-01 00:38:07 +00:00
* driver/rkt: Support network configurations [GH-1862]
2016-11-01 00:45:39 +00:00
* driver/rkt: Support rkt volumes (rkt >= 1.0.0 required) [GH-1812]
2016-08-19 17:40:32 +00:00
2016-08-26 18:30:26 +00:00
BUG FIXES:
2016-11-01 00:38:07 +00:00
* core: Fix case where dead nodes were not properly handled by System
scheduler [GH-1715]
2016-10-11 17:41:52 +00:00
* agent: Handle the SIGPIPE signal preventing panics on journalctl restarts
[GH-1802]
2016-11-01 00:38:07 +00:00
* api: Disallow filesystem APIs to read paths that escape the allocation
directory [GH-1786]
* cli: `nomad run` failed to run on Windows [GH-1690]
* cli: `alloc-status` and `node-status` work without access to task stats
[GH-1660]
2016-10-25 18:32:20 +00:00
* cli: `alloc-status` does not query for allocation statistics if node is down
[GH-1844]
2016-09-13 18:26:50 +00:00
* client: Prevent race when persisting state file [GH-1682]
2016-11-01 00:38:07 +00:00
* client: Retry recoverable errors when starting a driver [GH-1891]
* client: Fix old services not getting removed from consul on update [GH-1668]
* client: Folder permissions are dropped even when not running as root [GH-1888]
2016-08-26 18:45:34 +00:00
* client: Artifact download failures will be retried before failing tasks
[GH-1558]
2016-09-28 00:29:39 +00:00
* client: Fix a memory leak in the executor that caused failed allocations
[GH-1762]
2016-11-01 00:38:07 +00:00
* client: Fix a crash related to stats publishing when driver hasn't started
yet [GH-1723]
* client: Chroot environment is only created once, avoid potential filesystem
errors [GH-1753]
* client: Failures to download an artifact are retried according to restart
policy before failing the allocation [GH-1653]
* client/executor: Prevent race when updating a job configuration with the
logger [GH-1886]
2016-08-30 23:35:32 +00:00
* client/fingerprint: Fix inconsistent CPU MHz fingerprinting [GH-1366]
2016-10-10 22:22:14 +00:00
* discovery: Fix old services not getting removed from Consul on update
2016-09-01 00:22:36 +00:00
[GH-1668]
2016-08-26 18:30:26 +00:00
* discovery: Fix HTTP timeout with Server HTTP health check when there is no
leader [GH-1656]
2016-09-27 23:32:32 +00:00
* discovery: Fix client flapping when server is in a different datacenter as
the client [GH-1641]
2016-10-25 21:30:14 +00:00
* discovery/jobspec: Validate service name after interpolation [GH-1852]
2016-10-18 22:58:25 +00:00
* driver/docker: Fix `local/` directory mount into container [GH-1830]
* jobspec: Tasks without a resource block no longer fail to validate [GH-1864]
2016-08-26 18:30:26 +00:00
2016-09-23 20:38:28 +00:00
## 0.4.1 (August 18, 2016)
2016-07-12 15:53:28 +00:00
2016-08-02 02:54:46 +00:00
__BACKWARDS INCOMPATIBILITIES:__
* telemetry: Operators will have to explicitly opt-in for Nomad client to
publish allocation and node metrics
2016-07-12 19:53:43 +00:00
IMPROVEMENTS:
2016-07-13 20:40:10 +00:00
* core: Allow count 0 on system jobs [GH-1421]
2016-08-09 16:56:55 +00:00
* core: Summarize the current status of registered jobs. [GH-1383, GH-1517]
2016-07-12 19:53:43 +00:00
* core: Gracefully handle short lived outages by holding RPC calls [GH-1403]
2016-08-04 18:38:18 +00:00
* core: Introduce a lost state for allocations that were on Nodes that died
[GH-1516]
2016-07-25 18:21:34 +00:00
* api: client Logs endpoint for streaming task logs [GH-1444]
2016-07-13 21:34:40 +00:00
* api/cli: Support for tailing/streaming files [GH-1404, GH-1420]
2016-08-08 00:48:50 +00:00
* api/server: Support for querying job summaries [GH-1455]
2016-07-25 18:21:34 +00:00
* cli: `nomad logs` command for streaming task logs [GH-1444]
2016-08-17 17:06:17 +00:00
* cli: `nomad status` shows the create time of allocations [GH-1540]
2016-08-03 18:11:55 +00:00
* cli: `nomad plan` exit code indicates if changes will occur [GH-1502]
2016-08-09 16:56:55 +00:00
* cli: status commands support JSON output and go template formating [GH-1503]
2016-07-25 18:15:16 +00:00
* cli: Validate and plan command supports reading from stdin [GH-1460,
GH-1458]
2016-08-17 20:24:12 +00:00
* cli: Allow basic authentication through address and environment variable
[GH-1610]
2016-08-12 01:07:58 +00:00
* cli: `nomad node-status` shows volume name for non-physical volumes instead
of showing 0B used [GH-1538]
2016-08-17 17:06:17 +00:00
* cli: Support retrieving job files using go-getter in the `run`, `plan` and
`validate` command [GH-1511]
2016-07-23 00:34:14 +00:00
* client: Add killing event to task state [GH-1457]
2016-07-22 23:11:42 +00:00
* client: Fingerprint network speed on Windows [GH-1443]
2016-08-16 22:26:07 +00:00
* discovery: Support for initial check status [GH-1599]
* discovery: Support for query params in health check urls [GH-1562]
2016-08-03 17:28:45 +00:00
* driver/docker: Allow working directory to be configured [GH-1513]
2016-08-12 01:07:58 +00:00
* driver/docker: Remove docker volumes when removing container [GH-1519]
* driver/docker: Set windows containers network mode to nat by default
[GH-1521]
* driver/exec: Allow chroot environment to be configurable [GH-1518]
2016-08-16 22:26:07 +00:00
* driver/qemu: Allows users to pass extra args to the qemu driver [GH-1596]
2016-07-22 19:19:10 +00:00
* telemetry: Circonus integration for telemetry metrics [GH-1459]
2016-08-02 02:54:46 +00:00
* telemetry: Allow operators to opt-in for publishing metrics [GH-1501]
2016-07-12 19:53:43 +00:00
2016-07-12 15:53:28 +00:00
BUG FIXES:
2016-08-12 01:07:58 +00:00
* agent: Reload agent configuration on SIGHUP [GH-1566]
2016-07-21 00:16:03 +00:00
* core: Sanitize empty slices/maps in jobs to avoid incorrect create/destroy
updates [GH-1434]
2016-07-25 19:48:30 +00:00
* core: Fix race in which a Node registers and doesn't receive system jobs
[GH-1456]
2016-08-10 23:39:41 +00:00
* core: Fix issue in which Nodes with large amount of reserved ports would
casue dynamic port allocations to fail [GH-1526]
2016-07-28 21:32:41 +00:00
* core: Fix a condition in which old batch allocations could get updated even
after terminal. In a rare case this could cause a server panic [GH-1471]
2016-08-03 02:33:45 +00:00
* core: Do not update the Job attached to Allocations that have been marked
terminal [GH-1508]
2016-07-25 23:23:27 +00:00
* agent: Fix advertise address when using IPv6 [GH-1465]
* cli: Fix node-status when using IPv6 advertise address [GH-1465]
2016-08-31 18:19:00 +00:00
* client: Merging telemetry configuration properly [GH-1670]
2016-07-12 15:53:28 +00:00
* client: Task start errors adhere to restart policy mode [GH-1405]
2016-08-16 20:30:26 +00:00
* client: Reregister with servers if node is unregistered [GH-1593]
2016-07-23 00:31:36 +00:00
* client: Killing an allocation doesn't cause allocation stats to block
[GH-1454]
2016-07-28 20:17:03 +00:00
* driver/docker: Disable swap on docker driver [GH-1480]
2016-08-02 23:17:09 +00:00
* driver/docker: Fix improper gating on priviledged mode [GH-1506]
2016-08-05 17:47:44 +00:00
* driver/docker: Default network type is "nat" on Windows [GH-1521]
2016-08-04 19:55:06 +00:00
* driver/docker: Cleanup created volume when destroying container [GH-1519]
2016-08-15 17:33:25 +00:00
* driver/rkt: Set host environment variables [GH-1581]
2016-08-05 17:55:20 +00:00
* driver/rkt: Validate the command and trust_prefix configs [GH-1493]
2016-08-12 00:56:31 +00:00
* plan: Plan on system jobs discounts nodes that do not meet required
constraints [GH-1568]
2016-07-12 15:53:28 +00:00
2016-09-23 20:38:28 +00:00
## 0.4.0 (June 28, 2016)
2016-04-26 17:14:48 +00:00
2016-05-28 00:43:20 +00:00
__BACKWARDS INCOMPATIBILITIES:__
* api: Tasks are no longer allowed to have slashes in their name [GH-1210]
2016-05-31 18:21:08 +00:00
* cli: Remove the eval-monitor command. Users should switch to `nomad
eval-status -monitor`.
2016-06-15 09:30:23 +00:00
* config: Consul configuration has been moved from client options map to
consul block under client configuration
2016-06-21 23:55:23 +00:00
* driver/docker: Enabled SSL by default for pulling images from docker
registries. [GH-1336]
2016-05-28 00:43:20 +00:00
2016-05-16 18:07:00 +00:00
IMPROVEMENTS:
2016-05-25 18:19:27 +00:00
* core: Scheduler reuses blocked evaluations to avoid unbounded creation of
evaluations under high contention [GH-1199]
2016-05-25 03:09:03 +00:00
* core: Scheduler stores placement failures in evaluations, no longer
generating failed allocations for debug information [GH-1188]
2016-05-20 21:31:28 +00:00
* api: Faster JSON response encoding [GH-1182]
2016-05-24 20:38:21 +00:00
* api: Gzip compress HTTP API requests [GH-1203]
2016-05-17 20:36:33 +00:00
* api: Plan api introduced for the Job endpoint [GH-1168]
2016-06-11 23:20:59 +00:00
* api: Job endpoint can enforce Job Modify Index to ensure job is being
modified from a known state [GH-1243]
2016-06-12 03:31:49 +00:00
* api/client: Add resource usage APIs for retrieving tasks/allocations/host
resource usage [GH-1189]
2016-06-28 05:53:11 +00:00
* cli: Faster when displaying large amounts ouptuts [GH-1362]
2016-05-31 18:21:08 +00:00
* cli: Deprecate `eval-monitor` and introduce `eval-status` [GH-1206]
2016-05-16 18:07:00 +00:00
* cli: Unify the `fs` family of commands to be a single command [GH-1150]
2016-05-25 03:10:40 +00:00
* cli: Introduce `nomad plan` to dry-run a job through the scheduler and
determine its effects [GH-1181]
2016-06-12 18:21:05 +00:00
* cli: node-status command displays host resource usage and allocation
resources [GH-1261]
2016-06-17 21:15:57 +00:00
* cli: Region flag and environment variable introduced to set region
forwarding. Automatic region forwarding for run and plan [GH-1237]
* client: If Consul is available, automatically bootstrap Nomad Client
2016-06-16 21:43:17 +00:00
using the `_nomad` service in Consul. Nomad Servers now register
themselves with Consul to make this possible. [GH-1201]
2016-06-12 18:25:16 +00:00
* drivers: Qemu and Java can be run without an artifact being download. Useful
2016-06-15 00:35:56 +00:00
if the artifact exists inside a chrooted directory [GH-1262]
* driver/docker: Added a client options to set SELinux labels for container
bind mounts. [GH-788]
2016-06-21 23:55:23 +00:00
* driver/docker: Enabled SSL by default for pulling images from docker
registries. [GH-1336]
2016-06-16 21:43:17 +00:00
* server: If Consul is available, automatically bootstrap Nomad Servers
using the `_nomad` service in Consul. [GH-1276]
2016-05-16 18:07:00 +00:00
2016-04-26 17:14:48 +00:00
BUG FIXES:
2016-06-11 22:42:51 +00:00
* core: Improve garbage collection of allocations and nodes [GH-1256]
2016-06-03 21:14:29 +00:00
* core: Fix a potential deadlock if establishing leadership fails and is
retried [GH-1231]
2016-05-25 01:20:28 +00:00
* core: Do not restart successful batch jobs when the node is removed/drained
[GH-1205]
2016-06-22 17:14:13 +00:00
* core: Fix an issue in which the scheduler could be invoked with insufficient
state [GH-1339]
2016-04-26 17:14:48 +00:00
* core: Updated User, Meta or Resources in a task cause create/destroy updates
2016-05-11 18:12:18 +00:00
[GH-1128, GH-1153]
2016-05-19 17:45:18 +00:00
* core: Fix blocked evaluations being run without properly accounting for
priority [GH-1183]
2016-05-28 00:43:20 +00:00
* api: Tasks are no longer allowed to have slashes in their name [GH-1210]
2016-06-11 23:59:38 +00:00
* client: Delete tmp files used to communicate with execcutor [GH-1241]
2016-06-18 12:20:32 +00:00
* client: Prevent the client from restoring with incorrect task state [GH-1294]
2016-05-15 16:41:34 +00:00
* discovery: Ensure service and check names are unique [GH-1143, GH-1144]
2016-06-11 23:59:38 +00:00
* driver/docker: Ensure docker client doesn't time out after a minute.
[GH-1184]
2016-06-12 18:25:16 +00:00
* driver/java: Fix issue in which Java on darwin attempted to chroot [GH-1262]
2016-06-20 20:50:49 +00:00
* driver/docker: Fix issue in which logs could be spliced [GH-1322]
2016-04-26 17:14:48 +00:00
2016-04-22 23:23:25 +00:00
## 0.3.2 (April 22, 2016)
2016-03-17 18:31:22 +00:00
IMPROVEMENTS:
2016-04-22 23:16:26 +00:00
* core: Garbage collection partitioned to avoid system delays [GH-1012]
2016-03-17 18:31:22 +00:00
* core: Allow count zero task groups to enable blue/green deploys [GH-931]
2016-04-13 23:56:47 +00:00
* core: Validate driver configurations when submitting jobs [GH-1062, GH-1089]
2016-03-25 22:21:03 +00:00
* core: Job Deregister forces an evaluation for the job even if it doesn't
exist [GH-981]
* core: Rename successfully finished allocations to "Complete" rather than
"Dead" for clarity [GH-975]
* cli: `alloc-status` explains restart decisions [GH-984]
2016-04-12 00:02:22 +00:00
* cli: `node-drain -self` drains the local node [GH-1068]
2016-03-29 21:27:21 +00:00
* cli: `node-status -self` queries the local node [GH-1004]
2016-03-25 22:21:03 +00:00
* cli: Destructive commands now require confirmation [GH-983]
2016-03-21 00:06:38 +00:00
* cli: `alloc-status` display is less verbose by default [GH-946]
2016-03-17 23:38:49 +00:00
* cli: `server-members` displays the current leader in each region [GH-935]
2016-03-26 01:49:16 +00:00
* cli: `run` has an `-output` flag to emit a JSON version of the job [GH-990]
2016-03-21 20:03:19 +00:00
* cli: New `inspect` command to display a submitted job's specification
[GH-952]
2016-03-21 00:38:06 +00:00
* cli: `node-status` display is less verbose by default and shows a node's
total resources [GH-946]
2016-04-13 21:59:43 +00:00
* client: `artifact` source can be interpreted [GH-1070]
2016-04-15 18:34:07 +00:00
* client: Add IP and Port environment variables [GH-1099]
2016-03-23 00:57:23 +00:00
* client: Nomad fingerprinter to detect client's version [GH-965]
2016-04-14 00:29:42 +00:00
* client: Tasks can interpret Meta set in the task group and job [GH-985]
* client: All tasks in a task group are killed when a task fails [GH-962]
2016-03-23 21:09:06 +00:00
* client: Pass environment variables from host to exec based tasks [GH-970]
2016-03-25 22:21:03 +00:00
* client: Allow task's to be run as particular user [GH-950, GH-978]
2016-03-19 20:41:09 +00:00
* client: `artifact` block now supports downloading paths relative to the
task's directory [GH-944]
2016-04-22 23:16:26 +00:00
* docker: Timeout communications with Docker Daemon to avoid deadlocks with
misbehaving Docker Daemon [GH-1117]
2016-03-26 20:02:30 +00:00
* discovery: Support script based health checks [GH-986]
2016-04-14 17:54:33 +00:00
* discovery: Allowing registration of services which don't expose ports
[GH-1092]
2016-04-08 18:24:13 +00:00
* driver/docker: Support for `tty` and `interactive` options [GH-1059]
2016-04-19 16:20:28 +00:00
* jobspec: Improved validation of services referencing port labels [GH-1097]
2016-04-13 00:19:41 +00:00
* periodic: Periodic jobs are always evaluated in UTC timezone [GH-1074]
2016-03-17 18:31:22 +00:00
2016-03-22 01:11:13 +00:00
BUG FIXES:
2016-03-25 23:49:46 +00:00
* core: Prevent garbage collection of running batch jobs [GH-989]
2016-04-19 02:40:22 +00:00
* core: Trigger System scheduler when Node drain is disabled [GH-1106]
2016-04-22 23:16:26 +00:00
* core: Fix issue where in-place updated allocation double counted resources
[GH-957]
2016-04-13 16:46:43 +00:00
* core: Fix drained, batched allocations from being migrated indefinitely
[GH-1086]
2016-04-14 17:52:38 +00:00
* client: Garbage collect Docker containers on exit [GH-1071]
2016-03-30 18:35:18 +00:00
* client: Fix common exec failures on CentOS and Amazon Linux [GH-1009]
2016-04-22 01:37:43 +00:00
* client: Fix S3 artifact downloading with IAM credentials [GH-1113]
2016-04-22 17:22:55 +00:00
* client: Fix handling of environment variables containing multiple equal
signs [GH-1115]
2016-03-22 01:11:13 +00:00
2016-04-22 23:23:25 +00:00
## 0.3.1 (March 16, 2016)
2016-03-15 18:35:37 +00:00
__BACKWARDS INCOMPATIBILITIES:__
2016-03-16 04:15:07 +00:00
* Service names that dont conform to RFC-1123 and RFC-2782 will fail
validation. To fix, change service name to conform to the RFCs before
running the job [GH-915]
* Jobs that downloaded artifacts will have to be updated to the new syntax and
be resubmitted. The new syntax consolidates artifacts to the `task` rather
than being duplicated inside each driver config [GH-921]
2016-03-15 18:35:37 +00:00
2016-02-29 19:11:46 +00:00
IMPROVEMENTS:
2016-03-10 18:50:29 +00:00
* cli: Validate job file schemas [GH-900]
2016-03-10 16:57:19 +00:00
* client: Add environment variables for task name, allocation ID/Name/Index
[GH-869, GH-896]
2016-02-29 19:11:46 +00:00
* client: Starting task is retried under the restart policy if the error is
recoverable [GH-859]
2016-03-16 04:15:07 +00:00
* client: Allow tasks to download artifacts, which can be archives, prior to
starting [GH-921]
* config: Validate Nomad configuration files [GH-910]
* config: Client config allows reserving resources [GH-910]
2016-03-08 18:13:46 +00:00
* driver/docker: Support for ECR [GH-858]
2016-03-08 22:57:08 +00:00
* driver/docker: Periodic Fingerprinting [GH-893]
2016-03-10 21:21:57 +00:00
* driver/docker: Preventing port reservation for log collection on Unix platforms [GH-897]
2016-03-10 16:57:19 +00:00
* driver/rkt: Pass DNS information to rkt driver [GH-892]
2016-03-16 04:15:07 +00:00
* jobspec: Require RFC-1123 and RFC-2782 valid service names [GH-915]
2016-02-29 19:11:46 +00:00
BUG FIXES:
2016-03-04 23:20:51 +00:00
* core: No longer cancel evaluations that are delayed in the plan queue
[GH-884]
2016-03-07 21:13:38 +00:00
* api: Guard client/fs/ APIs from being accessed on a non-client node [GH-890]
* client: Allow dashes in variable names during interprelation [GH-857]
2016-03-10 02:38:28 +00:00
* client: Updating kill timeout adheres to operator specified maximum value [GH-878]
2016-03-11 00:21:24 +00:00
* client: Fix a case in which clients would pull but not run allocations
[GH-906]
2016-03-03 01:00:40 +00:00
* consul: Remove concurrent map access [GH-874]
* driver/exec: Stopping tasks with more than one pid in a cgroup [GH-855]
2016-11-01 00:38:07 +00:00
* client/executor/linux: Add /run/resolvconf/ to chroot so DNS works [GH-905]
2016-04-10 12:46:37 +00:00
## 0.3.0 (February 25, 2016)
2015-12-22 18:20:07 +00:00
2016-02-13 00:58:50 +00:00
__BACKWARDS INCOMPATIBILITIES:__
2016-02-25 17:28:34 +00:00
* Stdout and Stderr log files of tasks have moved from task/local to
alloc/logs [GH-851]
2016-02-13 00:58:50 +00:00
* Any users of the runtime environment variable `$NOMAD_PORT_` will need to
2016-02-25 01:07:44 +00:00
update to the new `${NOMAD_ADDR_}` varriable [GH-704]
2016-02-13 00:58:50 +00:00
* Service names that include periods will fail validation. To fix, remove any
periods from the service name before running the job [GH-770]
* Task resources are now validated and enforce minimum resources. If a job
specifies resources below the minimum they will need to be updated [GH-739]
* Node ID is no longer specifiable. For users who have set a custom Node
ID, the node should be drained before Nomad is updated and the data_dir
should be deleted before starting for the first time [GH-675]
* Users of custom restart policies should update to the new syntax which adds
a `mode` field. The `mode` can be either `fail` or `delay`. The default for
`batch` and `service` jobs is `fail` and `delay` respectively [GH-594]
* All jobs that interpret variables in constraints or driver configurations
will need to be updated to the new syntax which wraps the interpreted
2016-02-25 01:08:30 +00:00
variable in curly braces. (`$node.class` becomes `${node.class}`) [GH-760]
2016-01-07 00:30:11 +00:00
2015-12-22 18:20:07 +00:00
IMPROVEMENTS:
2016-02-01 23:53:06 +00:00
* core: Populate job status [GH-663]
* core: Cgroup fingerprinter [GH-712]
2015-12-28 21:31:28 +00:00
* core: Node class constraint [GH-618]
2016-01-04 19:45:47 +00:00
* core: User specifiable kill timeout [GH-624]
2016-02-01 23:53:06 +00:00
* core: Job queueing via blocked evaluations [GH-726]
2016-02-11 17:51:28 +00:00
* core: Only reschedule failed batch allocations [GH-746]
2016-01-05 03:26:50 +00:00
* core: Add available nodes by DC to AllocMetrics [GH-619]
2016-02-11 17:51:28 +00:00
* core: Improve scheduler retry logic under contention [GH-787]
2016-02-01 23:53:06 +00:00
* core: Computed node class and stack optimization [GH-691, GH-708]
* core: Improved restart policy with more user configuration [GH-594]
* core: Periodic specification for jobs [GH-540, GH-657, GH-659, GH-668]
* core: Batch jobs are garbage collected from the Nomad Servers [GH-586]
2016-02-17 22:14:45 +00:00
* core: Free half the CPUs on leader node for use in plan queue and evaluation
broker [GH-812]
* core: Seed random number generator used to randomize node traversal order
during scheduling [GH-808]
2016-02-23 22:54:01 +00:00
* core: Performance improvements [GH-823, GH-825, GH-827, GH-830, GH-832,
GH-833, GH-834, GH-839]
2016-02-21 00:21:42 +00:00
* core/api: System garbage collection endpoint [GH-828]
2016-02-01 23:53:06 +00:00
* core/api: Allow users to set arbitrary headers via agent config [GH-699]
2016-01-06 22:37:35 +00:00
* core/cli: Prefix based lookups of allocs/nodes/evals/jobs [GH-575]
2016-01-21 22:14:22 +00:00
* core/cli: Print short identifiers and UX cleanup [GH-675, GH-693, GH-692]
2016-02-02 21:27:40 +00:00
* core/client: Client pulls minimum set of required allocations [GH-731]
2016-02-01 23:53:06 +00:00
* cli: Output of agent-info is sorted [GH-617]
2016-02-07 00:29:50 +00:00
* cli: Eval monitor detects zero wait condition [GH-776]
2016-02-13 00:58:50 +00:00
* cli: Ability to navigate allocation directories [GH-709, GH-798]
2016-02-23 22:54:01 +00:00
* client: Batch allocation updates to the server [GH-835]
2016-02-23 21:39:28 +00:00
* client: Log rotation for all drivers [GH-685, GH-763, GH-819]
2016-02-23 22:27:43 +00:00
* client: Only download artifacts from http, https, and S3 [GH-841]
2016-02-05 01:25:18 +00:00
* client: Create a tmp/ directory inside each task directory [GH-757]
2016-02-20 00:06:23 +00:00
* client: Store when an allocation was received by the client [GH-821]
2016-02-17 22:14:45 +00:00
* client: Heartbeating and saving state resilient under high load [GH-811]
2016-02-11 17:51:28 +00:00
* client: Handle updates to tasks Restart Policy and KillTimeout [GH-751]
2016-02-17 22:14:45 +00:00
* client: Killing a driver handle is retried with an exponential backoff
[GH-809]
2016-02-04 18:19:02 +00:00
* client: Send Node to server when periodic fingerprinters change Node
attributes/metadata [GH-749]
2016-02-13 00:58:50 +00:00
* client/api: File-system access to allocation directories [GH-669]
2016-02-23 22:27:43 +00:00
* drivers: Validate the "command" field contains a single value [GH-842]
2016-02-01 23:53:06 +00:00
* drivers: Interpret Nomad variables in environment variables/args [GH-653]
* driver/rkt: Add support for CPU/Memory isolation [GH-610]
* driver/rkt: Add support for mounting alloc/task directory [GH-645]
2016-02-07 02:03:28 +00:00
* driver/docker: Support for .dockercfg based auth for private registries
[GH-773]
2015-12-22 18:20:07 +00:00
BUG FIXES:
2016-02-04 00:01:58 +00:00
* core: Node drain could only be partially applied [GH-750]
2016-02-11 19:14:23 +00:00
* core: Fix panic when eval Ack occurs at delivery limit [GH-790]
2015-12-22 18:20:07 +00:00
* cli: Handle parsing of un-named ports [GH-604]
2015-12-22 19:16:15 +00:00
* cli: Enforce absolute paths for data directories [GH-622]
2016-02-04 23:20:19 +00:00
* client: Cleanup of the allocation directory [GH-755]
2016-02-11 19:14:23 +00:00
* client: Improved stability under high contention [GH-789]
* client: Handle non-200 codes when parsing AWS metadata [GH-614]
2016-02-04 23:20:19 +00:00
* client: Unmounted of shared alloc dir when client is rebooted [GH-755]
2016-02-07 01:12:11 +00:00
* client/consul: Service name changes handled properly [GH-766]
2016-02-03 01:56:12 +00:00
* driver/rkt: handle broader format of rkt version outputs [GH-745]
2016-01-07 00:30:11 +00:00
* driver/qemu: failed to load image and kvm accelerator fixes [GH-656]
2015-12-22 18:20:07 +00:00
2015-12-17 21:29:41 +00:00
## 0.2.3 (December 17, 2015)
2015-12-16 01:53:02 +00:00
BUG FIXES:
2016-02-01 23:53:06 +00:00
* core: Task States not being properly updated [GH-600]
2015-12-16 01:53:02 +00:00
* client: Fixes for user lookup to support CoreOS [GH-591]
2016-02-01 23:53:06 +00:00
* discovery: Using a random prefix for nomad managed services [GH-579]
* discovery: De-Registering Tasks while Nomad sleeps before failed tasks are
restarted.
2016-02-01 23:53:06 +00:00
* discovery: Fixes for service registration when multiple allocations are bin
packed on a node [GH-583]
2015-12-16 01:53:02 +00:00
* configuration: Sort configuration files [GH-588]
2015-12-18 00:36:37 +00:00
* cli: RetryInterval was not being applied properly [GH-601]
2015-12-16 01:53:02 +00:00
## 0.2.2 (December 11, 2015)
2015-12-09 03:34:42 +00:00
2015-12-11 00:17:16 +00:00
IMPROVEMENTS:
2015-12-11 22:41:45 +00:00
* core: Enable `raw_exec` driver in dev mode [GH-558]
2015-12-11 22:38:21 +00:00
* cli: Server join/retry-join command line and config options [GH-527]
2015-12-11 22:38:45 +00:00
* cli: Nomad reports which config files are loaded at start time, or if none
2015-12-11 22:41:45 +00:00
are loaded [GH-536], [GH-553]
2015-12-11 00:17:16 +00:00
2015-12-09 03:34:42 +00:00
BUG FIXES:
2015-12-11 22:38:21 +00:00
* core: Send syslog to `LOCAL0` by default as previously documented [GH-547]
2016-02-01 23:53:06 +00:00
* client: remove all calls to default logger [GH-570]
2015-12-11 22:41:45 +00:00
* consul: Nomad is less noisy when Consul is not running [GH-567]
* consul: Nomad only deregisters services that it created [GH-568]
2015-12-11 22:38:21 +00:00
* driver/exec: Shutdown a task now sends the interrupt signal first to the
process before forcefully killing it. [GH-543]
2016-02-01 23:53:06 +00:00
* driver/docker: Docker driver no longer leaks unix domain socket connections
[GH-556]
2015-12-11 22:38:21 +00:00
* fingerprint/network: Now correctly detects interfaces on Windows [GH-382]
2015-12-09 03:34:42 +00:00
2015-12-11 22:40:23 +00:00
## 0.2.1 (November 28, 2015)
IMPROVEMENTS:
* core: Can specify a whitelist for activating drivers [GH-467]
2015-11-24 19:42:19 +00:00
* core: Can specify a whitelist for activating fingerprinters [GH-488]
2016-02-01 23:53:06 +00:00
* core/api: Can list all known regions in the cluster [GH-495]
2015-11-20 22:57:56 +00:00
* client/spawn: spawn package tests made portable (work on Windows) [GH-442]
2015-11-25 00:41:54 +00:00
* client/executor: executor package tests made portable (work on Windows) [GH-497]
2015-11-26 01:39:04 +00:00
* client/driver: driver package tests made portable (work on windows) [GH-502]
2015-11-25 23:22:40 +00:00
* client/discovery: Added more consul client api configuration options [GH-503]
2016-02-01 23:53:06 +00:00
* driver/docker: Added TLS client options to the config file [GH-480]
2015-11-27 03:37:52 +00:00
* jobspec: More flexibility in naming Services [GH-509]
BUG FIXES:
2015-11-24 02:31:27 +00:00
* core: Shared reference to DynamicPorts caused port conflicts when scheduling
count > 1 [GH-494]
2016-02-01 23:53:06 +00:00
* client/restart policy: Not restarting Batch Jobs if the exit code is 0 [GH-491]
* client/service discovery: Make Service IDs unique [GH-479]
2015-11-25 23:22:40 +00:00
* client/service: Fixes update to check definitions and services which are already registered [GH-498]
2016-02-01 23:53:06 +00:00
* driver/docker: Expose the container port instead of the host port [GH-466]
* driver/docker: Support `port_map` for static ports [GH-476]
* driver/docker: Pass 0.2.0-style port environment variables to the docker container [GH-476]
* jobspec: distinct_hosts constraint can be specified as a boolean (previously panicked) [GH-501]
## 0.2.0 (November 18, 2015)
2015-11-04 19:22:20 +00:00
2016-02-13 00:58:50 +00:00
__BACKWARDS INCOMPATIBILITIES:__
* core: HTTP API `/v1/node/<id>/allocations` returns full Allocation and not
stub [GH-402]
* core: Removed weight and hard/soft fields in constraints [GH-351]
2015-11-17 22:11:31 +00:00
* drivers: Qemu and Java driver configurations have been updated to both use
`artifact_source` as the source for external images/jars to be ran
2016-02-01 23:53:06 +00:00
* jobspec: New reserved and dynamic port specification [GH-415]
* jobspec/drivers: Driver configuration supports arbitrary struct to be
2015-11-19 03:45:21 +00:00
passed in jobspec [GH-415]
2015-11-04 19:22:20 +00:00
FEATURES:
* core: Blocking queries supported in API [GH-366]
2016-02-01 23:53:06 +00:00
* core: System Scheduler that runs tasks on every node [GH-287]
* core: Regexp, version and lexical ordering constraints [GH-271]
2015-11-17 22:11:31 +00:00
* core: distinctHost constraint ensures Task Groups are running on distinct
clients [GH-321]
2016-02-01 23:53:06 +00:00
* core: Service block definition with Consul registration [GH-463, GH-460,
GH-458, GH-455, GH-446, GH-425]
2015-11-17 22:17:58 +00:00
* client: GCE Fingerprinting [GH-215]
* client: Restart policy for task groups enforced by the client [GH-369,
GH-393]
2015-11-17 22:11:31 +00:00
* driver/rawexec: Raw Fork/Exec Driver [GH-237]
* driver/rkt: Experimental Rkt Driver [GH-165, GH-247]
* drivers: Add support for downloading external artifacts to execute for
Exec, Raw exec drivers [GH-381]
2015-11-17 21:24:17 +00:00
IMPROVEMENTS:
* core: Configurable Node GC threshold [GH-362]
* core: Overlap plan verification and plan application for increased
throughput [GH-272]
* cli: Output of `alloc-status` also displays task state [GH-424]
2015-11-17 22:11:31 +00:00
* cli: Output of `server-members` is sorted [GH-323]
* cli: Show node attributes in `node-status` [GH-313]
2015-11-17 22:11:31 +00:00
* client/fingerprint: Network fingerprinter detects interface suitable for
use, rather than defaulting to eth0 [GH-334, GH-356]
* client: Client Restore State properly reattaches to tasks and recreates
them as needed [GH-364, GH-380, GH-388, GH-392, GH-394, GH-397, GH-408]
2015-11-17 22:11:31 +00:00
* client: Periodic Fingerprinting [GH-391]
* client: Precise snapshotting of TaskRunner and AllocRunner [GH-403, GH-411]
* client: Task State is tracked by client [GH-416]
* client: Test Skip Detection [GH-221]
* driver/docker: Can now specify auth for docker pull [GH-390]
* driver/docker: Can now specify DNS and DNSSearch options [GH-390]
* driver/docker: Can now specify the container's hostname [GH-426]
* driver/docker: Containers now have names based on the task name. [GH-389]
* driver/docker: Mount task local and alloc directory to docker containers [GH-290]
* driver/docker: Now accepts any value for `network_mode` to support userspace networking plugins in docker 1.9
* driver/java: Pass JVM options in java driver [GH-293, GH-297]
* drivers: Use BlkioWeight rather than BlkioThrottleReadIopsDevice [GH-222]
* jobspec and drivers: Driver configuration supports arbitrary struct to be passed in jobspec [GH-415]
2015-11-17 21:24:17 +00:00
BUG FIXES:
2015-11-17 22:11:31 +00:00
* core: Nomad Client/Server RPC codec encodes strings properly [GH-420]
* core: Reset Nack timer in response to scheduler operations [GH-325]
* core: Scheduler checks for updates to environment variables [GH-327]
2015-11-17 22:11:31 +00:00
* cli: Fix crash when -config was given a directory or empty path [GH-119]
* client/fingerprint: Use correct local interface on OS X [GH-361, GH-365]
2015-11-17 22:11:31 +00:00
* client: Nomad Client doesn't restart failed containers [GH-198]
* client: Reap spawn-daemon process, avoiding a zombie process [GH-240]
* client: Resource exhausted errors because of link-speed zero [GH-146,
GH-205]
* client: Restarting Nomad Client leads to orphaned containers [GH-159]
* driver/docker: Apply SELinux label for mounting directories in docker
[GH-377]
* driver/docker: Docker driver exposes ports when creating container [GH-212,
GH-412]
* driver/docker: Docker driver uses docker environment variables correctly
[GH-407]
* driver/qemu: Qemu fingerprint and tests work on both windows/linux [GH-352]
2015-11-05 19:50:18 +00:00
2015-10-06 23:44:00 +00:00
## 0.1.2 (October 6, 2015)
IMPROVEMENTS:
2015-11-17 22:11:31 +00:00
* client: Nomad client cleans allocations on exit when in dev mode [GH-214]
* drivers: Use go-getter for artifact retrieval, add artifact support to
Exec, Raw Exec drivers [GH-288]
2015-10-06 23:44:00 +00:00
2015-10-05 21:39:29 +00:00
## 0.1.1 (October 5, 2015)
IMPROVEMENTS:
* cli: Nomad Client configurable from command-line [GH-191]
2015-11-17 22:11:31 +00:00
* client/fingerprint: Native IP detection and user specifiable network
interface for fingerprinting [GH-189]
* driver/docker: Docker networking mode is configurable [GH-184]
* drivers: Set task environment variables [GH-206]
2015-10-05 21:39:29 +00:00
BUG FIXES:
2015-11-17 22:11:31 +00:00
* client/fingerprint: Network fingerprinting failed if default network
interface did not exist [GH-189]
* client: Fixed issue where network resources throughput would be set to 0
MBits if the link speed could not be determined [GH-205]
2015-11-17 22:11:31 +00:00
* client: Improved detection of Nomad binary [GH-181]
* driver/docker: Docker dynamic port mapping were not being set properly
[GH-199]
2015-10-05 21:39:29 +00:00
2015-09-28 05:49:45 +00:00
## 0.1.0 (September 28, 2015)
* Initial release