Commit Graph
756 Commits
Author SHA1 Message Date
Matthias Radestock 3c52afb11e oops 2014-12-12 18:07:32 +00:00
Matthias Radestock 7b0d2cdeda cosmetic 2014-12-12 18:03:52 +00:00
Matthias Radestock 4c9cf3a0fe move explanation of peers and peer names
...plus some related doc shuffling
2014-12-12 17:59:41 +00:00
Matthias Radestock 9ecef5e458 refactor 2014-12-12 14:39:14 +00:00
rade 8dfdeb3eff Merge pull request #271 from bboreham/258_rebuild_routes
Move call to Topology.RebuildRoutes

Closes #258
2014-12-12 14:34:52 +00:00
Bryan Boreham 4c88eb48c0 Move call to Topology.RebuildRoutes
It doesn't belong in handleBroadcastTCP(), so moved it up
to the two places that cause that function to be called.
2014-12-11 00:50:45 +00:00
Bryan Boreham 9dc2a51c2d Add `-tags net 2014-12-09 15:55:25 +00:00
Bryan Boreham 4297f68860 Explain multiple containers with same name
Two further scenarios described
2014-12-09 12:07:29 +00:00
David Wragg 7dea13acb1 Rename docs/testing.txt to avoid confusion now we have smoke tests 2014-12-08 13:10:12 +00:00
David Wragg f7f40bc591 Merge PR #241 from 'squaremo/smoke_tests' 2014-12-08 12:52:26 +00:00
Bryan Boreham 3a684ba3a9 Fixed typo in error message 2014-12-05 17:44:41 +00:00
Michael Bridgen 5b5d1e615d Smoke tests
cd test
    cat README.md
    ./setup.sh
    ./run_all.sh
2014-12-04 17:20:58 +00:00
Michael Bridgen 086dbf9eef Merge pull request #261 from errordeveloper/master
Add play button over screencast image, so it invites to click
2014-12-04 12:43:28 +00:00
Ilya Dmitrichenko 36b5321940 Add play button over screencast image, so it invites to click 2014-12-04 12:25:52 +00:00
Bryan Boreham 3b2cbd4871 Merge pull request #257 from squaremo/issue249_duplicate_dns
LGTM.  Closes #249
2014-12-02 15:59:22 +00:00
Matthias Radestock b409519a1b fix typo 2014-12-01 19:27:10 +00:00
Bryan Boreham 4eeeabcf56 Cosmetic changes applied by 2014-12-01 16:51:16 +00:00
Michael Bridgen b08c28c038 Cope with duplicate name->IP entries
The zone DB no longer considers duplciates of (IP, name); it will
reject duplicates of (IP, name, ident), but this ultimately doesn't
matter since those are all the fields it records anyway.

The HTTP interface treats these duplicates as trivial success (i.e.,
it acts as if it's idempotent, which it is).

This changes the behaviour for removals: if (IP, name) is recorded for
two different containers, removing one will leave the other extant.
2014-12-01 15:44:44 +00:00
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