-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dynamic Server Lists/Client Bootstrapping #1201
Commits on Jun 10, 2016
-
Configuration menu - View commit details
-
Copy full SHA for a1cb3f1 - Browse repository at this point
Copy the full SHA a1cb3f1View commit details -
Use consul/lib's RandomStagger
Removes four redundant copies of the method in the process.
Configuration menu - View commit details
-
Copy full SHA for 7db2eb0 - Browse repository at this point
Copy the full SHA 7db2eb0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d23927 - Browse repository at this point
Copy the full SHA 2d23927View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2846614 - Browse repository at this point
Copy the full SHA 2846614View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f9d385 - Browse repository at this point
Copy the full SHA 3f9d385View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4030e38 - Browse repository at this point
Copy the full SHA 4030e38View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 0e1bdad - Browse repository at this point
Copy the full SHA 0e1bdadView commit details -
Rename client/config/config's ConsulConfig to ConsulAgentConfig
A follow up commit to the previous rename. More to come.
Configuration menu - View commit details
-
Copy full SHA for 4fed6b0 - Browse repository at this point
Copy the full SHA 4fed6b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f7bfb3 - Browse repository at this point
Copy the full SHA 1f7bfb3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e25647 - Browse repository at this point
Copy the full SHA 8e25647View commit details -
Distill config.Config.ConsulConfig down to config.Config.Consul
The enclosed struct provides the necessary context
Configuration menu - View commit details
-
Copy full SHA for af72200 - Browse repository at this point
Copy the full SHA af72200View commit details -
These parameters are used to bootstrap Nomad servers, not Consul servers.
Configuration menu - View commit details
-
Copy full SHA for 7bf6af8 - Browse repository at this point
Copy the full SHA 7bf6af8View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 092e07f - Browse repository at this point
Copy the full SHA 092e07fView commit details -
Rename client/consul/sync.ConsulService to client/consul/sync.Syncer
Syncer describes the responsibility and actions of the type.
Configuration menu - View commit details
-
Copy full SHA for d84d718 - Browse repository at this point
Copy the full SHA d84d718View commit details -
Configuration menu - View commit details
-
Copy full SHA for f280c59 - Browse repository at this point
Copy the full SHA f280c59View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c6ad53 - Browse repository at this point
Copy the full SHA 7c6ad53View commit details -
Rebalance Nomad client RPCs among different Nomad servers.
Implement client/rpc_proxy.RpcProxy.
Configuration menu - View commit details
-
Copy full SHA for ffcd233 - Browse repository at this point
Copy the full SHA ffcd233View commit details -
Configuration menu - View commit details
-
Copy full SHA for f6e3587 - Browse repository at this point
Copy the full SHA f6e3587View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for d268dcb - Browse repository at this point
Copy the full SHA d268dcbView commit details -
Configuration menu - View commit details
-
Copy full SHA for e07e77b - Browse repository at this point
Copy the full SHA e07e77bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8da18b6 - Browse repository at this point
Copy the full SHA 8da18b6View commit details -
Revise Agent.syncAgentServicesWithConsul()'s interface
Reduce down to its lowest common helper function denominator.
Configuration menu - View commit details
-
Copy full SHA for 89d48c8 - Browse repository at this point
Copy the full SHA 89d48c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for c159e77 - Browse repository at this point
Copy the full SHA c159e77View commit details -
Only poll Consul for servers when Nomad heartbeats begin to fail
When a deadline timer of 2x Server's last requested TTL expires, begin polling Consul for Nomad Servers.
Configuration menu - View commit details
-
Copy full SHA for 17927c8 - Browse repository at this point
Copy the full SHA 17927c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e4f0a1 - Browse repository at this point
Copy the full SHA 4e4f0a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc56585 - Browse repository at this point
Copy the full SHA fc56585View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05bbbd2 - Browse repository at this point
Copy the full SHA 05bbbd2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 90023c3 - Browse repository at this point
Copy the full SHA 90023c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 681a7d6 - Browse repository at this point
Copy the full SHA 681a7d6View commit details -
Somewhere along the lines when rebasing I mis-merged a patch.
Configuration menu - View commit details
-
Copy full SHA for 7125b85 - Browse repository at this point
Copy the full SHA 7125b85View commit details -
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`.
Configuration menu - View commit details
-
Copy full SHA for 71dde1b - Browse repository at this point
Copy the full SHA 71dde1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for bc94ce8 - Browse repository at this point
Copy the full SHA bc94ce8View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for e6397da - Browse repository at this point
Copy the full SHA e6397daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 990a094 - Browse repository at this point
Copy the full SHA 990a094View commit details -
Configuration menu - View commit details
-
Copy full SHA for 07fa0c5 - Browse repository at this point
Copy the full SHA 07fa0c5View commit details -
Rename client/config/config's ConsulConfig to ConsulAgentConfig
A follow up commit to the previous rename. More to come.
Configuration menu - View commit details
-
Copy full SHA for 5e0d76f - Browse repository at this point
Copy the full SHA 5e0d76fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d30c98 - Browse repository at this point
Copy the full SHA 4d30c98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6fae3db - Browse repository at this point
Copy the full SHA 6fae3dbView commit details -
Rebalance Nomad client RPCs among different Nomad servers.
Implement client/rpc_proxy.RpcProxy.
Configuration menu - View commit details
-
Copy full SHA for 16b4e5c - Browse repository at this point
Copy the full SHA 16b4e5cView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 1fa43a0 - Browse repository at this point
Copy the full SHA 1fa43a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3728771 - Browse repository at this point
Copy the full SHA 3728771View commit details -
Configuration menu - View commit details
-
Copy full SHA for a703c8a - Browse repository at this point
Copy the full SHA a703c8aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 22bd2b5 - Browse repository at this point
Copy the full SHA 22bd2b5View commit details -
Rename the package from
client/rpc_proxy
toclient/rpcproxy
Also rename `NewRpcProxy()` to just `New()` to avoid package stutter.
Configuration menu - View commit details
-
Copy full SHA for 7cdf0ed - Browse repository at this point
Copy the full SHA 7cdf0edView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a5fa55 - Browse repository at this point
Copy the full SHA 0a5fa55View commit details -
Configuration menu - View commit details
-
Copy full SHA for cbed88a - Browse repository at this point
Copy the full SHA cbed88aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e3feae - Browse repository at this point
Copy the full SHA 1e3feaeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1034e76 - Browse repository at this point
Copy the full SHA 1034e76View commit details -
Bump the cluster test minimums to 10min.
These ranges aren't too useful with the default 600s rebalance, but will be useful if that default ever changes in the future.
Configuration menu - View commit details
-
Copy full SHA for 916d93c - Browse repository at this point
Copy the full SHA 916d93cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b293cf3 - Browse repository at this point
Copy the full SHA b293cf3View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for ce8c03d - Browse repository at this point
Copy the full SHA ce8c03dView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for bc86e89 - Browse repository at this point
Copy the full SHA bc86e89View commit details -
Teach Client to reuse an Agent's consulSyncer.
"There can be only one."
Configuration menu - View commit details
-
Copy full SHA for 4d47eed - Browse repository at this point
Copy the full SHA 4d47eedView commit details -
Consolidate all consul sync periodic go routines to handlers.
Only one pump and periodic loop now.
Configuration menu - View commit details
-
Copy full SHA for 9a93496 - Browse repository at this point
Copy the full SHA 9a93496View commit details -
Configuration menu - View commit details
-
Copy full SHA for bccf131 - Browse repository at this point
Copy the full SHA bccf131View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2abd37c - Browse repository at this point
Copy the full SHA 2abd37cView commit details -
Pass the datacenter name in the heartbeat
Servers that are part of a different datacenter are added as backup servers instead of primary servers.
Configuration menu - View commit details
-
Copy full SHA for 7034c50 - Browse repository at this point
Copy the full SHA 7034c50View commit details -
Configuration menu - View commit details
-
Copy full SHA for 57bb374 - Browse repository at this point
Copy the full SHA 57bb374View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d22c22 - Browse repository at this point
Copy the full SHA 3d22c22View commit details -
Configuration menu - View commit details
-
Copy full SHA for 49266fa - Browse repository at this point
Copy the full SHA 49266faView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9bd2882 - Browse repository at this point
Copy the full SHA 9bd2882View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca0f2d9 - Browse repository at this point
Copy the full SHA ca0f2d9View commit details -
Clear the backup server list when a Nomad heartbeat arives with servers
If Nomad is heartbeating during a transition from using backup servers to Nomad servers, make Nomad the canonical source of servers and flush the list of servers populated from Consul.
Configuration menu - View commit details
-
Copy full SHA for 9998573 - Browse repository at this point
Copy the full SHA 9998573View commit details -
Configuration menu - View commit details
-
Copy full SHA for bf4f031 - Browse repository at this point
Copy the full SHA bf4f031View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a393d7 - Browse repository at this point
Copy the full SHA 8a393d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 90f7eb4 - Browse repository at this point
Copy the full SHA 90f7eb4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6cdc055 - Browse repository at this point
Copy the full SHA 6cdc055View commit details -
Create a weak decoder to parse time.Duration.
Hat tip to Alex for pointing this out (vs patching mapstructure)
Configuration menu - View commit details
-
Copy full SHA for d6769f5 - Browse repository at this point
Copy the full SHA d6769f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b8a9b4 - Browse repository at this point
Copy the full SHA 6b8a9b4View commit details -
Register the serf service with the Nomad server service.
This will be unused in this PR.
Configuration menu - View commit details
-
Copy full SHA for b235759 - Browse repository at this point
Copy the full SHA b235759View commit details -
Reconcile, clean up, and centralize API version numbers (major and mi…
…nor). Reduce future confusion by introducing a minor version that is gossiped out via the `mvn` Serf tag (Minor Version Number, `vsn` is already being used for to communicate `Major Version Number`). Background: hashicorp/consul/issues/1346#issuecomment-151663152
Configuration menu - View commit details
-
Copy full SHA for ab99e89 - Browse repository at this point
Copy the full SHA ab99e89View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6264a8e - Browse repository at this point
Copy the full SHA 6264a8eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c8bf53b - Browse repository at this point
Copy the full SHA c8bf53bView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for b9f230b - Browse repository at this point
Copy the full SHA b9f230bView commit details -
Provide a default ConsulConfig for client/config.DefaultConfig()
Change the unit test to only test if the consul link exists, not the value of the link. The old test was hostname specific and therefore would always be different based on the environment running the tests.
Configuration menu - View commit details
-
Copy full SHA for 6785e76 - Browse repository at this point
Copy the full SHA 6785e76View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for ed30876 - Browse repository at this point
Copy the full SHA ed30876View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b0a969 - Browse repository at this point
Copy the full SHA 5b0a969View commit details -
Fix tests for client.TestAgent_ServerConfig
Add similar logic in Agent `serverConfig()` to set up the `serverSerfAddr` the same as `serverHttpAddr` and `serverRpcAddr`.
Configuration menu - View commit details
-
Copy full SHA for a553956 - Browse repository at this point
Copy the full SHA a553956View commit details -
Fix config_parse_test to reflect that
consul.addr
does not exist.`consul.address` does, but not `consul.addr`.
Configuration menu - View commit details
-
Copy full SHA for 37e7038 - Browse repository at this point
Copy the full SHA 37e7038View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for f037658 - Browse repository at this point
Copy the full SHA f037658View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac174db - Browse repository at this point
Copy the full SHA ac174dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6908846 - Browse repository at this point
Copy the full SHA 6908846View commit details -
Pick the right
DefaultConfig
from the right package.Overly zealous search && replace at work here.
Configuration menu - View commit details
-
Copy full SHA for 453a755 - Browse repository at this point
Copy the full SHA 453a755View commit details -
Update godoc for newServer to reflect DNS and IP-based inputs
Requested by: alex
Configuration menu - View commit details
-
Copy full SHA for f9862d4 - Browse repository at this point
Copy the full SHA f9862d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 329057e - Browse repository at this point
Copy the full SHA 329057eView commit details -
Fix test TestClientConfigCommand_UpdateServers()
Now that hostnames are validated on input, switch to IPs since they bypass DNS resolution.
Configuration menu - View commit details
-
Copy full SHA for 503c6a9 - Browse repository at this point
Copy the full SHA 503c6a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 445386b - Browse repository at this point
Copy the full SHA 445386bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 41904f2 - Browse repository at this point
Copy the full SHA 41904f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4300cb3 - Browse repository at this point
Copy the full SHA 4300cb3View commit details -
Configuration menu - View commit details
-
Copy full SHA for ab434b4 - Browse repository at this point
Copy the full SHA ab434b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 66dc946 - Browse repository at this point
Copy the full SHA 66dc946View commit details -
Push down the server list even on node registration and evaluation
Be mindful of the cost of taking a snapshot from the statestore and reuse the snapshot if one has already been taken.
Configuration menu - View commit details
-
Copy full SHA for 7538667 - Browse repository at this point
Copy the full SHA 7538667View commit details -
Use a monotonically incrementing number to create unique node names.
Also remove the space from the "name" of the node
Configuration menu - View commit details
-
Copy full SHA for f15d84e - Browse repository at this point
Copy the full SHA f15d84eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 73c1560 - Browse repository at this point
Copy the full SHA 73c1560View commit details -
Configuration menu - View commit details
-
Copy full SHA for 07799b6 - Browse repository at this point
Copy the full SHA 07799b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9de9634 - Browse repository at this point
Copy the full SHA 9de9634View commit details -
Flesh out the comment re: the client.rpcproxy.Run() task.
Requested by: Alex
Configuration menu - View commit details
-
Copy full SHA for c8b2f7c - Browse repository at this point
Copy the full SHA c8b2f7cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8dd833f - Browse repository at this point
Copy the full SHA 8dd833fView commit details -
Make the locking protocol more explicit in client.NewClient
With an over abundance of caution, preevnt future copy/pasta by using the right locks when bootstrapping a Client. Strictly speaking this is not necessary, but it makes explicit the locking semantics and guards against future concurrent or parallel initialization.
Configuration menu - View commit details
-
Copy full SHA for 8d478b9 - Browse repository at this point
Copy the full SHA 8d478b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for f0c6b70 - Browse repository at this point
Copy the full SHA f0c6b70View commit details -
Rename rpcproxy.UpdateFromNodeUpdateResponse to RefreshServerLists
While breaking the API within this PR, break out the individual arguments to RefreshServerLists. The servers parameter is reusing `structs.NodeServerInfo` for the time being, but this can be revisited if the needs of the strucutre diverge in the future.
Configuration menu - View commit details
-
Copy full SHA for 1ec5374 - Browse repository at this point
Copy the full SHA 1ec5374View commit details -
Configuration menu - View commit details
-
Copy full SHA for cf052e5 - Browse repository at this point
Copy the full SHA cf052e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8bbd763 - Browse repository at this point
Copy the full SHA 8bbd763View commit details -
Configuration menu - View commit details
-
Copy full SHA for 998f285 - Browse repository at this point
Copy the full SHA 998f285View commit details -
Configuration menu - View commit details
-
Copy full SHA for 86b5d31 - Browse repository at this point
Copy the full SHA 86b5d31View commit details -
Configuration menu - View commit details
-
Copy full SHA for bbf7348 - Browse repository at this point
Copy the full SHA bbf7348View commit details -
Configuration menu - View commit details
-
Copy full SHA for 273e8cf - Browse repository at this point
Copy the full SHA 273e8cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 68f7afc - Browse repository at this point
Copy the full SHA 68f7afcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e03dc5 - Browse repository at this point
Copy the full SHA 4e03dc5View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 1352f7f - Browse repository at this point
Copy the full SHA 1352f7fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 107fc1b - Browse repository at this point
Copy the full SHA 107fc1bView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for acb3d58 - Browse repository at this point
Copy the full SHA acb3d58View commit details -
Configuration menu - View commit details
-
Copy full SHA for a208115 - Browse repository at this point
Copy the full SHA a208115View commit details -
Change the signature of the PeriodicCallback to return an error
I *KNEW* I should have done this when I wrote it, but didn't want to go back and audit the handlers to include the appropriate return handling, but now that the code is taking shape, make this change.
Configuration menu - View commit details
-
Copy full SHA for cf8beb7 - Browse repository at this point
Copy the full SHA cf8beb7View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 74e691c - Browse repository at this point
Copy the full SHA 74e691cView commit details -
Rename Syncer.SetServiceIdentifier to SetServiceRegPrefix()
This attribute isn't actually an identifier because it can represent a collection of services. Rename `serviceIdentifier` to `serviceRegPrefix which more accurately conveys the intention of this Syncer attribute. While here, also rename `SetServiceIdentifier()` to `SetServiceRegPrefix()` and `GenerateServiceIdentifier()` to `GenerateServicePrefix()`.
Configuration menu - View commit details
-
Copy full SHA for e858928 - Browse repository at this point
Copy the full SHA e858928View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 57c2c81 - Browse repository at this point
Copy the full SHA 57c2c81View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for b6a2ec2 - Browse repository at this point
Copy the full SHA b6a2ec2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54838b9 - Browse repository at this point
Copy the full SHA 54838b9View commit details -
Move the start of the UniversalExecutor's consulSyncer to initialize …
…once This should be handled via a sync.Once primative, but I don't want to unpack that atm.
Configuration menu - View commit details
-
Copy full SHA for 3052e74 - Browse repository at this point
Copy the full SHA 3052e74View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ad5cd5 - Browse repository at this point
Copy the full SHA 7ad5cd5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 802a8c4 - Browse repository at this point
Copy the full SHA 802a8c4View commit details -
Per-comment, remove structs.Allocation's Services attribute.
Nuke PopulateServiceIDs() now that it's also no longer needed.
Configuration menu - View commit details
-
Copy full SHA for 3e95ca6 - Browse repository at this point
Copy the full SHA 3e95ca6View commit details -
Initialize Consul for the Nomad Agent in a more uniform way.
Decompose Client and Server registration into `setupClient()` and `setupServer()`, respectively.
Configuration menu - View commit details
-
Copy full SHA for a4f605a - Browse repository at this point
Copy the full SHA a4f605aView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 8be79cf - Browse repository at this point
Copy the full SHA 8be79cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for d87c697 - Browse repository at this point
Copy the full SHA d87c697View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 5913acf - Browse repository at this point
Copy the full SHA 5913acfView commit details -
Configuration menu - View commit details
-
Copy full SHA for d1ab21f - Browse repository at this point
Copy the full SHA d1ab21fView commit details -
Populate the RPC Proxy's server list if heartbeat did not include a l…
…eader. It's possible that a Nomad Client is heartbeating with a Nomad server that has become issolated from the quorum of Nomad Servers. When 3x the heartbeatTTL has been exceeded, append the Consul server list to the primary primary server list. When the next RPCProxy rebalance occurs, there is a chance one of the servers discovered from Consul will be in the majority. When client reattaches to a Nomad Server in the majority, it will include a heartbeat and will reset the TTLs *AND* will clear the primary server list to include only values from the heartbeat.
Configuration menu - View commit details
-
Copy full SHA for d2dcf27 - Browse repository at this point
Copy the full SHA d2dcf27View commit details -
Sync services with Consul by comparing the AgentServiceReg w/ ConsulS…
…ervice 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.
Configuration menu - View commit details
-
Copy full SHA for 19f765e - Browse repository at this point
Copy the full SHA 19f765eView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 7d060c2 - Browse repository at this point
Copy the full SHA 7d060c2View commit details -
Update the structure of ConsulService to match reality.
ConsulService is the configuration for a Consul Service
Configuration menu - View commit details
-
Copy full SHA for 9b984d0 - Browse repository at this point
Copy the full SHA 9b984d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27f6ffd - Browse repository at this point
Copy the full SHA 27f6ffdView commit details -
Create a consulContext using a client's consul config.
This is wrong and should be the Agent's Consul Config. This is a step in the right direction, so committing to mark the necessary future change.
Configuration menu - View commit details
-
Copy full SHA for d810590 - Browse repository at this point
Copy the full SHA d810590View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for f7b2949 - Browse repository at this point
Copy the full SHA f7b2949View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05e713c - Browse repository at this point
Copy the full SHA 05e713cView commit details -
Don't spam the consul if Consul is not available.
Log once when Consul goes away, and log when Consul comes back.
Configuration menu - View commit details
-
Copy full SHA for 69aa8e8 - Browse repository at this point
Copy the full SHA 69aa8e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for c426b85 - Browse repository at this point
Copy the full SHA c426b85View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8f83c2e - Browse repository at this point
Copy the full SHA 8f83c2eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b5310e - Browse repository at this point
Copy the full SHA 4b5310eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5757e50 - Browse repository at this point
Copy the full SHA 5757e50View commit details -
Configuration menu - View commit details
-
Copy full SHA for a423f07 - Browse repository at this point
Copy the full SHA a423f07View commit details -
Configuration menu - View commit details
-
Copy full SHA for a55d3f1 - Browse repository at this point
Copy the full SHA a55d3f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c8f33d - Browse repository at this point
Copy the full SHA 8c8f33dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b57f7c9 - Browse repository at this point
Copy the full SHA b57f7c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 709b6bd - Browse repository at this point
Copy the full SHA 709b6bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for a7047bb - Browse repository at this point
Copy the full SHA a7047bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for f07c910 - Browse repository at this point
Copy the full SHA f07c910View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbdebca - Browse repository at this point
Copy the full SHA dbdebcaView commit details -
Configuration menu - View commit details
-
Copy full SHA for ecd84f4 - Browse repository at this point
Copy the full SHA ecd84f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 83e3df0 - Browse repository at this point
Copy the full SHA 83e3df0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ac7ecb - Browse repository at this point
Copy the full SHA 2ac7ecbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 61a36a6 - Browse repository at this point
Copy the full SHA 61a36a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for aff951c - Browse repository at this point
Copy the full SHA aff951cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 91582dc - Browse repository at this point
Copy the full SHA 91582dcView commit details -
Prevent duplicate servers being added in AddPrimaryServer.
This logic was already present elsewhere and was missed in this one place.
Configuration menu - View commit details
-
Copy full SHA for a0902c3 - Browse repository at this point
Copy the full SHA a0902c3View commit details -
Restore old behavior and have AddPrimaryServer() return a pointer to …
…the existing server (vs nil when the server already exists).
Configuration menu - View commit details
-
Copy full SHA for 4e543b6 - Browse repository at this point
Copy the full SHA 4e543b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4826728 - Browse repository at this point
Copy the full SHA 4826728View commit details
Commits on Jun 11, 2016
-
Expose rpcproxy's
ServerEndpoint()
constructor,newServer()
as `N……ewServerEndpoint()`
Configuration menu - View commit details
-
Copy full SHA for 5ffd970 - Browse repository at this point
Copy the full SHA 5ffd970View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6819f2b - Browse repository at this point
Copy the full SHA 6819f2bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5331ea7 - Browse repository at this point
Copy the full SHA 5331ea7View commit details -
Perform a nil-check for Executor's consulServices.
Executors can `Shutdown()` before calling `SyncServices()`.
Configuration menu - View commit details
-
Copy full SHA for 2879c33 - Browse repository at this point
Copy the full SHA 2879c33View commit details -
Configuration menu - View commit details
-
Copy full SHA for 183b51d - Browse repository at this point
Copy the full SHA 183b51dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a8b53b0 - Browse repository at this point
Copy the full SHA a8b53b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d0b798 - Browse repository at this point
Copy the full SHA 8d0b798View commit details -
Configuration menu - View commit details
-
Copy full SHA for 006d1a3 - Browse repository at this point
Copy the full SHA 006d1a3View commit details