Skip to content
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

Kubernetes enhancements to consul #1

Open
wants to merge 386 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
386 commits
Select commit Hold shift + click to select a range
3c1aaa3
Fixes the link in the change log.
slackpad Mar 10, 2016
abacccd
Switches default for API client to pooled connections.
Mar 10, 2016
398e76e
Update CHANGELOG.md
slackpad Mar 10, 2016
568f79d
Update CHANGELOG.md
slackpad Mar 10, 2016
097c768
Preps for a 0.6.4 release out of master.
Mar 10, 2016
5378ddd
Merge pull request #1825 from hashicorp/f-pool-sense
slackpad Mar 10, 2016
66907c5
Update CHANGELOG.md
slackpad Mar 10, 2016
0f8be00
Update CHANGELOG.md
slackpad Mar 10, 2016
c1d18cb
Release v0.6.4-rc3
Mar 10, 2016
b4a129f
Update CHANGELOG.md
slackpad Mar 10, 2016
d40e01e
Update CHANGELOG.md
slackpad Mar 11, 2016
adea7cd
Merge pull request #1803 from tylert/doc-enc-update
slackpad Mar 11, 2016
b79774f
Use more portable shebangs for bash scripts
tylert Mar 9, 2016
071631d
Fix shebangs in new scripts after rebasing
tylert Mar 11, 2016
2b94bc0
Merge pull request #1814 from tylert/env-shebangs
slackpad Mar 11, 2016
f4cc8e7
Clarification for advertise_addrs.rpc
foxel Mar 16, 2016
1be3554
Preps for 0.6.4 release.
Mar 16, 2016
26a0ef8
Release v0.6.4
Mar 16, 2016
580cfc3
Updates website to version 0.6.4.
Mar 16, 2016
69d3f0b
Puts tree into ready state for 0.7.0 work (again).
Mar 16, 2016
6711662
Adds a note about template query ACLs.
slackpad Mar 17, 2016
96c6b4f
Go's -X linker flag now requires only one argument
sean- Mar 17, 2016
0e41fa5
Merge pull request #1844 from hashicorp/b-go-linker-flag
slackpad Mar 17, 2016
6b2ace6
Fixes a few bugs in the prepared query doc.
slackpad Mar 18, 2016
44bce67
Define a TestingT interface in server.go
TeaBough Mar 18, 2016
615c93a
Used 'unconvert' to remove unneeded conversions
mssola Mar 18, 2016
b5d4532
Allow [::] as a bind address (binds to first public IPv6 address)
42wim Sep 5, 2015
93c8b49
#735 add information about leader to consul members
saromanov Nov 1, 2015
3c88395
Removes leader from members and changes name since it's an address.
Mar 19, 2016
4a35b71
Merge pull request #1849 from hashicorp/f-leader-stats
slackpad Mar 19, 2016
f2740b4
Merge pull request #1848 from mssola/unconvert
slackpad Mar 19, 2016
043c031
Merge pull request #1702 from far-blue/ui-configurable-api-url
slackpad Mar 19, 2016
7510f00
Merge pull request #1846 from TeaBough/master
slackpad Mar 19, 2016
99eb629
Adds more specific checks for ipv6 addresses.
Mar 19, 2016
b6cd431
Merge pull request #1851 from hashicorp/f-ipv6-bind
slackpad Mar 19, 2016
bb9ddee
add inline code segment to enableTagOverride
Sayalic0 Mar 20, 2016
ea62d29
Merge pull request #1852 from Sayalic0/patch-1
slackpad Mar 20, 2016
9f9aa50
Added help text for -dev option #1804
talonx Mar 21, 2016
f33b272
Update the docs slightly re: only_passing
sean- Mar 21, 2016
e60a095
Merge pull request #1839 from foxel/patch-1
slackpad Mar 21, 2016
fffa8d5
Increases timeouts for coordinate tests.
Mar 21, 2016
8211c34
Merge pull request #1859 from hashicorp/b-flaky-coord-tests
slackpad Mar 22, 2016
8a9ad38
Gets rid of flaky sort check.
Mar 22, 2016
90df118
Merge pull request #1860 from hashicorp/b-flaky-sort
slackpad Mar 22, 2016
520d3eb
Merge pull request #1854 from talonx/master
slackpad Mar 22, 2016
cd7b3d4
Widens coordinate update sleeps in unit tests.
Mar 22, 2016
77eb95d
Merge pull request #1861 from hashicorp/b-flaky-test
slackpad Mar 22, 2016
351778e
Updates BoltDB to v1.2.0 release.
Mar 22, 2016
d3da5ef
Merge pull request #1865 from hashicorp/f-upgrade-boltdb
slackpad Mar 22, 2016
77ad084
Fixes JSON in wildcard query example.
slackpad Mar 23, 2016
146c5b0
Use `rand.Int31n()` to get power of two optimization
sean- Feb 18, 2016
a92cda7
Fix whitespace alignment in a comment
sean- Feb 18, 2016
cc86eb0
Rename c.consuls to c.consulServers
sean- Feb 18, 2016
f9aa968
Remove lastRPCTime
sean- Feb 18, 2016
54016f5
Commit miss re: consuls variable rename
sean- Feb 18, 2016
f6ffbf4
Warn if serf events have queued up past 80% of the limit
sean- Feb 19, 2016
fb0bfcc
Introduce GOTEST_FLAGS to conditionally add -v to go test
sean- Feb 19, 2016
6af781d
Rename `lastServer` to `preferredServer`
sean- Feb 19, 2016
7b308d8
Add a flag to denote that a server is disabled
sean- Feb 19, 2016
d4ca349
Refactor out the management of Consul servers
sean- Feb 19, 2016
b1e3924
Handle the case where there are no healthy servers
sean- Feb 19, 2016
5be956c
Rename serverConfigMtx to serverConfigLock
sean- Feb 19, 2016
0925b26
Refactor consul.serverParts into server_details.ServerDetails
sean- Feb 20, 2016
2ca4cc5
Move consul.serverConfig out of the consul package
sean- Feb 20, 2016
075d1b6
Commit miss re: consuls variable rename
sean- Feb 18, 2016
9b8767a
Refactor out the management of Consul servers
sean- Feb 19, 2016
a482eae
Rename serverConfigMtx to serverConfigLock
sean- Feb 19, 2016
b9e5588
Move consul.serverConfig out of the consul package
sean- Feb 20, 2016
0eac826
Refactor out the management of Consul servers
sean- Feb 19, 2016
117c65d
Rename serverConfigMtx to serverConfigLock
sean- Feb 19, 2016
01b6371
Move consul.serverConfig out of the consul package
sean- Feb 20, 2016
e48b910
Refactor out the management of Consul servers
sean- Feb 19, 2016
c7c551d
Rename serverConfigMtx to serverConfigLock
sean- Feb 19, 2016
579e536
Move consul.serverConfig out of the consul package
sean- Feb 20, 2016
9eb6481
Use config convenience method to get config
sean- Feb 20, 2016
b4db49a
Document the various functions and their locking
sean- Feb 20, 2016
00ff8e5
Cosmetic and various other wordsmithing cleanups
sean- Feb 20, 2016
a7091b0
Properly retain a pointer to the rebalanceTimer
sean- Feb 20, 2016
e6c2732
rebalanceTimer may be nil during initialization
sean- Feb 20, 2016
e53704b
Mutate copies of serverCfg.servers, not original
sean- Feb 20, 2016
7f55931
Commit a handful of refactoring && copy/paste-o fixes
sean- Feb 22, 2016
74bcbc6
Use saveServerConfig vs atomic.Value.Store(config)
sean- Feb 22, 2016
bf8c860
Update Serf to include `serf.NumNodes()`
sean- Feb 24, 2016
bad6cb8
Comment nits
sean- Feb 24, 2016
0c87463
Introduce asynchronous management of consul server lists
sean- Feb 24, 2016
c2c73bf
Unbreak client tests by reverting to original test
sean- Feb 24, 2016
fdbb142
Simplify error handling
sean- Feb 24, 2016
295af01
Make use of interfaces
sean- Feb 24, 2016
d13e3c1
Emulate a TryLock using atomic.CompareAndSwap
sean- Feb 25, 2016
d2d55f4
Remove additional cruft from ServerManager's channels
sean- Feb 25, 2016
bc62de5
Update comments to reflect reality
sean- Feb 25, 2016
94f79d2
Missed unit test cruft
sean- Feb 25, 2016
49a5a1a
cycleServer is a pure function, save the result
sean- Feb 25, 2016
e932e9a
Rename FindHealthyServer() to FindServer()
sean- Feb 25, 2016
18f7bef
Rename NewServerManger to just New
sean- Feb 25, 2016
8e3c83a
Rename GetNumServers to NumServers()
sean- Feb 25, 2016
a63d5ab
Add a handful more unit tests to the public interface
sean- Feb 25, 2016
da872fe
Test ServerManager.refreshServerRebalanceTimer
sean- Feb 25, 2016
8286062
Correct a bogus goimport rewrite for tests
sean- Mar 24, 2016
4d4806a
Add CHANGELOG entry re: agent rebalancing
sean- Mar 24, 2016
1cfed98
Adds TLS config helper to API client.
Mar 24, 2016
4811a72
Added some constants in the api for check health statuses
diptanu Mar 24, 2016
e3f6c6a
Merge pull request #1877 from hashicorp/api-constants
slackpad Mar 24, 2016
0eb6279
Improves the comment for the Address field.
Mar 24, 2016
3340d7c
Merge pull request #1876 from hashicorp/f-tls-helper
slackpad Mar 24, 2016
db72041
Add a comment for Client serverMgr
sean- Mar 25, 2016
9daccb8
Fix stale comment
sean- Mar 25, 2016
7a2d30d
Be more Go idiomatic w/ variable names: s/valid/ok/g
sean- Mar 25, 2016
0f3ad9c
Test to make sure bootstrap is missing
sean- Mar 25, 2016
3433feb
Negative check: test an invalid condition
sean- Mar 25, 2016
68183c4
Change initialReblaanaceTimeout to a time.Duration
sean- Mar 25, 2016
b8bbdb9
Reword comment after moving code into new packages
sean- Mar 25, 2016
b00db39
Clarify that ConsulClusterInfo is an interface over serf
sean- Mar 25, 2016
24eb274
Relocate saveServerConfig next to getServerConfig
sean- Mar 25, 2016
0b3f693
Only rotate server list with more than one server
sean- Mar 25, 2016
9c18bb5
Comment updates
sean- Mar 25, 2016
d9251e3
Use range vs for
sean- Mar 25, 2016
4fec6a9
Guard against very small or negative rates
sean- Mar 25, 2016
58246fc
Initialize the rebalancce to clientRPCMinReuseDuration
sean- Mar 25, 2016
a71fbe5
Only log in FindServers
sean- Mar 25, 2016
a3a0eee
Trim residual complexity from server join notifications
sean- Mar 25, 2016
b1194e8
Don't pass in sm, server manager is already in scope
sean- Mar 25, 2016
d18e4d7
Delete the right tag
sean- Mar 25, 2016
5893bd5
Add additional checks
sean- Mar 25, 2016
ae32a3c
Merge pull request #1873 from hashicorp/f-rebalance-worker-0.7
sean- Mar 25, 2016
3ecd72f
Add a struct key type for server_details
sean- Mar 27, 2016
cf59a86
Comment why the interface is needed: cyclic import
sean- Mar 27, 2016
90d626b
Revise comments re: cycleServer
sean- Mar 27, 2016
18270bb
Factor out the shuffle server
sean- Mar 27, 2016
ca5950a
Proactively ping server before rotation
sean- Mar 27, 2016
970938c
Guard against a nil ServerDetails.Addr
sean- Mar 27, 2016
dc291e4
Use empty string for addr in ServerDetails.String()
sean- Mar 27, 2016
ee95c55
Catch up to a few renames
sean- Mar 27, 2016
92c2e8e
Start server rebalance task after init'ing Serf
sean- Mar 27, 2016
e327630
Reduce the error level from Fatal when unit testing
sean- Mar 27, 2016
35ff2eb
Standardize the log message based on the package
sean- Mar 27, 2016
d275cac
Logging improvements
sean- Mar 27, 2016
efc1113
Expose ServerManager.ResetRebalanceTimer
sean- Mar 27, 2016
5652c60
Add a test for ConnPool.PingConsulServer
sean- Mar 27, 2016
3d00208
Move initialization of the rebalanceTimer to New()
sean- Mar 27, 2016
060dd49
Chase the API bump re: refreshServerRebalanceTimer
sean- Mar 27, 2016
e8a2e56
Move rebalance log statement from INFO to DEBUG
sean- Mar 27, 2016
958a4e4
Added help text for -dev option #1804 for zsh completion.
talonx Mar 28, 2016
a938cf0
Added help text for -dev option #1804 for zsh completion.
talonx Mar 28, 2016
4589c36
Switch the order of ServerDetails.String()
sean- Mar 28, 2016
664ab23
Add a quick length check
sean- Mar 28, 2016
8ac35d8
Rename serverCfg to sc for consistency
sean- Mar 28, 2016
62c38ec
Correct the comment to match reality
sean- Mar 28, 2016
28dc645
Change the definition of the ServerDetails struct key
sean- Mar 28, 2016
c9afc16
Return error from PingConsulServer
sean- Mar 28, 2016
3dfd9e0
Rename the ConnPoolPinger interface to Pinger
sean- Mar 28, 2016
e237904
Move FIXME comment to the right call site
sean- Mar 28, 2016
a81eb95
Nuke unnecessary comment
sean- Mar 28, 2016
e5b5078
Shuffle in place
sean- Mar 28, 2016
544a263
Remove old debugging lines of questionable future value
sean- Mar 28, 2016
6648d31
Add log line re: server manager backing off and sleeping
sean- Mar 28, 2016
43aed63
Call NotifyFailedServers to rotate the server list
sean- Mar 28, 2016
c56f039
Teach fauxConnPool to fail a pct of the time
sean- Mar 28, 2016
b684b15
Refactor out recocileServerList anon function
sean- Mar 29, 2016
e4aef3a
Get latest updates
talonx Mar 29, 2016
aebae03
clerify RPC usage
romansky Mar 29, 2016
ec25ad8
EDYSLEXICMOMENT
sean- Mar 29, 2016
299d058
Remove useless comment residual from decomposing functions
sean- Mar 29, 2016
3666c87
Remove two unused constants
sean- Mar 29, 2016
5cffcd5
Merge pull request #1880 from hashicorp/f-pretest-server
sean- Mar 29, 2016
6185f93
Gratuitous rename 1/2
sean- Mar 29, 2016
5501fee
Rename serverConfig to serverList
sean- Mar 29, 2016
80f9f54
Add a quick package doc for the servers package
sean- Mar 29, 2016
7cdc056
Rename server_details package to agent
sean- Mar 30, 2016
cff05be
Merge pull request #1894 from hashicorp/f-rename-server-manager
sean- Mar 30, 2016
c3637e6
doc: fix trivial typo s/NewFSMPath/NewFSM/
shoenig Mar 30, 2016
74623c3
Adding singleton option to DNS for getaddrinfo bug.
fusiondog Jan 9, 2016
9fb64ab
Allow adjusting the number of DNS records in a response...
sean- Feb 12, 2016
4b5674b
Merge branch 'b-dns-single-record' of ssh://github.com/hashicorp/cons…
sean- Mar 30, 2016
c5c8daf
Trim UDP responses per configuration
sean- Mar 30, 2016
d4f7f14
Whitespace, indent markdown correctly
sean- Mar 30, 2016
efe940e
Remove dead and incorrect code
sean- Mar 30, 2016
88c42f4
Move lib's tests to lib_test
sean- Mar 30, 2016
69696a9
Correctly detect that an answer has been truncated
sean- Mar 30, 2016
1dd4234
Test missing config inputs
sean- Mar 30, 2016
c2d4354
Use a non-default config value
sean- Mar 30, 2016
fcee977
Use industry jargon re: DNS round-robin
sean- Mar 30, 2016
e1e441f
Improve the use of constants across DNS tests
sean- Mar 30, 2016
ce88cde
Test services and PQT limits
sean- Mar 30, 2016
0cb965f
Remove duplicate paste-o
sean- Mar 30, 2016
fe0a728
Reword `udp_answer_limit` for the better.
sean- Mar 30, 2016
5ba7e74
Use table-driven test for response limits
sean- Mar 30, 2016
19721f5
Editorialize the comment re: UDPAnswerLimit
sean- Mar 30, 2016
f44f411
Merge pull request #1712 from hashicorp/b-dns-single-record
sean- Mar 30, 2016
2a03437
fix correct RPC entity
romansky Mar 30, 2016
7a7063c
Fix tests
sean- Mar 30, 2016
4584e70
Add lib.AbsInt() helper function
sean- Mar 30, 2016
53380f8
Change tests to accept an "at least this many" answers semantic
sean- Mar 30, 2016
d1ef48b
Merge pull request #1898 from hashicorp/b-dns-single-record
sean- Mar 30, 2016
b0b3874
Add a changelog entry for #1712
sean- Mar 30, 2016
583abab
Node names are not allowed to be empty
sean- Mar 31, 2016
ff529ff
Guard against a node name containing pure whitespace
sean- Mar 31, 2016
9862bb9
Merge pull request #1907 from hashicorp/b-empty-node-name
sean- Mar 31, 2016
ec9b9be
Guard against a node name containing pure whitespace for real
sean- Mar 31, 2016
0f41b0f
Merge branch 'master' of ssh://github.com/hashicorp/consul into b-emp…
sean- Mar 31, 2016
cbe0910
Merge pull request #1908 from hashicorp/b-empty-node-name
sean- Mar 31, 2016
5994c9e
skip_leave_on_int's default changes based on agent mode
sean- Apr 1, 2016
e83e878
Add changelog entry for skip_leave_on_interrupt default behavior chan…
sean- Apr 1, 2016
bd05093
Add a note re: pre-0.7 behavior
sean- Apr 1, 2016
a440433
Merge pull request #1909 from hashicorp/f-toggle-skip-leave-on-int-se…
sean- Apr 1, 2016
7a814fc
Print a helpful message re: duplicate addresses
sean- Apr 1, 2016
45bd128
Rely exclusively on error to signal failure
sean- Apr 1, 2016
140cde6
Merge pull request #1910 from hashicorp/f-detect-dupe-addrs
sean- Apr 1, 2016
f201b4b
command: Data directory permission error message
mtchavez Mar 28, 2016
31c9829
Test agent RPC client connection retries
mtchavez Mar 29, 2016
473908f
Add description to rpc test client pool member failure message
mtchavez Mar 29, 2016
416c578
Retry http server connecting in agent/http_test
mtchavez Mar 29, 2016
8294787
Clean up verifyUniqueListners
sean- Apr 4, 2016
6a3b2b0
Updates static assets to pull in #1702.
Apr 4, 2016
4a135f4
Merge pull request #1915 from hashicorp/f-update-assets
slackpad Apr 4, 2016
65cbd98
Preps tree for test build with server balancing changes.
Apr 4, 2016
9a215c9
Release v0.7.0-test1
Apr 4, 2016
d386019
Removes a bogus warning for Windows.
Apr 6, 2016
711d7a0
Merge pull request #1920 from hashicorp/f-remove-warning
slackpad Apr 6, 2016
7300e92
Switch version back to `dev`
sean- Apr 6, 2016
333d65e
website: force JS/CSS mime-types on deploy
phinze Apr 7, 2016
a22e655
Merge pull request #1926 from hashicorp/phinze/website-mime-types
slackpad Apr 7, 2016
49cc50b
#1878 Set default bind address to 127.0.0.1 in development mode
msoedov Apr 7, 2016
16f34bf
Merge pull request #1928 from msoedov/bind_addr
slackpad Apr 9, 2016
cfe0651
Syncs a check's output with the catalog when output rate limiting isn…
Apr 11, 2016
ed86e5c
Adds a clone method to HealthCheck and uses that in local.go.
Apr 11, 2016
244174d
Uses the HealthCheck Clone() method in local_test.go.
Apr 11, 2016
529b24a
Merge pull request #1934 from hashicorp/b-check-output
slackpad Apr 11, 2016
a885f1b
Tweaks comment about side effects.
slackpad Apr 11, 2016
f541acb
Makes a detached copy of the tags when doing the override.
Apr 11, 2016
04b0c31
Merge pull request #1942 from hashicorp/b-tag-sync
slackpad Apr 11, 2016
021627f
Merge pull request #1890 from talonx/master
slackpad Apr 12, 2016
7247076
Merge pull request #1891 from romansky/patch-1
slackpad Apr 12, 2016
1458f81
Update website metadata fixes
sethvargo Apr 12, 2016
3c7bf1f
Upgrades to Go 1.6.1.
Apr 13, 2016
9d6244d
Merge pull request #1948 from hashicorp/f-go-1.6.1
slackpad Apr 13, 2016
5a14707
Update CHANGELOG.md
slackpad Apr 13, 2016
0e5aa5d
Merge pull request #1895 from shoenig/fixtypo
slackpad Apr 13, 2016
8c8b146
Merge pull request #1884 from mtchavez/1541-data-dir-perms
slackpad Apr 13, 2016
8cc16b8
agent: limit HTTP check output to 4k
ryanuber Apr 14, 2016
8855ec0
website: mention 4K output limit for checks
ryanuber Apr 14, 2016
5d0d613
Merge pull request #1952 from hashicorp/b-http-buf
ryanuber Apr 14, 2016
556f20b
Make testutil.TestServer work correctly on Windows.
kaskavalci Apr 15, 2016
1b5a756
Merge pull request #1954 from kaskavalci/master
slackpad Apr 15, 2016
6bc6ce6
Update CHANGELOG.md
ryanuber Apr 15, 2016
f97afda
Update CHANGELOG.md
slackpad Apr 18, 2016
4d94ff1
Implemented new KVS endpoints to provide ModifyIndex replies along si…
johanatan Apr 21, 2016
bc6338d
Exposed a hack-ish mechanism to differentiate between a watch timeout…
johanatan May 19, 2016
2ad7f49
renamed the new http kv endpoint to /v2/kv
johanatan Jun 29, 2016
07a34a1
renamed the new http kv endpoint to /v2/kv
johanatan Jun 29, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
language: go

go:
- tip
- 1.6

branches:
only:
- master

install: make deps
install: make
script:
- make test

Expand Down
104 changes: 91 additions & 13 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,109 @@
## 0.7.0 (UNRELEASED)

BACKWARDS INCOMPATIBILITIES:

* `skip_leave_on_interrupt`'s default behavior is now dependent on whether or
not the agent is acting as a server or client. When Consul is started as a
server the default is `true` and `false` when a client. [GH-1909]
* HTTP check output is truncated to 4k, similar to script check output. [GH-1952]

IMPROVEMENTS:

* Consul agents will now periodically reconnect to available Consul servers
in order to redistribute their RPC query load. Consul clients will, by
default, attempt to establish a new connection every 120s to 180s, however
the rate at which agents begin to query new servers is proportional to the
size of the Consul cluster (servers should never receive more than 64 new
connections per second per Consul server as a result of rebalancing).
Clusters in stable environments who use `allow_stale` should see a more
even distribution of query load across all of their Consul servers. [GH-1667]
* Added a new `disable_hostname` configuration option to control whether Consul's
runtime telemetry gets prepended with the host name. All of the telemetry
configuration has also been moved to a `telemetry` nested structure, but the old
format is currently still supported. [GH-1284]
default, attempt to establish a new connection every 120s to 180s unless
the size of the cluster is sufficiently large. The rate at which agents
begin to query new servers is proportional to the size of the Consul
cluster (servers should never receive more than 64 new connections per
second per Consul server as a result of rebalancing). Clusters in stable
environments who use `allow_stale` should see a more even distribution of
query load across all of their Consul servers. [GH-1743]
* Consul agents can now limit the number of UDP answers returned via the DNS
interface. The default number of UDP answers is `3`, however by adjusting
the `dns_config.udp_answer_limit` configuration parameter, it is now
possible to limit the results down to `1`. This tunable provides
environments where RFC3484 section 6, rule 9 is enforced with an important
workaround in order to preserve the desired behavior of randomized DNS
results. Most modern environments will not need to adjust this setting as
this RFC was made obsolete by RFC 6724. See the
[agent options](https://www.consul.io/docs/agent/options.html#udp_answer_limit)
documentation for additional details for when this should be
used. [GH-1712]
* Consul will now refuse to start with a helpful message if the same UNIX
socket is used for more than one listening endpoint. [GH-1910]
* Removed an obsolete warning message when Consul starts on Windows. [GH-1920]
* Defaults bind address to 127.0.0.1 when running in `-dev` mode. [GH-1878]
* Builds Consul releases with Go 1.6.1. [GH-1948]
* HTTP health checks limit saved output to 4K to avoid performance issues [GH-1952]

BUG FIXES:

* Fixed an issue where a health check's output never updates if the check
status doesn't change after the Consul agent starts. [GH-1934]

## 0.6.4 (March 16, 2016)

BACKWARDS INCOMPATIBILITIES:

* Added a new `query` ACL type to manage prepared query names, and stopped capturing
ACL tokens by default when prepared queries are created. This won't affect existing
queries and how they are executed, but this will affect how they are managed. Now
management of prepared queries can be delegated within an organization. If you use
prepared queries, you'll need to read the
[Consul 0.6.4 upgrade instructions](https://www.consul.io/docs/upgrade-specific.html)
before upgrading to this version of Consul. [GH-1748]
* Consul's Go API client now pools connections by default, and requires you to manually
opt-out of this behavior. Previously, idle connections were supported and their
lifetime was managed by a finalizer, but this wasn't reliable in certain situations.
If you reuse an API client object during the lifetime of your application, then there's
nothing to do. If you have short-lived API client objects, you may need to configure them
using the new `api.DefaultNonPooledConfig()` method to avoid leaking idle connections. [GH-1825]
* Consul's Go API client's `agent.UpdateTTL()` function was updated in a way that will
only work with Consul 0.6.4 and later. The `agent.PassTTL()`, `agent.WarnTTL()`, and
`agent.FailTTL()` functions were not affected and will continue work with older
versions of Consul. [GH-1794]

FEATURES:

* Added new template prepared queries which allow you to define a prefix (possibly even
an empty prefix) to apply prepared query features like datacenter failover to multiple
services with a single query definition. This makes it easy to apply a common policy to
multiple services without having to manage many prepared queries. See
[Prepared Query Templates](https://www.consul.io/docs/agent/http/query.html#templates)
for more details. [GH-1764]
* Added a new ability to translate address lookups when doing queries of nodes in
remote datacenters via DNS using a new `translate_wan_addrs` configuration
option. This allows the node to be reached within its own datacenter using its
local address, and reached from other datacenters using its WAN address, which is
useful in hybrid setups with mixed networks. [GH-1698]

IMPROVEMENTS:

* Added a new `disable_hostname` configuration option to control whether Consul's
runtime telemetry gets prepended with the host name. All of the telemetry
configuration has also been moved to a `telemetry` nested structure, but the old
format is currently still supported. [GH-1284]
* Consul's Go dependencies are now vendored using Godep. [GH-1714]
* Added support for `EnableTagOverride` for the catalog in the Go API client. [GH-1726]
* Consul now ships built from Go 1.6. [GH-1735]
* Added a new `/v1/agent/check/update/<check id>` API for updating TTL checks which
makes it easier to send large check output as part of a PUT body and not a query
parameter. [GH-1785].
* Added a default set of `Accept` headers for HTTP checks. [GH-1819]
* Added support for RHEL7/Systemd in Terraform example. [GH-1629]

BUG FIXES:

* Updated the internal web ui (`-ui` option) to latest released build, fixing
an ACL-related issue and the broken settings icon [GH-1619]
* Updated the internal web UI (`-ui` option) to latest released build, fixing
an ACL-related issue and the broken settings icon. [GH-1619]
* Fixed an issue where blocking KV reads could miss updates and return stale data
when another key whose name is a prefix of the watched key was updated [GH-1632]
when another key whose name is a prefix of the watched key was updated. [GH-1632]
* Fixed the redirect from `/` to `/ui` when the internal web UI (`-ui` option) is
enabled. [GH-1713]
* Updated memberlist to pull in a fix for leaking goroutines when performing TCP
fallback pings. This affected users with frequent UDP connectivity problems. [GH-1802]
* Added a fix to trim UDP DNS responses so they don't exceed 512 bytes. [GH-1813]
* Updated go-dockerclient to fix Docker health checks with Docker 1.10. [GH-1706]

## 0.6.3 (January 15, 2016)

Expand Down
62 changes: 20 additions & 42 deletions GNUmakefile
Original file line number Diff line number Diff line change
@@ -1,55 +1,36 @@
GOTOOLS = github.com/mitchellh/gox golang.org/x/tools/cmd/stringer \
github.com/jteeuwen/go-bindata/... github.com/elazarl/go-bindata-assetfs/...
DEPS = $(shell go list -f '{{range .TestImports}}{{.}} {{end}}' ./...)
PACKAGES = $(shell go list ./...)
PACKAGES=$(shell go list ./... | grep -v '^github.com/hashicorp/consul/vendor/')
VETARGS?=-asmdecl -atomic -bool -buildtags -copylocks -methods \
-nilfunc -printf -rangeloops -shift -structtags -unsafeptr
VERSION?=$(shell awk -F\" '/^const Version/ { print $$2; exit }' version.go)

all: deps format
# all builds binaries for all targets
all: tools
@mkdir -p bin/
@bash --norc -i ./scripts/build.sh

# bin generates the releasable binaries
bin: generate
@sh -c "'$(CURDIR)/scripts/build.sh'"

# dev creates binaries for testing locally - these are put into ./bin and $GOPATH
dev: generate
dev: format
@CONSUL_DEV=1 sh -c "'$(CURDIR)/scripts/build.sh'"

# dist creates the binaries for distibution
dist: bin
# dist builds binaries for all platforms and packages them for distribution
dist:
@sh -c "'$(CURDIR)/scripts/dist.sh' $(VERSION)"

cov:
gocov test ./... | gocov-html > /tmp/coverage.html
open /tmp/coverage.html

deps:
@echo "--> Installing build dependencies"
@go get -v $(GOTOOLS)
@go get -d -v ./... $(DEPS)

updatedeps: deps
go get -u -v $(GOTOOLS)
go list ./... \
| xargs go list -f '{{join .Deps "\n"}}' \
| grep -v github.com/hashicorp/consul \
| grep -v '/internal/' \
| sort -u \
| xargs go get -f -u -v

test: deps
test: format
@$(MAKE) vet
@./scripts/verify_no_uuid.sh
@./scripts/test.sh

cover: deps
./scripts/verify_no_uuid.sh
cover:
go list ./... | xargs -n1 go test --cover

format: deps
format:
@echo "--> Running go fmt"
@go fmt $(PACKAGES)

Expand All @@ -58,28 +39,25 @@ vet:
go get golang.org/x/tools/cmd/vet; \
fi
@echo "--> Running go tool vet $(VETARGS) ."
@go tool vet $(VETARGS) . ; if [ $$? -eq 1 ]; then \
@go list ./... \
| grep -v ^github.com/hashicorp/consul/vendor/ \
| cut -d '/' -f 4- \
| xargs -n1 \
go tool vet $(VETARGS) ;\
if [ $$? -ne 0 ]; then \
echo ""; \
echo "Vet found suspicious constructs. Please check the reported constructs"; \
echo "and fix them if necessary before submitting the code for reviewal."; \
fi

# generate runs `go generate` to build the dynamically generated source files
generate: deps
find . -type f -name '.DS_Store' -delete
go generate ./...

# generates the static web ui
static-assets: deps
# generates the static web ui that's compiled into the binary
static-assets:
@echo "--> Generating static assets"
@go-bindata-assetfs -pkg agent -prefix pkg ./pkg/web_ui/...
@mv bindata_assetfs.go command/agent
$(MAKE) format

web:
./scripts/website_run.sh

web-push:
./scripts/website_push.sh
tools:
go get -u -v $(GOTOOLS)

.PHONY: all bin dev dist cov deps test vet web web-push generate test-nodep static-assets
.PHONY: all bin dev dist cov test cover format vet static-assets tools
Loading