Sean Chittenden
82d537fbd9
Update the `nomad_server_service` default from `nomad-server` to just `nomad`.
2016-06-10 15:50:11 -04:00
Sean Chittenden
7c3838373b
Create a weak decoder to parse time.Duration.
...
Hat tip to Alex for pointing this out (vs patching mapstructure)
2016-06-10 15:50:11 -04:00
Sean Chittenden
6cd01d7567
Nuke a.consulConfig in favor of a.consul.Config
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
9fb0104def
Teach Client to reuse an Agent's consulSyncer.
...
"There can be only one."
2016-06-10 15:50:11 -04:00
Sean Chittenden
47891fb559
Register two services each for clients and servers, http and rpc.
...
In order to give clients a fighting chance to talk to the right port,
differentiate RPC services from HTTP services by registering two
services with different tags. This yields
`rpc.nomad-server.service.consul` and
`http.nomad-server.service.consul` which is immensely more useful to
clients attempting to bootstrap their world.
2016-06-10 15:50:11 -04:00
Sean Chittenden
ac7881226c
Advertise the server's RPC endpoint, not its HTTP endpoint.
...
Rename c.serverRpcAddr to serverRpcAddr. This will be broken out
into in additional set of services in a subsequent commit.
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
10d1b6ba9b
Reduce all forms of ConsulConfig down to a single struct
...
nomad/structs/config/consul.go's ConsulConfig is the canonical definition
for all things Consul now.
2016-06-10 15:50:11 -04:00
Sean Chittenden
520fcb99de
Rename consulConfig to consulAgentConfig
2016-06-10 15:50:11 -04:00
Sean Chittenden
e6c78274c8
Rename client/config/config's ConsulConfig to ConsulAgentConfig
...
A follow up commit to the previous rename. More to come.
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
bd779c3719
Reconcile renamed structures during rebase
2016-06-10 15:50:11 -04:00
Sean Chittenden
882364f4d9
An Agent's consulSyncer is always not nil now.
2016-06-10 15:50:11 -04:00
Sean Chittenden
98cea9ba07
Revise Agent.syncAgentServicesWithConsul()'s interface
...
Reduce down to its lowest common helper function denominator.
2016-06-10 15:50:11 -04:00
Sean Chittenden
b5c70f3729
Alpha sort config keys for Consul
2016-06-10 15:50:11 -04:00
Sean Chittenden
d1442dc317
Reduce all forms of ConsulConfig down to a single struct
...
nomad/structs/config/consul.go's ConsulConfig is the canonical definition
for all things Consul now.
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
88f3422d7c
Rename NewConsulService to NewSyncer
2016-06-10 15:49:37 -04:00
Sean Chittenden
b9789e0cf7
Rename client/consul/sync.PeriodicSync to Run
2016-06-10 15:49:37 -04:00
Sean Chittenden
768aab015d
Rename client/consul/sync.ConsulService to client/consul/sync.Syncer
...
Syncer describes the responsibility and actions of the type.
2016-06-10 15:49:37 -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
840b49a720
Distill config.Config.ConsulConfig down to config.Config.Consul
...
The enclosed struct provides the necessary context
2016-06-10 15:48:36 -04:00
Sean Chittenden
c7a680c28f
Rename consulConfig to consulAgentConfig
2016-06-10 15:48:36 -04:00
Sean Chittenden
73e173673e
Rename client/config/config's ConsulConfig to ConsulAgentConfig
...
A follow up commit to the previous rename. More to come.
2016-06-10 15:48:36 -04:00
Sean Chittenden
e97652bbfb
Rename consul.ConsulConfig to consul.AgentConfig
...
There were two `ConsulConfig` structs running around, one of them
needed to go away. Rely on the package's path to provide context
for the type of AgentConfig.
2016-06-10 15:48:36 -04:00
Sean Chittenden
e36686a17d
Use consul/lib's RandomStagger
...
Removes four redundant copies of the method in the process.
2016-06-10 15:48:36 -04:00
Jeff Mitchell
b4f25e0b04
Use upstream high-level SCADA provider
2016-06-01 18:25:09 -04:00
Diptanu Choudhury
fd1b0dfd49
Fixed a test
2016-05-31 01:58:32 +02:00
Diptanu Choudhury
f95b1d00c3
Renamed error message in alloc endpoint
2016-05-28 20:03:52 -07:00
Diptanu Choudhury
f0c381e7d7
Added a test for alloc stats api endpoint
2016-05-28 19:59:20 -07:00
Diptanu Choudhury
eb5d831099
Added a test for the clients stats endpoint
2016-05-28 19:59:20 -07:00
Diptanu Choudhury
c0dc6cfbf2
Changing the api of the stats endpoints
2016-05-28 19:59:20 -07:00
Diptanu Choudhury
a0c279f3b2
comments
2016-05-28 19:59:20 -07:00
Diptanu Choudhury
a64062d6a6
Fixed the compilation on linux
2016-05-28 19:59:20 -07:00
Diptanu Choudhury
0b0d0764e4
Changed signature of Allocation Stats Reporter
2016-05-28 19:59:20 -07:00
Diptanu Choudhury
c46400597e
Making the stats collection interval and number of data points to keep in memory configurable
2016-05-28 19:59:20 -07:00
Diptanu Choudhury
464812ea3b
Changed the stats endpoints
2016-05-28 19:59:20 -07:00
Diptanu Choudhury
63166d0e46
Adding a query param to return time series of stats
2016-05-28 19:42:34 -07:00
Diptanu Choudhury
9a96dddc07
Added some docs to resource stats endpoint
2016-05-28 19:42:34 -07:00
Diptanu Choudhury
7569b1af2e
Collecting host stats
2016-05-28 19:42:34 -07:00
Diptanu Choudhury
f3d0aecafe
Reporting time series of stats
2016-05-28 19:42:34 -07:00
Diptanu Choudhury
0fb0e0237f
Added a client API to display resource usage of an allocation
2016-05-28 19:42:34 -07:00
Diptanu Choudhury
bf5b78b77e
Added a test for generation of the server addr
2016-05-24 21:29:13 -07:00
Diptanu Choudhury
227477533c
Using the bind addr as server's IP if advertise addr and addresses.HTTP is not specified
2016-05-24 17:27:09 -07:00
Alex Dadgar
2a4d5f0ef9
Compress HTTP API responses and have the api client utilize this
2016-05-24 10:26:53 -07:00
Alex Dadgar
120ff47cd1
Merge pull request #1182 from hashicorp/f-json-encoder
...
Use codegen for json marshalling
2016-05-20 14:30:25 -07:00
Alex Dadgar
636f886e30
Use codegen for json marshalling: 20% faster, 12% less bytes allocated, 85% less allocations
2016-05-18 09:45:46 -07:00
Diptanu Choudhury
bf27cc1261
Merge pull request #1174 from hashicorp/f-config-consul-block
...
Using the auto-register flag
2016-05-18 04:16:38 +02:00
Dara Kong
9b2b39c7d6
Fix "http_api_response_headers" config not working
...
On startup, the agent starts with either a dev or default config. Extra
config files are merged into final config.
The HTTPAPIResponseHeaders config was missing from the merge logic
therefore it would always result in empty value (regardlesss of any
config files specified).
2016-05-16 20:57:54 -07:00
Alex Dadgar
a5ab96d40e
Merge pull request #1168 from hashicorp/f-plan-endpoint
...
Job.Plan endpoint
2016-05-16 13:15:40 -07:00
Alex Dadgar
a231f6f998
Switch to using the harness
2016-05-16 12:49:18 -07:00
Diptanu Choudhury
c07770fd4d
Using the auto-register flag
2016-05-16 18:23:01 +02:00
Sean Chittenden
dc28ab0cb5
Speling police
2016-05-15 09:41:34 -07:00
Diptanu Choudhury
1b3356375d
Using advertise addr for the http address
2016-05-14 01:09:05 -07:00
Diptanu Choudhury
ecd995b283
Added some docs
2016-05-14 00:36:26 -07:00
Diptanu Choudhury
d94e651c6e
Merge branches 'master' and 'f-config-consul-block' of github.com:hashicorp/nomad into f-config-consul-block
2016-05-13 13:05:11 -07:00
Diptanu Choudhury
df9d256132
Making Nomad register services with consul in dev mode
2016-05-13 10:19:49 -07:00
Alex Dadgar
b634486ebd
Plan api
2016-05-11 18:51:48 -07:00
Diptanu Choudhury
439d7bf326
Fixed an agent test
2016-05-11 17:26:53 -07:00
Diptanu Choudhury
347cb890d2
Removed allocID and task name from consul service
2016-05-11 16:26:41 -07:00
Diptanu Choudhury
83fed62a0a
Implemented registering client and server services
2016-05-11 16:07:02 -07:00
Sean Chittenden
7b8a5dcc15
Fix the unit tests for TestPrettyPrintOff
...
A different failing test masked that this wasn't even being run.
Pointy Hat: sean- for testing first on Travis in a branch vs verifying locally
2016-05-11 15:48:43 -07:00
Alex Dadgar
81f0286dd8
Merge branch 'master' into f-plan-endpoint
2016-05-11 15:39:36 -07:00
Diptanu Choudhury
d9497632ed
Added tests for parsing consul client configuration
2016-05-11 15:22:58 -07:00
Diptanu Choudhury
075a1379c0
Added parsing logic for config block
2016-05-11 15:22:58 -07:00
Sean Chittenden
693e1c6ea9
Fix unit tests for TestPrettyPrintBare
2016-05-11 15:20:57 -07:00
Alex Dadgar
ccc3caae4a
Merge branch 'f-job-diff2' into f-plan-endpoint
2016-05-11 11:25:25 -07:00
Sean Chittenden
36a50e0f15
Update tests for pretty printing that includes a newline.
...
Add a test verifying that pretty printing can be disabled, too.
2016-05-11 10:55:01 -07:00
Sean Chittenden
2fe9b6e97a
Append a newline when pretty-printing the response
...
Instead of typing `curl http://foo/v1/nodes?pretty ; echo` to inject a
newline into your terminal, now pretty will provide its own newline.
2016-05-10 15:46:20 -07:00
Alex Dadgar
ab0b57a9a1
Initial plan endpoint implementation - WIP
2016-05-05 11:21:58 -07:00
Sean Chittenden
09729cf706
When checkpoint emits a log message indicating an agent is out of
...
date, include the current version along with the available version
according to checkpoint.
Inspired by: log output in hashicorp/consul#993
2016-05-04 23:56:37 -07:00
Alex Dadgar
6c6dacd042
Fix missing format variable
2016-04-18 18:53:05 -07:00
Alex Dadgar
3c9e0c9c47
Lower number of submitted jobs
2016-04-13 16:33:30 -07:00
Diptanu Choudhury
891b201eef
removing interfaces from config
2016-04-07 13:25:38 -07:00
Diptanu Choudhury
9d495a4be4
Added the /fs/cat/ api
2016-03-28 11:06:22 -07:00
Alex Dadgar
aefa4b9207
add nomad fingerprinter
2016-03-22 17:12:30 -07:00
Diptanu Choudhury
acd016c7c0
Overriding the device configuration if addresses is present
2016-03-20 23:41:16 -07:00
Diptanu Choudhury
98fd0b889a
Added a comment about iteration of ips in a network device
2016-03-20 23:22:16 -07:00
Diptanu Choudhury
cfb9ae91a1
Using the interfaces for configuring bind addrs for nomad servers
2016-03-19 00:54:19 -07:00
Diptanu Choudhury
6e6f2940f0
Setting the ip from the network interface to Addresses
2016-03-18 22:26:13 -07:00
Diptanu Choudhury
e72faaa1c0
Parsing interfaces from the config file
2016-03-18 22:05:57 -07:00
Diptanu Choudhury
4f689d1a38
Using the interface name to find bind address for network services
2016-03-18 21:44:22 -07:00
Diptanu Choudhury
601008706d
Added an interfaces config
2016-03-18 13:50:29 -07:00
Alex Dadgar
719f5d34ed
Merge pull request #910 from hashicorp/f-reserved-resources
...
Reserve Client Resources + Config Validation
2016-03-15 21:09:13 -07:00
Dmitry Smirnov
7c3bb51cfa
codespell: minor spelling corrections
...
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
2016-03-16 05:28:31 +11:00
Alex Dadgar
9bfcd47398
Remove unused configs
2016-03-13 19:22:57 -07:00
Alex Dadgar
7d4c19ed99
reserve resources on the node
2016-03-13 19:05:41 -07:00
Alex Dadgar
979a0d07f9
Get rid of individual network resources
2016-03-11 19:02:44 -08:00
Alex Dadgar
363b6fea51
Custom parsing of Nomad config with validation + Reserved resources block (not used yet)
2016-03-11 18:24:58 -08:00
Diptanu Choudhury
b18cbaa416
Using unix domain sockets for docker syslog collector
2016-03-09 23:28:26 -08:00
Diptanu Choudhury
a5d5919664
Fixed an issue around parsing client max and min ports
2016-03-09 12:25:30 -08:00
Alex Dadgar
da984cb4d2
Guard client/ api to ensure the client is running
2016-03-07 11:26:54 -08:00
Alex Dadgar
30482f1cd6
fix test
2016-03-06 18:41:33 -08:00
Alex Dadgar
89e3de7784
agent: Configurable heartbeat
2016-03-04 15:44:12 -08:00
Alex Dadgar
82d8210287
Remove documentation about assigning node-id
2016-03-04 10:36:30 -08:00
Diptanu Choudhury
e3d6c4a9dd
Adding version information to snapshots
2016-02-24 19:06:30 -08:00
Alex Dadgar
cc1b35a90c
client: standardize error logging format
2016-02-24 15:57:58 -08:00
Alex Dadgar
143972b6d9
Job GC endpoint
2016-02-20 15:50:41 -08:00
Alex Dadgar
70b07f7ad6
Make the client only reserve 512 ports.
2016-02-20 11:43:02 -08:00
Diptanu Choudhury
72c52e3158
Testing default http port is being set
2016-02-16 17:54:17 -08:00
Diptanu Choudhury
f33a010f8d
Added a test for testing that http addr is set properly
2016-02-16 13:42:48 -08:00
Diptanu Choudhury
0e7a2d68c1
fixing the logic of addr resolution
2016-02-16 13:13:40 -08:00
Diptanu Choudhury
d34a74371a
Merge pull request #797 from hashicorp/reserve-ports
...
Reserving ports for client in every platform
2016-02-12 14:33:13 -08:00
Diptanu Choudhury
fe66b8b928
Adding comments
2016-02-12 14:25:32 -08:00
Diptanu Choudhury
772ed1eb7e
Reserving ports for client in every platform
2016-02-12 13:21:56 -08:00
Diptanu Choudhury
92103c9091
Merging the value of http advertise addr if user is providing one
2016-02-12 09:40:28 -08:00
Diptanu Choudhury
0016b2f82d
Setting the output for default logger to nomad's logoutput
2016-02-11 16:05:31 -08:00
Diptanu Choudhury
4644f8a9d4
Added a test for merge
2016-02-08 16:27:31 -08:00
Diptanu Choudhury
e89bcf52b8
Moving code to mount and unmount chroot into allocdir
2016-02-08 14:11:53 -08:00
Diptanu Choudhury
e53ebc9e3c
Extracted the cgroup info into isolation struct
2016-02-08 13:48:26 -08:00
Diptanu Choudhury
21677468cf
Setting defaults for client max and min port
2016-02-08 13:29:53 -08:00
Diptanu Choudhury
fa45e0b8ca
Using net.IsLoopback to determine if ifc is a loopback device
2016-02-08 07:57:31 -08:00
Diptanu Choudhury
d2eeba213c
Reserving ports on windows
2016-02-05 15:17:15 -08:00
Alex Dadgar
2d98c0eadd
Fix double pull with introduction of AllocModifyIndex
2016-02-01 15:43:59 -08:00
Alex Dadgar
f8b99e7da3
Merge pull request #722 from iverberk/f-double-alloc-update
...
Add new RPC call to fetch a lightweight list of allocation information.
2016-01-30 16:39:09 -08:00
Ivo Verberk
2dd3ff6d81
Add additional API endpoint for requesting client specific node allocations.
2016-01-29 20:01:21 +01:00
Jake Champlin
e2f0244776
Update agent_endpoint_test
2016-01-28 23:33:01 -05:00
Diptanu Choudhury
0736f45937
Simplified the logic of detecting addrs
2016-01-27 13:34:01 -08:00
Diptanu Choudhury
69a17e2a29
Added the advertise http option to the client
2016-01-27 12:53:24 -08:00
Diptanu Choudhury
e83130934d
Using the bindAddr only when user hasn't overrident it
2016-01-27 12:53:24 -08:00
Diptanu Choudhury
1e9c817a52
Added the cli for listing alloc dir
2016-01-27 12:53:23 -08:00
Diptanu Choudhury
b86e60b9de
Allow users to configure arbitrary headers in config
2016-01-22 11:00:43 -08:00
Alex Dadgar
248b20ae24
Merge pull request #675 from nautsio/f-cli-short-ids
...
Shorten CLI identifiers
2016-01-19 15:11:41 -08:00
Alex Dadgar
041bcc36c5
Merge pull request #668 from hashicorp/f-force-spawn
...
Force spawn periodic jobs
2016-01-19 11:37:18 -08:00
Alex Dadgar
cffc04fa91
Missing forward slash
2016-01-19 11:18:03 -08:00
Alex Dadgar
5e900b94d0
Move endpoint to be under job
2016-01-19 11:09:36 -08:00
Ivo Verberk
149c55252d
Merge branch 'master' into f-cli-short-ids
2016-01-15 09:19:53 +01:00
Diptanu Choudhury
39b263ed7f
Refactoring some comments and test names
2016-01-14 15:07:24 -08:00
Diptanu Choudhury
95a9408e7d
Renamed the tests
2016-01-14 13:39:30 -08:00
Diptanu Choudhury
08d8a7d527
changed the API of the client
2016-01-14 13:35:42 -08:00
Ivo Verberk
91a9f2c4ce
Shorten CLI identifiers
...
* Truncate all UUID identifiers to eight characters by default
* Refactor the node identifier to an auto-generated UUID
* Created and updated tests and mocks
2016-01-14 21:57:43 +01:00
Diptanu Choudhury
b80418f159
Fixed the query for extracting path from stat
2016-01-13 13:21:03 -08:00
Diptanu Choudhury
7a93da0d3e
Refactored the tests
2016-01-13 11:49:39 -08:00
Diptanu Choudhury
155845a46d
Added a test for the readat api endpoint
2016-01-13 11:37:29 -08:00
Diptanu Choudhury
4f6dd60f3c
Fixed the logic of extracting alloc
2016-01-13 11:19:45 -08:00
Alex Dadgar
80dd30b03d
Add force spawn endpoint
2016-01-13 10:19:53 -08:00
Diptanu Choudhury
2e03843670
Refactored the code
2016-01-12 22:25:12 -08:00
Diptanu Choudhury
9e5d6d7fe8
Implemeted readAt
2016-01-12 22:06:42 -08:00
Diptanu Choudhury
74af0da4cd
Implemented the Stat API
2016-01-12 21:28:07 -08:00
Diptanu Choudhury
a1453e6180
Added the Stat API
2016-01-12 15:25:51 -08:00
Diptanu Choudhury
e3d7e693dc
Added methods for listing directories inside an alloc
2016-01-12 15:03:53 -08:00
Alex Dadgar
ce22c049db
Merge pull request #575 from nautsio/f-short-ids
...
Allow lookups based on short identifiers
2016-01-06 14:36:19 -08:00
Ivo Verberk
9527fc254d
Improvements for short identifiers
...
* Fix tests
* Update documentation
2016-01-06 22:46:57 +01:00
Ivo Verberk
fd177f4c6f
Bring up-to-date with master
2015-12-24 21:16:32 +01:00
Ivo Verberk
0c01ca49e6
Refactoring continued
...
* Refactor other cli commands to new design
* Add PrefixList method to api package
* Add more tests
2015-12-24 20:53:37 +01:00
Alex Dadgar
ddf392c6be
User specifiable kill timeout and operator configurable max
2015-12-22 16:10:30 -08:00
Ivo Verberk
7838b2a57c
Refactoring
...
* Reverted changes to get methods
* Added prefix query parameter
* Updated node status to use prefix based searching
* Fixed tests
* Removed truncation logic
2015-12-22 23:44:33 +01:00