Matthias Radestock
4ebbdabfa1
never, ever use 10.0 for anything
...
it has a high probability of conflicting
2015-04-04 22:00:06 +01:00
Matthias Radestock
95c1e226f0
use routes based on tcp overlay connectivity for gossip
...
i.e. include asymmetric and non-established connections
This is TRTTD since gossip flows over the tcp overlay.
2015-04-04 21:56:30 +01:00
Matthias Radestock
3fba123bc0
comment
2015-04-04 21:14:25 +01:00
Matthias Radestock
b272dcf8c1
rename: less 'gossip' in gossip
2015-04-04 20:58:10 +01:00
Matthias Radestock
91ed22a953
refactor(ish): generalise an abstraction
...
LocalPeer.NextBroadcastHops -> ConnectionsTo
thus separating the computation of who we want to connect to from
obtaining the associated Connections
2015-04-04 20:36:48 +01:00
Matthias Radestock
bcd2a0184c
small refactor
2015-04-04 20:08:38 +01:00
Matthias Radestock
45fd750318
cosmetic: move some test helpers from test code into main code
...
since they reach quite deeply into the data structures
2015-04-04 20:02:22 +01:00
Matthias Radestock
0a02d1a926
cosmetic: rename a type
2015-04-04 20:02:01 +01:00
Matthias Radestock
ac0788cb5a
simplify test router creation
2015-04-04 19:50:19 +01:00
Matthias Radestock
683caef866
tweak comment
2015-04-04 19:46:47 +01:00
Matthias Radestock
fa5279ab3e
cosmetic
2015-04-04 16:02:01 +01:00
Matthias Radestock
6cda74d49f
refactor: inline
2015-04-04 15:36:42 +01:00
Matthias Radestock
582b582b98
fix silly bug
2015-04-03 19:52:28 +01:00
Matthias Radestock
fdea7d93f9
refactor: improve abstraction in connection gossip handling
...
- turn previously free-floating functions into methods on GossipChannel
- move gossip message type dispatch from connection into router
2015-04-03 19:38:01 +01:00
Matthias Radestock
6f398a7459
refactor(ish): raise GossipSender abstraction level slightly
2015-04-03 18:33:59 +01:00
Matthias Radestock
7166d151aa
make route calculcation more efficient and properly async
...
Instead of following the usual actor pattern, we use a 1-place channel
with a non-blocking send. Essentially, if there is already a pending
recalculation request queued up, there is no point enqueuing another
one.
2015-04-03 18:12:03 +01:00
Matthias Radestock
acbb911823
Merge remote-tracking branch 'upstream/master'
2015-04-03 10:09:49 +01:00
Matthias Radestock
604d210e55
more flexibility
2015-04-03 10:07:39 +01:00
David Wragg
587a67d701
Comment
...
It's not blindingly obvious where this 'found' comes from.
2015-04-02 16:37:30 +01:00
Matthias Radestock
5648f87717
oops
...
broke this in 45740b1419
2015-04-02 13:03:42 +01:00
Matthias Radestock
488c5c5a2d
bump default connection limit to 30
...
I can get 29 weaves running on my laptop, and once all connections are
established, the avg cpu load is ~10%. 30 runs into difficulty because
the concurrent connection establishment does create a very high load,
resulting in some timeouts. But that wouldn't happen when running each
weave in a separate machine (with more CPU resources overall than my
single laptop).
Stop gap solution for #426 .
2015-04-02 12:38:45 +01:00
Matthias Radestock
a68d444c33
launch multiple test weaves
2015-04-02 10:14:43 +01:00
Matthias Radestock
24f3634254
pass WEAVE_CONTAINER_NAME to weavexec
2015-04-02 10:13:52 +01:00
Matthias Radestock
ea3c5c5f90
introduce (undocumented) weave test-launch command
...
which allows launching of several weave routers on the same machine,
by invoking this multiple times with different WEAVE_CONTAINER_NAMEs.
The routers are not connected to the bridge and do not perform any
capture/injection. So this is mainly intended for testing of
administrative and control plane functionality, rather than routing.
2015-04-02 09:49:05 +01:00
Matthias Radestock
5230daf943
permit overriding of weave container name via WEAVE_CONTAINER_NAME
...
useful for testing
2015-04-02 09:48:22 +01:00
Matthias Radestock
e97a3f88aa
allow router to be started w/o capture/inject interface
...
useful for testing of the control plane
2015-04-02 09:46:29 +01:00
Matthias Radestock
e33d2eaf8e
cosmetic
2015-04-02 07:10:21 +01:00
rade
e66225ca9b
Merge pull request #512 from bboreham/stop_not_kill
...
Use docker stop instead of docker kill
2015-04-01 17:27:54 +01:00
Bryan Boreham
05b7162239
Use docker stop instead of docker kill
2015-04-01 16:58:16 +01:00
rade
a152d24892
Merge pull request #511 from bboreham/generalize_updater
...
Generalise updater.go and move into its own package
2015-04-01 16:57:20 +01:00
Bryan Boreham
68096b0437
Generalize updater.go
2015-04-01 16:48:11 +01:00
rade
b5c8258407
Merge pull request #509 from bboreham/master
...
Wait for the 'status' http call to return something after 'weave launch'
Fixes #500 .
2015-04-01 15:24:32 +01:00
Bryan Boreham
bacaf41017
Wait for the 'status' http call to return something after 'weave launch'
2015-04-01 15:14:59 +01:00
rade
3dad9fb593
Merge pull request #508 from tomwilkie/coverage
...
More feedback on test 'harness'
2015-04-01 13:35:51 +01:00
Tom Wilkie
db9a0d7528
More feedback on test 'harness'
2015-04-01 12:32:35 +00:00
rade
df7836df62
Merge pull request #505 from tomwilkie/coverage
...
Move away from recursive go test, as it cannot output a merged coverage profile.
2015-04-01 13:23:19 +01:00
Tom Wilkie
d28d52da15
Move away from recursive go test, as it cannot output a merged coverage profile. Update said profile to coveralls.io; add badge.
2015-04-01 12:00:06 +00:00
Adam Harrison
f2a340772a
Revert stty manipulation of CRLF behaviour
2015-04-01 12:52:15 +01:00
rade
254b837a92
Merge pull request #498 from awh/467_multi_cidr_launch
...
Allow multiple CIDR arguments to run/start/attach/detach/expose/hide
Closes #467 .
2015-04-01 10:58:36 +01:00
Adam Harrison
745b8effbb
Merge pull request #503 from tomwilkie/travis
...
Setup Travis CI for Weave.
2015-04-01 09:43:41 +01:00
rade
cf9f8499fb
Merge pull request #504 from errordeveloper/issue_470
...
Check if `/proc/<pid>/ns/net` is a symlink
Fixes #470 .
2015-03-31 16:22:10 +01:00
Ilya Dmitrichenko
6ce91aafa8
Check if /proc/<pid>/ns/net is a symlink ( fix #470 )
2015-03-31 16:18:28 +01:00
Tom Wilkie
7969566b27
Setup Travis CI for Weave. Add .travis.yml; add target to makefile which doesn't use docker; add image to readme.
2015-03-31 15:02:35 +00:00
Tom Wilkie
592be90904
Use recursive go test instead of naming directories individually
2015-03-31 13:33:36 +00:00
Adam Harrison
0912cd416d
Use consistent subnets in documentation
2015-03-31 12:23:34 +01:00
Adam Harrison
aa88dfca11
Tests use distinct subnets
2015-03-31 12:09:22 +01:00
Matthias Radestock
10f37db9da
tidy up DNSServer fields
...
- make Zone, Iface and Upstream public - this is safe and makes sense
since all are immutable, and the former two are passed to the
constructor and are thus known anyway, and the latter is derived
from external information
- remove IfaceName - we can just use Iface instead
- log Upstream on startup
2015-03-31 12:04:31 +01:00
Matthias Radestock
de557a3e03
introduce WEAVEDNS_DOCKER_ARGS
...
same purpuse as WEAVE_DOCKER_ARGS, except for weavedns
This allows us to get rid if the -fallback option since
WEAVEDNS_DOCKER_ARGS="--dns=..." has the same effect.
Closes #487 .
2015-03-31 11:50:41 +01:00
Adam Harrison
dc49f78588
Expose and hide take multiple addresses
2015-03-31 11:48:51 +01:00
Matthias Radestock
b50688b4de
act immediately on weave connecting existing addresses
...
we simply reset the vars controlling backoff for that address
Note that we do not interrupt any current connection attempt, since
that is hard.
Closes #499 .
2015-03-31 11:05:11 +01:00