Commit graph

14895 commits

Author SHA1 Message Date
Charlie Voiselle ce5023ee95
Typo fixes (#5661)
* Typo fixes
* it's -> its
* plugable -> pluggable
2019-05-08 12:54:44 -04:00
Preetha Appan 3289e7f4a0
fix typo and add one more test scenario 2019-05-08 10:54:22 -05:00
Mahmood Ali 2e37cc4887 update changelog For GH-5587 and GH-5629 2019-05-08 09:49:04 -04:00
Mahmood Ali 6bf31702ca reorder CHANGELOG 2019-05-08 09:32:48 -04:00
Mahmood Ali 9d3f13e9b3 remove Index field from EmitNodeEventsResponse
`Index` is already included as part of `WriteMeta` embedding.

This is a backward compatible change: Clients never read the field; and
Server refernces to `EmitNodeEventsResponse.Index` would be using the
value in `WriteMeta`, which is consistent with other response structs.
2019-05-08 08:42:26 -04:00
Preetha Appan db6b291a5a
code review feedback 2019-05-07 16:23:32 -05:00
Chris Baker 7696c7336f update changelog to reflect metrics fix 2019-05-07 19:58:41 +00:00
Chris Baker 93ec1293be
stale allocation data leads to incorrect (and even negative) metrics (#5637)
* client: was not using up-to-date client state in determining which alloc count towards allocated resources

* Update client/client.go

Co-Authored-By: cgbaker <cgbaker@hashicorp.com>
2019-05-07 15:54:36 -04:00
Preetha 7d4fde7d3a
Fixed links in changelog 2019-05-07 14:24:18 -05:00
Michael Schurter d2742643fd
Merge pull request #5655 from hashicorp/docs-restarts
docs: fix default restart values
2019-05-07 10:43:53 -07:00
Lang Martin 014db9c023 CHANGELOG 2019-05-07 09:24:42 -04:00
Danielle 8bbfb609c6
Merge pull request #5656 from jweissig/patch-7
Fixed Typo
2019-05-07 14:12:44 +02:00
Justin Weissig 77e53de301
Fixed Typo
Fixed typo: schedular/scheduler.
2019-05-07 05:11:36 -07:00
Michael Schurter a1c3ce36bc
Merge pull request #5647 from hashicorp/e2e-tf
E2E Test Terraform/Packer Improvements
2019-05-06 15:42:52 -07:00
Michael Schurter e9526bec29 docs: fix default restart values 2019-05-06 14:52:44 -07:00
Preetha Appan 23b654a45a
Update changelog 2019-05-06 15:44:04 -05:00
Preetha 1538913a2a
Merge pull request #5628 from hashicorp/f-preemption-config
Add config to disable preemption for batch/service jobs
2019-05-06 15:40:35 -05:00
Michael Lange 3b1fc408e3
Merge pull request #5620 from Mongey/cm-color-ui
Converts ANSI terminal codes to HTML in logs
2019-05-06 13:01:44 -07:00
Preetha Appan b063fc81a4
Remove unnecessary locking and serverlist syncing in heartbeats
This removes an unnecessary shared lock between discovery and heartbeating
which was causing heartbeats to be missed upon retries when a single server
fails. Also made a drive by fix to call the periodic server shuffler goroutine.
2019-05-06 14:44:55 -05:00
Mahmood Ali f35ad92a8b
Merge pull request #5646 from hashicorp/some-ugorji-fixes
Codegen codec helpers for all nomad structs
2019-05-06 13:23:12 -04:00
Lang Martin 9f3f11df97
Merge pull request #5601 from hashicorp/b-config-parse-direct-hcl
config parse direct hcl
2019-05-06 12:05:19 -04:00
Lang Martin 2cae46bf31
Merge pull request #5631 from hashicorp/b-system-sched-constraint-errors
fix system sched constraint errors
2019-05-06 11:53:40 -04:00
Mahmood Ali 12208a8cd8
Merge pull request #5653 from hashicorp/b-s3-virtualbucket-style
docs: update s3 urls to use virtual bucket style
2019-05-06 11:40:48 -04:00
Mahmood Ali 835827ebcd
Merge pull request #5651 from hashicorp/f-peers-json-info
Update peers info with new raft config details
2019-05-06 11:40:35 -04:00
Mahmood Ali bfc907827c docs: update s3 urls to use virtual bucket style
In response to https://forums.aws.amazon.com/ann.jspa?annID=6776
2019-05-06 10:39:51 -04:00
Charlie Voiselle 175656ad46
Merge pull request #5652 from jweissig/patch-6
Fix Typo
2019-05-05 15:15:31 -04:00
Justin Weissig e2ea24a0de
Fix Typo
Fixed Typo: Behing/Behind.
2019-05-05 05:42:40 -07:00
Preetha Appan a4b9f53d43
update changelog 2019-05-03 17:07:27 -05:00
Preetha 116b7d0a61
Merge pull request #5645 from hashicorp/b-deploy-health
Update deployment health on failed allocations only if health is unset
2019-05-03 17:04:18 -05:00
Mahmood Ali 92c133b905 Update peers info with new raft config details 2019-05-03 16:55:53 -04:00
Mahmood Ali 9325723e5e
Merge pull request #5629 from hbasappa/peersjon
Add support in nomad for supporting raft 3 protocol peers.json
2019-05-03 15:19:54 -04:00
Preetha Appan ad3c263d3f
Rename to match system scheduler config.
Also added docs
2019-05-03 14:06:12 -05:00
Michael Schurter 8c7b3ff45a
Fix comment
Co-Authored-By: preetapan <preetha@hashicorp.com>
2019-05-03 10:01:30 -05:00
Michael Schurter e19fa33f9c
Remove unnecessary boolean clause
Co-Authored-By: preetapan <preetha@hashicorp.com>
2019-05-03 10:00:17 -05:00
Michael Schurter 93f3ac7a9c e2e: explain these scripts are for packer
It took me way too long to figure out these weren't used by TF.
2019-05-03 07:55:28 -07:00
Michael Schurter 7558747694 e2e: let the unindex clients do anything...
...and be debugable!
2019-05-03 07:54:55 -07:00
Michael Schurter f08dd66ffa e2e: ssh instructions + remove redundant naming 2019-05-03 07:54:34 -07:00
Michael Schurter 19889d6468 e2e: update deps and install nomad in packer
Nomad on the packer image will be overwritten by the sha specified in
the TF var, but including a base version on the packer image makes the
image valid for independent use.
2019-05-03 07:53:08 -07:00
Michael Schurter 13b62a68f7 e2e: enable systemd units so they start on boot 2019-05-03 07:52:03 -07:00
Preetha Appan b99a204582
Update deployment health on failed allocations only if health is unset
This fixes a confusing UX where a previously successful deployment's
healthy/unhealthy count would get updated if any allocations failed after
the deployment was already marked as successful.
2019-05-02 22:59:56 -05:00
Conor Mongey 49afa42af3
Return a htmlSafe string rather than use triple curlies 2019-05-02 21:47:24 +01:00
Conor Mongey 9ab4ef52c0
Converts ANSI terminal codes to HTML in logs 2019-05-02 21:47:23 +01:00
Mahmood Ali 85760a13ae
Merge pull request #5641 from hashicorp/b-task-networks-ports
client: handle 0.8 server network resources
2019-05-02 13:45:07 -04:00
Mahmood Ali 5c498112ff
Merge pull request #5640 from hashicorp/b-fix-omitempty
Update hashicorp/go-msgpack/codec
2019-05-02 12:12:56 -04:00
Hemanth Basappa 3fef02aa93 Add support in nomad for supporting raft 3 protocol peers.json 2019-05-02 09:11:23 -07:00
Mahmood Ali 7a32d3f3aa client: handle 0.8 server network resources
Fixes https://github.com/hashicorp/nomad/issues/5587

When a nomad 0.9 client is handling an alloc generated by a nomad 0.8
server, we should check the alloc.TaskResources for networking details
rather than task.Resources.

We check alloc.TaskResources for networking for other tasks in the task
group [1], so it's a bit odd that we used the task.Resources struct
here.  TaskRunner also uses `alloc.TaskResources`[2].

The task.Resources struct in 0.8 was sparsly populated, resulting to
storing of 0 in port mapping env vars:

```
vagrant@nomad-server-01:~$ nomad version
Nomad v0.8.7 (21a2d93eecf018ad2209a5eab6aae6c359267933+CHANGES)
vagrant@nomad-server-01:~$ nomad server members
Name                    Address      Port  Status  Leader  Protocol  Build  Datacenter  Region
nomad-server-01.global  10.199.0.11  4648  alive   true    2         0.8.7  dc1         global
vagrant@nomad-server-01:~$ nomad alloc status -json 5b34649b | jq '.Job.TaskGroups[0].Tasks[0].Resources.Networks'
[
  {
    "CIDR": "",
    "Device": "",
    "DynamicPorts": [
      {
        "Label": "db",
        "Value": 0
      }
    ],
    "IP": "",
    "MBits": 10,
    "ReservedPorts": null
  }
]
vagrant@nomad-server-01:~$ nomad alloc status -json 5b34649b | jq '.TaskResources'
{
  "redis": {
    "CPU": 500,
    "DiskMB": 0,
    "IOPS": 0,
    "MemoryMB": 256,
    "Networks": [
      {
        "CIDR": "",
        "Device": "eth1",
        "DynamicPorts": [
          {
            "Label": "db",
            "Value": 21722
          }
        ],
        "IP": "10.199.0.21",
        "MBits": 10,
        "ReservedPorts": null
      }
    ]
  }
}
```

Also, updated the test values to mimic how Nomad 0.8 structs are
represented, and made its result match the non compact values in
`TestEnvironment_AsList`.

[1] 24e9040b18/client/taskenv/env.go (L624-L639)
[2] https://github.com/hashicorp/nomad/blob/master/client/allocrunner/taskrunner/task_runner.go#L287-L303
2019-05-02 12:08:38 -04:00
Mahmood Ali a560f4aefc fix HashiStack eBay resource link 2019-05-02 11:19:44 -04:00
Mahmood Ali 7b72105802 Update hashicorp/go-msgpack/codec
To pick up the fix in https://github.com/hashicorp/go-msgpack/pull/8 .
2019-05-02 10:59:09 -04:00
Danielle Lancashire d824e00d1a consul: Do not deregister external checks
This commit causes sync to skip deregistering checks that are not
managed by nomad, such as service maintenance mode checks.  This is
handled in the same way as service registrations - by doing a Nomad
specific prefix match.
2019-05-02 16:54:18 +02:00
Danielle Lancashire 0b8e85118e consul: Use a stable identifier for services
The current implementation of Service Registration uses a hash of the
nomad-internal state of a service to register it with Consul, this means that
any update to the service invalidates this name and we then deregister, and
recreate the service in Consul.

While this behaviour slightly simplifies reasoning about service registration,
this becomes problematic when we add consul health checks to a service. When
the service is re-registered, so are the checks, which default to failing for
at least one check period.

This commit migrates us to using a stable identifier based on the
allocation, task, and service identifiers, and uses the difference
between the remote and local state to decide when to push updates.

It uses the existing hashing mechanic to decide when UpdateTask should
regenerate service registrations for providing to Sync, but this should
be removable as part of a future refactor.

It additionally introduces the _nomad-check- prefix for check
definitions, to allow for future allowing of consul features like
maintenance mode.
2019-05-02 16:54:18 +02:00