Commit Graph
1377 Commits
Author SHA1 Message Date
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
Adam Harrison 94823187ca Fix function comment 2015-03-30 18:03:20 +01:00
Adam Harrison b4f71df731 Fix unrelated script error 2015-03-30 17:50:26 +01:00
Adam Harrison 772e298340 Factor out CIDR arg parsing 2015-03-30 17:49:44 +01:00
Adam Harrison c1089e8447 Update documentation 2015-03-30 17:31:37 +01:00
Adam Harrison 7f54922ada Update documentation 2015-03-30 16:27:01 +01:00
Adam Harrison 1c7ed9e16a Update documentation 2015-03-30 16:08:38 +01:00
Adam Harrison 3026b5d291 Test tidyup 2015-03-30 15:54:54 +01:00
Adam Harrison 74f2cd09bc Use all caps variable names 2015-03-30 14:43:16 +01:00
Adam Harrison f8649eeecc Modify tell_dns helper to take list of addresses 2015-03-30 14:38:57 +01:00
Adam Harrison 2acefd7df3 Disable LF -> CRLF conversion when attached to Docker pseudoterminal 2015-03-30 13:09:11 +01:00
Adam Harrison 37e6647b0b Implement integration tests 2015-03-30 12:58:20 +01:00
David Wragg b00be096f7 Fix returns when iterating over Connections()
d5eb76f32 replaced (*Peer)ForEachConnection into (*Peer)Connections(),
and consequently converted some nested functions into for loops.  But
the "return" statements in those nested functions were left as-was,
and so exited the outer function rather than moving on to the next
iteration.

Fixes #497
2015-03-29 19:10:44 +01:00
Matthias Radestock d708cb7d4e prevent PMTUVerfied handling from blocking
...due to blocking on sending the pmtu to the forwarder, because the
forwarder has terminated.

Fixes #464.
2015-03-29 14:04:28 +01:00
Matthias Radestock fc22f9664e refactor: improve encapsulation of Forwarder 2015-03-29 12:14:32 +01:00
Matthias Radestock 07c11d87a8 oops
I broke this in 1eca5e1097
2015-03-29 12:11:59 +01:00