Bryan Boreham
ba2c27b9fe
Merge pull request #253 from rade/refactor_and_explain_route_calculation
...
LGTM, allowing that the results are unbalanced (and unchanged in this respect from before this PR)
2014-12-01 15:37:40 +00:00
rade
a17425989e
Merge pull request #256 from squaremo/dont_splode
...
Don't splode in error type checks if given nil
2014-12-01 14:34:02 +00:00
Michael Bridgen
0764d7aaaf
Don't splode in error type checks if given nil
...
These two testing utils assumed that they got an error, and checked
its type; however, the most likely failure case is that there's no
error (i.e., nil). In that case they would cause a NPE panic.
2014-12-01 14:13:41 +00:00
Matthias Radestock
9e2123fa4e
Merge branch 'master' into refactor_and_explain_route_calculation
2014-12-01 13:50:34 +00:00
Matthias Radestock
89317a24ee
oops
2014-12-01 12:56:02 +00:00
Matthias Radestock
37eb2a4598
fix typo
2014-12-01 11:04:51 +00:00
Matthias Radestock
c4a64c8649
refactor and explain route calculation
...
This was rather impenetrable and had some significant code
duplication. So add some words of explanation, and refactor to remove
the duplication.
Some fly-by fixing of minor bug too: buildUnicastRoutes failed to
exclude asymmetric connections from the first hop.
2014-11-30 16:04:55 +00:00
Matthias Radestock
89a1e0fb24
eliminate a deadlock
...
Golang locks aren't re-entrant. As result one can get deadlocks on
RWMutexes like this:
goroutine #1 : attempt to acquire read lock -> success
goroutine #2 : attempt to acquire write lock -> wait
goroutine #1 : attempt to acquire read lock again -> wait
(a pending write lock prevents subsequent acquisitions of read locks)
Peer.HasPathTo could run into this since it could attempt to acquire
the read lock on a peer multiple times if previously it had
encountered that peer via an asymmetric connection.
2014-11-30 15:48:46 +00:00
Matthias Radestock
2680e594dd
rename
2014-11-28 16:27:11 +00:00
Michael Bridgen
7187d38047
Merge remote-tracking branch 'rade/189_assert_docker_networking'
2014-11-28 14:06:16 +00:00
Michael Bridgen
56056c06b1
Merge remote-tracking branch 'rade/186_stop_dns'
2014-11-28 12:55:43 +00:00
Bryan Boreham
ccd6cb0440
Use full container names when populating weavedns. Fixes #250
2014-11-28 12:49:05 +00:00
Michael Bridgen
42e7c05ead
Merge pull request #247 from rade/235_document_cross_domain_search
...
document how to configure search across sub-domains
2014-11-28 12:23:36 +00:00
Bryan Boreham
f2ef3dcfe7
Merge pull request #243 from rade/240_dns_without_docker_net
...
LGTM. Fixes #240
2014-11-28 12:16:40 +00:00
Bryan Boreham
33fb296769
Merge pull request #245 from rade/238_check_docker_version_when_using_dns
...
Looks good to me. Fixes #238
2014-11-28 11:17:13 +00:00
Matthias Radestock
57242f790e
check that weave container has an eth0
...
since w/o that we get an obscure error.
The most likely cause for not having an eth0 is that the docker daemon
has been configured to disable container networking.
2014-11-28 11:06:36 +00:00
Bryan Boreham
a3482c9f2d
Merge pull request #244 from rade/233_stop_on_docker_run_errors
...
LGTM. Fixes #233
2014-11-28 11:01:51 +00:00
Matthias Radestock
8a6c7f7d22
Merge branch '233_stop_on_docker_run_errors' into 238_check_docker_version_when_using_dns
2014-11-28 10:42:33 +00:00
Matthias Radestock
b18b24b3f3
--version -> -v
2014-11-28 10:40:59 +00:00
Matthias Radestock
f8ec75d6fb
document how to configure search across sub-domains
2014-11-28 10:35:28 +00:00
Matthias Radestock
c070f0b08c
add weave stop-dns
...
and in the process disentangle stopping dns from `weave stop`
2014-11-28 10:13:48 +00:00
Matthias Radestock
cadf348cbd
remove implemented feature from Limitations
...
This should have been part of #200
2014-11-28 10:04:28 +00:00
Matthias Radestock
d707ed5df0
we should never write messages to stdout
2014-11-28 10:00:46 +00:00
Matthias Radestock
fd6f19cc44
check for Docker version >= 1.2.0 when using "--with-dns"
...
since --dns-search=. is is new in that version
2014-11-28 09:10:14 +00:00
Matthias Radestock
f6f1916c39
Merge branch '233_stop_on_docker_run_errors' into 238_check_docker_version_when_using_dns
2014-11-28 08:53:02 +00:00
Matthias Radestock
2da534445a
stop on 'docker run' errors
...
This broke due to our workaround for
https://github.com/docker/docker/issues/8632 , which affects Docker
version 1.3.0 only, so now we refuse to run with that.
2014-11-28 00:57:49 +00:00
Matthias Radestock
010d488ad7
refactor: simplify regexp
2014-11-27 17:32:44 +00:00
Matthias Radestock
56bfb09656
s/weaveIP/ip
2014-11-27 16:31:42 +00:00
Matthias Radestock
24702e3a7a
stop weavedns from complaining when a container has no docker ip
...
e.g. when it was started with --net=none
weavedns wasn't actually using the docker-assigned ip for anything, so
this change is a simple matter of eradicating it from the code.
2014-11-27 16:13:06 +00:00
Matthias Radestock
65c77df279
less noise
2014-11-27 15:27:59 +00:00
Matthias Radestock
625df2e7d5
refactor(ish): move veth creation into one place
...
This simplifies the code, but means we do end up invoking ethtool on
the weave container's ethwe, which isn't necessary but harmless.
2014-11-27 11:11:29 +00:00
Matthias Radestock
29b3db6c05
run ethtool outside container netns
...
We want to run as little as possible inside the container netns.
Unfortunately we cannot make that change for the weave container,
since the interface on which we need to invoke ethtool is created by
docker and already inside the container netns by the time we get
control.
2014-11-27 10:20:25 +00:00
Matthias Radestock
1ba1f63776
refactor
2014-11-27 10:07:30 +00:00
Matthias Radestock
d9ea3b44a1
always mark the interface as 'up' last
...
since that kinda acts as a marker that everything is ready
2014-11-27 09:56:12 +00:00
Matthias Radestock
8fac46a429
refactor: introduce a helper
2014-11-27 09:39:47 +00:00
Matthias Radestock
ed1db251d8
even better comment
2014-11-27 08:45:49 +00:00
Matthias Radestock
c8ecfec211
correct comment
2014-11-27 08:42:27 +00:00
Bryan Boreham
28a9d86c7e
Merge pull request #200 from squaremo/issue195_populate_dns_on_start
...
LGTM. Fixes #195 (apart from part 3)
2014-11-26 15:12:08 +00:00
Michael Bridgen
b3d19d6e9d
Wait for weaveDNS HTTP to be running before sending it names
...
This adds a no-op endpoint to the HTTP API at `/status`. The script
simply tries this until it succeeds or gets bored.
2014-11-26 14:18:26 +00:00
Michael Bridgen
6a076d05b0
Only get the DNS container IP once
...
`populate_dns` previously used http_call, which looks up the IP for a
container each time. I've factored the HTTP bit after the IP look-up
in http_call out, so it can be used directly. This involved switching
arguments around to make the tail call easier.
2014-11-26 14:18:26 +00:00
Michael Bridgen
3d8249b4c3
Populate DNS when starting the weaveDNS container
2014-11-26 14:18:26 +00:00
Bryan Boreham
235d620f55
Merge pull request #239 from squaremo/issue201_use_bridge_ip
...
LGTM. Fixes #201
2014-11-26 14:12:02 +00:00
Michael Bridgen
2534977f99
Make weaveDNS use the docker bridge IP instead of its own
...
This means the `--dns` setting for containers will work even if the
weavedns container is restarted (and assigned a new docker network
IP).
2014-11-26 13:16:52 +00:00
Michael Bridgen
6e8060cb7f
Merge branch '208_opt_in' of github.com:bboreham/weave into pr234_with_dns
2014-11-25 14:33:02 +00:00
Bryan Boreham
4046c3a8bc
Undid extra check that there is at least one argument to 'docker run'
2014-11-25 14:13:40 +00:00
Bryan Boreham
0b051db5e1
Simplify arg parsing on weave run
2014-11-25 14:09:26 +00:00
David Wragg
00cd84868f
Merge PR #231 : Improve kernel version matcher
...
Fixes issue #185
2014-11-25 11:58:49 +00:00
Ilya Dmitrichenko
9280bb8268
Improve kernel version matcher ( close #185 )
2014-11-25 11:51:12 +00:00
Bryan Boreham
19f6c17f69
Two minus signs
2014-11-25 11:01:05 +00:00
Bryan Boreham
42f0cb883a
Add --with-dns option to weave run
2014-11-24 20:14:01 +00:00