Sean Chittenden
2a2b35d1bc
Use `/v1/agent/servers` (vs `/v1/agent/self`).
2016-06-16 17:40:47 -07:00
Sean Chittenden
26cc057751
Automatically register service checks for HTTP, RPC, and Serf.
2016-06-16 17:34:25 -07:00
Sean Chittenden
ec77a1869e
Test for errors
2016-06-16 14:43:46 -07:00
Sean Chittenden
af55b74114
Merge pull request #1276 from hashicorp/f-consul-server-autojoin
...
Teach Nomad servers how to fall back to Consul.
2016-06-16 14:40:45 -07:00
Diptanu Choudhury
14747848f7
Removed the stats block from client configuration
2016-06-16 21:30:29 +01:00
Sean Chittenden
b0fecbefc1
Define `BootstrapExepct` as an `int32` so it can be manipulated atomically.
2016-06-16 12:00:15 -07:00
Sean Chittenden
f05514335b
Teach Nomad servers how to fall back to Consul.
2016-06-15 12:40:51 -07:00
Diptanu Choudhury
201dd28743
Merge pull request #1284 from hashicorp/add-warn-message
...
Added a warn message for deprecated consul options
2016-06-15 11:33:24 +02:00
Diptanu Choudhury
fd80e6ed0f
Added a warn message for deprecated consul options
2016-06-15 02:31:57 +02:00
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
10ce8f27d4
Temporarily disable various syncer checks due to the API changes made earlier today.
2016-06-13 19:52:17 -07:00
Sean Chittenden
a54b4e08f8
Drive-by comment correction
2016-06-13 18:14:50 -07:00
Alex Dadgar
4b04e503f3
address comments
2016-06-13 17:32:18 -07:00
Alex Dadgar
8bbf4a55e5
Fix IDs and domain scoping
2016-06-13 16:30:58 -07:00
Diptanu Choudhury
2e10458367
Removing unwated line of code
2016-06-13 15:37:55 +02:00
Diptanu Choudhury
d019d8ef8e
implemented reconciliation of unwanted services
2016-06-13 14:52:26 +02:00
Alex Dadgar
753d50f3d4
agent just calls run
2016-06-12 22:30:52 -07:00
Alex Dadgar
232654cdee
register checks
2016-06-12 21:28:56 -07:00
Alex Dadgar
a82c2bb058
Do not reconcile in client and cleanup executor a bit
2016-06-12 18:22:07 -07:00
Alex Dadgar
e4506ea333
fix test
2016-06-12 16:48:55 -07:00
Alex Dadgar
c68d23b7d6
Merge pull request #1264 from hashicorp/b-rename-services
...
Rename ConsulService back to Service
2016-06-12 16:44:49 -07:00
Diptanu Choudhury
751b2e1bcb
Remove initial delay of registering services with consul
2016-06-13 01:42:56 +02:00
Alex Dadgar
8e231fa382
Rename ConsulService back to Service
2016-06-12 16:36:49 -07:00
Alex Dadgar
fdda90229f
only support latest and remove ring buffer
2016-06-12 09:32:38 -07:00
Alex Dadgar
e952540f6f
Allocation resources returned in a struct
2016-06-11 21:04:10 -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
Sean Chittenden
917766a3df
Prefer `%+q` over `%q` in log messages.
2016-06-11 18:17:20 -04:00
Alex Dadgar
5797534d16
Don't require slash for node stats
2016-06-11 13:15:57 -07:00
Sean Chittenden
bbd8dfa798
goling(1) compliance pass (e.g. Rpc* -> RPC)
2016-06-10 23:38:28 -04:00
Sean Chittenden
bc771d35df
Query for the Nomad service across multiple Consul datacenters.
2016-06-10 23:05:14 -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
f6a0459ae5
Always create a consul.Syncer. Use a default Consul Config if necessary.
2016-06-10 15:55:27 -04:00
Sean Chittenden
e69232dd73
Commit miss, bump to 5s
2016-06-10 15:54:39 -04:00
Sean Chittenden
26b1e826d7
golint(1) police
2016-06-10 15:54:39 -04:00
Sean Chittenden
c92306f020
Stash client and server registration behind consul.auto_register
2016-06-10 15:54:39 -04:00
Sean Chittenden
68aebff84d
Only return the Client's server addresses, never mix-in server peers
2016-06-10 15:54:39 -04:00
Sean Chittenden
447fe59fd2
Hand wave over the syncer tests atm, these will be fixed shortly.
2016-06-10 15:54:39 -04:00
Sean Chittenden
fa7285cb5b
Don't spam the consul if Consul is not available.
...
Log once when Consul goes away, and log when Consul comes back.
2016-06-10 15:54:39 -04:00
Sean Chittenden
a1a0c313de
Skip nil check for agent's consulSyncer is always not nil
2016-06-10 15:54:39 -04:00
Sean Chittenden
a2109af862
Properly cover Syncer attributes with the registryLock.
...
trackedServices, delegateChecks, trackedChecks, and checkRunners
should all be covered. This lock needs to be reasonably narrow and
can't use defer due to possible recursive locking concerns further
downstream from the call sites.
2016-06-10 15:54:39 -04:00
Sean Chittenden
f9b561b52f
On Syncer Shutdown, remove all services that match a Syncer's prefix.
2016-06-10 15:54:39 -04:00
Sean Chittenden
57e084e4df
Sync checks with Consul by comparing the AgentCheckReg w/ ConsulService
...
The source of truth is the local Nomad Agent. Any checks are not local that
have a matching prefix are removed. Changed checks are re-registered
and missing checks are re-added.
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
bcad11cc2a
Rename runChecks to consulAvailable
...
Apologies in advance for the variable thrash, the fingerprinter is
no longer used to gate whether or not Consul is available any more.
2016-06-10 15:54:39 -04:00
Sean Chittenden
efe00d2ccd
Update Syncer.Run() to call SyncServices().
2016-06-10 15:54:39 -04:00
Sean Chittenden
83775c5c8b
Add "Service Groups" to the Syncer.
...
Now the right way to register services with the Syncer is to call
`SetServices(groupName, []*services)`. This was required to allow
the Syncer to sync either the Client, Server, or Both using a
single Syncer.
2016-06-10 15:54:39 -04:00
Sean Chittenden
c54539b860
Initialize Consul for the Nomad Agent in a more uniform way.
...
Decompose Client and Server registration into `setupClient()` and
`setupServer()`, respectively.
2016-06-10 15:54:39 -04:00
Sean Chittenden
06e5e615a8
Rename command/agent/consul/sync.go to syncer.go
2016-06-10 15:54:39 -04:00
Sean Chittenden
d307ca2c28
Begin leveraging the Agent-level consul.Syncer
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
05a2b9528c
Remove Syncer.registerService()
...
This call is obsolete by a future commit that changes the canonical
source of truth to be consul.AgentServiceRegistration structs, which
means it is not necessary to construct AgentServiceRegistration
objects every time a registration is made, we just reuse the existing
object.
2016-06-10 15:54:39 -04:00
Sean Chittenden
8c813630e6
Move package client/consul/sync to command/agent/consul.
...
This has been done to allow the Server and Client to reuse the same
Syncer because the Agent may be running Client, Server, or both
simultaneously and we only want one Syncer object alive in the agent.
2016-06-10 15:54:39 -04:00
Sean Chittenden
6b126ce488
Change the API signature of Syncer.SyncServices().
...
SyncServices() immediately attempts to sync whatever information
the process has with Consul. Previously this method would take an
argument of the exclusive list of services that should exist,
however this is not condusive to having a Nomad Client and Nomad
Server share the same consul.Syncer.
2016-06-10 15:54:39 -04:00
Sean Chittenden
e24de53ead
Refine Nomad's Consul `port` handling.
...
Previously this would immediately default to '127.0.0.1' if the
config was set to `:some-port-number`. Now it uses the BindAddr
if available. Also, if the `port` option is set to just a port`
number (e.g. '1234'), attempt to parse the port number by itself
to allow statically configured ports to work, even when no host is
specified.
2016-06-10 15:54:39 -04:00
Sean Chittenden
555f4fe135
Change client/consul.NewSyncer() to accept a shutdown channel
...
In addition to the API changing, consul.Syncer can now be signaled
to shutdown via the Shutdown() method, which will call the Run()'ing
sync task to exit gracefully.
2016-06-10 15:54:39 -04:00
Sean Chittenden
e2a561204a
Fix typo in comment
2016-06-10 15:50:11 -04:00
Sean Chittenden
b199743b8a
Add some trace-level logging for /v1/agent/servers when writing
...
This endpoint shouldn't be hit often, but this could be useful in
logs down the road.
2016-06-10 15:50:11 -04:00
Sean Chittenden
07fa89d2a5
Fix config_parse_test to reflect that `consul.addr` does not exist.
...
`consul.address` does, but not `consul.addr`.
2016-06-10 15:50:11 -04:00
Sean Chittenden
7fe1944bc5
Fix tests for client.TestAgent_ServerConfig
...
Add similar logic in Agent `serverConfig()` to set up the
`serverSerfAddr` the same as `serverHttpAddr` and `serverRpcAddr`.
2016-06-10 15:50:11 -04:00
Sean Chittenden
39fb0f2469
Change the endpoint for `/v1/agent/servers` and fix tests.
...
When an agent is running a server, the list of servers includes the
Raft peers. When the agent is running a client (which is always the
case?), include a list of the servers found in the Client's RpcProxy.
Dedupe and provide a unique list back to the caller.
2016-06-10 15:50:11 -04:00
Sean Chittenden
cb80e93a6b
Move client.DefaultConfig() to client/config.DefaultConfig()
...
Resolves an import cycle in testing and is more appropriate because
the default should reside next to its struct definition.
2016-06-10 15:50:11 -04:00
Sean Chittenden
b3fd455b1f
Register the serf service with the Nomad server service.
...
This will be unused in this PR.
2016-06-10 15:50:11 -04:00
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
Alex Dadgar
2d16cb86ce
Enforce absolute paths for alloc/state/data directories
2015-12-22 11:14:41 -08:00
Alex Dadgar
06e84205da
Fix retry interval not applying sleep duration
2015-12-17 16:33:09 -08:00
Chris Hines
8483a0dd40
Sort config files as documented.
2015-12-15 02:05:25 -05:00
Alex Dadgar
af0e9b1477
Merge pull request #585 from hashicorp/b-config-oboe
...
Check length 0 (no configs) instead of 1 (some configs)
2015-12-14 17:58:55 -08:00
Chris Bednarski
40d2eb0628
Check length 0 (no configs) instead of 1 (some configs)
2015-12-14 17:46:52 -08:00
Chris Hines
e600f4ef19
Use minimum OS specific path.
...
This change ensures LoadConfig and LoadConfigDir report consistent paths to files and those paths use the appropriate path separator for the target OS. Note that LoadConfigDir constructs paths with filepath.Join, which calls filepath.Clean, which calls filepath.FromSlash.
2015-12-14 14:59:19 -05:00
Alex Dadgar
b943c6e278
Remove all calls to the default logger
2015-12-11 15:02:13 -08:00
Chris Bednarski
188b495ffe
Merge pull request #557 from hashicorp/b-config-test-windows
...
Fix a failing test on windows because of / vs. \ in string comparison
2015-12-10 15:29:40 -08:00
Chris Bednarski
545f0ff120
Move raw_exec enabled into the DevMode config block
2015-12-10 15:24:21 -08:00
Chris Bednarski
a86e62b6cc
Use filepath.FromSlash so the test uses platform-specific path separators
2015-12-10 12:22:41 -08:00
Chris Bednarski
b85b5dbf9d
Added message when no configuration files are loaded
2015-12-09 15:50:18 -08:00
Alex Dadgar
7c76e8eca3
Merge pull request #527 from asteris-llc/master
...
Add cluster join command line options and configuration options
2015-12-09 13:14:00 -08:00
Chris Bednarski
ed4160f6fe
Merge pull request #536 from hashicorp/f-log-config-files
...
Log the list of config files loaded when starting the nomad agent
2015-12-09 12:18:46 -08:00
Chris Bednarski
3a8a30c7d8
Merge pull request #535 from hashicorp/f-warn-unused-config
...
Warn the user when they specify a config file / folder that doesn't add any configuration options
2015-12-09 12:10:19 -08:00
Chris Aubuchon
e13dc345be
Indicate which configuration option failed to parse properly
2015-12-09 13:07:36 -06:00
Chris Aubuchon
157baabb67
Move retryJoin error channel to Command structure
2015-12-09 09:57:54 -06:00
Alex Dadgar
f8dff3bab0
Merge pull request #526 from ChrisHines/windows-agent
...
command/agent: fix tests on Windows
2015-12-08 19:11:08 -08:00
Diptanu Choudhury
aeb68bb9e6
Merge pull request #548 from hooklift/x-code-clean-up
...
Cleans up some code.
2015-12-09 01:26:37 +01:00
Camilo Aguilar
225db55be6
Addresses Go lint suggestions
2015-12-08 19:05:15 -05:00
Camilo Aguilar
2b2777d2fd
Sets default syslog facility
...
As advertised by documentation.
2015-12-08 18:57:06 -05:00
Chris Bednarski
02be0eeb36
Add test to verify order
2015-12-04 17:12:47 -08:00
Chris Bednarski
c2a52270a7
Rename ConfigFiles field to Files so there's less stutter when used as config.Files
2015-12-04 16:59:04 -08:00
Chris Bednarski
4b52a370f9
Log the list of config files loaded when starting the nomad agent
2015-12-04 16:52:17 -08:00
Chris Bednarski
e5fd0d1d62
Warn the user when they specify a config file / folder that doesn't add any configuration options
2015-12-02 23:22:18 -08:00
Chris Aubuchon
3a58bae865
Restore AtlasConfig
2015-12-02 18:40:30 -06:00
Chris Aubuchon
baf0b54037
`30 * time.Second` -> `"30s"` in DefaultConfig
2015-12-02 16:05:05 -06:00
Chris Aubuchon
ad9971cc02
Set defaults for `retry_max` and `retry_interval` options
2015-12-02 15:50:57 -06:00
Chris Aubuchon
62e11bddd7
Add cluster join command line options and configuration options
2015-12-02 13:55:29 -06:00
Chris Hines
c20e9bff26
Do not leak listeners in test.
2015-12-02 13:59:27 -05:00
Chris Hines
b05610a24d
Work around bugs in package `net` in Go < 1.6.
2015-12-02 13:57:40 -05:00
Ryan Uber
4d0322de99
agent: apply merges for atlas config
2015-11-30 15:21:50 -08:00
Ryan Uber
714450c6a5
website: document regions endpoint
2015-11-24 09:38:07 -08:00
Ryan Uber
a230a70cc7
nomad: testing region list
2015-11-23 22:27:07 -08:00
Ryan Uber
ad6b55a37a
nomad: support listing regions
2015-11-23 22:27:03 -08:00
Mitchell Hashimoto
9b2b6cd44f
command/agent: use new HCL API
2015-11-09 11:49:27 -08:00
Diptanu Choudhury
c0d37ce58c
Setting the default network interface for dev mode only in Linux and Darwin
2015-10-29 17:03:54 -07:00
Alex Dadgar
f2bbc0dd6b
Merge pull request #362 from gregory-m/node-gc-conf
...
Configure Node GC Threshold
2015-10-29 15:45:57 -07:00
Gregory Man
8f178b54d3
Added node_gc_threshold configuration option
...
Close #333
2015-10-29 15:58:21 +02:00
Gregory Man
af4e123a89
Fix local interface name on OS X
2015-10-29 14:30:26 +02:00
Kenjiro Nakayama
e688dc3826
Set default network interface rather than eth0 for non-dev mode, and use loopback device for dev mode by default
2015-10-28 02:03:48 +09:00
Alex Dadgar
4cc8588cb5
Merges
2015-10-02 17:32:11 -07:00
Ryan Uber
ccf217ce2e
agent: test options config
2015-10-02 17:02:32 -07:00
Ryan Uber
30fa300825
Merge branch 'parse-client-options' of https://github.com/carlosdp/nomad into b-options
2015-10-02 16:58:05 -07:00
Antoine POPINEAU
f35ebe14ad
Merge branch 'master' into dev/net-fingerprint
2015-10-02 09:38:35 +02:00
Antoine POPINEAU
36daef1625
Renamed all instances of `Iface` to `NetworkInterface`.
2015-10-02 09:29:18 +02:00
Alex Dadgar
cc85859ccd
Don't enfoce that the agent can't be run as both server and client
2015-10-01 17:27:36 -07:00
Alex Dadgar
4c9f2fd6a7
Use the known size of meta to initialize the map
2015-10-01 17:21:32 -07:00
Alex Dadgar
9d5f96fb4f
Move declerations to top and use SplitN to be more flexible for Meta values
2015-10-01 17:19:52 -07:00
Alex Dadgar
3345a951d2
Add parsing of client configuration from the commandline
2015-10-01 16:46:42 -07:00
Antoine POPINEAU
70d34da1bc
Client config param added to specify net iface to use for fingerprinting. Added a Golang-native method for determining the interface IP address.
2015-10-01 17:31:47 +02:00
Ryan Uber
7bb41d2f21
agent: return empty config for empty config dirs
2015-09-29 15:07:52 -07:00
Carlos Diaz-Padron
1c6ca9b0a4
Parse Client config Options
...
This adds Options to the agent ClientConfig and fixes the merging logic
to include Options, as defined in the docs
2015-09-28 16:45:32 -07:00
Ryan Uber
cc7c1cc808
agent: all dynamic ports for tests
2015-09-25 12:19:13 -07:00
Ryan Uber
114b38b8a8
agent: add HTTP endpoint for querying/modifying the server list
2015-09-24 20:39:03 -07:00
Armon Dadgar
683985c872
agent: Do not override default log levels
2015-09-22 21:48:42 -07:00
Ryan Uber
dd95f4033d
Merge pull request #79 from hashicorp/f-bootstrap
...
Add flags for bootstrap modes to CLI
2015-09-22 20:28:30 -07:00
Ryan Uber
f0c21b79f1
agent: json decode directly to structs in api
2015-09-22 20:02:10 -07:00
Ryan Uber
e5f644b02c
agent: remove explicit Bootstrap option in favor of BootstrapExpect
2015-09-22 14:41:49 -07:00
Ryan Uber
e1a6c02004
agent: test agent command args
2015-09-22 14:04:40 -07:00
Ryan Uber
16f4e1c8c2
command/agent: add bootstrap flags
2015-09-22 13:28:06 -07:00
Armon Dadgar
38f9508764
agent: test config parsing
2015-09-22 11:29:58 -07:00
Ryan Uber
b15d45fa2b
command: use an empty config instead of default config for cli options
2015-09-22 10:44:46 -07:00
Armon Dadgar
bb58ba2705
website: document additional configuration options
2015-09-22 10:41:12 -07:00
Ryan Uber
dbf60d4682
command/agent: fix help usage
2015-09-22 01:59:17 -07:00
Ryan Uber
0e54398200
command/agent: more arguments
2015-09-21 21:37:55 -07:00
Ryan Uber
d734dedb54
command/agent: accept server/client/data-dir
2015-09-21 20:48:39 -07:00
Ryan Uber
3df6f52e96
agent: fix CLI help
2015-09-21 20:39:10 -07:00
Armon Dadgar
6fb7d45acf
agnet: fixing inversion of LeaveOnInt
2015-09-21 14:14:19 -07:00
Armon Dadgar
0621b2e2df
agent: adding Atlas and Region to output
2015-09-21 14:14:19 -07:00
Armon Dadgar
0074270c45
http: validating job is provided to avoid nil pointer
2015-09-20 17:38:26 -07:00
Armon Dadgar
53834b39ba
SCADA support
2015-09-14 15:33:08 -07:00
Ryan Uber
92c2c58a37
command: convert members so we get a descriptive status
2015-09-14 13:24:03 -07:00
Armon Dadgar
2ff133c0e6
nomad: rename region1 to global. Fixes #41
2015-09-13 18:18:40 -07:00
Ryan Uber
f4499491a9
agent: remove unreachable code
2015-09-11 21:28:35 -07:00
Ryan Uber
90f18850a5
agent: add default bind addr and port numbers
2015-09-11 12:19:05 -07:00
Ryan Uber
3b5004f2a4
agent: split out server config parser, add tests
2015-09-11 12:06:42 -07:00
Ryan Uber
8d816ec883
agent: allow specifying advertise addrs in ip:port format
2015-09-11 11:27:14 -07:00
Ryan Uber
9ce9552a6b
agent: test listener from config
2015-09-11 11:10:55 -07:00
Ryan Uber
fa614cd3ef
agent: adjust tests
2015-09-10 19:04:06 -07:00
Ryan Uber
35580ef9ec
agent: use ports/addresses/advertise_addrs for network config
2015-09-10 18:37:42 -07:00
Ryan Uber
936bca5194
agent: addresses and ports are configurable
2015-09-10 17:48:02 -07:00
Ryan Uber
b95ed91628
agent: merge telemetry, server, and client configs
2015-09-10 11:25:19 -07:00
Ryan Uber
bc683a800e
agent: config loading tests
2015-09-09 22:11:48 -07:00
Ryan Uber
faf5cc0447
agent: config merge works + tests
2015-09-09 21:42:50 -07:00
Armon Dadgar
7d69aa78c1
nomad: using Raft StartAsLeader to make tests faster
2015-09-07 10:46:41 -07:00
Armon Dadgar
24e032b61f
http: list results are never null
2015-09-07 10:03:10 -07:00
Armon Dadgar
1a5579384a
nomad: cleanup API descrepencies
2015-09-06 20:47:42 -07:00
Armon Dadgar
0702f17989
Rename client endpoint to node endpoint
2015-09-06 20:31:32 -07:00
Armon Dadgar
628e4434cd
http: adding the drain toggle endpoint
2015-09-06 20:03:59 -07:00
Armon Dadgar
ffe701da87
http: parsing flags for node drain
2015-09-06 19:35:05 -07:00
Armon Dadgar
8a389414ff
http: adding the agent endpoints
2015-09-06 19:08:05 -07:00
Armon Dadgar
30b34777ff
http: adding status APIs
2015-09-06 18:39:03 -07:00
Armon Dadgar
ce446e5e2a
http: complete the eval endpoints
2015-09-06 16:18:25 -07:00
Armon Dadgar
7c162542aa
http: adding the eval endpoints
2015-09-06 16:02:53 -07:00
Armon Dadgar
009fc62cc8
http: adding alloc lookup endpoint
2015-09-06 15:49:44 -07:00
Armon Dadgar
05a8ae06c7
http: adding allocs list endpoint
2015-09-06 15:37:21 -07:00
Armon Dadgar
28dc212e4a
http: Adding nodes list
2015-09-06 14:31:17 -07:00
Armon Dadgar
bb0ba026bc
http/node: adding a few node endpoints
2015-09-06 14:18:11 -07:00
Armon Dadgar
479a9255d6
agent: fixing test names
2015-09-06 14:15:29 -07:00
Armon Dadgar
f43a47fbb6
agent: set default HTTP address
2015-09-06 13:29:03 -07:00
Armon Dadgar
71d1178a70
http/job: complete the job endpoints
2015-09-06 12:32:22 -07:00
Armon Dadgar
f166c7248f
http/job: support force evaluation endpoint
2015-09-06 11:50:37 -07:00
Armon Dadgar
5e277579d0
http/job: handle register
2015-09-06 11:47:52 -07:00
Armon Dadgar
327368d763
http/job: adding update endpoint
2015-09-05 19:08:47 -07:00
Armon Dadgar
540c9d3496
http/job: adding job query endpoint
2015-09-05 18:43:40 -07:00
Armon Dadgar
a4ac7fe177
agent: make unit tests much faster
2015-09-05 18:41:00 -07:00
Armon Dadgar
a2176148f2
http/job: implement deregister
2015-09-05 18:20:47 -07:00
Armon Dadgar
f858c31426
http: framework jobs endpoints
2015-09-05 18:00:30 -07:00
Armon Dadgar
1a3069ee67
agent: adding basic test
2015-09-05 17:07:36 -07:00
Armon Dadgar
4bf257e951
http: basic framework
2015-09-05 17:06:05 -07:00
Armon Dadgar
253995e377
agent: adding stats
2015-08-30 18:20:00 -07:00
Armon Dadgar
7989cb4642
agent: working on setup
2015-08-30 18:14:40 -07:00
Armon Dadgar
6e7fc1a4a3
agent: config merging
2015-08-30 18:10:23 -07:00
Armon Dadgar
0c3064bada
agent: adding HTTP server
2015-08-23 17:50:33 -07:00
Armon Dadgar
19990f4657
agent: basic setup
2015-08-23 17:40:27 -07:00
Armon Dadgar
adb771ed1d
agent: moving functions into helpers
2015-08-23 16:57:54 -07:00
Armon Dadgar
07b832c588
agent: use the client
2015-08-23 16:53:15 -07:00
Armon Dadgar
f42a37480e
agent: boilerplate
2015-08-16 16:40:04 -07:00
Armon Dadgar
1e36821bfd
changing default ports
2015-08-16 15:10:11 -07:00
Armon Dadgar
e7505cfa69
agent: working on setup
2015-08-16 14:34:38 -07:00
Armon Dadgar
93332295db
agent: start basic logging setup
2015-08-16 13:54:49 -07:00
Armon Dadgar
867571de8f
agent: initial skeleton
2015-08-15 18:54:41 -07:00
Armon Dadgar
6882c9d6a1
command/agent: basic command
2015-08-15 18:34:47 -07:00