Alex Dadgar
aea21affdb
Document consul configuration
2016-06-14 15:21:57 -07:00
Sean Chittenden
6e22b680ce
Disambiguate auto_join
from auto_register
, rename reg to auto_advertise
.
...
Provide an option that describes the value to the user vs the
operation performed by the software. Momentarily introducing
`auto_join`
2016-06-14 12:11:38 -07:00
Sean Chittenden
4f14d51013
Fix up validation and allow existing unset timeouts to continue to be unset
2016-06-13 18:55:15 -07:00
Sean Chittenden
c3a3fdc230
Upon further review, the Timeout needs to be validate for more than script checks.
...
This value is used for Consul HTTP and TCP checks.
2016-06-13 18:28:27 -07:00
Sean Chittenden
baac19cad6
Remove diff check for ServiceID, may it R.I.P.
2016-06-13 18:22:53 -07:00
Sean Chittenden
79c675cf72
Guard against an interval and timeout being less than 1s
2016-06-13 18:19:40 -07:00
Sean Chittenden
af8db7ec18
Don't export ServiceCheck validate
2016-06-13 18:17:43 -07:00
Sean Chittenden
08c88102a7
There is no "docker" check type
2016-06-13 18:15:07 -07:00
Alex Dadgar
8bbf4a55e5
Fix IDs and domain scoping
2016-06-13 16:30:58 -07:00
Alex Dadgar
8e231fa382
Rename ConsulService back to Service
2016-06-12 16:36:49 -07:00
Diptanu Choudhury
3024c080e8
Removing artifact check for java and qemu drivers
2016-06-12 12:57:35 +02:00
Alex Dadgar
480a281031
Merge pull request #1243 from hashicorp/f-run-modify-index
...
Add check-index flag to nomad run
2016-06-11 16:12:53 -07:00
Sean Chittenden
2f036231e5
Merge pull request #1201 from hashicorp/f-dyn-server-list
...
Dynamic Server Lists/Client Bootstrapping via consul.
2016-06-11 18:58:25 -04:00
Alex Dadgar
59b0a7b3f6
Merge pull request #1256 from hashicorp/b-node-gc
...
Improve partial garbage collection of allocations
2016-06-11 15:41:00 -07:00
Sean Chittenden
bbd8dfa798
goling(1) compliance pass (e.g. Rpc* -> RPC)
2016-06-10 23:38:28 -04:00
Alex Dadgar
98bf249625
Partial GC allocations
2016-06-10 18:32:37 -07:00
Alex Dadgar
7ccc7d20a0
test
2016-06-10 15:48:59 -07:00
Alex Dadgar
b064b392fc
Only unblock if missed class was added after eval snapshot index
2016-06-10 15:24:06 -07:00
Sean Chittenden
948663c89a
Fix another unit test not expecting ServiceID
2016-06-10 16:50:35 -04:00
Sean Chittenden
d99467ef5e
Always create a consul.Syncer. Use a default Consul Config if necessary.
2016-06-10 15:55:27 -04:00
Sean Chittenden
3d64daafd9
Fold RaftPeers() into its only call site now
2016-06-10 15:54:39 -04:00
Sean Chittenden
0ba1da9c9c
Always pass in a snapshot before calling constructNodeServerInfoResponse()
2016-06-10 15:54:39 -04:00
Sean Chittenden
1df6fc253f
Rename updateNodeUpdateResponse
to constructNodeServerInfoResponse
2016-06-10 15:54:39 -04:00
Sean Chittenden
077203fe93
Update the structure of ConsulService to match reality.
...
ConsulService is the configuration for a Consul Service
2016-06-10 15:54:39 -04:00
Sean Chittenden
197feae679
Sync services with Consul by comparing the AgentServiceReg w/ ConsulService
...
The source of truth is the local Nomad Agent. Any services not local that
have a matching prefix are removed. Changed services are re-registered
and missing services are re-added.
2016-06-10 15:54:39 -04:00
Sean Chittenden
9a223936bb
Generate and sync Consul ServiceIDs consistently
2016-06-10 15:54:39 -04:00
Sean Chittenden
95c9d1a63e
Per-comment, remove structs.Allocation's Services attribute.
...
Nuke PopulateServiceIDs() now that it's also no longer needed.
2016-06-10 15:54:39 -04:00
Sean Chittenden
7956eb0c80
Rename structs.Task's Service
attribute to ConsulService
2016-06-10 15:54:39 -04:00
Sean Chittenden
fda03c5c9e
Change the signature of the PeriodicCallback to return an error
...
I *KNEW* I should have done this when I wrote it, but didn't want to
go back and audit the handlers to include the appropriate return
handling, but now that the code is taking shape, make this change.
2016-06-10 15:54:39 -04:00
Sean Chittenden
4973ec32bb
Rename structs.Services to structs.ConsulServices
2016-06-10 15:54:39 -04:00
Sean Chittenden
060300007e
Use a monotonically incrementing number to create unique node names.
...
Also remove the space from the "name" of the node
2016-06-10 15:50:11 -04:00
Sean Chittenden
1ec7d6c266
Push down the server list even on node registration and evaluation
...
Be mindful of the cost of taking a snapshot from the statestore and
reuse the snapshot if one has already been taken.
2016-06-10 15:50:11 -04:00
Sean Chittenden
bff57a0dce
Reconcile, clean up, and centralize API version numbers (major and minor).
...
Reduce future confusion by introducing a minor version that is gossiped out
via the `mvn` Serf tag (Minor Version Number, `vsn` is already being used for
to communicate `Major Version Number`).
Background: hashicorp/consul/issues/1346#issuecomment-151663152
2016-06-10 15:50:11 -04:00
Sean Chittenden
dde6a4074d
Nuke trace-level logging in heartbeats
2016-06-10 15:50:11 -04:00
Sean Chittenden
d76c042a13
Invert error handling logic
2016-06-10 15:50:11 -04:00
Sean Chittenden
1fe979a5e4
Remove types.ShutdownChannel and replace with chan struct{}
2016-06-10 15:50:11 -04:00
Sean Chittenden
438becb28b
Pass the datacenter name in the heartbeat
...
Servers that are part of a different datacenter are added as backup
servers instead of primary servers.
2016-06-10 15:50:11 -04:00
Sean Chittenden
89168b0c51
Invert check definition so the error is first
2016-06-10 15:50:11 -04:00
Sean Chittenden
dc78baedfd
Fix typo in the comment to reflect the actual function name.
2016-06-10 15:50:11 -04:00
Sean Chittenden
410d85cc78
Rename the package from client/rpc_proxy
to client/rpcproxy
...
Also rename `NewRpcProxy()` to just `New()` to avoid package stutter.
2016-06-10 15:50:11 -04:00
Sean Chittenden
1aefdb1e15
Use the correctly typed rand.Int*
variant
2016-06-10 15:50:11 -04:00
Sean Chittenden
3a1dc9a194
Use rand.Int*n()
where appropriate
2016-06-10 15:50:11 -04:00
Sean Chittenden
e727fd8c3c
Centralize the creation of a consul/api.Config struct.
...
While documented, the consul.timeout parameter wasn't ever set
except one-off in the Consul fingerprinter.
2016-06-10 15:50:11 -04:00
Sean Chittenden
f695d6d70d
Reconcile consul's address configuration section.
...
There were conflicting directives previously, both consul.addr and
consul.address were required to achieve the desired behavior. The
documentation said `consul.address` was the canonical name for the
parameter, so consolidate configuration parameters to `consul.address`.
2016-06-10 15:50:11 -04:00
Sean Chittenden
e60580b279
Define a type for the PeriodicCallback handlers and ShutdownChannel
2016-06-10 15:50:11 -04:00
Sean Chittenden
17116fc5a7
Rebalance Nomad client RPCs among different Nomad servers.
...
Implement client/rpc_proxy.RpcProxy.
2016-06-10 15:50:11 -04:00
Sean Chittenden
b509da2d0c
Create a nomad/structs/config
to break an import cycle.
...
Flattening and normalizing the various Consul config structures and
services has led to an import cycle. Break this by creating a new package
that is intended to be terminal in the import DAG.
2016-06-10 15:48:36 -04:00
Sean Chittenden
6d162e1e03
Fix copy pasta comment.
...
These parameters are used to bootstrap Nomad servers, not Consul servers.
2016-06-10 15:48:36 -04:00
Sean Chittenden
4e2835d5ff
Use the correctly typed rand.Int*
variant
2016-06-10 15:48:36 -04:00
Sean Chittenden
49deaae2ae
Seed random once in main
2016-06-10 15:48:36 -04:00