Commit graph

833 commits

Author SHA1 Message Date
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