Adam Harrison
82cf4358ce
Add release v1.3.1
2015-11-23 12:06:10 +00:00
Adam Harrison
2e42d74c59
Merge pull request #1706 from weaveworks/1683-update-docker-1.3
...
Raise minimum Docker version to 1.6
2015-11-20 11:06:00 +00:00
Bryan Boreham
bbf26fc3e8
Raise minimum Docker version to 1.6 to address #1683
2015-11-20 10:44:45 +00:00
Bryan Boreham
385b0aa07f
Fix typo in -tls info string
2015-11-20 10:33:20 +00:00
Bryan Boreham
f2b1ee3398
Merge branch 'latest_release_doc_updates' into 1.3
2015-11-20 10:30:28 +00:00
Bryan Boreham
2a2c60201f
Merge pull request #1699 from weaveworks/issues/1693-fix-proxy-docs-tls-args
...
Fix erroneously hyphenated Docker TLS arguments; Fixes #1693 .
LGTM
2015-11-20 10:27:34 +00:00
Matthias Radestock
ee12b34334
eliminate a gossip inefficiency and dormant bug
...
Fixes #1704
2015-11-19 20:57:27 +00:00
Bryan Boreham
f25af8f7d6
Merge pull request #1698 from weaveworks/1697-copy-on-write-gossip-data
...
make GossipData immutable; Fixes #1697 . Fixes #1450 . Fixes #1452 .
2015-11-19 14:58:32 +00:00
Matthias Radestock
1500b1dc00
refactor: extract nameserver GossipData.copy
...
and remove a self-evident comment
2015-11-18 11:30:40 +00:00
Adam Harrison
9263d3e82c
Fix erroneously hyphenated Docker TLS arguments
2015-11-18 10:24:46 +00:00
Adam Harrison
02b7fd53ed
Merge tag 'v1.3.0' into latest_release_doc_updates
...
Resetting doc update branch for 1.3.0 release.
2015-11-18 10:14:10 +00:00
Matthias Radestock
3cd199e852
make GossipData immutable
...
The same piece of GossipData can be shared and subject to different
Merge operations. We either need to copy the data when we share it, or
create copies on modification, i.e. copy-on-write.
We choose the latter, since it is more efficient and there is just one
mutating operation.
Fixes #1697 .
2015-11-17 20:13:46 +00:00
Bryan Boreham
de802f9d76
Work round docker-py assuming busybox is present ( https://github.com/docker/docker-py/issues/852 )
2015-11-13 11:44:08 +00:00
Bryan Boreham
804e6ba586
Cope with changes in docker-py structure.
...
Tests are now in a different directory,
and get sharded by module rather than individually.
2015-11-13 11:08:57 +00:00
Adam Harrison
af3fc82b77
Add release v1.3.0
2015-11-12 16:49:33 +00:00
Adam Harrison
3bb7036cfd
Runner depends on tools
2015-11-12 16:48:56 +00:00
Bryan Boreham
d802eb485b
Merge pull request #1664 from weaveworks/weave-launch-plugin
...
Add plugin support to weave script. LGTM.
2015-11-12 16:04:41 +00:00
Adam Harrison
b4dd9c2490
Add plugin to features doc
2015-11-12 16:01:01 +00:00
Adam Harrison
04ab198e95
Set restart policy to 'always'
...
Docker attempts to recreate networks on startup which means the plugin
container has to be started. If it isn't started automatically by Docker
with a restart policy, it's not possible to start it manually because
Docker is blocked.
2015-11-12 14:58:54 +00:00
Adam Harrison
c345700963
Add plugin to weave status
2015-11-12 14:58:54 +00:00
Adam Harrison
b21afcb78f
Implement weave launch-plugin and weave stop-plugin
2015-11-12 14:56:13 +00:00
Adam Harrison
7f65530b26
weave setup fetches plugin
2015-11-12 14:56:13 +00:00
Bryan Boreham
b1b03f3a97
Revert "Remove code coverage as temporary work-around to Docker 1.9 issue"
...
This reverts commit 65fe753a58 .
2015-11-12 11:27:48 +00:00
Bryan Boreham
36ef6d8da2
Merge remote-tracking branch 'origin/1.2'
2015-11-12 11:27:01 +00:00
Bryan Boreham
28bb0dd3b0
Merge pull request #1671 from weaveworks/1666-remove-cont-dir
...
Remove containers directory bind-mount from proxy; fixes #1647 and #1666
2015-11-12 11:25:34 +00:00
Bryan Boreham
79f8a8f909
Merge remote-tracking branch 'origin/1.2'
2015-11-12 10:43:01 +00:00
Bryan Boreham
bfe2513540
Merge pull request #1669 from dpw/fdp-fix-npd
...
Handle the case where Forward returns nil. Fixes #1661 .
2015-11-12 10:38:29 +00:00
Bryan Boreham
2536aef737
Proxy doesn't need to mount the containers dir
2015-11-12 10:28:58 +00:00
Adam Harrison
0661ccdea9
Revert "Revert "Disable restart of docker""
...
This reverts commit 76db732f1b .
2015-11-11 10:10:17 +00:00
Adam Harrison
29f7015e58
Merge pull request #1665 from weaveworks/move-odp-helpers
...
Move ODP helper functions out to their own package
2015-11-11 09:56:24 +00:00
David Wragg
7dc1b50d3b
Handle the case where Forward returns nil
...
Forward can return nil if the remote peer has HasShortID false. That
can happen if we learn about a 1.2 peer from a 1.1 peer and attempt to
connect to it.
This change just fixes the panic. HasShortID will never be set, so we'll
fall back to sleeve. But if that occurs, if can be fixed by a restart of
the affected routers.
2015-11-10 23:17:01 +00:00
Bryan Boreham
682133a56a
Move ODP helper functions out to their own package
2015-11-10 17:09:17 +00:00
Adam Harrison
76db732f1b
Revert "Disable restart of docker"
...
This reverts commit a400a3dd09 .
2015-11-10 10:24:58 +00:00
Matthias Radestock
64aa2b5cc3
refactor: remove weave overlay-isms from mesh
2015-11-09 20:56:04 +00:00
Matthias Radestock
1eed5fd271
cosmetic: don't mention UDP in mesh
2015-11-09 19:47:27 +00:00
Matthias Radestock
dd7ffa4501
code docs: warn against nonce re-use by overlay connection
2015-11-09 19:46:53 +00:00
Adam Harrison
5e79da0c9c
Merge pull request #1658 from weaveworks/tweak-circle
...
Upgrade CI to Docker 1.9 and work round issues
2015-11-09 17:55:27 +00:00
Bryan Boreham
65fe753a58
Remove code coverage as temporary work-around to Docker 1.9 issue
2015-11-09 17:18:59 +00:00
Bryan Boreham
17c835e672
Compress weave.tar to save upload time
2015-11-09 17:18:58 +00:00
Bryan Boreham
fa5bcd0457
Lump some commands together to reduce CircleCI waiting overhead
2015-11-09 17:18:58 +00:00
Bryan Boreham
499d6312b7
Don't need --add-host except in non-FDP case because we put the
...
mappings in the outer /etc/hosts
2015-11-09 17:18:58 +00:00
Bryan Boreham
20d5903696
Update test template name to pull in new Docker version
2015-11-09 17:18:57 +00:00
Adam Harrison
f039221ec9
Merge remote-tracking branch 'origin/create-mesh'
...
Closes #1659 .
2015-11-09 17:16:35 +00:00
Matthias Radestock
dc9f8762ca
move generic communication substrate into its own 'mesh' package
...
This is mostly a matter of moving some files, changing package names,
changing some imports, and changing some type references.
We duplicate the odd constant & global var, and the intmac/macint
functions, since neither 'router' or 'mesh' nor, really,' common' are
a natural home for them.
2015-11-09 16:37:39 +00:00
Adam Harrison
e5c69801a7
Merge remote-tracking branch 'origin/separate-overlay'
...
Closes #1648 .
2015-11-09 16:17:41 +00:00
Matthias Radestock
ab458368de
refactor: move NetworkRouterStatus into its own file
2015-11-09 15:51:11 +00:00
Matthias Radestock
8eb680fcc9
refactor: separate out NetworkRouter-specific status
2015-11-09 15:51:11 +00:00
Matthias Radestock
71b05972f4
refactor: move NetworkRouter into its own file
2015-11-09 15:50:55 +00:00
Matthias Radestock
7deeb8dba5
refactor: separate NetworkRouter from Router
2015-11-09 15:47:08 +00:00
Matthias Radestock
daad190188
refactor: split overlay.go to extract network overlay stuff
2015-11-09 15:47:08 +00:00
Matthias Radestock
7cc0052451
refactor: separate NullNetworkOverlay from NullOverlay
2015-11-09 15:47:07 +00:00
Matthias Radestock
18f8e29af8
refactor: separate NetworkOverlay from Overlay
...
...since connections only need to know about the latter.
2015-11-09 15:47:07 +00:00
Matthias Radestock
d78f6614cc
refactor: separate forwarder from overlay connection
...
...since the main connections only need to know about the former.
We make LocalConnection.Overlay (formerly '.forwarder') public since
the router needs access to it, and it shouldn't be doing that via a
private field.
2015-11-09 15:45:06 +00:00
Bryan Boreham
53ac43202a
Merge pull request #1641 from weaveworks/1554-converge-on-peer-uid-change
...
better convergence when peers restart; fixes #1554 .
2015-11-09 15:09:59 +00:00
Matthias Radestock
bfb050c9cc
better convergence when peers restart
...
Previously when a peer restarted, information about the new
incarnation (i.e. with a different UID) was not accepted by other
peers (and connections would be dropped) unless all knowledge of the
previous incarnation had been purged. This could result in a lot of
connection churn and hence connectivity disruption, and, in some
pathological cases, very slow convergence and hence acceptance of the
new incarnation into the network.
We now no longer drop connections when encountering different
incarnations of a peer. There are two situations when that can happen:
1) on connection establishment
we simply proceed
2) on receipt of gossip
to ensure convergence we
a) treat the UID as an additional discriminator when deciding whether
we should update our information about a peer with that which was
gossiped. Specifically, we update the information we hold when a) the
gossiped version is greater, or b) is the same and the UID is
greater.
b) include the UID in the information we update
c) move our own version number beyond any we receive for ourselves, if
the received UID differs from ours.
With (a) we establishes a total order of peer information across
several incarnations of the same peer. i.e. we consider information to
be fresher if it has a higher version, or the same version and higher
UID. This may seem somewhat counter intutive, since it will generally
treat information about new incarnations as older than old
incarnations, since incarnations always start life with version 1. But
to do better we'd need to establish a total order of incarnations that
matches their temporal occurrence. Which requires some sort of durable
state.
So instead we have (c). Through that we learn the highest version
number of any old incarnation of ourselves that other peers still
hold, and then make sure that our version is greater than
that. Essentially we continue where the old incarnations left
off. It's as if instead of restarting we had simply changed UIDs. And
due to (a) and (b) the information about the new incarnation of
ourselves, now with a higher version, will supersede that of the old
incarnations.
Fixes #1554 .
2015-11-09 14:58:33 +00:00
Matthias Radestock
97622b961c
remove cruft
2015-11-08 13:06:29 +00:00
Matthias Radestock
b7e7c11a57
refactor: make Overlay setting more explicit
2015-11-08 12:29:36 +00:00
Matthias Radestock
59e11e4e8a
refactor: more flexible Routes API
2015-11-08 11:15:31 +00:00
Matthias Radestock
39b0357517
Merge branch '1.2'
2015-11-08 11:04:48 +00:00
Matthias Radestock
878a12002c
set http listen address solely through the weave script
...
Previously it was set by the script only in fastdp mode; and in the
router's main.go otherwise. Yet every interaction of the script with
weave assumes the port is the script's HTTP_PORT=6784. By always
starting the router with options to listen on that port we ensure that
the router is in fact listening where the script expects it to.
In doing this get rid of router.HTTPPort. We do need to hard-code the
port in the proxy instead, but relying on router.HTTPPort was flawed
anyway, for the above reasons.
2015-11-07 18:01:12 +00:00
Matthias Radestock
d3d2863d52
refactor: get rid of const.go
2015-11-07 16:32:23 +00:00
Matthias Radestock
f3f23b43b5
refactor: crypto doesn't need to be a generic overlay feature
2015-11-07 16:14:31 +00:00
Matthias Radestock
006262ed8f
refactor: Connections don't need to know about overlay crypto
2015-11-07 16:10:00 +00:00
Matthias Radestock
519aef86fa
refactor: split crypto code
2015-11-07 15:59:15 +00:00
Matthias Radestock
8bd77c0d47
refactor: get rid of router/utils.go
...
most functions end up in other files in the router package, but a few
land in common.
2015-11-07 15:45:29 +00:00
Matthias Radestock
7a5c910cd5
tiny refactor: inline a tiny single-use fun and move another
2015-11-07 12:44:13 +00:00
Matthias Radestock
4e34f2001c
cosmetic
2015-11-07 11:14:11 +00:00
Matthias Radestock
54b7e2c874
tiny refactor: use checkWarn in a few more places
2015-11-07 11:08:44 +00:00
Matthias Radestock
19f89f7122
remove duplicate test
...
this is already covered in dns_fallback_test
2015-11-07 07:30:53 +00:00
Matthias Radestock
9f25d72a4a
cosmetic
2015-11-07 05:43:20 +00:00
Adam Harrison
3e99b71e0f
Merge pull request #1643 from weaveworks/refactor-forwarder-remote-address
...
Refactor: remove knowledge of overlay connectivity details from Local{Peer,Connection}
2015-11-06 16:02:10 +00:00
Matthias Radestock
fb3b690c5f
refactor: reduce coupling between LocalConnection and Forwarder
2015-11-05 21:27:14 +00:00
Matthias Radestock
18fe553d23
LocalConnection shouldn't have to know about remote UDP address
...
...and generally know less about how overlays establish connectivity.
2015-11-05 20:43:52 +00:00
Matthias Radestock
e7ff6a2191
LocalPeer shouldn't have to know about remote UDP address
...
...and LocalConnection shouldn't have to remember it
2015-11-05 19:32:49 +00:00
Matthias Radestock
ad15e5a234
cosmetic
2015-11-05 19:01:34 +00:00
Matthias Radestock
094c7aa438
cosmetic
2015-11-05 17:24:38 +00:00
Adam Harrison
472ed5a7d3
Merge pull request #1640 from weaveworks/1588-disable-docker-restart
...
Disable restart of docker in test 640
2015-11-05 15:40:01 +00:00
Adam Harrison
f284300870
Merge pull request #1636 from weaveworks/1635-notation
...
Drop use of interval notation when printing ranges
2015-11-05 15:38:40 +00:00
Adam Harrison
ab5f4410b6
Add release v1.2.1
2015-11-05 14:34:13 +00:00
Bryan Boreham
a400a3dd09
Disable restart of docker
2015-11-05 14:20:38 +00:00
Bryan Boreham
c4855e8123
Merge branch '1.2'
2015-11-05 12:41:39 +00:00
Adam Harrison
3abb657777
Document port security
2015-11-05 12:23:17 +00:00
Adam Harrison
4dd63d8f72
Bind the HTTP listener to localhost when fastdp enabled
...
Prevent containers from accessing the weave router control port when
fast datapath is in use.
2015-11-05 12:23:17 +00:00
Bryan Boreham
6c0bdec2c9
Merge pull request #1637 from weaveworks/issues/1632-http-localhost-bind
...
Bind router HTTP listener to localhost when fastdp enabled
LGTM. Fixes #1632
2015-11-05 12:20:20 +00:00
Adam Harrison
d6dd1f269a
Document port security
2015-11-05 12:16:57 +00:00
Bryan Boreham
2bd23f3709
Merge branch '1.2' to pull in latest_release_doc_updates
2015-11-05 12:05:25 +00:00
Bryan Boreham
79dc464b83
Merge branch 'latest_release_doc_updates' into 1.2
2015-11-05 12:04:54 +00:00
Bryan Boreham
3dbd5b11d8
Segregate discussion of range and subnet, and explain subnet a bit
2015-11-05 11:32:06 +00:00
Bryan Boreham
549fd5fe29
Merge branch '1.2'
2015-11-05 11:30:53 +00:00
Bryan Boreham
0ab5c65185
Merge pull request #1630 from weaveworks/issues/1588-improve-proxy-restart-reattach-test
...
Improve proxy restart reattach test reliability
2015-11-05 11:25:31 +00:00
Bryan Boreham
5f4753f881
Segregate discussion of range and subnet, and explain subnet a bit
2015-11-05 10:13:06 +00:00
Bryan Boreham
e03a45f8c5
Update docs to match loss of interval notation
2015-11-05 10:11:43 +00:00
Adam Harrison
67c2d53e59
Bind the HTTP listener to localhost when fastdp enabled
...
Prevent containers from accessing the weave router control port when
fast datapath is in use.
2015-11-04 17:42:24 +00:00
Bryan Boreham
7b01dd9794
Drop use of interval notation
2015-11-04 16:45:16 +00:00
Bryan Boreham
04e50ff02c
Merge branch '1.2'
2015-11-04 16:40:30 +00:00
Bryan Boreham
e57ccdc858
Merge branch 'latest_release_doc_updates' into 1.2
2015-11-04 16:39:43 +00:00
Bryan Boreham
a73a65b48a
Removed obsolete text referring to mixed auto-manual allocation, and clarify Range printout
2015-11-04 16:36:44 +00:00
Adam Harrison
781c805e10
Merge branch '1.2'
2015-11-04 15:32:17 +00:00
Adam Harrison
7c4af88911
Merge pull request #1606 from weaveworks/issues/1578_ufw_ubuntu
...
Add an iptables rule for letting weaveDNS requests in
2015-11-04 15:30:34 +00:00
Alvaro Saurin
0aca173e96
Add an iptables rule for letting weaveDNS requests in
2015-11-04 14:00:26 +01:00
Matthias Radestock
60db57a41c
refactor: remove duplicate isKnownPeer function
2015-11-03 18:11:53 +00:00
Matthias Radestock
df68f7dcb9
Merge branch '1.2'
2015-11-03 17:56:36 +00:00
Matthias Radestock
e95e3cc29d
Merge pull request #1624 from weaveworks/1593-more-peers
...
Better choice of peers for IPAM to transfer ownership to on `weave reset`
Fixes #1593 .
2015-11-03 17:55:40 +00:00
Bryan Boreham
67e9310cc1
Review feedback
2015-11-03 17:01:27 +00:00
Adam Harrison
94984df047
Merge branch '1.2'
2015-11-03 16:57:15 +00:00
Adam Harrison
861bf953bf
Merge pull request #1629 from weaveworks/1626-expose-names
...
Always add 'weave expose -h' argument to DNS
2015-11-03 16:32:13 +00:00
Adam Harrison
06eaac8690
Don't assert ethwe carrier via the proxy
...
The test script runs commands inside containers via docker exec to
ensure the ethwe carrier is up. We must not run these commands via the
proxy because it will interpose weavewait, which will block forever if
attachment has failed (e.g. due to #1556 ).
2015-11-03 15:42:37 +00:00
Adam Harrison
6b9e8816d1
Wait for proxy to become available after docker is restarted
2015-11-03 15:33:37 +00:00
Bryan Boreham
cf9f715a28
Merge branch '1.2'
2015-11-03 15:31:51 +00:00
Bryan Boreham
08e043fea7
Always add 'weave expose -h' argument to DNS, and add smoke-test for this also
2015-11-03 15:23:28 +00:00
Bryan Boreham
54ba1009d3
Merge pull request #1608 from weaveworks/1600-start-networkmode
...
LGTM. Fixes #1600
2015-11-03 15:14:15 +00:00
Adam Harrison
4a6a46fd7b
Merge pull request #1627 from tomwilkie/mv-scheduler
...
Move scheduler to build-tools.
2015-11-03 14:44:52 +00:00
Adam Harrison
0eb7414f72
Merge pull request #1583 from weaveworks/move-runner-to-tools
...
Remove test runner; it now lives in build-tools.git
2015-11-03 14:44:46 +00:00
Tom Wilkie
c02691a70c
Move scheduler to build-tools.
2015-11-03 14:38:42 +00:00
Bryan Boreham
8742957f75
Tweak naming to be closer to code changes in nameserver
2015-11-03 14:15:49 +00:00
Bryan Boreham
ace372cfc6
More extensive choice of transferee
2015-11-03 12:03:28 +00:00
Bryan Boreham
27c5f5f49f
Fix title of test
2015-11-03 12:03:00 +00:00
Paul Bellamy
ec5a1a3977
When container is started in host (or container) networkMode, we mount a noop weavewait, so it can continue
...
review feedback
2015-11-03 10:18:05 +00:00
Adam Harrison
abc653c87d
Fix merge breakage
2015-11-03 10:13:43 +00:00
Matthias Radestock
30a128c00b
Merge branch '1.2'
2015-11-02 20:58:15 +00:00
Matthias Radestock
77c7963bde
Merge pull request #1615 from weaveworks/1603-resort-in-encode
...
Hold DNS entries sorted case-insensitively until just before sending
Fixes #1603 and #1610 .
2015-11-02 20:57:40 +00:00
Bryan Boreham
b80c1343c3
Take steps to avoid the test timing out
2015-11-02 20:40:17 +00:00
Bryan Boreham
e5c5fbcea3
Hold on to the lower-case version of a hostname, rather than re-computing it every time
2015-11-02 20:40:05 +00:00
Bryan Boreham
fc7d04ce73
Condense Entries unit tests with helper function
2015-11-02 20:03:10 +00:00
Bryan Boreham
35f57b3ed2
Move decoding code next to encoding code
2015-11-02 20:01:40 +00:00
Bryan Boreham
ed9ade05ea
Improve merge asserts
2015-11-02 20:01:40 +00:00
Bryan Boreham
f485b729bc
Hold all entries sorted case-insensitively until just before sending, when we re-sort case-sensitively in Encode()
2015-11-02 20:01:40 +00:00
Bryan Boreham
64f7953423
Add unit test to check outbound mixed-case merging
2015-11-02 20:01:40 +00:00
Bryan Boreham
fc1d837501
Extend unit test to cover mixed-case hostnames and daisy-chained gossip;
...
reduce mock gossip timer to 2 seconds to trigger more often during tests.
2015-11-02 20:01:40 +00:00
Matthias Radestock
6a238818da
Merge branch '1.2'
2015-11-02 19:58:37 +00:00
Matthias Radestock
9800c43bfa
refactor(ish): don't use reference in method that doesn't modify
2015-11-02 19:57:17 +00:00
Bryan Boreham
b3cda39b0b
Let IPAM pick any peer we know about to transfer ownership to, when shutting down
2015-11-02 18:34:58 +00:00
Adam Harrison
7e1b7a2fcd
Merge branch '1.2'
2015-11-02 17:28:31 +00:00
Adam Harrison
ccae8d42fd
Merge remote-tracking branch 'dpw/fdp-probe-vxlan' into 1.2
...
Fixes #1599
2015-11-02 17:24:52 +00:00
David Wragg
38f78286c7
Probe whether the kernel has ODP vxlan support
...
It's possible to build that kernel with openvswitch, and vxlan, but
without the vport_vxlan module that glues them together. And at
least one distro has actually done this.
2015-11-02 15:53:16 +00:00
Adam Harrison
c3a53a6ec5
Merge remote-tracking branch 'upstream/1.2'
2015-11-02 15:21:06 +00:00
Bryan Boreham
2bbe6a2ad8
Merge pull request #1622 from weaveworks/fix-miekg-dns-truncation-test
...
LGTM
2015-11-02 15:09:57 +00:00
Adam Harrison
f64f63f675
Handle truncated responses from upstream servers
2015-11-02 15:00:02 +00:00
Adam Harrison
f0fb44f6d4
Update unit test for miekg DNS API change
2015-11-02 13:24:04 +00:00
Paul Bellamy
fa972615e6
Merge pull request #1616 from weaveworks/1549-inspect-wait
...
Make inspect-rewrite wait for start
2015-11-02 11:00:23 +00:00
Bryan Boreham
f7cb2ef25d
have waitForStartByIdent() return an error
2015-10-30 13:46:30 +00:00
Bryan Boreham
949f8bb2e7
Move updateContainerNetworkSettings() into proxy
2015-10-30 13:34:16 +00:00
Bryan Boreham
5eaff802d4
Make inspect-rewrite wait if the start operation is still in progress
2015-10-30 13:34:16 +00:00
Matthias Radestock
b37d428726
Merge branch '1.2'
2015-10-30 01:31:16 +00:00
Matthias Radestock
a6336149f8
guard against chef not running
...
Provisioning on ubuntu/wily64 was tripping over this.
2015-10-30 01:29:21 +00:00
Matthias Radestock
12f5ec40b5
refactor: reduce coupling of nameserver to router
...
The nameserver no longer knows anything about router.Peers and
router.Peer. That only leaves PeerName, Gossip and GossipData.
2015-10-29 23:21:07 +00:00
Matthias Radestock
6a672cf8bc
tiny refactor: more idiomatic referal to process' /proc
2015-10-28 18:23:15 +00:00
Matthias Radestock
036b7d9f66
Merge branch '1.2'
2015-10-28 09:40:50 +00:00
Matthias Radestock
ca6bce3820
Merge branch 'latest_release_doc_updates' into 1.2
2015-10-28 09:20:46 +00:00
Matthias Radestock
9b4f2297b0
drop quotes in eval "$(weave env)"
...
They are unnecessary and unwieldy.
Fixes #1596
2015-10-28 09:19:10 +00:00
Matthias Radestock
355c4bc58e
Merge branch '1.2'
2015-10-28 08:52:01 +00:00
Matthias Radestock
a31b2876d0
Merge pull request #1598 from weaveworks/issues/1584-improved-proxy-router-restart
...
Improved detection of router container restart
Fixes #1584
2015-10-28 08:51:06 +00:00
Matthias Radestock
b697b6e57b
Merge pull request #1597 from weaveworks/issues/1516-weavedns-ignore-foreign-domains
...
Check weaveDNS subdomain on REST PUT
Fixes #1516
2015-10-28 08:50:25 +00:00
Adam Harrison
4792fe6391
Improved detection of router container restart
...
Use the container name in addition to the entrypoint to avoid triggering
reattachment unnecessarily.
2015-10-27 14:41:26 +00:00
Adam Harrison
7408f72de2
Check weaveDNS subdomain on REST PUT
2015-10-27 14:37:57 +00:00
Tom Wilkie
203a3cfdd1
Remove test runner; it now live in build-tools.git
2015-10-23 13:02:00 +00:00
Ilya Dmitrichenko
3a029686e3
Add Pardot script
2015-10-22 15:07:52 -07:00
Matthias Radestock
9fa7b3956d
Merge remote-tracking branch 'upstream/master'
2015-10-22 16:17:55 +01:00
Matthias Radestock
b888ace508
remove superfluous code in ApplyUpdate
...
If the local peer's short ID was updated, we broadcastPeerUpdate at
the end (in unlockAndNotify), so there is no need to include the local
peer in the current update.
Also, reading peers.ourself.Version is bad here - we don't take a lock
and it's written by other goroutines. Doesn't actually break anything
though since it's a uint64 and hence atomic.
2015-10-22 16:12:37 +01:00
Bryan Boreham
2e54efe34d
Stop the proxy last, so we can stop the router
...
before being unable to communicate with docker
when $DOCKER_HOST is pointing at the proxy
2015-10-22 15:45:54 +01:00
Bryan Boreham
94d7f33a03
Merge pull request #1541 from weaveworks/weave-1.2-readme-updates
...
Update README for 1.2 release
2015-10-22 13:22:54 +01:00
Bryan Boreham
11598295cf
Add release v1.2.0
2015-10-22 12:53:57 +01:00
Bryan Boreham
383c3769aa
Try en even bigger sleep
2015-10-22 12:19:57 +01:00
Adam Harrison
caccba18e9
Mention fast datapath port
2015-10-22 11:58:14 +01:00
Paul Bellamy
95ce00e551
moving boot2docker instructions into the readme
2015-10-22 11:58:14 +01:00
David Wragg
85dad58cfe
Pass --privileged for the temporary container in rewrite_etc_hosts
...
Otherwise we run into selinux issues on fedora23 (and probably other
selinux distros).
2015-10-22 11:44:17 +01:00
Bryan Boreham
acdc70f72a
Merge pull request #1560 from weaveworks/1542-proxy-bug-weave-not-running
...
LGTM. Fixes #1542
2015-10-22 10:19:32 +01:00
Paul Bellamy
bc9db72212
[proxy] Add notifyWaiters to fix anticipated race condition.
...
* User makes /start request, and blocks on the waiter
* ContainerStarted fires with ID
* Container goes away
* We try to inspect the container to get the entrypoint, which fails
* Previously, this wouldn't call notifyWaiters and the /start would hang (I expect)
2015-10-22 09:50:12 +01:00
Adam Harrison
7905f81d7e
Merge pull request #1570 from dpw/mac-invalidate-routes
...
Do InvalidateRoutes when a forwarded packet updates a MAC cache entry
2015-10-21 23:54:56 +01:00
Matthias Radestock
2ef9cc6a1c
start temporary containers without networking when possible
...
This is more efficient and TRTTD
Closes #1572 .
2015-10-21 16:52:19 +01:00
Matthias Radestock
2357b69a5f
nicer interface name
...
and more likely to be ignored by NetworkManager
Closes #1567 .
2015-10-21 16:22:16 +01:00
Matthias Radestock
98b47f866b
Merge pull request #1569 from weaveworks/issues/1565-docker-1.9.0-workaround
...
Reorder inspect template to work around docker/docker#17026
Fixes #1565 .
2015-10-21 15:29:59 +01:00
David Wragg
d2dfb0d15d
Do InvalidateRoutes when a forwarded packet updates a MAC cache entry
...
When we get a forwarded packet, we put its source MAC into the MAC cache,
overriding any existing entry. But we could have a flow which says
to forward packets destined to that MAC based on the old entry. Such
a flow could be prolonged indefinitely by attempts to send to the MAC.
This is obviously bad, so do InvalidateRoutes in such cases.
2015-10-21 13:46:18 +01:00
Paul Bellamy
63339c026d
[proxy] return errors when attaching new containers
...
I had implemented this with a promise, but was informed that as
waitForStart is only called once, we are safe to just put the error into
the channel.
2015-10-21 13:05:05 +01:00
Adam Harrison
40922b88f7
Reorder inspect template to work around docker/docker#17026
2015-10-21 12:39:55 +01:00
Bryan Boreham
674c617c16
Merge branch '1.1'
2015-10-21 11:52:49 +01:00
Bryan Boreham
2884b6deca
Add release v1.1.2
2015-10-20 17:06:14 +01:00
Adam Harrison
720862dafb
Merge pull request #1562 from dpw/fdp-create-bridge
...
'weave --local create-bridge' is not compatible with fastdp
2015-10-20 16:37:20 +01:00
David Wragg
5120b4b468
'weave --local create-bridge' is not compatible with fastdp
2015-10-20 16:34:50 +01:00
Adam Harrison
c5f5d4543e
Merge pull request #1518 from weaveworks/401-reattach-weave2
...
Get proxy to re-attach weave router if it restarts
2015-10-20 15:31:13 +01:00
Paul Bellamy
baf92da9f2
Merge pull request #1534 from weaveworks/1531-check-hostconfig
...
Take more care over HostConfig on start request in proxy
2015-10-20 12:18:49 +01:00
Paul Bellamy
526c9c3d73
Add test for {"HostConfig":{}} overriding previous settings, but still connecting to weave
2015-10-20 11:26:29 +01:00
Bryan Boreham
119d87b795
Extract repeated test into function
2015-10-20 11:26:29 +01:00
Bryan Boreham
17b030cca1
Cope with client sending a HostConfig named HostConfig
2015-10-20 11:26:29 +01:00
Bryan Boreham
81c9b3f327
Check that HostConfig parameters supplied on /start are passed to Docker,
...
also what happens when you supply a HostConfig named HostConfig
2015-10-20 11:26:29 +01:00
Bryan Boreham
50198a2159
Don't create a HostConfig accidentally if none was passed in
2015-10-20 11:26:29 +01:00
Bryan Boreham
20c8b1eaf6
Reverse the sense of a test, to simplify the next change
...
and remove unused struct
2015-10-20 11:26:21 +01:00
Bryan Boreham
faf94b033d
Extend test to check we don't overwrite HostConfig
2015-10-20 11:25:06 +01:00
Adam Harrison
342b3d3d08
Merge pull request #1557 from weaveworks/issues/1497
...
Add container FQDN to /etc/hosts
2015-10-20 11:22:22 +01:00
Bryan Boreham
26d43f193e
Move docker restart test above the place where we stop part of weave
2015-10-20 07:07:04 +00:00
Alvaro Saurin
f04ae91c82
Add container FQDN to /etc/hosts
2015-10-19 21:51:38 +02:00
Bryan Boreham
bb5515113f
Make attach-router work in fastdp+encryption case
2015-10-19 15:49:07 +00:00
Bryan Boreham
c09d84efc6
Move setup_router_iface call so we don't kill an already-running router on attach-router
2015-10-19 15:49:07 +00:00
Bryan Boreham
2a99a2a597
Don't fail if the arg we're looking for isn't there
2015-10-19 15:47:44 +00:00
Bryan Boreham
08f6dcf08d
Missing format
2015-10-19 15:47:44 +00:00
Bryan Boreham
284d78c6b2
Update fetch_router_args in line with changes elsewhere
2015-10-19 15:47:44 +00:00
Bryan Boreham
b8b5fb9eae
Review feedback
2015-10-19 15:47:43 +00:00
Bryan Boreham
697ee62d9a
Use entrypoint to detect weave router
2015-10-19 15:47:43 +00:00
Bryan Boreham
20ac0edda8
Try a bigger sleep to get Docker restarted
2015-10-19 15:46:48 +00:00
Bryan Boreham
a1bbb06e2f
Don't need depreciation warnings on internal-only command
2015-10-19 15:46:47 +00:00
Bryan Boreham
a87cc5c3b1
Get the proxy to re-attach the weave router if it sees it restart
2015-10-19 15:46:47 +00:00
Matthias Radestock
5ff740cddc
cosmetic
2015-10-19 15:43:49 +01:00
Matthias Radestock
db9229f485
Merge pull request #1551 from weaveworks/1547-proxy-restart-no-kill-containers
...
Proxy restart shouldn't kill containers
Fixes #1547 .
2015-10-19 13:55:48 +01:00
Paul Bellamy
ace6c01b00
Review feedback
2015-10-19 13:53:20 +01:00
Bryan Boreham
2f4d460c04
Merge pull request #1517 from weaveworks/1385-non-container-dns-add
...
LGTM. Fixes #1385
2015-10-19 12:52:09 +01:00
Matthias Radestock
d5401ae3cb
Merge pull request #1550 from dpw/weave2-eexist
...
Don't fail in launch-router if weave2 already exists
Fixes #1548 .
2015-10-16 21:36:45 +01:00
David Wragg
3482a7f1f1
Don't fail in launch-router if weave2 already exists
...
And delete weave2 on stop-router.
2015-10-16 20:59:06 +01:00
David Wragg
23762e0639
Move repeated 'stop' code into functions
2015-10-16 20:55:44 +01:00
Bryan Boreham
50cc15af3b
Merge pull request #1477 from weaveworks/weave-1374
...
LGTM. Fixes #1374
2015-10-16 18:02:16 +01:00
Paul Bellamy
a0f0367e60
[proxy] don't kill containers when starting the proxy
2015-10-16 15:33:43 +01:00
Adam Harrison
3f08ddefe9
Correct DisplayName implementation
2015-10-16 12:24:38 +01:00
Adam Harrison
debe656f9f
Merge pull request #1522 from dpw/fdp-compat
...
Fast datapath compatibility with 1.1
2015-10-16 11:26:20 +01:00
Alvaro Saurin
4350b6402f
Updated docs
2015-10-16 11:47:07 +02:00
Alvaro Saurin
5d2892f6fc
Test we respect --add-host when rewriting /etc/hosts
...
Simplify some tests
2015-10-16 11:47:07 +02:00
Alvaro Saurin
91f27ddd66
Removed weavehosts
2015-10-16 11:47:07 +02:00
Alvaro Saurin
6a674d0d67
Add hosts when attaching
2015-10-16 11:47:07 +02:00
Alvaro Saurin
0d165487b8
Rewrite /etc/hosts in the containers
2015-10-16 11:47:07 +02:00
Matthias Radestock
bacc5836ea
log listeners
2015-10-16 09:34:20 +01:00
Matthias Radestock
230931a2c9
prevent accidental var shadowing
...
Fixes #1544
2015-10-16 01:05:04 +01:00
Matthias Radestock
61d289f414
Merge branch '1.1'
2015-10-15 18:14:20 +01:00
Matthias Radestock
44255862a9
prevent spurious errors from showing up
...
silly mistake
2015-10-15 18:12:56 +01:00
Matthias Radestock
ed9577150b
suppress spurious errors
2015-10-15 18:01:06 +01:00
Matthias Radestock
80319e7087
Merge branch '1.1'
2015-10-15 17:41:49 +01:00
Matthias Radestock
379048d8fc
make test/setup.sh work under go 1.5
...
Fixes #1543 .
2015-10-15 17:40:51 +01:00
Matthias Radestock
9ac655d774
Merge pull request #1526 from weaveworks/fdp-docs
...
Document fast data path feature
Fixes #1526 .
2015-10-15 17:29:29 +01:00
Adam Harrison
9b17470129
Document fast data path feature
2015-10-15 17:19:13 +01:00
Matthias Radestock
5c114fc6fe
Merge pull request #1536 from weaveworks/1515-print-json
...
Print request and response json when debugging weaveproxy
Fixes #1515
2015-10-15 15:59:35 +01:00
Bryan Boreham
efb12f41b2
Also print intercepted responses
2015-10-15 15:07:02 +01:00
Adam Harrison
813edcfe0a
Merge branch '1.1'
2015-10-15 14:59:29 +01:00
Adam Harrison
dea1405d71
Remove hardcoded docker bridge IP from proxy test
2015-10-15 14:39:56 +01:00
Ilya Dmitrichenko
e7f91b7529
Update screencast preview image
2015-10-15 14:26:39 +01:00
Matthias Radestock
5e8a64508e
Merge remote-tracking branch 'upstream/master'
2015-10-15 14:19:50 +01:00
Matthias Radestock
21ebb7a585
Merge branch '1.1'
...
Conflicts:
Makefile
2015-10-15 14:19:14 +01:00
David Wragg
6edd430538
Use consistent options for all "go get"/"go build" invocations
...
Without this, building with go-1.5 fails with
go get ./prog/weavewait
go install net: open /usr/local/go/pkg/linux_amd64/net.a: permission denied
This makes the options passed too "go get"/"go build" consistent for
all executables. So it should be safe with go-1.4.
Conflicts:
Makefile
2015-10-15 14:16:33 +01:00
Ilya Dmitrichenko
34606e0f9f
Link to the new screencast ( close #1402 )
2015-10-15 14:07:54 +01:00
Matthias Radestock
5f62f9edc7
Merge branch '1.1'
2015-10-15 13:05:35 +01:00
Matthias Radestock
0d2ff55c07
Merge pull request #1535 from weaveworks/1523-rewrite-inspect-failure
...
[proxy] only attempt to rewrite successful inspects
Fixes #1523 .
2015-10-15 13:04:34 +01:00
Matthias Radestock
207ee8667b
Merge pull request #1538 from dpw/detect-no-fastdp-mismatch
...
signal mismatches between WEAVE_NO_FASTDP and the bridge type
Fixes #1533 .
2015-10-14 17:17:35 +01:00
David Wragg
5984ed921e
signal mismatches between WEAVE_NO_FASTDP and the bridge type
2015-10-14 16:33:23 +01:00
Matthias Radestock
aac5fb8c24
Merge pull request #1537 from weaveworks/1502-flakey-test
...
Wait until container exits in test to remove race condition
Fixes #1502
2015-10-14 16:19:20 +01:00
Matthias Radestock
8cfc8b3132
Merge pull request #1528 from weaveworks/weave-env-bug
...
[proxy] Fix bug in weave env/config when passing multiple -H flags
Fixes #1527
2015-10-14 15:50:42 +01:00
Paul Bellamy
0b5ebd7b1d
Wait until container exits in test to remove race condition
2015-10-14 14:53:23 +01:00
David Wragg
35141a4aef
Forward a packet with sleeve if the source or dest peer lacks a short ID
2015-10-14 13:53:59 +01:00
David Wragg
e702234fdc
Don't use a nil FlowOp to mean "discard the packet"
2015-10-14 13:53:34 +01:00
Bryan Boreham
05dbe23563
Print request and response json when debugging
2015-10-14 13:45:51 +01:00
Paul Bellamy
fd07f59d16
[proxy] Fix bug in weave env/config when passing multiple -H flags
...
The echo in proxy_addr was not preserving newlines, so the multiple
addrs were all getting returned
2015-10-14 11:58:10 +01:00
Paul Bellamy
36de840c91
[proxy] only attempt to rewrite successful inspects
2015-10-14 11:28:43 +01:00
David Wragg
b36ffe1c9d
Support peers that don't have short IDs
2015-10-14 11:11:34 +01:00
David Wragg
1f1451e666
Fall back to sleeve when "Overlays" not present in features
2015-10-14 11:11:34 +01:00
David Wragg
1000839309
Merge issues/1505-fast-datapath-weave-status' (PR #1525 )
...
Fast datapath weave status
2015-10-14 11:08:09 +01:00
Adam Harrison
ed4ed5fdcd
Include short peer ID in report JSON
2015-10-13 17:04:56 +01:00
Adam Harrison
eaf1f7cc13
Include overlay diagnostics in report JSON
2015-10-13 17:04:56 +01:00
Adam Harrison
ddfc8c2fa4
Handle JSON report marshalling error
2015-10-13 17:04:56 +01:00
Adam Harrison
91afa7f7f4
Include selected overlay type in connection status
2015-10-13 17:04:56 +01:00
Paul Bellamy
da49e71eb8
Merge pull request #1529 from weaveworks/expose-proxy-tls
...
Expose some tls functions from the proxy for use elsewhere.
2015-10-13 16:09:27 +01:00
Tom Wilkie
5b8ce8ebae
Expose some tls functions from the proxy for use elsewhere.
2015-10-13 14:56:11 +00:00
Adam Harrison
827bcd898e
Merge pull request #1438 from weaveworks/fdp
...
Fast datapath
2015-10-13 10:34:49 +01:00
Matthias Radestock
54a4add40f
cosmetic
2015-10-13 09:02:03 +01:00
David Wragg
0093eb1220
A smoke test for WEAVE_NO_FASTDP
...
Partly for the side effect of restoring coverage of
router/ethernet_decoder.go
2015-10-12 21:27:11 +01:00
David Wragg
b56ff7678c
Make code coverage work through the proxy
...
Previously, the proxy would run the weave script in ways that did
not run the weaver executable. Now they can. This is a problem because
of the contortions involved in using golang's code coverage support
in the integration tests, which require the weaver command line args to
be slightly mangled.
2015-10-12 21:27:11 +01:00
David Wragg
431197042d
Weave script changes to enable fast datapath
...
This means:
* The 'weave' netdev is an OVS datapath
* The weave router container runs with --net=host in order to access
the datapath.
* The MTU is set to a smaller value, to allow vxlan encapsulation.
Setting the WEAVE_NO_FASTDP environment variable disables these
things, effectively running the router without fast datapath. It is
an environment variable rather than an option to 'weave launch'
because it takes effect in create_bridge, which is called from many
subcommands, and it doesn't seem practical to add option processing to
all of them.
2015-10-12 21:27:11 +01:00
David Wragg
295876e1d1
Fast datapath
2015-10-12 21:27:11 +01:00
David Wragg
e8f975e44f
Introduce checkFatal in prog/weaver/main.go
2015-10-12 21:27:11 +01:00
David Wragg
bc026ab49a
Show the overlay name in sleeve log messsages
2015-10-12 21:27:11 +01:00
David Wragg
f56457271d
OverlaySwitch
2015-10-12 21:27:11 +01:00
David Wragg
bc5250c899
Replace OverlayForwarderListener with channels
...
It's more robust to signal the conditions asynchronously via channels
rather than callbacks.
2015-10-12 21:27:11 +01:00
David Wragg
971511e1c5
Introduce PeerShortIDs
...
These are needed to support vxlan encapsulation. In a vxlan packet,
the only place we can straightforwardly hold the source and
destination peer identifiers used by the weave router is in the
24-bit VNI (vxlan network identifier) field. This gives us 12 bits to
indicate a peer. The resulting limit of 4096 peers on a weave network
does not seem like a problem in the near future. But it does mean
that decentralized allocation makes collisions fairly likely even in
weave networks of sizes that are common today. Fortunately, the
problem is much more tractable than IPAM because we can detect when
collisions occur and take action to resolve them.
2015-10-12 21:27:11 +01:00
David Wragg
51317dca70
Introduce PeersPendingNotifications
2015-10-12 21:27:11 +01:00
David Wragg
91dda08165
Rename Peers "table" field to "byName"
2015-10-12 21:27:11 +01:00
David Wragg
67bfa5bc90
applyUpdate can return a PeerNameSet
2015-10-12 21:27:11 +01:00
David Wragg
0841f4a27d
Tidy broadcastPeerUpdate
2015-10-12 21:27:11 +01:00
David Wragg
c6edf8421f
Handle the not-found case implicitly in Broadcast and BroadcastAll
2015-10-12 21:27:11 +01:00
David Wragg
97fb90c37a
Always include local peer in Peers
2015-10-12 21:27:11 +01:00
Matthias Radestock
1d00bdd2a4
a better way to restrict coverage
...
this better fixes #1524 .
2015-10-12 18:04:07 +01:00
Matthias Radestock
0ff01871f3
Merge remote-tracking branch 'upstream/master'
2015-10-12 17:43:41 +01:00
Matthias Radestock
e00a675e6e
update tools to latest version
2015-10-12 17:43:06 +01:00
Paul Bellamy
d5e63b875b
Merge pull request #1395 from weaveworks/1371-proxy-no-dockerclient
...
[proxy] all request modification is done through map[string]interface{}
2015-10-12 16:42:44 +01:00
Matthias Radestock
a31ccef99b
only produce coverage for packages under github.com/weaveworks/weave
...
Fixes #1524 .
2015-10-12 16:06:26 +01:00
Paul Bellamy
375fd9140b
review feedback
...
* Opted to remove json path traversal, as it added more code than it saved.
2015-10-12 15:53:07 +01:00
Paul Bellamy
fbb2c213a9
[proxy] all request modification is done through map[string]interface{}
...
That way we are less likely fall victim to go-dockerclient, or the API changing.
2015-10-12 15:53:07 +01:00
Bryan Boreham
d323de3c21
Merge pull request #1520 from weaveworks/1519-rebind-status-sock
...
LGTM. Fixes #1519
2015-10-09 17:58:33 +01:00
Paul Bellamy
18872cc8ae
[proxy] remove status.sock before binding status.sock
2015-10-09 17:44:16 +01:00
Tom Wilkie
33085e3798
Merge pull request #1499 from weaveworks/1463-ipam-seed-mismatch
...
detect when IPAM has been seeded by different peers
2015-10-09 14:46:55 +01:00
Matthias Radestock
e42c811797
docs
2015-10-08 22:43:47 +01:00
Matthias Radestock
6b321e4d02
associate non-container dns entries with 'weave:extern'
...
...instead of the weave container. This is cleaner.
'weave:extern' because typically these entries will refer to external
(non-weave) IP addresses. And because it's the same length as
'weave:expose', which is desirable for 'weave status dns' output.
2015-10-08 22:21:38 +01:00
Matthias Radestock
e6b17c701d
dns-{add,remove} can add/remove non-container DNS records
...
...by omitting the container name/id
Fixes #1385 .
2015-10-08 17:37:35 +01:00
Bryan Boreham
60bda7ca25
Merge pull request #1512 from weaveworks/1459-ipam-early-container-death
...
LGTM. Fixes #1459
2015-10-07 16:01:45 +01:00
Adam Harrison
b37d2ec6d1
Merge pull request #1494 from weaveworks/1468-template-on-demand
...
Build GCE template on demand
2015-10-07 15:42:39 +01:00
Matthias Radestock
751ccd02f6
don't stall in ipam on early container death
...
When a container died before we got into the allocation code (inside
the allocator run loop) we would not cancel the allocation since the
container death event will have been processed by the allocator before
it had any knowledge of the container.
The fix is to move the container-aliveness check inside the allocation
code. That way we still detect the death even if the event has already
flown past.
We only need to perform the check once, since any subsequent death
will result in an event that is processed by the allocator when it has
recorded the container in its state.
Fixes #1459 .
2015-10-07 15:20:22 +01:00
Matthias Radestock
431d04bd40
refactor: move all dataplane code out of LocalPeer
2015-10-06 19:50:41 +01:00
Matthias Radestock
e756f07cad
Merge branch '1.1'
2015-10-06 16:25:45 +01:00
Matthias Radestock
0ef548b9c9
prevent dropping of large multicast packets
...
Fixes #1507 .
2015-10-06 16:25:02 +01:00
Ilya Dmitrichenko
b9e025b50e
Merge branch '1.1'
2015-10-06 15:28:54 +01:00
Ilya Dmitrichenko
7743f0e05f
Merge branch 'latest_release_doc_updates' into 1.1
2015-10-06 15:26:50 +01:00
Ilya Dmitrichenko
a1581ed5b5
Remove stale/invalid flag
2015-10-06 15:26:14 +01:00
Ilya Dmitrichenko
7a83a71a02
Merge branch '1.1'
2015-10-06 15:24:25 +01:00
Ilya Dmitrichenko
a6c30088ab
Merge branch 'latest_release_doc_updates' into 1.1
2015-10-06 15:24:08 +01:00
Ilya Dmitrichenko
fdbe950483
Fix #1509
2015-10-06 15:21:24 +01:00
Matthias Radestock
2f86326405
Merge tag 'v1.1.1' into latest_release_doc_updates
...
Release v1.1.1
2015-10-06 15:13:50 +01:00
Matthias Radestock
8aaf4cfaf0
include nicknames in error message, if we have them
2015-10-06 14:41:41 +01:00
Ilya Dmitrichenko
8a62d13cee
Merge pull request #1500 from weaveworks/1443-dont-assume-docker
...
allow router exe to be run w/o access to Docker
2015-10-06 14:28:26 +01:00
Matthias Radestock
5a45471c68
more readable errors on ring.Merge
...
There are three significant changes here:
- rewrite ring.ErrDifferentSeeds errors
- remove the pre-checking of ranges and instead rewrite
ring.ErrDifferentRange errors
- don't pruneNicknames() and signal ringUpdated() when there was an
error
We don't rewrite other errors since our current belief is that only
ErrDifferentSeeds and ErrDifferentRange can arise from user error.
2015-10-06 14:20:42 +01:00
Matthias Radestock
6dc21bf433
Merge pull request #1503 from weaveworks/860-detach-hide-no-ipalloc
...
don't allocate IPs on 'detach' and 'hide'
Fixes #860 .
2015-10-06 12:53:51 +01:00
Matthias Radestock
1da24c68ca
don't allocate IPs on 'detach' and 'hide'
...
Instead of POSTing to IPAM in order to obtain IPs, we GET existing
IPs. We ignore 404s, so detaching/hiding remains idempotent.
Fixes #860
2015-10-06 12:35:55 +01:00
Matthias Radestock
3d3b7a5672
Merge branch '1.1'
...
Conflicts:
router/ethernet_decoder.go
router/local_peer.go
2015-10-05 20:02:32 +01:00
Matthias Radestock
6c4ea7a957
unswap src and dst ip in "too big DF broadcast" warning
...
and some whitespace cosmetics.
Fixes #1508 .
2015-10-05 19:56:59 +01:00
Matthias Radestock
f221a6d953
Merge branch '1.1'
2015-10-05 12:08:54 +01:00
Matthias Radestock
de95859e0d
add release v1.1.1
2015-10-05 11:26:24 +01:00
David Wragg
bcf71c0fee
Merge branch '1.1'
2015-10-04 20:25:31 +01:00
David Wragg
8fe0228d4d
Merge 1364-ip-link-kernel-4.2 (PR #1504 )
...
strip off @... from interface names returned by `ip link show`
2015-10-04 20:23:43 +01:00
Matthias Radestock
37ea8a28ad
strip off @... from interface names returned by ip link show
...
Apparently kernel 4.2 adds these, which breaks `weave reset` when we
pass the names to `ip link del'.
Fixes #1364 .
2015-10-04 15:43:55 +01:00
Matthias Radestock
a689317696
make 'no Docker API access' the default in the exe
...
...and instead enable it in the script, via the (better named) option.
2015-10-03 17:52:57 +01:00
Matthias Radestock
14a5c12404
allow router to be run w/o access to Docker
...
Fixes #1443 .
2015-10-03 17:52:57 +01:00
Matthias Radestock
35b2968b60
Merge branch '1.1'
2015-10-03 17:20:21 +01:00
Matthias Radestock
dac932f553
fix multi-ip attach
...
This got broken in f7dfe9d
2015-10-03 17:09:25 +01:00
Matthias Radestock
7e0ae6112c
detect when IPAM has been seeded by different peers
...
This is an early detector for a multitude of other symptoms, some of
which cause panics.
When creating the ring we record the paxos-supplied normalised list of
peers used for seeding. This subsequently gets gossipped around as
part of the Ring data structure, and checked in ring.Merge that it is
the same for the recipient.
There are some subtleties due to the desire to maintain backward
compatibility and deal with empty rings
- The gossip gob decoder will ignore the Ring.Seeds field when an old
weave receives a Ring from a new weave. So everything on the old
weave will just continue to work as before.
- The gossip gob decoder will set the Ring.Seeds field to nil when a
new weave receives a Ring from an old weave. We therefore omit the
seed equivalence check when the received Seeds slice is empty.
- Our ring may not have any seeds - either because it is empty or was
created from a ring received from an old weave. We therefore a) omit
the seed equivalence check in that situation, and b) set our seeds
to those received. Note that this allows us to learn about the seeds
well after ring creation - a situation which may arise when
receiving gossip from a mixture of old and new weaves.
Fixes #1463 .
2015-10-02 16:33:28 +01:00
Bryan Boreham
9ad1ccf19f
Don't listen to SIGUSR1, since we stopped handling it a few months back
2015-10-02 13:52:23 +01:00
Bryan Boreham
5b7599e1b0
Merge pull request #1496 from weaveworks/953-backoff-late-connection-failures
...
LGTM. The timing choices are all very arbitrary, so we should wait for more experience in the wild before trying to tune them further.
Fixes #953
2015-10-02 12:44:52 +01:00
Matthias Radestock
19c44b83d2
refactor: better 'try' method names
2015-10-02 11:31:11 +01:00
Matthias Radestock
41691957d2
refactor: simplify target status reporting
2015-10-01 20:05:12 +01:00
Matthias Radestock
e3182624fd
refactor: more obviously handle all target states in reporting
2015-10-01 20:05:12 +01:00
Matthias Radestock
b8b3e6f9cd
refactor: better representation of 3-valued target state
2015-10-01 20:05:12 +01:00
Matthias Radestock
520c7286c4
backoff retries for late-failing connections
...
If a connection gets through all the handshake and subsequent checks -
i.e. it ends up getting added to the LocalPeer's connection list - but
gets terminated within one minute (of the start of the successful
connection attempt), then we apply the existing backoff logic to
schedule a retry, instead of retrying immediately.
In order to do this we retain the 'Target' data structure for such
connections, marking it as 'connected' instead of deleting it (as we
did previously).
Fixes #953 .
2015-10-01 20:05:12 +01:00
Matthias Radestock
d547829c5f
Merge pull request #1495 from weaveworks/1492-proxy-remove-var-run-mount
...
Remove /var/run mount from exec_remote. Proxy uses /var/run/weave/weave.sock
Fixes #1492 .
2015-10-01 16:58:37 +01:00
Matthias Radestock
49459cfc9b
Merge pull request #1462 from weaveworks/1461-dns-case-sensitive
...
DNS lookups should not be case sensitive.
Fixes #1461 .
2015-10-01 16:52:00 +01:00
Paul Bellamy
827ba446ab
Remove /var/run mount from exec_remote. Proxy uses /var/run/weave/weave.sock
...
It was left in for backwards compatibility, in 1.1.
2015-10-01 15:52:29 +01:00
Tom Wilkie
e5316221bb
Review feedback
2015-10-01 14:14:15 +00:00
Tom Wilkie
357174e351
DNS lookups should not be case sensitive.
...
- On-the-wire gossip messages are sorted case sensitive, but in memory they are sorted case-insensitive.
- Add test for case insensitive match on multiple names.
2015-10-01 12:19:49 +00:00
Tom Wilkie
5fc2f3236e
Build GCE template on demand
2015-10-01 11:49:31 +00:00
Matthias Radestock
a3484cce43
Merge pull request #1488 from weaveworks/1481-proxy-null-hostconfig
...
[proxy] Handle null HostConfigs gracefully in start
Fixes #1481 .
2015-10-01 12:06:51 +01:00
Matthias Radestock
cdd107b06b
Merge branch '1.1'
...
Conflicts:
weave
2015-10-01 12:04:44 +01:00
Bryan Boreham
6619b584bc
Merge pull request #1483 from weaveworks/1478-cm-termination-race
...
LGTM. Fixes #1478
2015-10-01 12:01:55 +01:00
Matthias Radestock
d798b0cabb
Merge pull request #1476 from weaveworks/1455-mount-var-run
...
unmount /var/run after boot, so the kernel can GC veth pairs
Fixes #1455 .
2015-10-01 11:55:24 +01:00
Paul Bellamy
29bfd77855
[proxy] don't mount /var/run into the proxy, so the kernel can GC veth pairs
2015-10-01 11:43:13 +01:00
Alfonso Acosta
c24dc6609d
[proxy] Handle null HostConfigs gracefully in start
2015-10-01 11:40:50 +01:00
Adam Harrison
b5e7e9fc5c
Merge pull request #1451 from dpw/sleeve-compat
...
Restore sleeve compatibility with 1.1
2015-10-01 11:24:31 +01:00
Tom Wilkie
58dec7334b
Merge branch '1.1'
2015-10-01 08:23:15 +00:00
Tom Wilkie
0b7af28c86
Typo in Makefile.
2015-10-01 08:21:55 +00:00
Matthias Radestock
725f99ea4c
Merge branch '1.1'
2015-10-01 08:23:52 +01:00
Matthias Radestock
526259ef8e
Merge pull request #1487 from weaveworks/1480-dns-test-race
...
Fix races in TestRecursiveCompress
Fixes #1480 .
2015-10-01 08:11:48 +01:00
Matthias Radestock
4b43cac093
Merge branch '1.1'
2015-09-30 23:34:57 +01:00
Matthias Radestock
3795c14931
better
2015-09-30 22:57:10 +01:00
Matthias Radestock
3e5cdd8bf2
refactor: remove pointless NXDOMAIN tests
2015-09-30 22:42:27 +01:00
Matthias Radestock
35058a1dde
refactor: put negative DNS queries in one test suite
2015-09-30 22:38:48 +01:00
Matthias Radestock
0159e26631
store connections as a set instead of map-of-remote-addresses
...
...since it is theoretically possible that the lifecycle events from
two consecutive inbound connections from the same remote address
overlap.
2015-09-30 17:29:13 +01:00
Tom Wilkie
11d93b1883
Fix races in TestRecursiveCompress
2015-09-30 15:51:07 +00:00
Tom Wilkie
f86f392641
Merge pull request #1486 from weaveworks/1482-disable-160
...
Disable 160_claim test.
2015-09-30 16:20:34 +01:00
Tom Wilkie
19cb1ae8e1
Merge branch '1.1'
2015-09-30 15:06:26 +00:00
Matthias Radestock
cd8befe43e
Merge pull request #1485 from weaveworks/1450-check-slice
...
Sanity-check gossip messages
2015-09-30 15:41:21 +01:00
Tom Wilkie
db46204ff9
Disable 160_claim test.
2015-09-30 14:22:24 +00:00
Bryan Boreham
d2290cc82c
Sanity-check gossip messages
2015-09-30 14:39:27 +01:00
David Wragg
f8e06f9dbc
Merge 1286-tool (PR #1470 ): Use test script from build-tools.git
2015-09-30 14:15:20 +01:00
Matthias Radestock
e68ca761a9
we no longer need to Refresh() in CM status
...
since CM now gets an event - ConnectionCreated - for new connections.
2015-09-30 14:00:32 +01:00
Matthias Radestock
fc6f3993bd
refactor(ish): obtain local connection status from CM alone
2015-09-30 14:00:32 +01:00
Matthias Radestock
f8b074f696
a better way to clean up after established connections
...
...than 3db4e86
2015-09-30 14:00:32 +01:00
Matthias Radestock
66f14099ed
prevent ConnectionMaker.ConnectionTerminated race
...
Get the ConnectionMaker to maintain its own knowledge of the local
connections, based on events emitted in the connection lifecycle.
Fixes #1478 .
2015-09-30 14:00:32 +01:00
Tom Wilkie
f3dc681f61
Only clean weave packages.
2015-09-30 10:15:50 +00:00
Tom Wilkie
62f62e1fd5
tools.git is now called build-tools.git
2015-09-30 08:21:19 +00:00
Tom Wilkie
f3360e61e1
Remove cover tool, this lives in tools.git now.
2015-09-30 08:21:12 +00:00
Tom Wilkie
5208dcd67e
Review feedback
...
- Use git submodule for tools.
- Update Makefile to use submodules.
- Put submodule at tools/
- Tidy up some obsolete references to tools in .gitignore.
2015-09-30 08:21:08 +00:00
Tom Wilkie
6f7d4a7a01
Use lint from tools.git
...
- Do lint first, on circle.
2015-09-30 08:20:56 +00:00
Tom Wilkie
958a3bbd99
Use test script from tools.git
2015-09-30 07:42:43 +00:00
Matthias Radestock
d5c85a3d53
cosmetic: fix typo
2015-09-29 19:40:54 +01:00
Tom Wilkie
5e7b527af2
Make publish from the right place.
2015-09-29 11:02:46 +00:00
Paul Bellamy
ddbd33a8e3
Merge pull request #1471 from weaveworks/1295-publish
...
Publish latest images from CI on successful builds.
2015-09-29 11:37:44 +01:00
Matthias Radestock
a7dc368191
Merge pull request #1469 from weaveworks/1204-test-container
...
Run tests in a separate container.
Fixes #1204 .
2015-09-29 11:37:25 +01:00
Matthias Radestock
5b1d0c55a0
Merge pull request #1474 from weaveworks/1472-weave-env-debug
...
use a container-local unix socket to get the address, instead of logs
Fixes #1453 . Fixes #1472 .
2015-09-29 11:04:41 +01:00
Matthias Radestock
58515ca36e
make weave(proxy) startup death message more generic
...
...in order to account for `docker logs` not working due to custom
logging drivers.
Partially undoes #958 . Partially fixes #1453 .
2015-09-29 11:02:05 +01:00
Matthias Radestock
2d753ebf1a
cosmetic: reduce confusion w.r.t. meaning of 'connection'
2015-09-29 09:21:39 +01:00
Tom Wilkie
50cd716220
Review feedback.
2015-09-29 07:46:00 +00:00
Matthias Radestock
47c97e8191
refactor: remove some code duplication
2015-09-28 16:10:43 +01:00
Paul Bellamy
d704ba175f
[proxy] use a container-local unix socket to get the address, instead of logs
2015-09-28 16:08:25 +01:00
Matthias Radestock
c1036c5e4f
Merge remote-tracking branch 'upstream/master'
2015-09-28 14:53:12 +01:00
Matthias Radestock
356d06915b
refactor weave script http calls
...
- inline http_call into call_weave
- rename http_call_ip to http_call
- make http_call take the IP & port as one single "address" argument
instead of separate args
2015-09-28 12:43:09 +01:00
Tom Wilkie
2b4fd738da
Review feedback
2015-09-28 09:05:10 +00:00
Tom Wilkie
f9de6df426
Publish latest images from CI on successful builds.
...
This time rebuild without insturmentation first.
2015-09-28 08:27:21 +00:00
Tom Wilkie
8ee409d9bd
Run tests in a separate container.
2015-09-25 06:19:00 +00:00
Matthias Radestock
0cf3de4541
Merge pull request #1446 from weaveworks/smoke-subdomains
...
Add smoke-test for subdomains
2015-09-24 15:55:57 +01:00
Bryan Boreham
3a79be7426
Add smoke-test for subdomains
2015-09-24 14:48:39 +01:00
David Wragg
30589bb580
Mention the mailing list
2015-09-24 14:40:20 +01:00
Matthias Radestock
e07b18bb18
Merge branch '1.1'
2015-09-24 12:08:13 +01:00
Matthias Radestock
63e3f441d8
cosmetic: link to relevant RFC section for ARP announcements
2015-09-24 12:07:12 +01:00
Tom Wilkie
b31eb3db82
Merge remote-tracking branch 'upstream/1.1'
2015-09-24 03:54:09 +00:00
Tom Wilkie
99ae38c9a6
Merge pull request #1467 from weaveworks/docker-machine
...
Update for docker/machine PR #1729
2015-09-24 11:53:21 +08:00
Tom Wilkie
011f96c6a7
New test image using docker 1.8
2015-09-24 03:42:44 +00:00
Tom Wilkie
c7b4136d31
Update for docker/machine PR #1729
2015-09-24 03:25:30 +00:00
Bryan Boreham
da2f98fa8f
Remove workaround for upstream, no longer required
2015-09-23 10:15:06 +01:00
Tom Wilkie
7ac532a1d0
Merge pull request #1454 from weaveworks/1433-docker-1.8
...
New test image using docker 1.8
2015-09-23 10:16:06 +08:00
Matthias Radestock
b98ab70517
Merge branch '1.1'
2015-09-22 21:18:32 +01:00
Matthias Radestock
b1d453a0c2
Merge pull request #1460 from weaveworks/simplify-ipam-cidrs
...
Simplify ipam_cidrs function in weave script
2015-09-22 21:17:42 +01:00
Bryan Boreham
a51f63267a
Merge 0-args case in ipam_cidrs() and simplify loop
2015-09-22 21:06:12 +01:00
Matthias Radestock
0bdc84d42a
Merge branch '1.1'
2015-09-22 16:28:05 +01:00
Matthias Radestock
7f74ae7912
Merge pull request #1426 from weaveworks/1418-clean-cancel
...
Handle cancelled allocation in 'weave attach'
Fixes #1418 .
2015-09-22 16:27:27 +01:00
Bryan Boreham
abf13c7026
Simplify detection of issues
2015-09-22 16:14:14 +01:00
Matthias Radestock
7d7c5ce63e
Merge pull request #1449 from weaveworks/1368-start-hostconfig
...
Override sneaky /start HostConfig params
Fixes #1368 .
2015-09-22 15:11:36 +01:00
Paul Bellamy
547c9e7f5a
Removing confusing variable from getDNSDomain, just return "" when disabled
2015-09-22 15:09:32 +01:00
Paul Bellamy
3e4d8a3ffe
review feedback
2015-09-22 15:09:32 +01:00
Paul Bellamy
74c3b0d079
[proxy] Override sneaky /start HostConfig params
2015-09-22 15:09:32 +01:00
Paul Bellamy
846aa98a9c
renaming test so it runs
2015-09-22 14:52:28 +01:00
Matthias Radestock
17b7789531
Merge pull request #1456 from weaveworks/fix-race-condition
...
[proxy] fix race condition when waiting for containers to start
2015-09-22 14:51:43 +01:00
Paul Bellamy
b86d9bf1ab
[proxy] fix race condition when waiting for containers to start
...
If ContainerStarted fired before the response handler, then the "waiter"
chan would be nil, and the response handler would hang.
2015-09-22 12:50:36 +01:00
Tom Wilkie
6e06ce2af1
New test image using docker 1.8
2015-09-22 05:31:26 +00:00
David Wragg
dc275d7009
Restore sleeve compatibility with 1.1
...
Addresses #1396
2015-09-21 08:33:11 +01:00
David Wragg
a67b9f566a
Use consistent options for all "go get"/"go build" invocations
...
Without this, building with go-1.5 fails with
go get ./prog/weavewait
go install net: open /usr/local/go/pkg/linux_amd64/net.a: permission denied
This makes the options passed too "go get"/"go build" consistent for
all executables. So it should be safe with go-1.4.
2015-09-20 19:58:04 +01:00
Michael Bridgen
9344289262
Merge pull request #1445 from weaveworks/docs-ecs-amis
...
Document ECS integration
2015-09-17 14:43:38 +01:00
Alfonso Acosta
6713282a43
Link to ECS AMIs from README
2015-09-17 13:27:32 +00:00
Matthias Radestock
f834626f00
Merge pull request #1414 from weaveworks/1285-autoconfig-boot2docker-tls
...
Proxy TLS autoconfiguration
Closes #1285 .
2015-09-16 15:49:20 +01:00
Bryan Boreham
98b80c59d9
Detect cancelled allocation more cleanly
...
to avoid the weave script trying to parse an error message as a CIDR
2015-09-16 14:14:40 +01:00
Bryan Boreham
1beaf79e47
Refactor: extract duplicated code into helper functions
2015-09-16 14:14:30 +01:00
Paul Bellamy
0a475bd4cc
docker_tls_args should look for '-d' or 'daemon' to handle docker 1.8 change
2015-09-16 13:25:29 +01:00
Paul Bellamy
0820c484d6
[proxy] Documenting TLS autoconfig
2015-09-16 10:44:18 +01:00
Paul Bellamy
dbf39403d3
[proxy] Autoconfigure TLS based on daemon settings
...
With this on OSX you can:
```sh
$ boot2docker init
$ boot2docker up
$ eval $(boot2docker shellinit)
$ weave launch
$ eval $(weave env)
```
2015-09-16 10:44:17 +01:00
Matthias Radestock
14dde9ec32
Merge branch '1.1'
2015-09-15 16:47:05 +01:00
Matthias Radestock
8e656c1fd7
Merge pull request #1429 from weaveworks/1424-fix-cancel
...
Use explicit index into operations slice in cancelOpsFor()
Fixes #1424
2015-09-15 16:45:11 +01:00
Bryan Boreham
d55c68c248
Review feedback
2015-09-15 16:18:37 +01:00
Matthias Radestock
3c266dce8c
Merge branch '1.1'
2015-09-15 15:51:36 +01:00
Matthias Radestock
8ec3ab5e28
Merge pull request #1435 from weaveworks/update-vagrantfile-docker-repos
...
Update docker repo, keys and package name
2015-09-15 15:49:33 +01:00
Matthias Radestock
f7be34f5bb
Merge branch '1.1'
2015-09-15 15:44:53 +01:00
Matthias Radestock
58a30f7282
Merge branch 'latest_release_doc_updates' into 1.1
2015-09-15 15:44:15 +01:00
Matthias Radestock
2b5c2874ab
remove 'lxc-docker' reference from build-on-ubuntu instructions
...
...since the Docker docs have been updated to install docker-engine.
2015-09-15 15:34:44 +01:00
Matthias Radestock
64b47ca3c7
Merge branch '1.1'
2015-09-15 13:17:06 +01:00
Matthias Radestock
bed11f4214
Merge pull request #1431 from weaveworks/issues/1397-strip-version-prefix
...
Automatically strip 'v' prefix for mainline and branch releases
Fixes #1397 .
2015-09-15 13:15:49 +01:00
Adam Harrison
bbf7646751
Update docker repo, keys and package name
2015-09-15 11:33:53 +01:00
Adam Harrison
6dfefb95e8
Advise installation of weaveworks github-release fork
2015-09-15 10:47:43 +01:00
Adam Harrison
44c2861aba
Update release process doc
2015-09-15 10:41:41 +01:00
Adam Harrison
3039046a6d
Strip v prefix for mainline and branch releases
2015-09-15 10:41:24 +01:00
Paul Bellamy
e39974eb07
Merge pull request #1210 from weaveworks/401-proxy-start-events
...
make proxy attach network on docker start event
2015-09-15 10:18:48 +01:00
Bryan Boreham
76895c76a1
Use Mutex instead of RWMutex, for simplicity
2015-09-14 17:11:56 +01:00
Bryan Boreham
a7e0f03647
Use explicit index into operations slice in cancelOpsFor()
...
to avoid mis-indexing when more than one op is removed
2015-09-14 17:02:35 +01:00
Bryan Boreham
98e8ef4e11
Merge remote-tracking branch 'upstream/1.1'
2015-09-14 16:33:12 +01:00
Bryan Boreham
5635ba1fd0
Update out-dated error message
2015-09-14 16:31:37 +01:00
Adam Harrison
2ffe9b53f7
Merge branch '1.1'
2015-09-14 14:21:36 +01:00
Adam Harrison
dd0eee6418
Merge pull request #1411 from weaveworks/1405-arping-dynamic-attach-1
...
always arp_update new addresses in 'attach'
2015-09-14 14:20:21 +01:00
Paul Bellamy
405c2889f0
Merge pull request #1415 from weaveworks/1341_report_snapshot_versions
...
correctly report snapshot versions
2015-09-14 10:45:29 +01:00
Matthias Radestock
40cf392504
cosmetic: vertical alignment in version output
2015-09-11 15:56:17 +01:00
Matthias Radestock
42baa03985
report the proxy version instead of weaveexec version
...
That way we no longer rely on the weavexec image version tag, which
may not always be present. Since the proxy is embedded in the
weaveexec image, this effectively versions the image.
Also report the *local* script version instead of the embedded script
version. There is no point in reporting the latter since it will
always match the weaveexec version.
Closes #1341 .
2015-09-11 15:52:50 +01:00
Matthias Radestock
016f20b2d4
Merge branch '1.1'
2015-09-11 14:07:59 +01:00
Matthias Radestock
83ef93f3fb
detect running proxy regardless of version
...
Fixes #1413 .
2015-09-11 14:06:44 +01:00
Matthias Radestock
d5faf31d43
Merge remote-tracking branch 'upstream/master'
2015-09-11 13:36:59 +01:00
David Wragg
12324e3550
Revert "Make weave build under go1.5; use our build flags for go get, and force stuff to be static."
...
This reverts commit 5860492a38 .
Although the build works under 1.4, this change had an unfortunate
impact (see #1412 ).
2015-09-11 13:31:15 +01:00
Matthias Radestock
ff67499562
cosmetic
2015-09-11 13:30:22 +01:00
Matthias Radestock
2ba5abc2bb
rename 'VERSION' to 'WEAVE_VERSION'
...
to avoid potential accidental clashes with user's environment.
Closes #1389 .
2015-09-11 11:02:51 +01:00
Matthias Radestock
f7dfe9dd23
always arp_update new addresses in 'attach'
...
Previously we'd only do that when the container had no ethwe at the
start. Therefore adding a recycled IP address to an already attached
container would not send out an arp update for that IP, which would
break connectivity to that IP for containers which had previously
accessed that IP.
Fixes #1405 .
2015-09-10 18:43:49 +01:00
Adam Harrison
3d4a8aaad1
Merge branch '1.1'
2015-09-10 17:24:26 +01:00
Adam Harrison
ac145052d6
Correct weave stop advice
...
Fixes #1408 .
2015-09-10 17:23:33 +01:00
Matthias Radestock
4ded1f6193
Merge branch '1.1'
2015-09-09 20:06:34 +01:00
Matthias Radestock
7a41337d17
Merge branch 'latest_release_doc_updates' into 1.1
2015-09-09 20:06:14 +01:00
Matthias Radestock
2d006dffaf
add link to latest release to docs homepage
...
Closes #1400 .
2015-09-09 20:04:37 +01:00
Matthias Radestock
940a0a67a5
Merge branch '1.1'
2015-09-09 19:54:46 +01:00
Matthias Radestock
69c935a6e8
Make latest_release description link to real release
...
Closes #1399 .
2015-09-09 19:52:08 +01:00
Adam Harrison
be304365a0
Merge branch '1.1'
2015-09-09 14:26:34 +01:00
Adam Harrison
676127893f
Escape double curly braces eaten by Jekyll/Liquid
2015-09-09 14:21:31 +01:00
Adam Harrison
df62d512cd
Correct weave report example in troubleshooting guide
2015-09-09 14:00:53 +01:00
Adam Harrison
fc00767cf8
Remove reference to 1.0 from README
2015-09-09 13:56:25 +01:00
David Wragg
2163b39268
Merge weaveworks/go-1.5 (PR #1386 )
...
Make Weave build & work with Go 1.5
2015-09-09 12:23:57 +01:00
Matthias Radestock
aa61cbd574
Merge pull request #1388 from weaveworks/alpine
...
gliderlabs/alpine is now just alpine
2015-09-08 14:01:40 +01:00
Adam Harrison
2a89d53d7d
Merge pull request #991 from dpw/fdp-prep
...
Fast datapath preparations
2015-09-08 13:19:03 +01:00
David Wragg
f7ce6a1fdb
Injected packets shouldn't happen in handleCapturedPacket
...
Check for them just in case, but don't take an extra lock to do it.
2015-09-08 10:46:04 +01:00
David Wragg
20b35f3139
Add NewPeerFromSummary
...
To reduce the number of places that are explicit about which values
go into a new Peer.
2015-09-08 10:46:02 +01:00
David Wragg
46d454730f
Notify the Overlay when routes change
2015-09-08 10:44:57 +01:00
David Wragg
c2ad4c5633
Flows
...
For fast datapath, the router core will only be invoked upon datapath
misses. And it needs to yield routing decisions in a form that can be
used to configure the in-kernel datapath. So here we make the router
core yield FlowOps, which represent operations which actually do
something with a packet. The router core obtains these in turn from
the Bridge or the Overlay, depending on what it wants to do with
a packet.
For fast datapath, it's critical that the router makes decisions based
only on the required packet header information (as the same header
information will be used when configuring the ODP flow rules). So we
pass only that information into the router core, in the form of
PacketKeys.
The overall effect is to curry the router core: Rather than taking a
packet and doing something with it, it takes packet header information
and returns a function that does something with a packet.
2015-09-08 10:44:52 +01:00
David Wragg
6e0795253e
Move ICMP frag-needed handling into sleeveForwarder
2015-09-08 10:44:52 +01:00
David Wragg
9956d422f2
Introduce Overlay / sleeve
...
This introduces interfaces to represent the packet forwarding
mechanism, and brings all the scattered UDP-related code together into
a single implementation.
This is not a pure refactoring, although much of the code in sleeve.go
has been copied from pre-existing code, and the UDP protocol remains
the same in spirit. The biggest change is the organization of the
forwarder goroutines (there is now one instead of two, and that
goroutine does a lot of auxiliary work as well as forwarding).
Performance testing between VMs on my laptop suggests that packet
throughput has not gone down, and may even have improved slightly.
2015-09-08 10:44:44 +01:00
David Wragg
57e78e2bec
Introduce Bridge
2015-09-08 10:44:37 +01:00
David Wragg
5aa58e6043
go 1.5 broke PMTU detection
2015-09-07 17:31:18 +01:00
Adam Harrison
64e3cf04cc
Add release v1.1.0
2015-09-07 16:43:03 +01:00
Adam Harrison
4f9185e3fe
Merge branch 'weave_1.1_readme_updates'
2015-09-07 16:38:28 +01:00
Adam Harrison
4dbccea5df
Add missing quotes
2015-09-07 16:38:02 +01:00
Adam Harrison
a412268154
Merge branch '1.0'
2015-09-07 15:59:17 +01:00
Tom Wilkie
5860492a38
Make weave build under go1.5; use our build flags for go get, and force stuff to be static.
2015-09-07 14:45:17 +00:00
Matthias Radestock
d79ac3c12c
Merge pull request #1387 from weaveworks/issues/1383-switch-release-behaviour-on-type
...
Only update DockerHub `latest` images on mainline release
Fixes #1383 .
2015-09-07 12:53:07 +01:00
Matthias Radestock
85c309eee0
fix broken link
2015-09-05 16:04:21 +01:00
Matthias Radestock
f782fb569f
Merge pull request #1391 from weaveworks/1390-use-number
...
Stop marshalling numbers as floats
Fixes #1390 .
2015-09-04 20:15:58 +01:00
Bryan Boreham
c50968a0a4
Stop marshalling numbers as floats
2015-09-04 20:01:31 +01:00
Matthias Radestock
99b482b363
Merge pull request #1384 from weaveworks/dns-hostname-from-labels
...
[proxy] Add --hostname-from-label
Closes #1381 .
2015-09-04 17:14:44 +01:00
Alfonso Acosta
ce5dd847e9
[proxy] Add --hostname-from-label
...
This allows registering container hostnames based on a label provided when
creating the container.
2015-09-04 17:02:07 +01:00
Adam Harrison
5c0383059e
Update documentation
2015-09-04 15:45:27 +01:00
Adam Harrison
6f672f9bc1
Infer release type
...
Script adjusts its behaviour based on the format of the version tag.
2015-09-04 15:44:48 +01:00
Paul Bellamy
e74b6cbcaf
gliderlabs/alpine is now just alpine
2015-09-04 14:33:18 +01:00
Matthias Radestock
32a82f2d0e
Merge pull request #1376 from weaveworks/1199-proxy-kubernetes
...
[proxy] add --rewrite-inspect flag
Fixes #117 . Fixes #1199 .
2015-09-04 14:27:16 +01:00
Matthias Radestock
633df0cdaf
refactor: extract docker API endpoint regexp creation
2015-09-04 13:40:07 +01:00
Paul Bellamy
32a12578f3
Don't use go-dockerclient to en/decode inspects in the proxy
2015-09-04 13:40:07 +01:00
Paul Bellamy
11b655154c
"Clarifying" proxy --rewrite-inspect documentation
2015-09-04 13:40:07 +01:00
Paul Bellamy
19ceb424c3
[proxy] refactoring out common marshalling logic
2015-09-04 13:40:07 +01:00
Paul Bellamy
e21a204eed
[proxy] add --rewrite-inspect flag
...
To return the weave ip/mac for docker inspect calls.
2015-09-04 13:40:06 +01:00
Bryan Boreham
145a527626
Merge pull request #1379 from awh/issues/1369-weave-dns-add-remove-optional-ip
...
LGTM. Fixes #1369
2015-09-04 12:13:38 +01:00
Paul Bellamy
b33bbdb3f8
Merge commit '704e6a8'
2015-09-04 10:41:27 +01:00
Paul Bellamy
704e6a8676
errcheck says I should handle this case
2015-09-04 10:40:47 +01:00
Matthias Radestock
4c6a8f29c0
Merge pull request #1372 from weaveworks/issues/880-draft-releases
...
Support draft and pre-releases in `bin/release`
Fixes #880 . Fixes #909 .
2015-09-03 15:54:07 +01:00
Adam Harrison
5dfe1d28ff
Add release 1.0.3
2015-09-03 15:02:57 +01:00
Adam Harrison
5744ed8994
Document release process
2015-09-03 13:01:29 +01:00
Matthias Radestock
c71d9b126f
Merge pull request #1380 from weaveworks/598-update-docs
...
Update docs for mixed manual and automatic IP allocation
Missed from #1200 .
2015-09-03 12:27:24 +01:00
Bryan Boreham
5b437d2199
Update docs for mixed manual and automatic IP allocation
2015-09-03 12:17:31 +01:00
Adam Harrison
0125e67b35
Implement smoke test
2015-09-03 09:59:37 +01:00
Adam Harrison
1472e35011
Update documentation
2015-09-03 09:59:37 +01:00
Adam Harrison
58ea422ea2
Optional address argument to dns-add/dns-remove
2015-09-02 17:10:48 +01:00
Adam Harrison
3097565664
Merge branch '1.0'
...
Conflicts:
site/weavedns.md
2015-09-02 17:09:39 +01:00
Adam Harrison
81134b408d
Merge branch 'latest_release_doc_updates' into 1.0
2015-09-02 17:07:48 +01:00
Adam Harrison
26fdd5da03
Remove misplaced sentence
2015-09-02 17:06:23 +01:00
Adam Harrison
6a5df80bda
Fix latest_release hash test
...
Obtain the version and latest_release tag commit hashes before changing
into the cloned repository so that all tagging and pushing happens on
the outer repository.
2015-09-02 14:13:11 +01:00
Bryan Boreham
1e2344341d
Wait for container to be attached before returning from {re}start request
2015-09-01 17:48:22 +01:00
Bryan Boreham
b712ba1e04
Extend test to cover containers restarting automatically
2015-09-01 17:48:22 +01:00
Bryan Boreham
9ae6435317
Attach existing weave containers at startup
2015-09-01 17:48:22 +01:00
Bryan Boreham
81e8ba223f
Do network attach on docker event rather than intercepting start and restart commands.
...
This means it also works when the docker daemon restarts a container.
2015-09-01 17:48:12 +01:00
Adam Harrison
b13baccbd2
Introduce draft step
...
The publish stage has been split into two pieces - a draft step that
creates a draft version release in Github and a publish step that
publishes the draft, updates `latest_release` and pushes images to
DockerHub.
It is also possible to specify `--pre-release` to draft. Once published
such a release will be marked with a prominent warning in GitHub;
additionally we do not update `latest_release` in GitHub nor push an
update to the `latest` tag in DockerHub.
2015-09-01 17:04:11 +01:00
Adam Harrison
82f2f7b2b9
Check for required tooling at top level
...
Pull common checks out to top level in preparation for the introduction
of an additional process step.
2015-09-01 17:04:11 +01:00
Adam Harrison
f48a4373d1
Allow freeform version tags
...
To support arbitrarily named pre-releases we no longer impose any
restrictions on the format of the most recent annotated tag - instead we
expect to find a single annotated tag pointing at HEAD of the current
branch and assume this is the version to release.
2015-09-01 17:04:11 +01:00
Adam Harrison
ab9d1777a1
Support make UPDATE_LATEST=false publish
...
When publishing pre-releases via the release script we do not want to
modify the `latest` tag in DockerHub - specifying UPDATE_LATEST=false
causes publish to push to $WEAVE_VERSION only. Omitting the flag
entirely retains the existing behaviour for backwards compatability.
2015-09-01 17:04:11 +01:00
Bryan Boreham
6a34995796
Merge pull request #1370 from weaveworks/docker-py-test-matcher
...
LGTM. Fixes #1367
2015-09-01 16:47:24 +01:00
Bryan Boreham
df25f84011
Merge pull request #1375 from weaveworks/1373-document-no-rewrite-hosts
...
LGTM. Fixes #1373
2015-09-01 15:01:51 +01:00
Paul Bellamy
cead9579be
document --no-rewrite-hosts flag
2015-09-01 11:01:45 +01:00
Paul Bellamy
a23c0237c3
using --collect-only so we don't miss tests
2015-09-01 10:50:13 +01:00
Matthias Radestock
5c3efbdca0
Merge pull request #1366 from weaveworks/python-call-changed
...
Fix docker api proxy smoke-tests after docker-py change
2015-08-28 20:50:35 +01:00
Bryan Boreham
176ee73efe
Ensure we have the busybox image
2015-08-28 20:34:43 +01:00
Bryan Boreham
54833195ed
Call to docker-py changed upstream
2015-08-28 20:34:43 +01:00
Matthias Radestock
8960a3a898
Merge branch '1.0'
...
Conflicts:
proxy/create_exec_interceptor.go
test/600_proxy_docker_py_test.sh
2015-08-28 20:29:43 +01:00
Matthias Radestock
8184d29d4a
Merge pull request #1367 from weaveworks/1.0-python-call-changed
...
Fix docker api proxy smoke-tests after docker-py change
2015-08-28 20:22:22 +01:00
Matthias Radestock
fef91b5339
comment
2015-08-28 18:09:23 +01:00
Matthias Radestock
24de98e188
refactor
2015-08-28 18:08:24 +01:00
Matthias Radestock
6291a89665
Merge pull request #1314 from weaveworks/1209-wait-iface-netlink
...
Wait for ethwe via netlink, not via polling or signals
Fixes #1209 . Fixes #1258 . Fixes #1300 .
2015-08-28 17:44:55 +01:00
Bryan Boreham
a45e5ac152
Test calling 'start' with a HOST_CONFIG not supplied to 'create'
2015-08-28 16:20:31 +01:00
Paul Bellamy
6b5f35e574
[proxy] Only replace the request body if we've modified it.
...
This is a temporary fix for a failure in docker-py tests:
"test_valid_no_config_specified".
2015-08-28 15:09:33 +01:00
Matthias Radestock
244a679f90
Merge pull request #1349 from weaveworks/issues/1266-detect-adverse-firewall-config
...
Warn on detection of REJECT rule in FORWARD chain
Fixes #1266 .
2015-08-28 12:22:23 +01:00
Matthias Radestock
1a9909e3e2
also warn on weave reset when env's DOCKER_HOST points to proxy
...
This was missed in #1327 .
2015-08-28 09:34:18 +01:00
Matthias Radestock
6655974ef3
cosmetic: tidy up log messages
2015-08-28 09:12:42 +01:00
Matthias Radestock
cdf4fb605a
Merge branch '1.0'
2015-08-27 20:04:04 +01:00
Michael Bridgen
bca31c7335
Merge pull request #1365 from weaveworks/1356_ignore_interface_deletion_errors_in_weave_reset
...
ignore interface deletion errors during `weave reset`
2015-08-27 15:38:16 +01:00
Bryan Boreham
7652b44c21
Ensure we have the busybox image
2015-08-27 15:14:06 +01:00
Bryan Boreham
6fce798164
Factor out deserializeRoute() func
2015-08-27 15:10:31 +01:00
Bryan Boreham
7801dcd849
Factor out common loop receiving from netlink
2015-08-27 15:10:31 +01:00
Bryan Boreham
2eed101a93
In weavewait, wait for the multicast route to be added before calling container entrypoint.
...
We have moved the 'route add' command to the end of 'attach', so this
indicates that all network interface set-up is complete.
2015-08-27 15:10:31 +01:00
Bryan Boreham
3d25620d13
In proxy, rewrite /etc/hosts from 'weave attach', via new utility weavehosts
2015-08-27 15:03:41 +01:00
Bryan Boreham
6e89b036e2
Wait for ethwe via netlink, not via polling or signals
...
('docker kill' breaks restart policy)
2015-08-27 15:03:41 +01:00
Michael Bridgen
8b5992e43f
Merge pull request #1290 from weaveworks/labels
...
Add role label to weave containers so scope can filter
2015-08-27 15:00:15 +01:00
Bryan Boreham
548b4aea40
Call to docker-py changed upstream
2015-08-27 14:54:20 +01:00
Tom Wilkie
42b64f826b
Merge pull request #1358 from weaveworks/1357-dns-reverse-tombstone
...
Make reverse dns lookups honor tombstones.
2015-08-27 14:25:23 +01:00
Tom Wilkie
95379b0c5a
Add works.weave.role=system label to weave containers.
2015-08-27 12:22:34 +00:00
Matthias Radestock
f5918a3c14
remove dead code
...
since #1248
2015-08-27 08:42:48 +01:00
Matthias Radestock
1df752cd33
ignore interface deletion errors during weave reset
...
These can occur when a container dies during `weave reset`.
Fixes #1356 .
2015-08-27 07:54:51 +01:00
Tom Wilkie
a1f5d90323
Merge pull request #1363 from weaveworks/1362-fix-quoted-params
...
Fix test 295
2015-08-26 13:46:49 +01:00
Bryan Boreham
5289a380f2
Use $* instead of $@ to get the desired quoting
2015-08-26 12:31:38 +01:00
Tom Wilkie
914c88454d
Review feedback
2015-08-25 16:53:21 +00:00
Tom Wilkie
46363f4129
Make reverse dns lookups honor tombstones.
2015-08-25 12:01:09 +00:00
Michael Bridgen
bd19b86259
Merge pull request #1352 from weaveworks/doc-format
...
Small improvements in features doc
2015-08-25 12:56:56 +01:00
Tom Wilkie
db2e7e4ba1
Merge pull request #1355 from weaveworks/1343-docker-bridge-in-resolv-conf
...
Pass docker bridge ip to dns server, and filter it out of upstream dns ips.
2015-08-25 09:48:06 +01:00
Bryan Boreham
760f419e8f
Merge pull request #1354 from weaveworks/1347-dns-tombstone-comment
...
Lgtm. Closes #1347
2015-08-24 17:05:54 +01:00
Tom Wilkie
58ae0cd113
Pass docker bridge ip to dns server, and filter it out of upstream dns ips.
2015-08-24 16:00:26 +00:00
Tom Wilkie
4809c113b3
Update comment.
2015-08-24 15:43:31 +00:00
Ilya Dmitrichenko
6d0db90f43
Revert "Merge pull request #1337 from weaveworks/1295-push-on-green"
...
This reverts commit 5054805ac6 , reversing
changes made to 396df6bcda .
2015-08-24 14:22:36 +01:00
Ilya Dmitrichenko
75fb8f6ebf
Revert "need to be in gopath to run make publish"
...
This reverts commit 130cf6eb2b .
2015-08-24 14:22:29 +01:00
Bryan Boreham
26739463a4
Escape a minus character to stop it being taken as a bullet, and clarify which example we are talking about
2015-08-24 14:19:14 +01:00
Paul Bellamy
130cf6eb2b
need to be in gopath to run make publish
2015-08-24 11:10:59 +01:00
Paul Bellamy
5054805ac6
Merge pull request #1337 from weaveworks/1295-push-on-green
...
Publish latest images from CI on successful builds.
2015-08-24 10:58:14 +01:00
Adam Harrison
ca94cfffe7
Detect REJECT rule in FORWARD chain
2015-08-21 16:25:49 +01:00
Matthias Radestock
396df6bcda
Merge pull request #1348 from weaveworks/1345-1332-dns-response-size
...
Unify logic to tell if DNS response is too big.
Fixes #1345 , fixes #1332
2015-08-21 14:03:00 +01:00
Matthias Radestock
58dafbfa9d
Merge pull request #1344 from weaveworks/refactor-dns-handlers
...
Refactor dns handlers
2015-08-21 13:44:57 +01:00
Tom Wilkie
8516ab7c69
Unify logic to tell if DNS response is too big.
2015-08-21 12:39:12 +00:00
Matthias Radestock
2284bc2120
move error response construction to handler
...
and implement it in terms of existing functions, plus provide a
convenience method for sending the rather common NameError.
2015-08-21 12:09:22 +01:00
Matthias Radestock
31a490bfe6
ensure that make publish publishes up-to-date images
...
otherwise the git revision based image tag doesn't match what is in
the image.
2015-08-21 09:34:08 +01:00
Matthias Radestock
0b5f5fd74e
extract response writing
2015-08-20 20:24:12 +01:00
Matthias Radestock
9a7abe68fd
optimise response construction when no truncation is required
...
no need to do a binary search if all the answers fit
2015-08-20 20:18:56 +01:00
Matthias Radestock
2ea27ec08f
simplify response truncation
2015-08-20 19:55:19 +01:00
Matthias Radestock
322441d5c8
inline truncateResponse
2015-08-20 19:55:19 +01:00
Matthias Radestock
7c7c302920
extract response construction
2015-08-20 19:17:03 +01:00
Matthias Radestock
69986e77dd
cosmetic
2015-08-20 18:46:55 +01:00
Matthias Radestock
8182022d52
refactor dns handlers
...
introduce a handler struct, which
- enables lifting of all the handle* closures to methods
- eliminates the passing around of defaultMaxResponseSize
- reduces the number of free-floating functions
2015-08-20 18:27:58 +01:00
Matthias Radestock
b075e93319
Merge pull request #1324 from weaveworks/1321_elminate_misleading_flag_parsing_error
...
eliminate misleading flag parsing error
Fixes #1321 .
2015-08-20 17:34:32 +01:00
Matthias Radestock
fd6d15e712
eliminate misleading flag parsing error
...
The standard mflags error reporting produces s.t. like
```
flag provided but not defined: -p
See '/home/weave/weaver --help'.
```
on stderr. This is misleading since the program name is container
local, so not something the user actually invoked.
Fixes #1321 .
2015-08-20 17:19:48 +01:00
Matthias Radestock
f399c3a888
Merge branch '1.0'
...
Conflicts:
ipam/ring/ring_test.go
2015-08-20 16:32:09 +01:00
Matthias Radestock
79d1c404a7
Merge pull request #1342 from weaveworks/1336-fix-ring-fuzztest
...
Fix ring fuzz-test
Fixes #1336 .
2015-08-20 16:25:50 +01:00
Adam Harrison
1e83e7a95c
Merge branch '1.0'
2015-08-20 15:33:59 +01:00
Adam Harrison
086ab9d126
Correct MaxUDPPacketSize constant
2015-08-20 15:22:10 +01:00
Tom Wilkie
8a7821a15b
Publish latest images from CI on successful builds.
2015-08-20 14:20:32 +00:00
Bryan Boreham
135c34a45a
Don't remove peer from table until after we've copied its entries out
2015-08-20 13:11:51 +01:00
Bryan Boreham
ca6e54890c
Fix Transfer() when removing a peer, so we actually target the other peer.
2015-08-20 13:11:51 +01:00
Tom Wilkie
dac219b64a
Merge pull request #1339 from weaveworks/revert-1338-1336-check-len
...
Revert "In ipam ring unit test, check if we have any peers with entri…
2015-08-20 12:23:06 +01:00
Tom Wilkie
790a1757e0
Revert "In ipam ring unit test, check if we have any peers with entries to avoid crash "
2015-08-20 12:18:34 +01:00
Tom Wilkie
aafa0f6783
Merge pull request #1338 from weaveworks/1336-check-len
...
In ipam ring unit test, check if we have any peers with entries to avoid crash
2015-08-20 12:15:27 +01:00
Bryan Boreham
df5426dd8b
Check if we have any peers with entries, to avoid crash
2015-08-20 11:57:56 +01:00
Adam Harrison
3803d79835
Merge pull request #1335 from weaveworks/1328_handle_invalid_status_sub_command
...
better error handling for invalid `weave status` sub-command
2015-08-20 11:48:01 +01:00
Matthias Radestock
ceff3bed28
better error handling for invalid weave status sub-command
...
instead of showing '404 page not found'
Fixes #1328 .
2015-08-20 11:14:59 +01:00
Matthias Radestock
eebdbe226b
Merge pull request #1325 from weaveworks/1322_handle_usage_locally
...
deal with `weave --help|help` locally
Fixes #1322 .
2015-08-20 10:13:45 +01:00
Matthias Radestock
8ab639ddaa
deal with weave --help|help locally
...
thus making them unaffected by docker breakages
Fixes #1322 .
2015-08-20 10:03:21 +01:00
Matthias Radestock
812579a139
Merge pull request #1326 from weaveworks/576_better_version_check
...
better docker version check
Fixes #576 .
2015-08-19 21:31:43 +01:00
Matthias Radestock
08f31886d6
better docker version check
...
Fixes #567 . Supersedes #1298 .
2015-08-19 21:20:14 +01:00
Matthias Radestock
f080e5aa5c
Merge pull request #1331 from weaveworks/clarify-test-160
...
clarify test 160
2015-08-19 20:41:59 +01:00
Matthias Radestock
d61c719e45
cosmetic
2015-08-19 20:39:16 +01:00
Bryan Boreham
4d49bf3ab9
Add comment to clarify the reason why there is no explicit 'assert' test at the end.
2015-08-19 16:54:24 +01:00
Matthias Radestock
f34f837106
Merge branch '1.0'
...
Conflicts:
weave
2015-08-19 16:38:55 +01:00
Matthias Radestock
1326994a6d
Merge pull request #1319 from weaveworks/dns-tcp
...
Expose dns server on tcp as well as udp
Fixes #1333 .
2015-08-19 16:34:09 +01:00
Matthias Radestock
99ab0d3abc
Merge branch '1.0'
2015-08-19 11:29:23 +01:00
Matthias Radestock
e61f9afb72
Merge pull request #1330 from weaveworks/1329_plug_gossip_sender_leak
...
plug GossipSender leak
Fixes #1329 .
2015-08-19 11:26:25 +01:00
Matthias Radestock
29c64b1f40
document weave env --restore
...
leftover from #1327
2015-08-19 11:20:10 +01:00
Bryan Boreham
db51b772b4
Merge pull request #1327 from weaveworks/1288_restore_env
...
Closes #1288
2015-08-19 10:54:43 +01:00
Matthias Radestock
0b764a2a27
plug GossipSender leak
...
GossipChannel.sendDown is the (only) place which creates
GossipSenders. It has two call sites, Send and SendDown, only the
former of which performed a gc of existing senders. Therefore, in
configurations with
- a lot of connection churn, and
- SendDown invocations for these connections, and
- few or no Send invocations
we can leak GossipSenders.
The most likely scenario for this to occur is a peer that, while
having no other connections, is making/accepting connections which get
torn down post handshake, e.g. because IPAM detected a clash.
Fixes #1329 .
2015-08-19 10:22:11 +01:00
Matthias Radestock
a93a3e98b9
warn when stopping proxy when the env is using it
2015-08-18 18:08:02 +01:00
Matthias Radestock
be94dcc8a3
introduce weave env --restore
...
`weave env` stashes the existing DOCKER_HOST in ORIG_DOCKER_HOST, and
`weave env --restore` sets DOCKER_HOST to $ORIG_DOCKER_HOST.
Closes #1288 .
2015-08-18 17:20:21 +01:00
Matthias Radestock
a34b31ad12
refactor: make proxy_addr more single purpose
2015-08-18 15:40:58 +01:00
Matthias Radestock
e1d07aa264
cosmetic
2015-08-18 15:34:43 +01:00
Matthias Radestock
0d79a8fc43
cosmetic
2015-08-18 15:08:59 +01:00
Matthias Radestock
5d1411830b
Merge branch '1.0'
2015-08-18 13:33:36 +01:00
Matthias Radestock
dc91ce9ec6
Merge branch 'latest_release_doc_updates' into 1.0
2015-08-18 13:33:15 +01:00
Matthias Radestock
36a857f343
remove "Contact information" link on docs home page
...
It's broken, and we have a link in the footer anyway.
Fixes #1260 .
2015-08-18 13:31:28 +01:00
Matthias Radestock
c1c5450caf
more idiomatic logger initialisation, with standard default log level
2015-08-18 12:04:48 +01:00
Bryan Boreham
0b4e8b8754
Merge pull request #1318 from weaveworks/1305_suppress_self_reconnection
...
lgtm. Fixes #1305 .
2015-08-18 11:14:15 +01:00
Matthias Radestock
f73dcba306
eliminate spurious warning when --ipalloc-range=""
...
Fixes #1320 .
2015-08-18 09:50:42 +01:00
Ilya Dmitrichenko
147a537b82
We are not using gcloud, but it cause a conflict
...
https://s3.amazonaws.com/archive.travis-ci.org/jobs/76062893/log.txt
2015-08-18 09:47:37 +01:00
Ilya Dmitrichenko
a4844b8ee7
We are not using gcloud, but it cause a conflict
...
https://s3.amazonaws.com/archive.travis-ci.org/jobs/76062893/log.txt
2015-08-18 09:46:09 +01:00
Ilya Dmitrichenko
acde6cb0ee
We are not using gcloud, but it cause a conflict
...
https://s3.amazonaws.com/archive.travis-ci.org/jobs/76062893/log.txt
2015-08-18 09:40:03 +01:00
Paul Bellamy
b4e13215c7
expose dns server on tcp as well as udp
...
issue was discovered when testing scope with master vs 1.0 branches.
2015-08-18 09:35:53 +01:00
Matthias Radestock
4ecaa0f508
don't put blank lines around sub-status
...
not what I had in mind, and it breaks the tests
2015-08-18 09:00:01 +01:00
Matthias Radestock
86b7e4a6db
Merge branch '1.0'
2015-08-18 08:50:41 +01:00
Matthias Radestock
aa19028583
Merge branch 'latest_release_doc_updates' into 1.0
2015-08-18 08:50:19 +01:00
Matthias Radestock
a6e2296e0a
Merge branch '1.0' into latest_release_doc_updates
2015-08-18 08:49:31 +01:00
Matthias Radestock
8c5248da43
Add release 1.0.2
2015-08-18 08:27:26 +01:00
Matthias Radestock
59859c4aed
clarify allocation subnet overlap failure
...
Closes #1317 .
2015-08-18 01:50:30 +01:00
Matthias Radestock
0e85783257
cosmetic: add blank lines around weave status output
...
Closes #1315 .
2015-08-18 01:38:51 +01:00
Matthias Radestock
d8e8cd6e51
don't reconnect to ourself
...
When we discover that a connection target address leads to ourself we
set the retry time to the zero time.Time value - the only special
time.Time value. We use that marker to a) suppress subsequent
connection attempts, and b) display the next retry as 'never' in
`weave status|report`.
Closes #1305 .
2015-08-18 00:51:33 +01:00
Matthias Radestock
bbc91c1273
Merge pull request #1307 from weaveworks/1306-dns-recurse-compress
...
Compress recursive answers if they are too big.
Fixes #1306 .
2015-08-17 19:23:46 +01:00
Tom Wilkie
67f974923b
Test for recursive DNS queries & compression.
...
Note this doesn't test the golang resolver, where the original error
was found, as I can't find a way to point the golang resolver at a
custom dns server during a test. It does check that a compressed
response from an upstream server is correctly handled.
2015-08-17 18:25:36 +01:00
Tom Wilkie
4f00dab4c4
Compress recursive answers if they are too big.
2015-08-17 18:25:26 +01:00
Matthias Radestock
74e29c8990
Merge branch '1.0'
...
Conflicts:
nameserver/server.go
nameserver/server_test.go
2015-08-17 18:10:56 +01:00
Matthias Radestock
7fb597a8bf
Merge pull request #1313 from weaveworks/issues/1306-dns-compress-1-0-2
...
Try to compress too long replies (when forwarding).
Fixes #1306 .
2015-08-17 18:05:04 +01:00
Alvaro Saurin
c50c90ea8d
Try to compress too long replies (when forwarding).
2015-08-17 18:50:16 +02:00
Paul Bellamy
74883c5da8
Merge pull request #1310 from weaveworks/improve_proxy_ignore_messages
...
Improve log messages for when the proxy ignores a container
2015-08-17 16:27:45 +01:00
Matthias Radestock
375af0a7b9
Improve log messages for when the proxy ignores a container
...
- 'ignoring' could be misread as 'dropped request', so change that to
'leaving container alone'
- more elaborate reasons
2015-08-17 16:15:45 +01:00
Matthias Radestock
8c9679b19c
Merge branch '1.0'
...
Conflicts:
circle.yml
2015-08-17 15:01:44 +01:00
Tom Wilkie
d220542491
Add sudo apt-get update to circle.yml
2015-08-17 13:37:41 +00:00
Alvaro
0a80fdcc1d
Merge pull request #1312 from weaveworks/circle
...
Add sudo apt-get update to circle.yml
2015-08-17 13:52:00 +02:00
Tom Wilkie
5fbcb3f905
Add sudo apt-get update to circle.yml
2015-08-17 08:49:40 +00:00
Matthias Radestock
067f96023a
correct option name in log message
2015-08-17 09:37:46 +01:00
Matthias Radestock
9de7c9ed0d
Merge pull request #1303 from weaveworks/1302-proxy-net-none
...
[proxy] attach containers with --net=none to weave
Fixes #1302 .
2015-08-14 14:03:36 +01:00
Paul Bellamy
0de292c0d4
[proxy] attach containers with --net=none to weave
2015-08-14 13:48:32 +01:00
Matthias Radestock
eaa5385069
refactor: use new proxy_start_container function
2015-08-13 19:54:00 +01:00
Matthias Radestock
fa2aa1f791
Merge branch '1.0'
...
Conflicts:
test/640_proxy_restart_reattaches_test.sh
2015-08-13 19:46:23 +01:00
Matthias Radestock
181ce4cc60
Merge pull request #1296 from weaveworks/1294_extract_proxy_container_start
...
extract test functions for "start container via proxy"
Fixes #1294 .
2015-08-13 19:40:53 +01:00
Matthias Radestock
65578211ef
extract test functions for "start container via proxy"
...
This also eliminates the redefinition of 'start_container' by some of
the tests, which causes failures when multiple tests are run with
`run_all.sh`.
Fixes #1294 .
2015-08-13 15:01:15 +01:00
Matthias Radestock
78df99e7e7
Merge branch '1.0'
2015-08-13 14:37:31 +01:00
Matthias Radestock
90ed76853c
fix test breakage
...
on master, and only when running via `run_all.sh`. Weird.
2015-08-13 14:36:30 +01:00
Matthias Radestock
26f4a41900
Merge branch '1.0'
2015-08-13 14:07:22 +01:00
Matthias Radestock
a3b4d6cdbf
consistency: use $SMALL_IMAGE instead of $BASE_IMAGE
...
whenever possible
2015-08-13 14:06:43 +01:00
Matthias Radestock
686500b181
Merge branch '1.0'
2015-08-13 14:05:35 +01:00
Matthias Radestock
84c5c52090
fix broken test silliness
2015-08-13 14:05:17 +01:00
Matthias Radestock
d5de0b41f9
Merge branch '1.0'
...
Conflicts:
proxy/proxy.go
2015-08-13 13:57:02 +01:00
Matthias Radestock
bd41d114b5
Merge pull request #1291 from weaveworks/docker-1.8
...
Docker 1.8 compatibility.
Fixes #1287 .
2015-08-13 13:53:03 +01:00
Matthias Radestock
94d2f84364
refactor: use proxy abstraction
2015-08-13 13:50:29 +01:00
Paul Bellamy
bf2b456af1
Don't use .Volumes in tests, as it's gone in docker 1.8
2015-08-13 13:36:47 +01:00
Paul Bellamy
4961e83686
[proxy] support new docker 1.8 --net="default"
2015-08-13 13:36:47 +01:00
Paul Bellamy
f70dc6660a
[proxy] lock docker api usage to 1.15
2015-08-13 13:36:47 +01:00
Matthias Radestock
2bb84ae28b
Merge branch '1.0'
...
Conflicts:
weave
2015-08-13 13:18:55 +01:00
Paul Bellamy
360c0cb642
Merge commit '74eef4dedae617' into 1.0
2015-08-13 12:38:51 +01:00
Matthias Radestock
e319f54d3f
Merge branch '1.0'
...
Conflicts:
site/proxy.md
2015-08-13 11:36:01 +01:00
Matthias Radestock
1ce9551ba6
Merge branch 'latest_release_doc_updates' into 1.0
2015-08-13 11:34:56 +01:00
Matthias Radestock
4c566c8587
correct typo
2015-08-13 11:34:16 +01:00
Paul Bellamy
74eef4deda
[proxy] mount all tls volumes as readonly
2015-08-13 11:13:22 +01:00
Paul Bellamy
2576e819a7
Revert "fix intermittent test failure"
...
This reverts commit e2fec3d007 .
Was causing a failure on circleci
2015-08-13 11:12:50 +01:00
Tom Wilkie
cdab6a71b7
Merge pull request #1289 from weaveworks/move-listvar
...
Move ListVar into common, so it can be reused elsewhere.
2015-08-12 12:56:25 +01:00
Tom Wilkie
45293fdcac
Move ListVar into common, so it can be reused elsewhere.
2015-08-12 11:35:57 +00:00
Paul Bellamy
e2fec3d007
fix intermittent test failure
...
Tests were running in the same shell, so function definitions were
leaking between tests.
2015-08-12 11:14:51 +01:00
Matthias Radestock
7656752d87
unbreak test
...
caused by faulty merge
2015-08-12 07:40:20 +01:00
Matthias Radestock
d0ed225184
Merge branch '1.0'
...
Conflicts:
weave
2015-08-11 15:01:54 +01:00
Paul Bellamy
12ed5cc9ee
Merge pull request #1284 from weaveworks/1279_proxy_weave_run
...
prevent proxy from interferring with `weave run`
2015-08-11 14:54:27 +01:00
Matthias Radestock
f8639a57e7
prevent proxy from interferring with weave run
...
...which could result in containers unexpectedly getting multiple IP
addresses.
Fixes #1279 .
2015-08-11 14:02:23 +01:00
Adam Harrison
c2147f80b7
Merge pull request #1283 from weaveworks/1185_report_pcap_stats
...
add pcap stats to `weave report`
2015-08-11 13:09:34 +01:00
Matthias Radestock
f1b9cf4fc0
Merge pull request #1282 from weaveworks/1281-dns-remove-dead-quick
...
Remove DNS entries for dead containers when adding correctly.
Fixes #1281 .
2015-08-11 13:08:46 +01:00
Matthias Radestock
c1d799a06c
add pcap stats to weave report
...
Closes #1185 .
2015-08-11 12:57:52 +01:00
Tom Wilkie
6a5044fc70
Make nameserver logging more consistent.
2015-08-11 11:32:19 +00:00
Tom Wilkie
7fa568872c
Ensure we delete the fqdn is the container fails to start.
2015-08-11 11:32:17 +00:00
Adam Harrison
f3ad81d554
Merge pull request #1248 from weaveworks/issues/1025-enhanced-weave-status
...
Enhanced weave status
2015-08-11 12:29:29 +01:00
Adam Harrison
fc9a1c8664
new weave status, weave status ..., and weave report
2015-08-11 12:15:13 +01:00
Adam Harrison
00ecff09f7
Move status HTTP handlers into prog/weaver/http.go
2015-08-11 12:01:27 +01:00
Adam Harrison
278807a199
Move router HTTP handlers into router/http.go
2015-08-11 12:01:27 +01:00
Matthias Radestock
8bce900170
Merge pull request #1247 from weaveworks/test_frag
...
add test for PMTU discovery and packet fragmentation
2015-08-10 22:02:07 +01:00
Matthias Radestock
cf6d6d0cd3
add test for PMTU discovery and packet fragmentation
2015-08-10 17:50:21 +01:00
Matthias Radestock
94af02fbf4
Merge branch '1.0'
...
Conflicts:
weave
2015-08-10 17:37:06 +01:00
Matthias Radestock
9e65cc20cb
cosmetic
2015-08-10 17:33:45 +01:00
Tom Wilkie
25c4a2961e
Merge pull request #1278 from weaveworks/1276_warn_on_iprange_overlap
...
warn on -iprange overlap
2015-08-10 17:27:47 +01:00
Matthias Radestock
755a949f6d
Merge pull request #1277 from weaveworks/1275-negative-dns
...
Return NXDOMAIN when we don't have entries
and drop the non-authoritative special case for recursive dns.
Fixes #1275 .
2015-08-10 17:19:44 +01:00
Tom Wilkie
42debde746
Merge pull request #1259 from weaveworks/1257-proxy-chunking
...
Proxy chunking should handle arbitrarily large chunks
2015-08-10 15:57:19 +01:00
Tom Wilkie
c2d5b35cd6
Add test for negative DNS queries
2015-08-10 13:13:12 +00:00
Matthias Radestock
f4e7c85219
warn on -iprange overlap
...
Closes #1276 .
2015-08-10 13:27:06 +01:00
Tom Wilkie
073836905a
Return NXDOMAIN when we don't have entries, and drop the non-authoritative special case for recursive dns.
2015-08-10 12:19:21 +00:00
Matthias Radestock
fd2a59417d
cosmetic
2015-08-10 12:39:00 +01:00
Paul Bellamy
6d7e784c25
review feedback
2015-08-10 11:02:51 +01:00
Matthias Radestock
b2a24d1cbe
Merge branch '1.0'
...
Conflicts:
nameserver/zone_lookup.go
2015-08-10 10:27:10 +01:00
Tom Wilkie
0a2701bbbc
Merge pull request #1268 from weaveworks/1243_fix_claim_test
...
add a sleep to improve test reliability
2015-08-10 10:23:48 +01:00
Alvaro
475daa82b3
Merge pull request #1273 from weaveworks/1270_mdns_result_race
...
ignore DuplicateError when inserting mDNS answer in zone
2015-08-10 11:15:47 +02:00
Matthias Radestock
c3b653b1b9
ignore DuplicateError when inserting mDNS answer in zone
...
When we issue two concurrent mDNS queries for the same name, the
answer to the second one encounters a DuplicateError when inserting
into the zone. We would return that error, which causes the query
would fail. And we'd cache that fact. All bad.
So ignore DuplicateError.
Fixes #1270 .
2015-08-08 22:01:45 +01:00
Matthias Radestock
1a11b989e7
simplify test
2015-08-07 14:40:34 +01:00
Matthias Radestock
010792f714
cosmetic: more sensible order of weave commands
2015-08-07 11:44:47 +01:00
Matthias Radestock
536369bc12
Merge pull request #1265 from weaveworks/1252-proxy-non-root-hosts
...
[proxy] rewrite /etc/hosts from outside the container
Fixes #1252 .
2015-08-06 13:30:02 +01:00
Paul Bellamy
f55655216f
[proxy] rewrite /etc/hosts from outside the container
...
Avoids problems when container user is non-root. Added a test for this
and the --no-rewrite-hosts flag.
2015-08-06 13:14:18 +01:00
Matthias Radestock
43ef3b8515
give routers some time to establish connectivity
2015-08-06 11:54:58 +01:00
Paul Bellamy
3180c67151
-no-rewrite-hosts -> --no-rewrite-hosts
2015-08-06 11:01:35 +01:00
Adam Harrison
457e162d0c
Merge branch '1.0'
...
Conflicts:
site/ipam.md
2015-08-06 09:56:50 +01:00
Adam Harrison
ed3207afe7
Merge remote-tracking branch 'upstream/latest_release_doc_updates' into 1.0
2015-08-06 09:51:31 +01:00
Adam Harrison
8e5b0ceceb
Merge pull request #1262 from weaveworks/latest_release_doc_udpates
...
Fix IPAM doc bug
2015-08-06 09:48:14 +01:00
Tom Wilkie
f9127e90db
Merge pull request #1263 from weaveworks/integration-tests-no-save-file
...
don't save the python test file when running test/600
2015-08-05 18:50:22 +01:00
Paul Bellamy
94db0beb25
don't save the python test file when running test/600
2015-08-05 18:04:49 +01:00
Adam Harrison
4a1bb1a33a
Fix IPAM doc bug
2015-08-05 17:53:24 +01:00
Adam Harrison
77996158ef
Merge branch '1.0'
2015-08-05 14:42:09 +01:00
Adam Harrison
93984e1955
Merge pull request #1261 from weaveworks/arp_all_ips
...
send ARP update for *all* container IPs; not just the first one
2015-08-05 14:38:16 +01:00
Matthias Radestock
67aae051d6
send ARP update for *all* container IPs; not just the first one
...
This was missed in #498 .
2015-08-05 13:35:35 +01:00
Matthias Radestock
6cc7749cf2
cosmetic: remove debug logging from test
2015-08-05 12:31:20 +01:00
Matthias Radestock
c47e57cc29
cosmetic
2015-08-05 11:55:11 +01:00
Matthias Radestock
de6f5a93e8
refactor: extract build flags
2015-08-05 11:11:57 +01:00
Paul Bellamy
157910ec9a
adding integration test for proxy handling large http chunks
2015-08-05 10:52:06 +01:00
Paul Bellamy
b85b90ef4e
Proxy chunking should handle arbitrarily large chunks
2015-08-04 17:47:51 +01:00
Paul Bellamy
1d1ebc103d
Merge remote-tracking branch 'upstream/1.0'
2015-08-04 14:29:12 +01:00
Paul Bellamy
eee13e7dd9
Merge pull request #1253 from weaveworks/1241-no-command-specified
...
[proxy] Handle case where no command is specified.
2015-08-04 13:11:35 +01:00
Paul Bellamy
7cc53c4c68
[proxy] Handle case where no command is specified.
...
The docker daemon can't do this because we set /w/w.
2015-08-04 12:32:42 +01:00
Matthias Radestock
9c22066bdb
Merge pull request #1256 from weaveworks/1245-dns-loadbalancing
...
Add note to explain DNS shuffle effects.
Fixes #1245 .
2015-08-04 12:22:23 +01:00
Tom Wilkie
f241e15ec1
Review feedback
2015-08-04 11:00:32 +00:00
Tom Wilkie
881ece3553
Add note to explain dns shuffle effects.
2015-08-04 10:47:36 +00:00
Michael Bridgen
281bf02871
Merge branch 'pr1254'
2015-08-03 15:26:08 +01:00
Michael Bridgen
778038fdd3
Merge branch 'fix-dotted-imports-for-log' of https://github.com/dpw/weave into pr1254
2015-08-03 14:29:53 +01:00
David Wragg
e7ee72836d
Log -> log
2015-08-03 14:13:24 +01:00
David Wragg
31c0506b85
Eliminate dotted imports of common for the sake of Log
2015-08-03 14:07:16 +01:00
David Wragg
7d6f85424c
Move OnOff into router.go
2015-08-03 14:06:23 +01:00
Tom Wilkie
ca89cfee3d
Merge pull request #1250 from paulbellamy/testrunner-summarize-fails
...
Some usability tweaks to the test runner
2015-07-31 12:36:50 +01:00
Paul Bellamy
5a37f652c2
add -v to testrunner, and less output in happy path
2015-07-31 12:25:50 +01:00
Paul Bellamy
cc7b781bb3
have testrunner summarize failed tests so they are easier to find
2015-07-31 12:12:33 +01:00
Paul Bellamy
55051f0194
Merge remote-tracking branch 'upstream/1.0'
2015-07-31 11:01:19 +01:00
Paul Bellamy
78e0e79b26
Merge pull request #1238 from weaveworks/1232-weavewait-image
...
[proxy] only mount /w into weavewaited containers
2015-07-31 10:57:26 +01:00
Paul Bellamy
b7e8938ab4
scope the test runner call so scope works
2015-07-31 10:49:21 +01:00
Matthias Radestock
f8327c3c6c
expand test coverage to unicast relaying
...
by way of an ipam space request from host3 to host1, via host2.
2015-07-30 20:38:00 +01:00
Paul Bellamy
e3851e6e55
Merge pull request #1246 from weaveworks/gce-parameterize
...
parameterize test/gce.sh so scope can override TEMPLATE_NAME and NUM_HOSTS
2015-07-30 16:18:59 +01:00
Matthias Radestock
6a136eebb2
make parallel test running work locally
...
@tomwilkie assures me this change won't break CircleCI. We shall see.
This now works for me:
make clean
make COVERAGE=true
COVERDIR=test/coverage SLOW=true ./test/units.sh
cd test
./setup.sh
COVERAGE=true PARALLEL=true ./run_all.sh
./gen_coverage_reports.sh
2015-07-30 15:57:49 +01:00
Paul Bellamy
9396c046cd
parameterize test/gce.sh so scope can override TEMPLATE_NAME and NUM_HOSTS
2015-07-30 15:48:22 +01:00
Paul Bellamy
4958b8d37a
[proxy] Mount /w from the host for weavewaited containers
...
We set it at container create. Had tried also setting it at start, but
it seems to cause weird behaviour, and there is no way to do it from the
CLI.
2015-07-30 15:11:03 +01:00
Paul Bellamy
e2389a4061
[proxy] Don't try to attach if container failed to start
2015-07-30 13:31:47 +01:00
Paul Bellamy
dccd199369
Merge pull request #1242 from weaveworks/1239-600-docker-py
...
Shard 600_proxy_docker_py into 4.
2015-07-30 13:14:54 +01:00
Tom Wilkie
a87be89095
Typos. Honestly
2015-07-30 11:07:17 +00:00
Tom Wilkie
5c9a13d343
Shard 600_proxy_docker_py into 4.
2015-07-30 10:38:02 +00:00
Tom Wilkie
bfe07fc71a
Give each shard 5 VMs
2015-07-30 10:32:16 +00:00
Tom Wilkie
fa95b67c92
Add summary to bottom of test runner output.
...
Also, don't sort tests by #hosts when run sequentially, and fix typo in run_all.sh.
Fixes #1240
2015-07-30 10:29:05 +00:00
Adam Harrison
728203912e
.gitignore Vim recovery files
2015-07-30 10:53:59 +01:00
Paul Bellamy
27289e7b7b
Merge pull request #1236 from weaveworks/1169-frugal-frugal-frugal
...
Run integration tests in parallel when possible.
2015-07-30 10:16:39 +01:00
Tom Wilkie
669a0db528
Run integration tests in parallel when possible.
2015-07-29 17:28:58 +00:00
Paul Bellamy
4da999ba86
Merge pull request #1235 from weaveworks/gce
...
Improve CI run time
2015-07-29 17:38:30 +01:00
Paul Bellamy
5e9bd5424a
Removed all the imports from "code.google.com"
2015-07-29 15:47:02 +01:00
Tom Wilkie
3bffd871b8
Merge pull request #1230 from weaveworks/1154-proxy-coverage
...
Add coverage to proxy for integration tests.
2015-07-29 13:24:21 +01:00
Adam Harrison
2d450ac39d
Merge pull request #1225 from weaveworks/21-dns-listen-addr
...
Allow users to set dns listen address
2015-07-29 13:18:10 +01:00
Tom Wilkie
6fe69590c4
Add coverage to proxy for integration tests.
2015-07-29 12:06:29 +00:00
Tom Wilkie
4df3d7f150
Reduce the amount of parallelism in the ipam tests
2015-07-29 10:13:02 +00:00
Tom Wilkie
51128a6705
Parallelise the copying of /etc/hosts.
2015-07-29 09:58:51 +00:00
Tom Wilkie
e7676979ee
Parallelise the copying of imaages etc
2015-07-29 09:58:05 +00:00
Tom Wilkie
da36c78942
Reduce the number of times gcs.sh ssh's into the VMs
2015-07-29 09:41:57 +00:00
Matthias Radestock
77358140d9
Merge pull request #1219 from squaremo/driveby
...
Remove misleading comment and lowercase deniedBy
2015-07-28 18:09:01 +01:00
Adam Harrison
1701bc3e92
Merge branch '1.0'
...
Conflicts:
weave
2015-07-28 18:06:44 +01:00
Matthias Radestock
ba0ffd225e
Merge pull request #1231 from weaveworks/issues/1229-explicitly-set-docker-bridge-mac
...
Enforce docker bridge address assignment type on launch
Fixes #1229 .
2015-07-28 17:59:46 +01:00
Adam Harrison
a14d4d9f8e
Enforce docker bridge address assignment type on launch
2015-07-28 17:51:48 +01:00
Tom Wilkie
db6ee9954c
Allow users to set dns listen address so we can run the weave router in the host net namespace.
2015-07-28 14:49:09 +00:00
Paul Bellamy
792c4c8de4
Merge pull request #1227 from weaveworks/gce-gc
...
Extend scheduler to periodically garbage collect stranded VMs
2015-07-28 15:35:28 +01:00
Matthias Radestock
820307dd4e
Merge pull request #1228 from weaveworks/1030-150-connect-forget
...
Don't init the ring if the address is not in range.
Fixes #1030 .
2015-07-28 15:29:16 +01:00
Tom Wilkie
88144ac7f8
Review feedback
2015-07-28 14:16:38 +00:00
Tom Wilkie
da7ac78694
Don't try and init the ring if the IP address is not in our range.
2015-07-28 14:12:42 +00:00
Tom Wilkie
10dbd9ad4c
Merge pull request #1224 from weaveworks/1203_proper_mock_gossip
...
proper mock periodic gossip
2015-07-28 13:29:20 +01:00
Tom Wilkie
9779e06f66
Extend scheduler to periodically garbage collect stranded VMs
2015-07-28 13:19:38 +01:00
Matthias Radestock
f861d22593
do proper mock periodic gossip
...
instead of abusing broadcast gossip
Fixes #1203 .
2015-07-28 10:37:18 +01:00
Paul Bellamy
e3f0565517
Merge pull request #1221 from weaveworks/1220_include_test_dir_coverage
...
include directory of test code in coverage
2015-07-28 10:05:16 +01:00
Matthias Radestock
9a91b3ce9c
include directory of test code in coverage
...
Fixes #1220 .
2015-07-27 17:08:31 +01:00
Michael Bridgen
c88361473c
Remove misleading comment and lowercase deniedBy
...
* the comment "don't make the caller wait" applies to both branches
of that if clause, and having it on one branch implies the other
does make the caller wait
* there's no reason for DeniedBy to start with a capital: it's a
method on a private struct and it's not part of an interface.
2015-07-27 16:22:32 +01:00
Michael Bridgen
a2e1a2d375
Merge branch 'pr1200'
2015-07-27 15:46:29 +01:00
Matthias Radestock
536ce992fc
re-enable test
...
our switch on CircleCI from Docker 1.7.0 to 1.7.1 should make this
pass now.
2015-07-27 14:47:55 +01:00
Matthias Radestock
8d57b85a3a
Merge branch 'master' into weave_1.1_readme_updates
...
Conflicts:
README.md
2015-07-27 14:33:05 +01:00
Matthias Radestock
ce37b622eb
Merge branch '1.0'
2015-07-27 14:25:06 +01:00
Matthias Radestock
d5e510f778
Merge branch 'latest_release_doc_updates' into 1.0
2015-07-27 14:24:33 +01:00
Matthias Radestock
be8e414d5a
Merge pull request #1217 from weaveworks/1186_document_root_docker
...
document how to run weave when docker access is root-only
Closes #1186 .
2015-07-27 14:23:50 +01:00
Matthias Radestock
65e94f624b
document how to run weave when docker access is root-only
...
Closes #1186 .
2015-07-27 14:13:50 +01:00
Paul Bellamy
ed4fb14f52
Merge pull request #1214 from weaveworks/rebuild-gce-templates
...
[circle] use new gce templates for docker 1.7.1
2015-07-27 13:38:44 +01:00
Matthias Radestock
32cce0c636
Merge branch 'master' into weave_1.1_readme_updates
2015-07-27 13:31:48 +01:00
Paul Bellamy
34bb7ae84a
[circle] use new gce templates for docker 1.7.1
2015-07-27 12:51:12 +01:00
Michael Bridgen
5389e31190
Merge branch '687-detect-ipam-clash' of github.com:weaveworks/weave into pr1200
2015-07-27 11:54:31 +01:00
Bryan Boreham
f0915221d1
Rename 'reclaim' to 'noErrorUnknown' which describes the behaviour better
2015-07-23 20:16:30 +01:00
Matthias Radestock
aa4efd63ef
cosmetic: uncomment test the way ordained by emacs
2015-07-22 16:55:43 +01:00
Tom Wilkie
a12d63bb12
Make ipam test less stressful, so it doesn't timeout.
2015-07-22 12:53:27 +00:00
Tom Wilkie
062a25a032
Make unit test timeout 8mins.
2015-07-22 12:19:12 +00:00
Tom Wilkie
9e6d08c606
Put 2m timeout on all unit tests.
2015-07-22 11:56:39 +00:00
Alvaro
976641c3b6
Reverted: Fixed typo
2015-07-22 12:17:29 +02:00
Alvaro
2f80f12001
Fixed typo
2015-07-22 12:14:38 +02:00
Bryan Boreham
647b755b64
Check manually-assigned addresses with IPAM to see if they clash
2015-07-21 17:02:52 +01:00
David Wragg
26dc83dbc2
Merge weaveworks/519_remove_outermost_gob (PR #1189 )
2015-07-21 12:01:40 +01:00
Matthias Radestock
3c107d675a
Merge branch '1.0'
2015-07-21 11:42:49 +01:00
Matthias Radestock
a20ca49344
Merge pull request #1206 from weaveworks/1201-weavewait-ro
...
[proxy] Mount weavewait readonly so it can't be tampered with
Fixes #1201 .
2015-07-21 11:41:48 +01:00
Paul Bellamy
aa8466f688
[proxy] Mount weavewait readonly so it can't be tampered with
2015-07-21 11:30:56 +01:00
Tom Wilkie
2980586e76
Put timeout on nameserver test to try and expose #1203
2015-07-21 09:25:04 +00:00
Paul Bellamy
dba116bae1
Merge remote-tracking branch 'upstream/1.0'
2015-07-21 10:13:24 +01:00
Matthias Radestock
0b7d462adf
enforce a message size limit
...
so we do not allocate loads of memory when receiving (accidental or
deliberate) garbage
2015-07-20 23:51:04 +01:00
Matthias Radestock
6f8622a1a0
replace outermost framing on tcp connection
...
switch from gob to length-prefix encoding
2015-07-20 23:51:04 +01:00
Matthias Radestock
af049efb40
refactor: s/SimpleTCP{Sender,Receiver}/GobTCP{Sender,Receiver}
2015-07-20 23:51:02 +01:00
Matthias Radestock
ad4e4ce6b8
refactor: make 'inner' encoder/decoder explicit
2015-07-20 23:50:10 +01:00
Tom Wilkie
4c9b0be117
Merge pull request #1198 from weaveworks/1146-coverage
...
When running unit tests, output coverage for imported modules.
2015-07-20 20:34:12 +01:00
Tom Wilkie
a9dae46110
When running unit tests, output coverage for imported modules.
2015-07-20 15:47:07 +00:00
Paul Bellamy
53628fdeff
Merge pull request #1187 from weaveworks/1182-proxy-tls-close
...
[proxy] Fully close TLS sockets, as they have no CloseWrite
2015-07-20 16:46:21 +01:00
Bryan Boreham
e34093c328
Merge pull request #1197 from weaveworks/1158-flaky
...
LGTM
2015-07-20 16:02:52 +01:00
Tom Wilkie
9131b46263
Flush gossip messages after each turn, to ensure there isn't a build up of pending messages.
2015-07-20 14:36:40 +00:00
Michael Bridgen
2a9c3fc64a
Merge branch 'pr1112'
2015-07-20 15:31:42 +01:00
Michael Bridgen
c44c61dc83
Merge branch '1103-proxy-chunking' of github.com:weaveworks/weave into pr1112
2015-07-20 15:09:50 +01:00
Paul Bellamy
11663dd29f
[proxy] rewrote chunked response handler
...
1) We cannot send "Connection: close", because the fsouza docker client
expects the tcp socket to stay open between requests.
2) Because we cannot force-close the connection, we can't hijack the
connection (because go's net/http doesn't let use un-hijack it).
3) Because we need to maintain the individual chunking of messages (for
docker-py), we can't just copy the response body, as Go will remove and
re-add the chunking willy-nilly.
Therefore, we have to read each chunk one-by-one, and flush the
ResponseWriter after each one.
2015-07-20 14:43:16 +01:00
Bryan Boreham
90b7c3625d
Merge pull request #1176 from weaveworks/1156-gossip-timestamp
...
LGTM
2015-07-20 14:28:01 +01:00
Tom Wilkie
4e29dba5cd
Make Gossip DNS reject gossip messages if clockskew > tombstoneTimeout / 2
2015-07-20 13:12:07 +00:00
Matthias Radestock
f1b5a00cb3
Merge pull request #1195 from weaveworks/1177-dns-disappear
...
Don't periodically delete all non-tombstone entries.
Fixes #1177 .
2015-07-20 13:07:42 +01:00
Tom Wilkie
1a4b38a10c
Don't delete all the non-tombstone entries every 10mins!
2015-07-20 12:03:46 +00:00
Tom Wilkie
9ab2da8deb
Add GET /name handler to return all dns entries (including tombstones) for debugging.
...
Also, make Address marshall into json as an IP string, not a number.
2015-07-20 12:03:33 +00:00
Matthias Radestock
66473e6021
refactor: return slice instead of pointer to slice from tombstone()
2015-07-20 12:37:54 +01:00
Paul Bellamy
a9229b9197
weave env should still work with '--log-level=debug'
2015-07-20 11:57:20 +01:00
Paul Bellamy
7b9e59833e
test upload_executable helper should mkdir before uploading
2015-07-20 10:58:39 +01:00
Tom Wilkie
5baddb83cb
Comment out failing test until we figure out what to do.
2015-07-20 09:45:02 +00:00
Tom Wilkie
4e56247ed9
Merge pull request #1193 from weaveworks/disable_dns_in_multiweave
...
Disable dns in multiweave
2015-07-20 10:41:56 +01:00
Matthias Radestock
ae2348875b
disable dns in multiweave
...
Thus unbreaking it post #1065 .
2015-07-19 22:52:42 +01:00
Matthias Radestock
fafaeef07d
introduce --no-dns option
...
undocumented, since it is mainly meant for testing
2015-07-19 22:51:40 +01:00
Matthias Radestock
5b62b8c1e3
refactor: inline populate_dns
...
and ditch the wait_for_status, since we've only just called that
2015-07-19 22:32:33 +01:00
Matthias Radestock
7c17c8aec3
refactor: simplify router arg parsing
...
using the same "always shift one" approach as in proxy_args
2015-07-19 21:56:04 +01:00
Matthias Radestock
64408b126e
weave launch-router wasn't returning the correct container id
...
since $CONTAINER gets stomped on by various functions, in particular
populate_dns.
Broken by #1065 .
2015-07-19 21:50:45 +01:00
Bryan Boreham
2a1f090a88
Merge pull request #1183 from weaveworks/1181-data-race
...
Correctly stop the test gossip router to prevent complaints of data races in subsequent tests.
2015-07-17 17:14:46 +01:00
Matthias Radestock
e2a2a8f18f
Merge branch '1.0'
2015-07-17 15:07:45 +01:00
Matthias Radestock
dafa30725e
Merge branch 'latest_release_doc_updates' into 1.0
2015-07-17 15:07:19 +01:00
Matthias Radestock
24b9a56e0a
Merge pull request #1172 from weaveworks/issues/1061-improve-blockquote
...
Use Boostrap styles for warnings in docs
Fixes #1061 .
2015-07-17 15:06:40 +01:00
Tom Wilkie
a3d32068d2
Correctly stop the test gossip router to prevent complaints of data races in subsequent tests.
2015-07-17 13:48:39 +00:00
David Kaltschmidt
e7f6682593
Use bootstrap alert styles for blockquote
2015-07-17 15:14:29 +02:00
Paul Bellamy
3f4b385b0f
[proxy] If we can't CloseWrite a connection (tls), just Close it so clients don't hang
2015-07-17 14:09:27 +01:00
Paul Bellamy
5fc16a8267
[proxy] use a waitgroup as it's more semantically accurate
2015-07-17 14:08:51 +01:00
Bryan Boreham
68afbe31b0
Shrink image file size
2015-07-17 14:07:23 +01:00
Tom Wilkie
ba3451e9ca
Merge pull request #1180 from weaveworks/1171-210-failures
...
Don't swallow errors in the docker client.
2015-07-17 13:38:38 +01:00
Tom Wilkie
25c9180fdf
Don't swallow errors in the docker client.
2015-07-17 12:35:12 +00:00
Paul Bellamy
e03a4bb176
updating boot2docker docs from 1.0 to master
2015-07-17 12:55:39 +01:00
Paul Bellamy
4d594458d2
Merge branch '1.0'
2015-07-17 12:47:23 +01:00
Paul Bellamy
38176dcbb6
Merge remote-tracking branch 'upstream/latest_release_doc_updates' into 1.0
2015-07-17 12:46:48 +01:00
Paul Bellamy
854d83f294
updating boot2docker docs for proxy
2015-07-17 12:41:04 +01:00
Matthias Radestock
358ae3a936
Merge pull request #1174 from weaveworks/1128-iprange-error
...
More helpful error message when --ip-alloc-range mismatched
Closes #1128 .
2015-07-17 12:35:20 +01:00
Paul Bellamy
f3131fab57
Merge pull request #1175 from paulbellamy/975-boot2docker-documentation-update
...
updating boot2docker docs for proxy
2015-07-17 12:32:54 +01:00
Paul Bellamy
397f1398ee
updating boot2docker docs for proxy
2015-07-17 12:30:14 +01:00
Bryan Boreham
2dbf83889b
Remove unused error messages
2015-07-17 12:19:54 +01:00
Bryan Boreham
9b2c5b8466
Improve description of merge error
2015-07-17 12:19:33 +01:00
Bryan Boreham
1f4b943454
More helpful error message when --ip-alloc-range mismatched
2015-07-17 11:42:30 +01:00
Matthias Radestock
2ca0fb93c9
Merge pull request #1173 from weaveworks/1168-checkandpanic
...
Make nameserver.checkAndPanic look for dups, call it more often.
Fixes #1168 .
2015-07-17 11:37:34 +01:00
Matthias Radestock
47273d424f
Merge pull request #1170 from weaveworks/exec-dockerfile
...
Re-arrange weaveexec Dockerfile to improve download times
2015-07-17 11:36:15 +01:00
Bryan Boreham
f4d6e028d4
Simplify
2015-07-17 11:33:29 +01:00
Tom Wilkie
f10e0e4add
Merge pull request #1159 from weaveworks/1150-claim-from-peer
...
Implement claiming addresses from other peers
2015-07-17 11:21:48 +01:00
Tom Wilkie
66e58937ca
Make nameserver.checkAndPanic look for dups, call it more often.
2015-07-17 10:19:25 +00:00
Matthias Radestock
62c1cad676
Merge remote-tracking branch 'upstream/master'
2015-07-17 10:58:34 +01:00
Matthias Radestock
ca523c716c
cosmetic
2015-07-17 10:58:01 +01:00
Tom Wilkie
e2deff09a6
Nameserver: log when peer goes away.
2015-07-17 09:36:44 +00:00
Ilya Dmitrichenko
19ddb65036
New screencast URL and image
2015-07-16 18:13:34 +01:00
Bryan Boreham
61c7c034e7
Re-arrange weaveexec Dockerfile to improve download times
2015-07-16 17:02:00 +01:00
Bryan Boreham
4c5920a50a
Add fuzz-test for Claim
2015-07-16 16:12:23 +01:00
Bryan Boreham
c3c40b15f1
Avoid hanging the caller when we try to claim from a dead peer
2015-07-16 16:12:23 +01:00
Bryan Boreham
2fa65f0a22
Smoke-test for claim operation
2015-07-16 16:12:23 +01:00
Bryan Boreham
af7ca99dc4
Extend unit-tests for claim operation
2015-07-16 16:12:23 +01:00
Bryan Boreham
2d224d423d
Add SpaceRequestDenied message
2015-07-16 16:12:23 +01:00
Bryan Boreham
e7088e5daf
Extract decodeRange function
2015-07-16 16:12:23 +01:00
Bryan Boreham
d65409e97e
Improve comment & log for deferred claim
2015-07-16 16:12:23 +01:00
Matthias Radestock
70110e483c
Merge pull request #1166 from weaveworks/dns-tests
...
Make 210_dns_cross_hosts_test.sh excercise gossip dns tombstones.
2015-07-16 16:11:58 +01:00
Paul Bellamy
a0876becbc
Merge remote-tracking branch 'upstream/1.0'
...
Conflicts:
proxy/create_container_interceptor.go
proxy/create_exec_interceptor.go
proxy/proxy.go
proxy/start_container_interceptor.go
2015-07-16 15:29:29 +01:00
Paul Bellamy
1afdac4d2c
Merge pull request #1167 from weaveworks/1157-proxy-net-host
...
[proxy] do not weave attach containers in '--net=host|container:<name|id>'
2015-07-16 15:24:37 +01:00
Paul Bellamy
c6fa9cb17e
refactor weaveCIDRsFromConfig to return an error message
2015-07-16 15:15:32 +01:00
Matthias Radestock
aa3f35e38c
remove stale reference to weave launch-dns
2015-07-16 14:41:57 +01:00
Tom Wilkie
db77570779
Test is too long
2015-07-16 13:40:39 +00:00
Paul Bellamy
9619a27f8c
[proxy] adding log message for ignored containers
2015-07-16 14:01:22 +01:00
Paul Bellamy
c13154eea9
updating comment as per golint
2015-07-16 13:58:30 +01:00
Paul Bellamy
1132d26d47
[proxy] do not weave attach containers in '--net=host|container:<name|id>'
2015-07-16 13:58:27 +01:00
Tom Wilkie
6e5995964d
Make 210_dns_cross_hosts_test.sh excercise gossip dns tombstones.
...
Also, make gce.sh less verbose, and do the env dance correctly.
2015-07-16 12:48:00 +00:00
Adam Harrison
da13238368
Merge branch '1.0'
2015-07-16 13:45:36 +01:00
Paul Bellamy
0865f4c207
Merge pull request #1099 from weaveworks/1055-proxy-autoconfig
...
Proxy autoconfig
2015-07-16 13:33:21 +01:00
Adam Harrison
77bc56751b
Merge pull request #1164 from weaveworks/1162_detect_host_netns_in_container
...
fix detection of host netns when weave script runs inside container
2015-07-16 13:33:19 +01:00
Matthias Radestock
b32c017f33
fix detection of host netns when weave script runs inside container
...
$$ refers to the pid in the container's process namespace, so using it
as a reference into /hostproc is entirely wrong.
Fixes #1162 .
2015-07-16 13:19:56 +01:00
Paul Bellamy
a4a31e632b
[proxy] Choose where to listen based on how launching client connected
2015-07-16 12:44:39 +01:00
Matthias Radestock
23ad547db4
Merge pull request #1155 from weaveworks/dns-gossip
...
Make DNS gossip converge correctly
Fixes #1151
2015-07-15 20:37:43 +01:00
Matthias Radestock
4d887c8a55
Merge branch '1.0'
...
Conflicts:
proxy/create_exec_interceptor.go
test/610_proxy_wait_for_weave_test.sh
2015-07-15 18:07:11 +01:00
Matthias Radestock
a982146cbe
Merge pull request #1153 from weaveworks/1143-non-weave-exec
...
[proxy] should not attempt weavewait in on weave container's execs
Fixes #1143 .
2015-07-15 17:40:13 +01:00
Tom Wilkie
73210b6a70
Make sure DNS Gossip converges correctly.
...
- Abide by gossip interface (return nil, not empty gossip) so gossip converges!
- Make sure we don't say an old entry version is new to us; add some more tests.
- Add dns test for 3 (or N) hosts
- Extend mock gossip router to ensure reconsumption off diffs yield nil
- Don't increment version when re-adding existing entry.
2015-07-15 15:54:52 +00:00
Paul Bellamy
e4422205e8
[proxy] should not attempt weavewait in on weave container's execs
2015-07-15 16:14:14 +01:00
Tom Wilkie
9df7358ded
Add pprof handler to weaver.
2015-07-15 15:10:22 +00:00
Matthias Radestock
9507ea93dd
rename test since we have two 250_*
2015-07-15 14:46:51 +01:00
Matthias Radestock
52d3bcfe8b
Merge pull request #1149 from weaveworks/1118-respond-late-paxos
...
Respond to paxos messages when we already have a ring
Fixes #1118 .
2015-07-15 13:24:40 +01:00
Bryan Boreham
b3979c9505
Respond to paxos message if we already have a ring
2015-07-15 13:05:25 +01:00
Bryan Boreham
273a0fba47
Add sender to mock broadcast messages
2015-07-15 13:05:25 +01:00
Alvaro
7e34ec61f6
Merge pull request #1142 from weaveworks/1113-recursive-dns
...
Closes #1113
2015-07-15 13:42:59 +02:00
Bryan Boreham
acf13dc157
Add sender to OnGossipBroadcast()
2015-07-15 12:07:56 +01:00
Tom Wilkie
91395d6728
Use Msg.Copy!
2015-07-15 11:05:36 +00:00
Paul Bellamy
ef4a227ae9
Merge pull request #1144 from weaveworks/restart-docker-after-vagrant-tweaks
...
Restart docker after vagrant tweaking and refactor tweak-code
2015-07-15 11:34:59 +01:00
Alfonso Acosta
25589562cd
Restart docker after vagrant tweaking and refactor tweak-code
...
Docker needs to be restarted and not started, since it already starts running after installation
2015-07-15 09:31:47 +00:00
Matthias Radestock
7063ca51aa
remove dead code
2015-07-15 05:35:05 +01:00
Matthias Radestock
97498d26f7
remove dead code
2015-07-15 05:32:35 +01:00
Matthias Radestock
36292216fd
rename tests so they actually run
...
These tests were introduced in #1065 and #1126 .
2015-07-14 19:47:15 +01:00
Matthias Radestock
86448a1025
fix breakage
...
This wasn't spotted because #1065 , which removed launch-dns, got
merged just before #1126 , which introduced this test.
2015-07-14 19:42:59 +01:00
Ilya Dmitrichenko
b4f53edd91
Merge pull request #1138 from weaveworks/vagrantfile-update
...
update default vagrant box to ubuntu 15
2015-07-14 18:21:02 +01:00
Matthias Radestock
3a22d2e6a1
Merge pull request #1135 from weaveworks/issues/1028-weave-dns-lookup
...
Implement `weave dns-lookup`
Closes #1028 .
2015-07-14 18:19:26 +01:00
Matthias Radestock
9a4bbb55da
Merge branch '1.0'
...
Conflicts:
proxy/common.go
weave
2015-07-14 18:09:25 +01:00
Matthias Radestock
b476bd2afe
Merge pull request #1137 from weaveworks/1109-docker-bridge-ip
...
[proxy] respect custom DOCKER_BRIDGE
Fixes #1109 .
2015-07-14 17:52:08 +01:00
Tom Wilkie
fa73240812
Copy dns requests and give them a fresh id when doing recursive queries.
2015-07-14 16:44:21 +00:00
Adam Harrison
a3dc2d0482
Smoketest dns-lookup
2015-07-14 17:36:30 +01:00
Adam Harrison
41834478d7
Rework documentation to use weave dns-lookup
2015-07-14 17:36:30 +01:00
Adam Harrison
6832ae20b0
Implement weave dns-lookup
2015-07-14 17:36:30 +01:00
Matthias Radestock
7ae06ef00d
Merge pull request #1126 from weaveworks/issues/1018-more-flexible-hostname-derivation
...
[proxy] More flexible container name -> hostname derivation
Closes #1018 .
2015-07-14 17:31:53 +01:00
Alvaro
a1ac0313e5
Merge pull request #1065 from weaveworks/gossipdns
...
Gossip-based DNS embedded in the router.
2015-07-14 18:30:16 +02:00
Paul Bellamy
d9c5d2f940
update default vagrant box to ubuntu 15
2015-07-14 17:08:26 +01:00
Tom Wilkie
361ed1b4a6
Resolve unqualified domains in the weave.local domain.
2015-07-14 16:05:41 +00:00
Alfonso Acosta
dfcc9678f3
Make weave usage fit into 80 columns
2015-07-14 16:02:19 +00:00
Tom Wilkie
8b061fd555
Gossip-based DNS embedded in the router.
...
- Nameserver holds a sorted list of (hostname, peer, container id, ip) tuples.
- Entries are gossiped using topology gossip / broadcast - only new/updated entries
are propogated as expected.
- Entries for a given peer are removed when the connection to the peer is lost.
- Entries are tombstoned when containers die. Tombstones are kept for 10mins,
as they do not need to survive partition, only gossip propagation delay.
2015-07-14 16:00:38 +00:00
Tom Wilkie
01f7201a9e
Remove legacy WeaveDNS code.
2015-07-14 16:00:28 +00:00
Paul Bellamy
acd8bdec21
[proxy] respect custom DOCKER_BRIDGE
2015-07-14 16:33:35 +01:00
Alfonso Acosta
ded3d6b40b
Address PR comments
2015-07-14 15:31:44 +00:00
Tom Wilkie
f7739ef04c
Don't fail if docker rmi fails
2015-07-14 14:50:39 +00:00
Alfonso Acosta
4f82dc97fd
[proxy] More flexible container name -> hostname derivation
...
Provides to new two new flags: `--hostname-match <regexp>`
and `--hostname-replacement <replacement>`. When launching a container, its name
matched against regular expression `<regexp>`. Then, based on that match,
`<replacement>` will be used to generate a hostname, which will ultimately be
handed over to weaveDNS for registration.
The substitution is implemented with
https://golang.org/pkg/regexp/#Regexp.ReplaceAllString . Thus, references to
regexp substitution groups should be prepended with a dollar sign.
For instance, if we provide `--hostname-match '^aws-[0-9]+-(.*)$'` and
`--hostname-replacement 'my-app-$1'`, running a container named
`aws-12798186823-foo` through WeaveProxy will lead to WeaveDNS registering
`my-app-foo`.
Closes #1018
2015-07-14 14:41:44 +00:00
Matthias Radestock
16471d0a28
Merge branch '1.0'
...
Conflicts:
site/features.md
test/110_encryption_test.sh
2015-07-14 15:41:10 +01:00
Matthias Radestock
6386c1bd18
Merge branch 'latest_release_doc_updates' into 1.0
2015-07-14 15:36:55 +01:00
Matthias Radestock
2e93a4c18e
Merge pull request #1132 from weaveworks/issues/945-secure-router-config
...
Improvements to password handling recommendations
Closes #945 .
2015-07-14 15:31:20 +01:00
Matthias Radestock
0abd134a0d
Merge pull request #1133 from weaveworks/revert-1050-issues/987
...
Revert "Resolve unqualified names in the local WeaveDNS domain"
2015-07-14 15:06:19 +01:00
Matthias Radestock
18032015b9
Revert "Resolve unqualified names in the local WeaveDNS domain"
2015-07-14 16:06:05 +01:00
Adam Harrison
e26e7e29f2
Improvements to password handling recommendations
2015-07-14 14:48:58 +01:00
Matthias Radestock
39a1f2163f
Merge pull request #1050 from weaveworks/issues/987
...
Resolve unqualified names in the local WeaveDNS domain
Closes #987 .
2015-07-14 14:43:29 +01:00
Alvaro Saurin
4c519fc761
Smoke tests
2015-07-14 15:12:40 +02:00
Matthias Radestock
bbacaa42b8
cosmetic
2015-07-14 13:23:28 +01:00
Matthias Radestock
2f35ad1d42
Merge pull request #1098 from dpw/encrypt-features
...
New connection protocol version with encrypted features map
Closes #1029 . Closes #912 .
2015-07-14 13:20:18 +01:00
Bryan Boreham
6d17fe5df5
Need to restart docker after systemd reconfigure
2015-07-14 12:12:35 +01:00
Bryan Boreham
907de67a40
Merge pull request #1125 from weaveworks/smoke-overlay
...
Upgrade smoke-tests to use 'overlay' storage and Ubuntu 15.04
2015-07-14 11:51:53 +01:00
Tom Wilkie
499d65e715
Build cover tool by default, and do go get -t for tests, irregardless of $SLOW
2015-07-14 10:50:34 +00:00
Alvaro Saurin
efb0ead9ad
Resolve unqualified names in the local WeaveDNS domain
...
Unit tests
2015-07-14 10:46:41 +02:00
Matthias Radestock
85b4a05c9a
Merge branch '1.0'
2015-07-13 19:07:47 +01:00
Matthias Radestock
1f3d054b09
Merge pull request #1124 from weaveworks/issues/1037-mitigate-entropy-depletion
...
Mitigate entropy depletion
Closes #1037 .
2015-07-13 19:06:54 +01:00
Bryan Boreham
4853a1da05
Tell Docker to use 'overlay' storage driver
2015-07-13 18:28:29 +01:00
Bryan Boreham
db8016112e
Upgrade to Ubuntu 15.04
2015-07-13 18:28:11 +01:00
Tom Wilkie
4eb6d147b5
Merge pull request #1121 from weaveworks/test_large_packets
...
test that large packets can be transmitted over weave
2015-07-13 17:06:28 +01:00
Adam Harrison
e2f8b6f9fd
Document /dev/random blocking issue
2015-07-13 15:02:31 +01:00
Adam Harrison
f3c4a9fc6d
Limit router accept rate with token bucket
2015-07-13 15:02:31 +01:00
Adam Harrison
9634526a67
Add token bucket implementation
2015-07-13 15:01:04 +01:00
Adam Harrison
b67c102fe5
Remove simple sleep from router accept
2015-07-13 15:01:04 +01:00
Tom Wilkie
1e39b2bdcf
Merge pull request #1123 from weaveworks/remove-danglies
...
Remove Docker dangling images in smoke-tests
2015-07-13 14:38:04 +01:00
Adam Harrison
d6443809bd
Merge pull request #1120 from weaveworks/998-race
...
Various improvements to unit test running
2015-07-13 14:09:45 +01:00
Bryan Boreham
80e56d67db
Remove Docker dangling images after copying new ones
2015-07-13 14:03:47 +01:00
Tom Wilkie
24a4d6501e
Merge pull request #1117 from weaveworks/multi_hop_tests
...
Multi hop tests
2015-07-13 11:39:06 +01:00
Bryan Boreham
5e43f0fd4c
Merge pull request #1079 from weaveworks/68-rewrite-etc-hosts
...
LGTM. Closes #68 , with remainder to #1122
2015-07-13 11:03:20 +01:00
Tom Wilkie
13f1239a3e
Various improvements to unit test running
...
- units.sh should exit on error.
- Add race detector to unit test runner.
- Use local testing/cover/cover tool in gen_coverage_report.sh and units.sh
- Use the scheduler to parallelise the unit tests.
- Make test run id a string and differentiate between unit runs and integration runs in the scheduler.
- Pipe circle env vars through to build container so we can detect when to use the scheduler
- Add python requests to the weave build container.
- Quote test names in urls, make flask handle url segments with slashes in.
2015-07-13 09:33:52 +00:00
Matthias Radestock
9463ceb873
test that large packets can be transmitted over weave
2015-07-13 10:31:20 +01:00
Matthias Radestock
7aab5cc5b4
refactor: simplify NewPeers
2015-07-11 17:46:57 +01:00
Matthias Radestock
2b61bc91df
cosmetic: remove blank log lines
2015-07-11 16:43:33 +01:00
Matthias Radestock
57a4371e9f
attempt to cure spurious test failures
2015-07-11 16:31:16 +01:00
Matthias Radestock
1d2e6b4c56
test gossip forwarding
2015-07-11 16:17:36 +01:00
Matthias Radestock
2a0bc91f86
add test for peer discovery and multi-hop routing
2015-07-11 14:57:24 +01:00
Matthias Radestock
210b926064
increase number of test VMs from 2 to 3
2015-07-11 14:57:24 +01:00
Matthias Radestock
9a089a111f
don't invoke weave stop-router at end of tests
...
since that removes the container, rather than just stopping it.
2015-07-11 14:56:11 +01:00
Matthias Radestock
710eabeff3
reduce test vm memory
2015-07-11 12:15:46 +01:00
Matthias Radestock
603f34e944
oops, forgot to commit this
2015-07-11 12:14:43 +01:00
Matthias Radestock
a3dff7e1e9
cope with more than two test hosts
2015-07-11 11:59:34 +01:00
Matthias Radestock
25486f7b4d
cosmetic: s/weave_stop_router/stop_router_on
...
Also run `weave stop-router` as part of this, so conntrack cleanup
happens.
2015-07-11 11:58:29 +01:00
Matthias Radestock
c22d824db8
.gitignore and clean up coverage reports
2015-07-11 11:57:01 +01:00
Matthias Radestock
a44a3a4158
cure "./gen_coverage_reports.sh: line 5: CIRCLECI: unbound variable"
2015-07-11 11:46:49 +01:00
Matthias Radestock
982c9d7650
remove dead code
2015-07-11 11:17:44 +01:00
Matthias Radestock
7042c1506a
cosmetic: consistency with other tests
2015-07-11 03:36:21 +01:00
Matthias Radestock
76943f0b17
cosmetic
2015-07-11 02:52:30 +01:00
Matthias Radestock
c4f516655d
refactor: simplify ipam claim try
2015-07-11 02:28:14 +01:00
Matthias Radestock
aaba681db1
remove dead code
2015-07-11 01:54:37 +01:00
Tom Wilkie
56a169b50f
Merge pull request #1115 from weaveworks/unit-coverage
...
Run unit tests in circle and include their coverage in the report.
2015-07-10 19:34:48 +01:00
Tom Wilkie
32b2ec4038
Run unit tests in circle and include their coverage in the report. Report coveralls.io from Circle.
2015-07-10 18:19:50 +00:00
Matthias Radestock
ce5052305d
fix CircleCI breakage
2015-07-10 18:44:30 +01:00
Matthias Radestock
0e94e3e07b
complain even less about absent weave container in coverage collection
2015-07-10 18:30:13 +01:00
Matthias Radestock
3d72670105
don't complain in coverage collection when weave container is absent
2015-07-10 18:24:19 +01:00
Tom Wilkie
f8718dcc5d
Remove duplication of coverage stanza in weave script.
2015-07-10 16:35:46 +00:00
Paul Bellamy
fa6777004f
Review feedback
2015-07-10 17:34:06 +01:00
Paul Bellamy
e3212d462d
Merge pull request #1105 from weaveworks/673-smoke-test-coverage
...
Code coverage for smoke tests.
2015-07-10 16:53:59 +01:00
Tom Wilkie
f5186e74c0
Review feedback
2015-07-10 15:33:00 +00:00
Tom Wilkie
bf814739ba
Reduce repetition in Makefile.
2015-07-10 15:03:54 +00:00
Tom Wilkie
00a7490a1d
Code coverage for smoke tests.
...
Allow non-circle people to build coverage reports.
2015-07-10 14:45:14 +00:00
Adam Harrison
da41604229
Fix IPAM test compilation
2015-07-10 15:43:28 +01:00
Adam Harrison
d5a4326b9e
Merge branch '1.0'
...
Conflicts:
ipam/allocator_test.go
ipam/claim.go
2015-07-10 14:35:41 +01:00
Adam Harrison
835d99e6fe
Merge pull request #1104 from weaveworks/1083-async-claim
...
Don't wait to claim addresses from IPAM
2015-07-10 14:03:05 +01:00
Paul Bellamy
e4458372e8
[proxy] weavewait rewrites /etc/hosts so weave ip is returned first from 'hostname -i'
...
Adds a --no-rewrite-hosts flag to the proxy, and be default, removes the
docker IP from hosts. We only discard the docker host when it exists, so
--net=none works.
2015-07-10 13:57:20 +01:00
Matthias Radestock
a05c65c73b
simplify feature extraction
2015-07-09 14:38:08 +01:00
David Wragg
14d346db8b
Add a --protocol-min-version option to router
...
To allow users to forgo compatibility with Weave Net 1.0 in order to
avoid #912 , by setting --protocol-min-version=2.
Defaults to --protocol-min-version=1, i.e. compatible but vulnerable.
2015-07-09 14:38:06 +01:00
David Wragg
882f14d50c
Version 2 protocol, which encrypts the features map
...
With V1 compatibility
2015-07-09 14:37:42 +01:00
Bryan Boreham
75646d4786
Merge remote-tracking branch 'origin/1.0'
...
Conflicts:
router/connection.go
2015-07-09 12:56:37 +01:00
Bryan Boreham
b93070f91a
Fix log message on peer move
2015-07-09 12:51:52 +01:00
Bryan Boreham
cbcd5da680
Fix log message on peer move
2015-07-09 12:33:39 +01:00
Bryan Boreham
cf4ce0a07d
Don't cancel address claim when caller closes socket
2015-07-09 10:47:34 +01:00
Bryan Boreham
78c4b06492
Don't wait for certainty before responding to Claim
...
Conflicts:
ipam/claim.go
2015-07-09 10:47:27 +01:00
David Wragg
501f40d9c1
Consolidate remote peer checks
2015-07-08 17:21:32 +01:00
Matthias Radestock
08463ea403
Merge branch '1.0'
2015-07-08 16:54:24 +01:00
Matthias Radestock
2ced8b9469
Merge branch 'latest_release_doc_updates' into 1.0
2015-07-08 16:53:13 +01:00
Matthias Radestock
26c1bcf866
clarify role of IP allocator range
...
Part of #1035 .
2015-07-08 16:51:25 +01:00
Tom Wilkie
89ad7e1ba2
Move test gossip router out of ipam code for use in gossip dns code.
2015-07-08 15:03:13 +00:00
Matthias Radestock
e6828e1aa5
Merge pull request #1101 from weaveworks/misc-changes
...
Extend router/peers.go to allow multiple OnGC callbacks
2015-07-08 16:00:22 +01:00
Tom Wilkie
c8718d85dc
Extend router/peers.go to allow multiple OnGC callbacks, and call the callbacks outside of the peers lock.
2015-07-08 14:47:02 +00:00
Tom Wilkie
56863c3d0e
Ensure bin/lint doesn't complain about removed files when used as a git precommit script.
2015-07-08 14:43:21 +00:00
David Wragg
e50b1f1fe7
Remove the "found" return value from Peers Fetch method
...
Callers can simply check whether the returned *Peer is nil.
2015-07-08 09:06:33 +01:00
David Wragg
5e10b901a3
Drop the check for duplicate connections in the handshake
...
Duplicate connections are also detected and handled in AddConnection,
I have not been able to reproduce #182 without the check, so although
it may once have been necessary, it doesn't seem to be needed now.
2015-07-08 09:03:51 +01:00
David Wragg
a6a74001bd
Make TCPReceiver more closely mirror TCPSender
2015-07-08 08:53:53 +01:00
Bryan Boreham
0b032386c1
Merge pull request #1092 from weaveworks/1082_usage_to_stderr
...
Note I have rebased this and merged changes. Closes #1082 .
2015-07-07 15:43:23 +01:00
Matthias Radestock
8eb092c754
display usage on stderr
...
so that the likes of $(weave proxy-typo-env) don't do weird things
Closes #1082 .
2015-07-07 15:39:47 +01:00
Alvaro
33921c2cfe
Merge pull request #1073 from weaveworks/971_check_container_alive_in_api
...
make container aliveness check part of the ipam & dns API
2015-07-07 16:08:40 +02:00
Matthias Radestock
6cc566fd3e
Merge pull request #1090 from weaveworks/1076-ignore-iface
...
Don't complain about weave bridge routes clashing
Fixes #1076 .
2015-07-07 13:12:41 +01:00
Matthias Radestock
491a4369d7
Merge pull request #1096 from squaremo/issue1087_password_equals
...
Handle --option=value as well as --option value
Closes #1087 .
2015-07-07 12:57:01 +01:00
Bryan Boreham
6666fd14ac
Allow multiple --ignore-iface arguments
2015-07-07 12:52:29 +01:00
Bryan Boreham
e621aca77e
Added --ignore-iface option to netcheck and use it to ignore weave bridge route
2015-07-07 12:52:29 +01:00
Adam Harrison
3e7c20b4ee
Merge branch '1.0'
2015-07-07 12:46:00 +01:00
Michael Bridgen
22446ffc19
Handle --option=value as well as --option value
...
In any place we munge options, treat the form with an equals the same
as the form without.
The exes ultimately invoked by the script handle both forms, so unless
we need to do something with the option in the script, we can just let
options fall through.
2015-07-07 12:44:37 +01:00
Matthias Radestock
f39791616d
Merge pull request #1095 from weaveworks/move-ipam-address
...
Move ipam/address to net/address
Closes #1065 .
2015-07-07 11:43:47 +01:00
Paul Bellamy
d39aaa86ee
Merge pull request #1084 from squaremo/issue602_moar_hyphens
...
Consistent option naming
2015-07-07 11:37:21 +01:00
Tom Wilkie
4fdb14293b
Move ipam/address to net/address
2015-07-07 10:33:20 +00:00
Michael Bridgen
4ede33468e
Update docs and smoke-tests with new option names
2015-07-07 11:26:09 +01:00
Michael Bridgen
ebbb5d379d
Usage and deprecation warnings in script
...
The usage is rearranged slightly to avoid wrapping at 80 characters.
This will tend to overestimate warnings, since it doesn't try very
hard to ignore values that are not intended to be options; in
particular, arguments that are intended for `docker run`. (Using `--`
to delimit these arguments would make this easier!)
It does ignore values that follow known options though, for instance
in
weave -nickname "-password"
(-nickname results in a deprecation warning, -password does not)
and
weave --password "-iprange"
(no deprecation warning, since -iprange is ignored)
2015-07-07 11:26:09 +01:00
Michael Bridgen
379b8c4e6b
Standardise on options --like-this
...
Hyphenate words, and always expect double dashes for long options. A
small number of options have entirely new names.
In general I have added aliases for the unhyphenated and single-dashed
varieties, and used mflag's deprecation syntax to make it print a
warning when it sees them. I left some abbreviated options
unhyphenated (e.g., `bufsz`), and the TLS options as-is since they
correspond with Docker options.
NB the deprecation wanrings will mostly get printed to container logs,
since mostly the executables are run in containers. The next step is
to emit warnings from the script for the options mentioned in the
script usage message.
2015-07-07 11:13:30 +01:00
Adam Harrison
bde445df9b
Merge pull request #1089 from weaveworks/1086_dns_search_without_equals
...
detect `--dns-search <arg>`
2015-07-07 10:16:21 +01:00
Matthias Radestock
41b0c2a03f
Merge pull request #1070 from weaveworks/1036-change-iprange
...
Change default IP allocation range from 10.128/10 to 10.32/12
Closes #1036 .
2015-07-07 02:24:13 +01:00
Matthias Radestock
02715f88d5
cosmetic: re-order option parsing
...
to match the order in which we susequently process them.
2015-07-06 17:26:04 +01:00
Matthias Radestock
706f9ee352
detect --dns-search <arg>
...
...and not just `--dns-search=<arg>`
Fixes #1086 .
2015-07-06 17:22:42 +01:00
Bryan Boreham
646cf84b4a
Merge pull request #1072 from weaveworks/1043_common_launch_args
...
LGTM
2015-07-06 17:15:51 +01:00
Bryan Boreham
f593c2fbf2
Change default IP allocation range from 10.128/10 to 10.32/12
2015-07-06 17:09:05 +01:00
Bryan Boreham
bd24307c2b
Merge pull request #1069 from 2opremio/fons/fix-tests-OSX
...
LGTM
2015-07-06 16:43:26 +01:00
Michael Bridgen
e0c7054f9b
Merge pull request #1075 from weaveworks/fons/test-vagrant-creation
...
Explain how to create the test VMs from vagrant
2015-07-06 16:31:22 +01:00
Michael Bridgen
59550e0fcb
Merge branch 'pr1077'
2015-07-06 16:27:45 +01:00
Michael Bridgen
af64c8e2af
Merge branch '1063_status_json_accept_header' of github.com:weaveworks/weave into pr1077
2015-07-06 16:25:58 +01:00
Matthias Radestock
03ac7a86c6
make bin/multiweave work again in 'launch launches everything' world
2015-07-06 15:13:21 +01:00
Matthias Radestock
80a232f44c
copy latest random_mac() from weave script to bin/multiweave
2015-07-06 15:09:23 +01:00
Matthias Radestock
d1041c17d3
Merge pull request #1081 from weaveworks/weave_1.1_readme_updates_proxy_env
...
Remove weave proxy-(env|config) for just (env|config). Readme changes
2015-07-06 15:05:05 +01:00
Matthias Radestock
cf7fff3da2
Merge pull request #1080 from weaveworks/1014-weave-env
...
rename proxy-(env|config) to (env|config)
Closes #1014 .
2015-07-06 15:04:40 +01:00
Alfonso Acosta
373d663b5e
Fix integration tests for OSX
2015-07-06 14:48:53 +01:00
Alfonso Acosta
e86d255a47
Add comment about running integration tests from the Vagrant build VM
2015-07-06 14:07:16 +01:00
Paul Bellamy
5c44f74475
rename proxy-(env|config) to (env|config)
...
Keep error message to stderr, as the proxy should be launched with
'weave launch'. 'proxy-(env|config)' are kept with a deprecation
warning, for a while.
2015-07-06 13:41:23 +01:00
Paul Bellamy
d649bdddc7
Remove weave proxy-(env|config) for just (env|config). Readme changes
2015-07-06 12:59:07 +01:00
Matthias Radestock
5c7763b075
Merge branch '1.0'
2015-07-06 11:00:15 +01:00
Matthias Radestock
e3ab396428
Merge branch 'latest_release_doc_updates' into 1.0
2015-07-06 10:59:34 +01:00
Matthias Radestock
df31454c30
Merge commit 'c8032b6' into latest_release_doc_updates
2015-07-06 10:58:18 +01:00
Matthias Radestock
c8bd47e948
set correct content-type header when returning json status
2015-07-05 19:25:28 +01:00
Matthias Radestock
098fc81825
output json status based on 'Accept' header
...
...instead if having a separate URL.
Closes #1063 .
2015-07-05 19:19:02 +01:00
Alfonso Acosta
cab4a7e1ee
Explain how to create the test VMs from vagrant
2015-07-05 18:59:53 +01:00
Matthias Radestock
6596c8b1a7
make container aliveness check part of the ipam & dns API
...
...rather than conducting it implicitly when an ID "looks like" a
container ID.
Closes #971
2015-07-04 19:13:13 +01:00
Matthias Radestock
5559f1df2e
cosmetic: remove some unnecessary quoting
...
for consistency, since we don't quote the same term anywhere else
2015-07-04 18:14:13 +01:00
Matthias Radestock
156597a965
small simplifying refactor: use shortcircuit boolean expressions
2015-07-04 18:04:25 +01:00
Matthias Radestock
d0641062c0
pass common launch args to all three components
...
ATM that's just --loglevel=...
Closes #1043 .
2015-07-04 04:38:18 +01:00
Matthias Radestock
cf4fffa394
Merge pull request #1057 from weaveworks/329-log-level-choice
...
Give the user more choice of log levels
Closes #329
2015-07-04 03:46:59 +01:00
Matthias Radestock
b30de63f18
Merge pull request #1067 from paulbellamy/proxy-stderr
...
print all stderr output from callWeave to the proxy logs, even if successful
Closes #1056
2015-07-04 03:44:50 +01:00
Bryan Boreham
ff2d7451e2
Remove -debug option, superceded by --log-level
2015-07-04 03:27:07 +01:00
Matthias Radestock
910b57731d
remove stray -debug in tests
2015-07-04 03:19:27 +01:00
Matthias Radestock
b8aa1d473b
remove dead code
2015-07-04 02:53:36 +01:00
Matthias Radestock
ce26f88ee2
Merge branch '1.0'
...
Conflicts:
router/crypto.go
router/ethernet_decoder.go
router/handshake_test.go
router/mocks_test.go
router/peers_test.go
router/router.go
router/udp_sender.go
2015-07-03 20:47:29 +01:00
Matthias Radestock
bf73029d15
cosmetic: goimports -w .
2015-07-03 20:41:35 +01:00
Matthias Radestock
4dbd657a26
import gopacket from github instaead of google code
...
The latter redirects to the former, which breaks `go get`.
Closes #1071 .
2015-07-03 20:32:27 +01:00
Matthias Radestock
1524796408
Merge pull request #1068 from weaveworks/1004-seed-random
...
Seed random-number generator from the host time
Fixes #1004 .
2015-07-03 16:01:16 +01:00
Paul Bellamy
7821412bf7
[proxy] print all stderr from callWeave to the proxy logs, even if successful
2015-07-03 15:45:09 +01:00
Matthias Radestock
b72b7a9ed5
Merge branch '1.0'
2015-07-03 14:28:42 +01:00
Matthias Radestock
a3a7a19870
simplifying refactor
2015-07-03 14:28:18 +01:00
Matthias Radestock
8b0089565f
Merge branch '1.0'
2015-07-03 14:18:46 +01:00
Matthias Radestock
251c68e85a
Merge pull request #1064 from weaveworks/issues/1023-await-ipam-forever
...
Wait forever for IPAM
Fixes #1023 .
2015-07-03 14:17:52 +01:00
Adam Harrison
227cb11f25
Router, DNS and proxy wait forever by default
2015-07-03 14:01:34 +01:00
Adam Harrison
6097dc8aaa
Add wait forever capability to EnsureInterface
2015-07-03 14:01:34 +01:00
Bryan Boreham
8c6c692926
Seed the math/rand generator from the time
2015-07-03 13:39:47 +01:00
Matthias Radestock
7554bd3913
Merge branch 'master' into weave_1.1_readme_updates
...
Conflicts:
README.md
2015-07-03 11:55:32 +01:00
Matthias Radestock
b81fce32f6
one more s/proxy/Weave Docker API proxy
2015-07-03 11:51:12 +01:00
Matthias Radestock
3ea1448c52
cosmetic
2015-07-03 11:49:20 +01:00
Matthias Radestock
f31a3c1261
Merge branch '1.0'
2015-07-03 11:48:07 +01:00
Matthias Radestock
9e32605183
Merge branch 'latest_release_doc_updates' into 1.0
2015-07-03 11:45:37 +01:00
Matthias Radestock
9009e0eb7f
one more s/proxy/Weave Docker API proxy
2015-07-03 11:45:05 +01:00
Matthias Radestock
243d445d1b
Merge branch 'latest_release_doc_updates' into 1.0
2015-07-03 10:59:10 +01:00
Matthias Radestock
65cd2b0e04
missed one
2015-07-03 10:58:22 +01:00
Matthias Radestock
33b230c114
Merge branch 'latest_release_doc_updates' into 1.0
2015-07-03 10:56:00 +01:00
Matthias Radestock
6389af6ea2
Merge pull request #1066 from weaveworks/1019_rename_proxy_in_docs
...
introduce 'Proxy' as 'Docker API Proxy'
Closes #1066 .
2015-07-03 10:55:17 +01:00
Matthias Radestock
fcea6fcbf8
Merge branch '1.0'
2015-07-03 10:03:43 +01:00
Matthias Radestock
8b35f5e8fe
fix typo in comment
2015-07-03 10:03:07 +01:00
Matthias Radestock
7d5dcfafc9
introduce 'Proxy' as 'Docker API Proxy'
...
in order to reduce potential confusion about its role.
Closes #1019 .
2015-07-03 03:33:23 +01:00
Matthias Radestock
07ee2df822
cosmetic(ish): use dotted import. like everywhere else
2015-07-02 21:07:51 +01:00
Paul Bellamy
5b79e274e8
fixup logging changes, so it compiles
2015-07-02 17:04:21 +01:00
Matthias Radestock
e25d1b8365
Merge branch '1.0'
2015-07-02 16:35:40 +01:00
Matthias Radestock
af40ebcab4
Merge pull request #1062 from weaveworks/issues/1006-fix-hostname-derivation
...
Disable hostname derivation when container name is too long
Fixes #1006 .
2015-07-02 16:34:40 +01:00
Paul Bellamy
3fd146557a
Merge pull request #1060 from weaveworks/issues/1059-remove-google-code-refs
...
Remove all the imports from "code.google.com"
2015-07-02 15:59:57 +01:00
Adam Harrison
d427c99161
Add smoke test
2015-07-02 14:29:38 +01:00
Adam Harrison
d1a887857d
Enforce maximum length on weave run hostname derivation
2015-07-02 14:29:38 +01:00
Adam Harrison
3914c4c018
Enforce maximum length on proxy hostname derivation
2015-07-02 14:29:34 +01:00
Alvaro Saurin
f6ffd604dd
Removed all the imports from "code.google.com"
2015-07-02 13:32:52 +02:00
Matthias Radestock
18a4c14670
clarify network/address route overlap error/warning message
...
Closes #1034 .
2015-07-02 11:51:22 +01:00
Matthias Radestock
0f67dbd8bd
Merge branch '1.0'
2015-07-02 11:48:22 +01:00
Matthias Radestock
3bd5ae56f0
fix make update
...
Trying to build the thing for which we want to fetch the dependencies
is rather silly.
2015-07-02 11:46:48 +01:00
Matthias Radestock
ecfc5d091d
Merge pull request #1053 from weaveworks/437-check-address
...
Check addresses supplied by users for conflict with existing routes.
Fixes #437 . Fixes #480 .
2015-07-01 15:03:28 +01:00
Bryan Boreham
84238a0262
Amend error message to reflect usage situation
2015-07-01 14:58:42 +01:00
Matthias Radestock
edf3ec9f09
Merge pull request #1044 from weaveworks/664-use-logrus
...
Use off-the-shelf logger logrus
Closes #664 .
2015-07-01 14:47:52 +01:00
Matthias Radestock
2fee0f0184
Merge branch '1.0'
2015-07-01 14:02:57 +01:00
Bryan Boreham
a5ddb63fca
Remove Info.Print in favour of Log.Info
2015-07-01 14:01:45 +01:00
Matthias Radestock
a05a3c4b26
Merge pull request #1054 from weaveworks/1042-reset-first-10
...
Call `weave reset` earlier in smoke-test set-up, to improve reliability
Fixes #1042 .
2015-07-01 14:01:29 +01:00
Bryan Boreham
a938608cc8
Call weave reset before deleting containers, to improve clean-down
2015-07-01 13:19:43 +01:00
Bryan Boreham
013380c7e7
Update router code to use common logger
2015-07-01 12:26:23 +01:00
Bryan Boreham
13c0b62f96
When looking at proxy logs, use both stderr and stdout
2015-07-01 12:26:23 +01:00
Bryan Boreham
7276fc1d4b
Wire up selection of logging levels to match old behaviour
...
- note that all output is now going to stderr.
2015-07-01 12:26:23 +01:00
Bryan Boreham
67a6961b4b
Adjust logrus feature of padding all lines less than 44 chars with spaces at the end
2015-07-01 12:26:23 +01:00
Bryan Boreham
d82578d895
Replace logging calls with new style
2015-07-01 12:26:23 +01:00
Bryan Boreham
c786e7eb5a
Switch from basic logger to logrus
2015-07-01 12:26:23 +01:00
Bryan Boreham
91099694c9
Send error message to stderr
2015-07-01 12:17:02 +01:00
Bryan Boreham
c9a20ae10c
Warn user if they are trying to use a specific address that clashes with an existing route
2015-07-01 12:17:02 +01:00
Bryan Boreham
f05225da22
Check specific addresses differently to networks
...
For a network, as used by IPAM, we care if *any* address in the range
could possibly conflict with an existing address routed by the host.
When given a single address, we only care if *that specific address*
conflicts with an existing route.
2015-07-01 12:15:04 +01:00
Matthias Radestock
badfdee5e4
Merge branch '1.0'
2015-07-01 11:34:50 +01:00
Matthias Radestock
ba1e75405f
Merge branch 'latest_release_doc_updates' into 1.0
2015-07-01 11:34:24 +01:00
Matthias Radestock
0f5f671054
Merge pull request #1051 from weaveworks/issues/1046-clarify-weavedns-docs
...
Draw attention to --hostname precedence
Fixes #1046 .
2015-07-01 11:33:24 +01:00
Adam Harrison
5b9d350002
Draw attention to --hostname precedence
2015-07-01 11:15:08 +01:00
Bryan Boreham
6403e7a11c
Add missing rule to rebuild netcheck when its source changes
2015-07-01 11:13:40 +01:00
Matthias Radestock
312122e1be
fix typo
2015-07-01 10:30:12 +01:00
Matthias Radestock
bb1da63bfc
Merge pull request #1048 from squaremo/issue1040_eliminate_ipam_mentions
...
Remove references to 'IPAM' in docs and UI
Closes #1040 .
2015-06-29 23:15:58 +01:00
Matthias Radestock
d1b2e74985
Merge pull request #1045 from squaremo/issue1041_usage_for_initpeercount
...
Add -initpeercount to usage
Closes #1041 .
2015-06-29 19:48:52 +01:00
Michael Bridgen
c0b2fe3e3b
Remove references to 'IPAM' in docs and UI
...
The option `--no-default-ipam` is replaced with
`--no-default-ipalloc`; the former will still work (in a 'last one
wins' way), but its usage message says it's deprecated.
2015-06-29 19:20:26 +01:00
Michael Bridgen
864461918f
Add -initpeercount to usage
2015-06-29 17:06:14 +01:00
Matthias Radestock
9127eb8acf
cosmetic: make weave run usage fit in 80 columns
2015-06-29 16:56:57 +01:00
Paul Bellamy
8e629d9471
Merge pull request #999 from paulbellamy/scope-tests
...
Let Scope use these integration test helpers
2015-06-29 13:51:26 +01:00
Matthias Radestock
ab943d938a
refactor: don't return encoder from handshake()
...
We did this for symmetry/completeness, but the encoder is actually
"consumed" by handshake() in the creation of the tcp senders, hence it
is in fact dangerous to return it.
2015-06-29 12:38:21 +01:00
David Wragg
d6fedc1e6e
Remove error return value from DecodeLayers
...
It is never checked, so add a comment explaining why.
2015-06-29 10:47:56 +01:00
David Wragg
3222478449
Remove the LogFrame when fragmenting
...
Subsequent commits make this LogFrame call a little tricky to retain,
and it's not clear that it is really needed.
2015-06-29 10:47:26 +01:00
Paul Bellamy
26cb65c357
making test helpers more robust so scope can use them
2015-06-29 10:22:10 +01:00
Paul Bellamy
1ef3bd3a8b
add docker version and weave version to test sanity checks
2015-06-29 10:20:55 +01:00
Matthias Radestock
51ecf05091
cosmetic: fix typo in comment
2015-06-27 09:35:14 +01:00
Bryan Boreham
565454d3cb
fixed Logf format specifier
2015-06-26 17:22:35 +01:00
Matthias Radestock
906ff210fe
Merge pull request #1026 from weaveworks/1003-proxy-unix-socket
...
Make proxy listen on unix:///var/run/weave.sock
Closes #1003
2015-06-26 16:44:41 +01:00
Tom Wilkie
c4565f6ed3
Make proxy listen on /var/run/weave.sock
2015-06-26 15:08:21 +00:00
Matthias Radestock
8dd9020803
Merge branch '1.0'
...
Conflicts:
ipam/allocator_test.go
2015-06-26 14:08:09 +01:00
Matthias Radestock
ec62029db5
Merge pull request #1024 from weaveworks/982-fix-mock-gossip3
...
Flush messages from mock gossip in IPAM test
Fixes #982 .
2015-06-26 13:44:57 +01:00
Matthias Radestock
55fbffef75
Merge pull request #1009 from awh/weave_launch_all_the_things
...
Weave launch all the things
Closes #962 .
2015-06-26 13:21:44 +01:00
Bryan Boreham
c84c5dbcdf
Make TestGossipRouter goroutine easier to follow
2015-06-26 11:53:14 +01:00
Bryan Boreham
6725c8355f
Check the result of Allocate in TestFakeRouterSimple()
2015-06-26 11:53:03 +01:00
Bryan Boreham
c659e3448a
Add a flush() function to the mock gossip router, and call it where required
2015-06-26 11:40:58 +01:00
Bryan Boreham
959e5f0082
Use different object types for mock gossip messages
2015-06-26 11:38:25 +01:00
Bryan Boreham
6488b0d11c
More idiomatic exitChan
2015-06-26 11:38:07 +01:00
Matthias Radestock
039a2030db
refactor: make DF flag passing logic more obvious
...
...and provide a better abstraction for sending special frames.
2015-06-26 11:11:17 +01:00
Matthias Radestock
33d85aaee5
Merge pull request #1016 from dpw/defer-df
...
Don't inspect the DF flag earlier than we need to
2015-06-26 11:10:42 +01:00
Adam Harrison
d4c1766532
Fix smoke tests
2015-06-26 11:10:08 +01:00
Matthias Radestock
39a6d1c87e
refactor: simplify a test
2015-06-25 20:13:03 +01:00
Matthias Radestock
ee2a66323e
Merge branch '1.0'
...
Conflicts:
ipam/ring/ring_test.go
2015-06-25 19:57:09 +01:00
Matthias Radestock
635a3e5b26
cosmetic: remove attempt at pretty shell fragment
...
there is just no way to format this so it looks good everywhere, due
to different tab widths.
2015-06-25 19:51:39 +01:00
Matthias Radestock
82da45a638
go get test dependencies
...
The previous 'fix' wasn't working since it `go get -t`'ed the dirs
where our executables live. Which don't contain any tests.
2015-06-25 19:31:38 +01:00
David Wragg
64ac7745fe
Don't inspect the DF flag earlier than we need to
2015-06-25 17:11:52 +01:00
David Wragg
5690902173
Move DF indication into LogFrame
2015-06-25 17:11:20 +01:00
David Wragg
4162dcafd3
Make the full EthernetDecoder available to LogFrame
...
So that LogFrame can include information about the decoded frame beyond
the ethernet layer.
2015-06-25 17:11:20 +01:00
Matthias Radestock
9253d45968
Merge pull request #1010 from bboreham/896-check-gossip
...
Try other peers for space if we get errors
Fixes #896
2015-06-25 17:05:40 +01:00
Matthias Radestock
ea59c6c065
Merge pull request #1015 from weaveworks/go-get-tests
...
Extend 'go get' to tests
2015-06-25 17:01:26 +01:00
Bryan Boreham
7c741d6f7e
Extend 'go get' to tests
...
The `-t` flag asks Go to fetch anything required for tests, which is more necessary now we have added testify.
2015-06-25 16:42:53 +01:00
Adam Harrison
99dc70ea7a
Eliminate references to proxy and weaveDNS
2015-06-25 15:42:06 +01:00
Bryan Boreham
8a4b0d536e
Updated after review feedback
2015-06-25 15:41:06 +01:00
Adam Harrison
b78d4f05d0
Use new weave launch command introduced by #962
2015-06-25 14:59:43 +01:00
Bryan Boreham
c76f640e2e
Simpler implementation of weighted-random order
2015-06-25 14:54:44 +01:00
Adam Harrison
a9e3320e7c
Update documentation
2015-06-25 14:43:29 +01:00
Bryan Boreham
b472da18f0
Improve logging of unicast gossip errors
2015-06-25 14:04:37 +01:00
Bryan Boreham
c58cc449c0
More complex ChoosePeersToAskForSpace, with better complexity
2015-06-25 13:19:49 +01:00
Bryan Boreham
af9668f130
Keep trying peers to ask for space until we find one that doesn't error
2015-06-25 12:47:38 +01:00
Adam Harrison
08f3d5b8e8
Implement new weave stop behaviour
2015-06-25 12:47:18 +01:00
Adam Harrison
0d5aad3e90
Rename stop to stop-router
2015-06-25 12:47:18 +01:00
Adam Harrison
fcd79a78af
Implement new weave launch behaviour
2015-06-25 12:47:14 +01:00
Bryan Boreham
9f784b3c31
Report errors in unicasting gossip
2015-06-25 12:22:53 +01:00
Matthias Radestock
657bbbffbc
tiny refactor: raise abstraction level
2015-06-24 18:17:15 +01:00
Tom Wilkie
7780ac1078
Fix gce.sh destory timeouts.
2015-06-24 17:13:37 +00:00
Matthias Radestock
76a12edf57
Merge pull request #997 from dpw/eliminate-starts
...
Eliminate most Start methods in router package
2015-06-24 18:04:57 +01:00
David Wragg
7387caa2eb
Eliminate forwarder Start methods
2015-06-24 17:37:07 +01:00
David Wragg
576dd69b0b
Add a comment to Router's Start method
2015-06-24 17:37:02 +01:00
David Wragg
5e6b107d01
Eliminate the GossipSender Start method
2015-06-24 17:35:26 +01:00
David Wragg
f444ae9224
Eliminate ConnectionMaker Start method
2015-06-24 17:35:26 +01:00
David Wragg
8f5d1eec11
Eliminate the Routes Start method
2015-06-24 17:35:17 +01:00
Matthias Radestock
9a6afcd236
Merge branch '1.0'
2015-06-24 17:26:19 +01:00
Matthias Radestock
5f95de19ce
Merge branch 'latest_release_doc_updates' into 1.0
2015-06-24 17:25:51 +01:00
Fintan Ryan
8fb00ff206
Merge pull request #1002 from weaveworks/include-css
...
Include stylesheet in repo, update footer
2015-06-24 17:09:53 +01:00
Matthias Radestock
94a8338be5
fix typo in comment
2015-06-24 17:02:35 +01:00
David Kaltschmidt
00744fb9b4
use relative paths for stylesheet in docs
2015-06-24 17:54:50 +02:00
David Kaltschmidt
8250e05618
include stylesheet in repo, update footer
...
need because website's custom.css is fingerprinted
2015-06-24 17:18:54 +02:00
David Wragg
12c17d39cc
Merge weaveworks/separate_image_build_and_export (PR #994 )
...
separate the image build and export phases
2015-06-24 15:26:11 +01:00
Adam Harrison
409961fff3
Rename launch to launch-router
2015-06-24 14:30:35 +01:00
David Wragg
159d47a934
Merge rade/992_fractional_sleep (PR #993 )
...
Sleep for 0.1s instead of 1s in the wait_for_status loop.
Closes #992 .
2015-06-24 12:44:52 +01:00
Matthias Radestock
4b11874390
sleep for 0.1s instead of 1s in the wait_for_status loop
...
This reduces `weave launch|launch-dns` execution time.
Closes #992 .
2015-06-24 12:16:52 +01:00
Matthias Radestock
3c7cff1c9c
Merge pull request #996 from weaveworks/rm_dockercon_pointer
...
Remove Link to Dockercon from README
2015-06-24 10:47:00 +01:00
Fintan Ryan
e3574f243f
Remove Link to Dockercon from README
2015-06-24 10:35:12 +01:00
Matthias Radestock
bdda9d03ae
bump docker version in weave-build docker image
...
to 1.3.1, the same version we use everywhere else, e.g. in weavexec.
2015-06-24 03:24:58 +01:00
Matthias Radestock
ae1805de76
separate the image build and export phases
...
That way the export can be just a single tar, which is more
convenient. And without introducing unnecessary image builds.
2015-06-24 02:54:45 +01:00
Matthias Radestock
0ce123e63a
Merge branch '1.0'
2015-06-24 02:53:06 +01:00
Matthias Radestock
9ae45f6674
Merge branch 'latest_release_doc_updates' into 1.0
2015-06-24 02:52:37 +01:00
Matthias Radestock
6c3aa99595
bump min required docker version for build
...
to the same version we use everywhere else, e.g. in weaveexec
2015-06-24 02:51:24 +01:00
Matthias Radestock
215d96fdc3
Merge branch '1.0'
2015-06-23 23:18:09 +01:00
Matthias Radestock
2c73fd6dde
Merge branch 'latest_release_doc_updates' into 1.0
2015-06-23 23:17:38 +01:00
Matthias Radestock
3b27413887
fix broken link
2015-06-23 23:17:05 +01:00
Matthias Radestock
eb9e450cf1
cosmetic
2015-06-23 19:10:10 +01:00
David Wragg
72039bbe5a
Eliminate the LocalPeer Start method
2015-06-23 16:08:43 +01:00
David Wragg
d6bceb139e
Eliminate MacCache Start method
2015-06-23 16:08:43 +01:00
David Wragg
a311623bb9
Eliminate the Start method on LocalConnection
2015-06-23 16:08:43 +01:00
Paul Bellamy
95d72a57e8
Merge pull request #989 from rade/prefetch_test_images
...
prefetch test images
2015-06-23 15:14:59 +01:00
Adam Harrison
aa8d9eab53
Merge branch '1.0'
2015-06-23 15:05:32 +01:00
Adam Harrison
17ee829299
Merge branch 'latest_release_doc_updates' into 1.0
2015-06-23 15:05:02 +01:00
Adam Harrison
5db39466e8
Fix broken IPAM link
2015-06-23 15:04:37 +01:00
Matthias Radestock
43b8840dd2
Merge branch '1.0'
2015-06-23 14:58:55 +01:00
Matthias Radestock
cc4ab80f62
Merge branch 'latest_release_doc_updates' into 1.0
2015-06-23 14:57:51 +01:00
Matthias Radestock
0e47cee661
remove references to dns, ipam and proxy docs from ToCs
...
Since they are now explained and referenced prominently from the main
Features documentation.
2015-06-23 14:53:49 +01:00
Adam Harrison
59e667801d
Merge GCE fix from branch '1.0'
2015-06-23 14:50:58 +01:00
Adam Harrison
d6dca80dd7
Merge branch 'latest_release_doc_updates' into 1.0
...
Pull in GCE fix
2015-06-23 14:49:36 +01:00
Tom Wilkie
74c391f19c
Update gce.sh make_template command, and build a fresh template.
2015-06-23 14:48:48 +01:00
Matthias Radestock
ae8172ec97
simplify docker image removal
2015-06-23 14:39:29 +01:00
Adam Harrison
d6ab78ff03
Merge documentation from branch '1.0'
2015-06-23 14:36:04 +01:00
Adam Harrison
7e36dc01e8
Merge documentation from branch 'latest_release_doc_updates' into 1.0
2015-06-23 14:35:30 +01:00
Adam Harrison
9020c84f81
Merge pull request #990 from awh/feature_docs_proxy_section
...
Add docker integration section to feature docs
2015-06-23 14:34:25 +01:00
Adam Harrison
d0a1514ab6
Removed redundant further reading section from feature docs
2015-06-23 14:33:33 +01:00
Adam Harrison
06c3a0cf2a
Add docker integration section to feature docs
2015-06-23 14:33:29 +01:00
Adam Harrison
dde5782625
Merge documentation from branch '1.0'
2015-06-23 14:21:05 +01:00
Adam Harrison
a1913130e7
Merge documentation from branch 'latest_release_doc_updates' into 1.0
2015-06-23 14:18:42 +01:00
Matthias Radestock
369bd0f4dc
prefetch test images
...
This gives more consistent test execution times, and also make image
fetch failures more apparent and decoupled from the tests.
We could *always* just run pull, but it's an expensive operation, so
we check for the presence of the image first. The downside is that we
could be running old images. That is not a problem on our CI
infrastructure though since it spins up fresh VMs per for every tun.
2015-06-23 14:16:52 +01:00
Tom Wilkie
3b4a47a961
Update gce.sh make_template command, and build a fresh template.
2015-06-23 13:07:09 +00:00
Matthias Radestock
f29ee3ad05
Merge pull request #986 from awh/feature_docs_weavedns_section
...
Add service discovery section to features docs
2015-06-23 13:55:50 +01:00
Adam Harrison
19a3fc6b9e
Add naming and discovery section to features docs
2015-06-23 13:50:37 +01:00
Paul Bellamy
0a287217b6
Merge pull request #955 from paulbellamy/testing
...
Replacing custom testing helpers with testify, where possible
2015-06-23 12:21:24 +01:00
Adam Harrison
043d15355c
Restore commit lost to force push
2015-06-23 11:53:22 +01:00
Matthias Radestock
2c4cebe9d9
Merge branch '1.0'
2015-06-23 10:31:40 +01:00
Matthias Radestock
9ec1ce3225
Merge pull request #981 from weaveworks/970_show_docker_py_test_failures
...
show docker-py test failures
2015-06-23 10:30:57 +01:00
Matthias Radestock
cedf9bb82d
Merge branch '1.0'
2015-06-23 09:54:24 +01:00
Matthias Radestock
1b4f83c067
Merge branch 'latest_release_doc_updates' into 1.0
2015-06-23 09:53:44 +01:00
Matthias Radestock
c126c403e7
Merge pull request #983 from rade/improve_ipam_doc_integration
...
improve IPAM doc integration
2015-06-23 09:52:39 +01:00
Matthias Radestock
90b9b3c1bf
'address allocation' is the feature
...
covering both automatic and manual allocation
2015-06-23 09:50:39 +01:00
Matthias Radestock
1a17b41bc3
reduce test output noise
2015-06-23 09:42:46 +01:00
Matthias Radestock
2e5e0a7730
remove pointless assertion
2015-06-23 09:42:46 +01:00
Matthias Radestock
b2f62cc635
show test failure output
...
step towards fixing #970
2015-06-23 09:42:46 +01:00
Matthias Radestock
2a9f8a3d75
Merge branch '1.0'
2015-06-22 23:00:29 +01:00
Matthias Radestock
0a553d6630
Merge branch 'latest_release_doc_updates' into 1.0
2015-06-22 22:59:16 +01:00
Matthias Radestock
e51c240ea1
fix broken links
2015-06-22 22:57:48 +01:00
Paul Bellamy
acd5b91eb8
Merge remote-tracking branch 'upstream/1.0'
2015-06-22 17:28:50 +01:00
Paul Bellamy
f5201469a3
Merge pull request #980 from paulbellamy/only-one-entrypoint
...
[proxy] Only prepend weavewait if not already present
2015-06-22 17:28:20 +01:00
Paul Bellamy
34aa2e32d8
[proxy] Only prepend weavewait if not already present
...
This way `docker commit` will not stack up weavewaits.
2015-06-22 15:24:49 +01:00
Adam Harrison
bda245bfdb
Merge pull request #968 from rade/954_show_attach_expose_addresses
...
show IP addresses in attach/expose/detach/hide
2015-06-22 14:49:41 +01:00
Bryan Boreham
d1eb2917e8
Merge documentation from branch 1.0 into master
2015-06-22 14:32:12 +01:00
Bryan Boreham
9a631d0ecd
Merge documentation from branch 'latest_release_doc_updates' into 1.0
2015-06-22 14:25:56 +01:00
Bryan Boreham
c8032b6b25
Merge pull request #977 from bboreham/proxy-net-syntax
...
Change one IPAM proxy example to use a network
2015-06-22 14:24:24 +01:00
Bryan Boreham
68ca6ebe04
Change one IPAM proxy example to use the 'net:' syntax
2015-06-22 14:15:24 +01:00
Matthias Radestock
9f0cd93859
refactor(ish): get the more fundamental setup out of the way first
2015-06-22 12:50:50 +01:00
Matthias Radestock
7cf0d59003
update docs
2015-06-22 12:34:32 +01:00
Adam Harrison
74f8c07674
Merge documentation from branch '1.0'
2015-06-22 12:05:40 +01:00
Adam Harrison
1bbec56cc7
Merge documenation from branch 'latest_release_doc_updates' into 1.0
2015-06-22 12:02:35 +01:00
Adam Harrison
b86bae9c86
Fix incorrect address in service import/export examples
2015-06-22 12:00:57 +01:00
Paul Bellamy
6d89867a74
Merge pull request #978 from rade/972_remove_proxy_d_option
...
remove proxy -D option
2015-06-22 11:36:37 +01:00
Matthias Radestock
ebf725d869
add some tests
2015-06-22 11:26:33 +01:00
Matthias Radestock
257774a093
make weave attach|expose|detach|hide show IP addresses
...
The output contains one IP address for each addr (i.e. [ip:]<cidr> |
net:<cidr> | net:default) supplied on the command line; or, if none
was specified, a single address from the default IPAM subnet.
We don't want `weave run` to output the addresses, since it is meant
to (only) output the container id. Hence we redirect the `attach`
output to stderr in that case.
Closes #954 .
2015-06-22 11:26:33 +01:00
Matthias Radestock
6f798f723a
Merge remote-tracking branch 'upstream/1.0' into 1.0
2015-06-22 11:17:40 +01:00
Matthias Radestock
5fbda6b094
Merge remote-tracking branch 'upstream/master'
2015-06-22 11:15:58 +01:00
Matthias Radestock
b483be8c4b
remove the -D proxy option
...
It doesn't do anything useful since the weave script needs to be able
to talk to docker on the standard unix socket.
Fixes #972 .
2015-06-22 11:13:53 +01:00
Adam Harrison
a751237164
Merge documentation from branch '1.0'
2015-06-22 11:00:25 +01:00
Matthias Radestock
0c87dcd656
cosmetic
2015-06-22 11:00:12 +01:00
Adam Harrison
b1bd1d4d6a
Merge pull request #964 from awh/v1.0_use_proxy_doc_updates
...
Update documentation to leverage proxy
2015-06-22 10:46:00 +01:00
Matthias Radestock
e276f3e026
cosmetic
2015-06-22 10:38:59 +01:00
Adam Harrison
1e638be7ac
Remove weave run from how it works
2015-06-22 10:36:56 +01:00
Adam Harrison
acd2b9abeb
Reword proxy hyperlink text in index
2015-06-22 10:36:56 +01:00
Adam Harrison
6ddecfc764
Update proxy docs
2015-06-22 10:36:56 +01:00
Adam Harrison
f15ad71354
Update IPAM docs to use proxy
2015-06-22 10:36:56 +01:00
Adam Harrison
4d54af39b0
Update weaveDNS docs to use proxy
2015-06-22 10:36:56 +01:00
Adam Harrison
81d5a8f4f5
Update features docs to use proxy
2015-06-22 10:36:56 +01:00
Adam Harrison
344119f42a
Update README examples to use proxy
2015-06-22 10:36:52 +01:00
Matthias Radestock
84e5659090
Merge branch '1.0'
2015-06-22 10:31:50 +01:00
Matthias Radestock
514db8efdd
Merge branch 'latest_release_doc_updates' into 1.0
2015-06-22 10:31:20 +01:00
Paul Bellamy
0693ec55c6
Merge pull request #974 from rade/972_remove_proxy_d_option_from_docs
...
remove the `-D` proxy option from the docs
2015-06-22 10:29:16 +01:00
Matthias Radestock
56c720b078
remove the -D proxy option from the docs
...
It doesn't do anything useful since the weave script needs to be able
to talk to docker on the standard unix socket.
Also remove dangling reference to 'localhost', and move note about
firwalls to where it is most pertinent.
Part fix to #972 .
2015-06-22 10:20:18 +01:00
Matthias Radestock
bbeb7966b4
Merge remote-tracking branch 'upstream/1.0'
2015-06-21 10:42:28 +01:00
Matthias Radestock
403b9654f1
Merge remote-tracking branch 'upstream/1.0' into latest_release_doc_updates
2015-06-21 10:41:38 +01:00
Matthias Radestock
84775e414b
Add release 1.0.1
2015-06-21 10:05:52 +01:00
Matthias Radestock
edb4911bf6
Merge branch '1.0'
2015-06-21 09:39:45 +01:00
Matthias Radestock
d913ca869c
Merge branch '967_include_image_name_in_inspect_error' into 1.0
2015-06-21 09:38:42 +01:00
Michael Bridgen
e3917121fa
Merge remote-tracking branch 'upstream/1.0.0'
2015-06-20 16:45:34 -07:00
Michael Bridgen
ede288ad38
Merge pull request #969 from rade/967_include_image_name_in_inspect_error
...
include image name in errors
2015-06-20 16:41:05 -07:00
Michael Bridgen
58f14551dc
Merge branch 'pr969'
2015-06-20 16:28:44 -07:00
Michael Bridgen
97816d6c54
Merge branch '967_include_image_name_in_inspect_error' of https://github.com/rade/weave into pr969
2015-06-20 16:21:20 -07:00
Matthias Radestock
3732f968d0
include image name in errors
...
The go docker client's ErrNoSuchImage does not include the image
name. However, it is imperative that this name appears in error
messages sent to clients, since the docker client, as of version
1.7.0, only automatically pulls images when their name is present in
the error.
Fixes #967 .
2015-06-20 23:36:48 +01:00
Matthias Radestock
939a095bf4
Merge pull request #966 from weaveworks/readme_website_sync
...
README update to point at weave.works
2015-06-19 20:38:37 +01:00
Fintan Ryan
ad0d53f7fe
Update proposed text
2015-06-19 19:17:43 +01:00
Fintan Ryan
e748ddc20d
README update to point at weave.works
2015-06-19 13:00:01 +01:00
Matthias Radestock
e51ecd73b3
refactor: extract helper
2015-06-18 19:01:10 +01:00
Matthias Radestock
5479d0a54d
improve test performance - only fetch status once per check
2015-06-18 18:53:06 +01:00
Matthias Radestock
6830b27317
cosmetic: correct some comments, tweak some arg parsing
2015-06-18 18:13:27 +01:00
Matthias Radestock
4399be7ad2
correct comments
2015-06-18 17:55:42 +01:00
Matthias Radestock
42d2a860eb
test more things, more obviously
2015-06-18 17:48:21 +01:00
Matthias Radestock
3ec0200067
cosmetic oops
2015-06-18 16:57:54 +01:00
Matthias Radestock
d1e4a8ec8a
cosmetic: vertical alignment and consistency for better readability
2015-06-18 16:26:16 +01:00
Paul Bellamy
54b3061c50
Merge gofmt and goimports run
2015-06-18 14:05:51 +01:00
Bryan Boreham
19fe808dff
Update links in changelog to point at latest_release
2015-06-18 11:59:44 +01:00
Bryan Boreham
b7281cc08d
Add release 1.0.0
2015-06-18 11:23:44 +01:00
Adam Harrison
617c3883c7
Merge pull request #948 from awh/v1.0_doc_updates
...
Update documentation to leverage IPAM and DNS
2015-06-18 10:38:32 +01:00
Adam Harrison
9e20a5256b
Rename example containers
2015-06-18 10:32:15 +01:00
Matthias Radestock
a3db33cfd9
more helpful error message when weave et al die on startup
...
Closes #958 .
2015-06-17 22:54:11 +01:00
Adam Harrison
aa8a86a0b9
Update service binding example
2015-06-17 17:34:15 +01:00
Adam Harrison
7238192150
Update service routing example
2015-06-17 17:34:15 +01:00
Adam Harrison
caa0e31be2
Update service import example
2015-06-17 17:34:15 +01:00
Adam Harrison
5a6cafc3da
Update service export example
2015-06-17 17:34:15 +01:00
Adam Harrison
1df52350fa
Update host network integration example
2015-06-17 17:34:15 +01:00
Adam Harrison
40323202f5
Update dynamic attachment example
2015-06-17 17:34:15 +01:00
Adam Harrison
0d83f24661
Prefer -ti to -t -i in updated examples
2015-06-17 17:34:15 +01:00
Adam Harrison
8550469c9f
Update subnet isolation example
2015-06-17 17:34:15 +01:00
Adam Harrison
e5679a787c
Update subnet isolation example
2015-06-17 17:34:15 +01:00
Adam Harrison
e37a4314b3
Add manual addressing to features
2015-06-17 17:34:10 +01:00
Adam Harrison
7b5ee8fb65
Update virtual ethernet switch example
2015-06-17 17:32:40 +01:00
Adam Harrison
cf5835f081
Update README examples to use IPAM and DNS
2015-06-17 17:32:40 +01:00
Paul Bellamy
aea1a2b08c
have travis fetch any test-only dependencies before building tests
2015-06-17 17:00:36 +01:00
Paul Bellamy
cdee7a5d6f
Replacing custom testing helpers with testify, where possible
2015-06-17 16:58:03 +01:00
Paul Bellamy
21e07c0db9
Running gofmt -s
2015-06-17 15:32:08 +01:00
Paul Bellamy
06101d134b
Running goimports
2015-06-17 15:32:08 +01:00
Matthias Radestock
501108e3ae
cosmetic: vertical alignment
2015-06-17 15:13:07 +01:00
Matthias Radestock
87fe10ab5d
Merge pull request #952 from paulbellamy/950-proxy-launch-router
...
Add support for WEAVE_CIDR=none
Fixes #950 .
2015-06-17 14:57:35 +01:00
Paul Bellamy
6c26a55b5a
[proxy] refactor weaveCIDRsFromConfig slightly
2015-06-17 14:51:12 +01:00
Paul Bellamy
ca681bce13
[proxy] Add support for WEAVE_CIDR=none
...
Tells the proxy not to do anything with this container. We set it when
running weaveexec/weave/etc containers, so that the weave script works
through the proxy.
2015-06-17 14:51:12 +01:00
Bryan Boreham
ff838a14d9
Fix terminology in error message.
...
Also removed hint on usage, because `-iprange` is on by default.
2015-06-17 13:16:53 +01:00
Matthias Radestock
c45b586a44
Merge pull request #949 from paulbellamy/939-proxy-env-bug
...
remove spurious output from proxy-(env|config)
Fixes #939 .
2015-06-17 12:10:09 +01:00
Matthias Radestock
215312bb5f
Merge pull request #946 from bboreham/758-expand-ipam-docs
...
Expand description of -initpeercount in docs
Closes #758 .
2015-06-17 12:06:04 +01:00
Bryan Boreham
34e0e3bb24
Merge pull request #935 from bboreham/weavedns-races
...
All unit and smoke tests passed.
2015-06-17 12:05:43 +01:00
Paul Bellamy
b1f43f0d7c
[proxy] Remove spurious output from proxy-(env|config)
...
`docker log` outputs an error if stdout is closed before it is done, so
silence that
2015-06-17 11:53:28 +01:00
Bryan Boreham
40efc347b6
Cosmetic
2015-06-17 11:41:46 +01:00
Matthias Radestock
71f19469ab
Merge pull request #947 from paulbellamy/940-proxy-default-ipam
...
[proxy] --with-ipam -> --no-default-ipam
Closes #940 .
2015-06-17 11:37:25 +01:00
Bryan Boreham
9636675c2c
Split part of DNSServer.Start() to a separate ActivateAndServe()
...
Specifically, move the part that blocks, and call that as necessary.
This means Start() can run on the caller's goroutine and avoid race conditions.
2015-06-17 11:35:53 +01:00
Bryan Boreham
1b57a24789
Don't re-initialise log writers unless the type changed.
...
This avoids race-conditions in unit tests where the initialisation
is on a different goroutine to the logging.
2015-06-17 11:35:01 +01:00
Bryan Boreham
90fb201a51
Copy the DNS entry going into the cache, to avoid races.
...
The shuffleAnswers() call ends up acting on the same data,
so it seems simplest to resolve ownership arguments by copying.
2015-06-17 11:35:01 +01:00
Bryan Boreham
657133db50
Move the counting of results from DNS goroutine to test goroutine to avoid race-condition
2015-06-17 11:35:01 +01:00
Bryan Boreham
e68364cb3b
Don't overwrite recvChan; it just creates a race condition
2015-06-17 11:35:01 +01:00
Bryan Boreham
1f92ae6ba8
Swap the order in which two goroutines are started, since one relies on the other.
2015-06-17 11:35:01 +01:00
Bryan Boreham
a6bebd85ed
Remove 'running' member that triggers a race warning and isn't necessary.
2015-06-17 11:35:01 +01:00
Paul Bellamy
220c80c3ed
[proxy] --with-ipam -> --no-default-ipam
2015-06-17 11:31:33 +01:00
Bryan Boreham
5960ecb3d1
Expand description of -initpeercount
2015-06-17 11:12:10 +01:00
Matthias Radestock
c2778d9fa3
improve -neg-ttl usage message
2015-06-17 10:29:39 +01:00
Matthias Radestock
cfe14ff568
Merge pull request #943 from inercia/weave-941
...
make negative TTL default to same value as TTL
Fixes #941 .
2015-06-17 10:23:41 +01:00
Matthias Radestock
cf5d8874b6
Merge pull request #937 from inercia/weave-934
...
Ignore empty queries (sent when the server is being shut down)
Fixes #934 .
2015-06-17 10:10:18 +01:00
Alvaro Saurin
d086867c0c
make negative TTL default to same value as TTL
2015-06-17 10:17:12 +02:00
Matthias Radestock
d09133c010
cosmetic: less sudoing
2015-06-17 08:30:35 +01:00
Matthias Radestock
6ac2b34a6e
Merge pull request #936 from weaveworks/readme_update_2
...
Update wget to curl
2015-06-17 08:27:46 +01:00
Matthias Radestock
9276df62c2
document weave stop-proxy
2015-06-17 07:09:47 +01:00
Matthias Radestock
d4c383b4b7
cosmetic: add weaveDNS TTL customisation to ToC
2015-06-17 07:05:09 +01:00
Matthias Radestock
b10a4a2976
cosmetic
2015-06-17 06:59:20 +01:00
Matthias Radestock
cfda9ffb8f
add load balancing and faul resilience to weaveDNS docs ToC
...
This was missed in #775
2015-06-17 06:48:12 +01:00
Matthias Radestock
ae5c2dab86
take advantage of recent features in proxy example
2015-06-16 23:01:14 +01:00
Matthias Radestock
0452076ebc
remove outdated note
2015-06-16 22:58:30 +01:00
Matthias Radestock
7831460eff
rely on ipam for launch-dns in proxy example
2015-06-16 22:51:57 +01:00
Matthias Radestock
20d5790358
drop -iprange from proxy docs, since ipam is enabled by default now
2015-06-16 22:51:10 +01:00
Matthias Radestock
a52702f76e
fix typo
2015-06-16 22:46:41 +01:00
Matthias Radestock
351573c122
simplify proxy launch examples
...
No need to specify --with-dns if DNS is running.
This should have been changed as part of #898 .
2015-06-16 22:38:53 +01:00
Matthias Radestock
809b048abd
fix sporadic 650_*.sh test failure caused by undefined variable
...
This is quite hilarious...
$BASE_IMAGE is not defined in config.sh. So running this test would
actually attempt to run something like
docker -H=... run -e WEAVE_CIDR=10.2.1.4/24 grep ^1$ /sys/class/net/ethwe/carrier
i.e. it would try to run the 'grep' image.
So why does this not fail all the time?
1) 610_*.sh defines $BASE_IMAGE.
2) 620_*.sh builds a 'grep' image.
If either of these tests are included in the same test run before
650_*.sh, then the latter will succeed.
Throw in our fabulous CircleCI scheduler, which distributes tests
according to their execution time, and you end up with sporadic
failures.
Fixes #938 .
2015-06-16 21:13:35 +01:00
Alvaro Saurin
c697d2a8f9
Ignore empty queries (sent when the server is being shut down)
2015-06-16 20:54:51 +02:00
Adam Harrison
b8afefa55f
Merge pull request #931 from paulbellamy/weavedns_default_search_domain
...
[dns] resolve names in `weave.local` by default unless hostname or search path is specified
2015-06-16 18:13:17 +01:00
Fintan Ryan
84bf3c139c
Update wget to curl
2015-06-16 17:55:48 +01:00
Paul Bellamy
1bd343f9f0
Merge pull request #932 from bboreham/921-ipam-or-die
...
Kill the container we just started if we fail to allocate an IP address
2015-06-16 16:18:23 +01:00
Bryan Boreham
fd5ac633d3
Use weave attach --or-die in proxy instead of killing it in the proxy.
2015-06-16 16:05:41 +01:00
Paul Bellamy
a3e836bbaf
Merge pull request #933 from inercia/weave-930
...
Use read/write-locks instead of read-locks in the Domain*Lookup()
2015-06-16 15:41:44 +01:00
Bryan Boreham
ee4daf02b5
Introduce ipam_cidrs_or_die, and call it where we don't want the
...
container to survive an ipam failure.
2015-06-16 15:27:49 +01:00
Paul Bellamy
a8c1832469
updating docs for new dns-search domain behaviour
2015-06-16 15:13:19 +01:00
Paul Bellamy
2c3baa9119
use weavedns search-domain by default
...
iff no hostname/dns-search specified
2015-06-16 15:13:19 +01:00
Alvaro Saurin
f4507e7252
Change read-locks for read/write-locks
2015-06-16 16:02:49 +02:00
Bryan Boreham
32d3909023
Make ipam_cidrs() return failure when call_weave fails
2015-06-16 14:47:47 +01:00
Alvaro Saurin
8a935e3cb2
Launch WeaveDNS with "launch_dns_on"
2015-06-16 15:29:36 +02:00
Matthias Radestock
8b5d0e3fbd
Merge pull request #898 from paulbellamy/weavedns_default_resolver
...
Weavedns default resolver
Fixes #383 .
2015-06-16 14:17:14 +01:00
Paul Bellamy
af38f07d26
refactoring proxy dns test
2015-06-16 14:08:35 +01:00
Adam Harrison
b33d4497fa
Fix test broken by new default behaviour
2015-06-16 14:07:42 +01:00
Adam Harrison
03b83811fa
Update documentation
2015-06-16 14:07:42 +01:00
Adam Harrison
e5b1cc21a9
Smoke test for new weave script DNS behaviour
2015-06-16 14:07:42 +01:00
Adam Harrison
fdce84d9d9
New --with-dns/--without-dns behaviour in weave script
2015-06-16 14:07:42 +01:00
Paul Bellamy
8873d69b77
[proxy] Add --without-dns flag, and change meaning of --with-dns flag
2015-06-16 14:07:40 +01:00
Alvaro Saurin
a1cb5b16a6
Run the unit tests with GOMAXPROCS=4
2015-06-16 14:58:53 +02:00
Alvaro Saurin
8621aa7cbf
Launch WeaveDNS with --debug when DEBUG is set
2015-06-16 14:58:53 +02:00
Bryan Boreham
9a99a51e14
Merge pull request #925 from bboreham/922-remove-dot
...
Remove trailing dot from hostnames. Fixes #922 .
2015-06-16 13:58:12 +01:00
Paul Bellamy
bd0aff6a0f
Merge pull request #929 from weaveworks/923-fix-deadlock
...
Fix deadlock in weavedns
2015-06-16 13:31:39 +01:00
Matthias Radestock
25dd60a149
Merge pull request #928 from awh/offset_tcp_nonce
...
Set high bit in TCP nonce to differentiate from UDP
Fixes #927 .
2015-06-16 13:21:09 +01:00
Paul Bellamy
048261c921
Hold lock while accessing mutable variable, but release before sending on chan
2015-06-16 13:06:14 +01:00
Adam Harrison
9149366919
Set high bit in TCP nonce to differentiate from UDP
2015-06-16 12:21:18 +01:00
David Wragg
47d7c22073
Merge rade/871_version_header (PR #920 ): protocol versioning
...
Closes #871 .
2015-06-16 12:20:40 +01:00
Bryan Boreham
7a106aeb5f
Release lock before sending on a channel
2015-06-16 11:44:25 +01:00
Matthias Radestock
3124ffede5
more forward/backward compatible protocol versioning
...
We now first exchange a very minimal header, consisting of just the
name of the protocol ("weave") and the min and max version (encoded as
a byte each) we support. This leaves all other details of the
protocol, including the contents of of the handshake, open.
Peers agree to communicate using the maximum mutually supported
version. We record this in the LocalConnection, though atm nothing is
making use of that information.
We set a shorter than normal deadline (10s instead of 60s) for the
header exchange, so we detect version mismatches, garbage, or
non-responsive remotes quickly.
We reset the protocol version to '1' since this is a fresh start; old
weaves will not be able to parse the header.
Closes #871 .
2015-06-16 11:00:41 +01:00
Bryan Boreham
79db00a90e
Strip trailing period from hostname generated from weavedns domain.
...
We strip at the calling point rather than in the server, because DNS
servers do see the domain as ending with a '.' representing the root.
2015-06-16 10:26:11 +01:00
Bryan Boreham
dd9adf6a65
Don't add a trailing newline to the domain
2015-06-16 10:25:54 +01:00
Matthias Radestock
0206434f62
fix 130_expose_test breakage
...
introduced by 8ac98f9f6b
2015-06-15 22:25:22 +01:00
Matthias Radestock
657cbaefb9
refactor: simplify dns_args
2015-06-15 21:54:51 +01:00
Matthias Radestock
ee61f07d9b
refactor: extract rm_containers helper
...
cherry-picked from #898
2015-06-15 21:41:43 +01:00
Matthias Radestock
cba1827d2c
Merge pull request #918 from bboreham/916-check-call-weave
...
Output error message if http call to weave or weavedns fails
Fixes #916 .
2015-06-15 21:16:40 +01:00
Matthias Radestock
3d7c18ee70
cosmetic: remove some unnecessary quoting
2015-06-15 21:02:23 +01:00
Matthias Radestock
82c1a58e81
refactor: remove unused weave dns-domain command
...
and inline dns_domain() function.
Both were introduced in #890 .
2015-06-15 19:23:52 +01:00
Matthias Radestock
8ac98f9f6b
tiny refactor: replace some 'if's with short-circuit expressions
2015-06-15 18:33:29 +01:00
Bryan Boreham
56e0636b14
Output error message if http call to weave or weavedns fails
2015-06-15 17:58:59 +01:00
Bryan Boreham
6534cc6ae3
Merge pull request #919 from bboreham/915-not-again-again
...
Fixes #915
2015-06-15 17:06:30 +01:00
Bryan Boreham
d25d0810af
Extend the 'block' flag to block allocateAgain()
...
otherwise we can re-insert the entry into the map after a parallel
allocateAgain() has cleared the flag. And it /that/ happens in
parallel with a free() then the data-structure can get out of sync.
2015-06-15 16:51:27 +01:00
Alvaro Saurin
ba2f6671a6
Removed a couple of Debug.Printf()s
2015-06-15 17:11:27 +02:00
Alvaro
9284366a3d
Merge pull request #917 from bboreham/inercia-flush-sched-queue
...
Return of the Fix for the zone refresh unit test
2015-06-15 15:45:57 +02:00
Bryan Boreham
7e6a478283
Merge pull request #914 from rade/911_different_gossip_channels
...
LGTM. Fixes #911
2015-06-15 14:42:22 +01:00
Matthias Radestock
e15ebd9118
add unit test for SurrogateGossiper
2015-06-15 14:22:25 +01:00
Bryan Boreham
0ff311356d
Flush the background updater goroutines to make tests reliable
2015-06-15 13:48:54 +01:00
Bryan Boreham
e49a29197b
Add a Flush() routine to synchronize callers
2015-06-15 13:48:24 +01:00
Bryan Boreham
2b7fb699af
Clean up a couple of compilation errors
2015-06-15 13:47:01 +01:00
Bryan Boreham
f3ad8bd52f
Merge branch 'weave-fix-unittest' of https://github.com/inercia/weave into inercia-weave-fix-unittest
2015-06-15 11:51:14 +01:00
Matthias Radestock
36ba838f54
remove ipam.DummyAllocator and rely on new SurrogateGossiper
...
As a result it is possible to mix nodes with and without IPAM. Note
that the quorum only involves the former, and hence such mixed
environments will typically require a custom `-initpeercount`.
2015-06-15 11:24:07 +01:00
Matthias Radestock
dea5bd0639
introduce SurrogateGossiper for dealing with unknown gossip channels
...
Instead of erroring when we receive gossip for an unknown channel, we
create a GossipChannel on the fly, with a SurrogateGossiper singleton
as the gossiper.
The SurrogateGossiper ignores unicasts and relays broadcasts and
gossip.
2015-06-15 11:23:32 +01:00
Matthias Radestock
0b3584a355
permit encoding of GossipData into multiple messages
2015-06-15 11:14:24 +01:00
Matthias Radestock
94220f22b2
allow dynamic addition of gossip channels
2015-06-15 11:14:24 +01:00
Matthias Radestock
ec85da914a
simplify dns-add/remove arg checking
2015-06-15 10:34:59 +01:00
Matthias Radestock
bfebfecf6c
refactor: simplify test router creation
2015-06-15 08:12:35 +01:00
Matthias Radestock
e48ec6a35f
clean up erroneous comment
2015-06-15 08:03:02 +01:00
Matthias Radestock
a844797d67
cosmetic: reduce test noise
2015-06-14 17:48:21 +01:00
Matthias Radestock
72640f1828
refactor: extract helpers for http calls into weave and weavedns
2015-06-14 17:46:56 +01:00
Matthias Radestock
4ce6a76d1f
remove outdated piece of docs
2015-06-14 16:36:37 +01:00
Matthias Radestock
bf4c75b1cd
don't validate -iprange value
...
We generally don't validate arguments in the script unless we process
them there.
2015-06-14 16:12:53 +01:00
Matthias Radestock
313a95a467
let -iprange "" start the router w/o IPAM
2015-06-14 16:06:20 +01:00
Matthias Radestock
926c85c6ba
more idiomatic 'boolean' in shell
2015-06-14 15:48:08 +01:00
Matthias Radestock
afb31d3beb
cosmetic: remove unused method
2015-06-14 11:49:03 +01:00
Matthias Radestock
c4c5ec1e92
refactor: add a little helper to improve abstraction
2015-06-14 11:09:55 +01:00
Matthias Radestock
cea85eb05b
cosmetic: move GossipChannel code into separate file
2015-06-14 10:35:51 +01:00
Matthias Radestock
3e0d0a1993
refactor: introduce NewGossipChannel
2015-06-14 10:09:36 +01:00
Matthias Radestock
882ed85d77
tiny refactor
2015-06-14 09:37:13 +01:00
Matthias Radestock
eae9928e98
don't complain when weave --local run is invoked without args
...
leave that to docker, same as we do for `weave run`
Fixes #910 .
2015-06-13 00:48:01 +01:00
Matthias Radestock
779d1589c5
Merge pull request #907 from bboreham/819-check-its-alive
...
Free allocated address if container is not running
Fixes #819 .
2015-06-12 17:22:16 +01:00
Bryan Boreham
4c01af4e1d
Check if container is still running right after allocating
2015-06-12 17:09:11 +01:00
Bryan Boreham
13944f3811
Refactor is-running check so we can re-use more of the code
2015-06-12 17:09:11 +01:00
Matthias Radestock
0f9f1feb87
Merge pull request #906 from awh/weavedns_restrict_http_listen
...
DNS HTTP API listens on eth0 only
Fixes #899 .
2015-06-12 16:56:22 +01:00
Adam Harrison
b6889ec8c3
DNS HTTP API listens on eth0 only
2015-06-12 16:55:27 +01:00
Bryan Boreham
5aafbbeff0
Fix compile error introduced in merge of #904
2015-06-12 16:20:35 +01:00
Matthias Radestock
7462fe91d5
Merge pull request #904 from bboreham/inercia-weave-821
...
Remove stale records for short-lived containers (bis)
Fixes #821 . Replaces and hence closes #865 .
2015-06-12 15:36:12 +01:00
Matthias Radestock
79c5343ca5
Merge pull request #905 from bboreham/slashten
...
Use /10 instead of /9 for default iprange
Patching up #893 .
2015-06-12 15:21:38 +01:00
Matthias Radestock
d5ebd6a0c4
Merge branch 'latest_release_doc_updates'
...
Conflicts:
CHANGELOG.md
nameserver/cache_test.go
site/features.md
site/proxy.md
weave
2015-06-12 15:16:50 +01:00
Bryan Boreham
12de13c678
Use /10 instead of /9 for default iprange, so it doesn't clash with CircleCI address
2015-06-12 15:15:36 +01:00
Matthias Radestock
97d692df80
don't restart docker in test setup
...
due to that leaving container debris behind that docker takes ages to
clean up.
2015-06-12 15:01:35 +01:00
Bryan Boreham
7941612dad
remove one level of indentation
2015-06-12 15:01:06 +01:00
Matthias Radestock
c25706f6a5
Merge pull request #902 from bboreham/885-gossip-race
...
Keep flushing gossip until it's all gone
A better (i.e. working?) fix for #885 .
2015-06-12 15:00:02 +01:00
Bryan Boreham
799e202d6d
Make error message more readable
2015-06-12 14:52:20 +01:00
Bryan Boreham
658fbac7aa
Keep flushing gossip until it's all gone
...
A better (i.e. working?) fix for #885 .
2015-06-12 14:50:37 +01:00
Bryan Boreham
086daca3d0
Fold communication-checking code into docker.Client.NewClient()
2015-06-12 14:45:29 +01:00
Matthias Radestock
f48f9ba475
relax documented weavedns subnet requirements somewhat
...
Following #763 .
2015-06-12 14:22:57 +01:00
Bryan Boreham
29c988d42f
Merge pull request #900 from rade/762_dns_ipam
...
LGTM. Closes #762 .
2015-06-12 14:21:07 +01:00
Matthias Radestock
06183bea1a
extensive documentation
2015-06-12 14:01:34 +01:00
Matthias Radestock
a2146ca5b0
add tests for launching DNS with various ways of obtaining an IP
...
As a side effect this also tests repopulation on restart, so we can
remove the separate test for that.
2015-06-12 13:50:22 +01:00
Matthias Radestock
727a213ba1
permit weavedns IP addresses to be choosen by IPAM
...
Same as for ordinary containers.
Closes #762 .
2015-06-12 13:50:22 +01:00
Matthias Radestock
38266f2918
fix layout
2015-06-12 13:35:12 +01:00
Matthias Radestock
6d4c1e49fe
fix layout
2015-06-12 13:33:32 +01:00
Matthias Radestock
fa00b9faf3
add ToC to ipam docs
...
also shorten some of the headings, and use H2 instead of H3
2015-06-12 12:24:32 +01:00
Matthias Radestock
685d7d2559
Merge pull request #893 from bboreham/743-default-iprange-in-script
...
Default value for -iprange
Closes #743 . Closes #870 .
2015-06-12 11:17:12 +01:00
Matthias Radestock
df918ab3c4
revamp ipam docs
2015-06-11 22:24:07 +01:00
Bryan Boreham
404ae010e4
Improve flow of IPAM doc
2015-06-11 18:35:18 +01:00
Bryan Boreham
43d42e6f15
Update docs for default -iprange
2015-06-11 18:01:28 +01:00
Bryan Boreham
328e63828e
Check whether netcheck exists before relying on it
2015-06-11 17:55:27 +01:00
Bryan Boreham
465b16e668
Give -iprange a default, and check if it is free
2015-06-11 17:34:43 +01:00
Bryan Boreham
0e6569d78c
New program netcheck to check if network overlaps routes
2015-06-11 17:27:20 +01:00
Bryan Boreham
8285046962
Function to check if a network overlaps with existing routes
2015-06-11 17:27:20 +01:00
Matthias Radestock
8e04b135bb
check that nsenter is present
...
for `weave --local ...`
Closes #895 .
2015-06-11 16:37:28 +01:00
Matthias Radestock
2b7c785386
don't output container id when we kill it
...
This was missed from #831 .
2015-06-11 16:34:46 +01:00
Paul Bellamy
09f491821b
making test executable
2015-06-11 13:51:41 +01:00
Adam Harrison
c0cfacdb28
Repatriate itinerant smoke test
2015-06-11 12:54:07 +01:00
Matthias Radestock
e96cde1872
Merge pull request #890 from awh/use_container_name_as_hostname
...
Use container name as hostname
Closes #750 .
2015-06-11 12:35:46 +01:00
Adam Harrison
12fc760e4a
Refocus documentation around --name
2015-06-11 12:17:05 +01:00
Paul Bellamy
d2b17690f9
use dnsutils image in one test instead of awk on all the tests.
2015-06-11 12:13:24 +01:00
Adam Harrison
8d7fe2b9e7
Renamed smoke test to avoid number clash
2015-06-11 11:55:21 +01:00
Adam Harrison
1fa7c24a2a
Prefer --name to -h in examples
2015-06-11 11:54:05 +01:00
Adam Harrison
6b80dc035a
Simplify smoke test
2015-06-11 11:53:24 +01:00
Adam Harrison
35cfafc319
Defer evaluation of $(dns_domain) until necessary
2015-06-11 11:52:33 +01:00
Matthias Radestock
e1c07dce3f
permit overriding of DOCKERHUB_USER
...
which in turn enables operation from private registries
Closes #887 .
2015-06-11 11:50:55 +01:00
Paul Bellamy
96bda1639e
define weavedns http port as a constant
2015-06-11 10:27:35 +01:00
Adam Harrison
a424bfe715
Correctly interpret long form arguments that lack an equals symbol
2015-06-11 10:27:34 +01:00
Adam Harrison
4f6ace8b10
Permit optional trailing dot on hostname
2015-06-11 10:27:34 +01:00
Adam Harrison
bccb5065db
Update docs with new weave run behaviour
2015-06-11 10:27:34 +01:00
Adam Harrison
bed6a130d6
Smoke test for new weave run behaviour
2015-06-11 10:27:34 +01:00
Adam Harrison
108eea8b79
Modify weave run to use container name as fqdn
...
When run is invoked with `--with-dns` and a container name but no
hostname, synthesise a fully qualified hostname from the container name
and the weaveDNS domain and supply that as a hostname for the container.
2015-06-11 10:27:34 +01:00
Paul Bellamy
678063efec
updating proxy docs on hostname/domainname dns
2015-06-11 10:27:34 +01:00
Paul Bellamy
99d9ad7042
[proxy] query weavedns for domain
2015-06-11 10:27:34 +01:00
Paul Bellamy
b9850ac200
[proxy] Set hostname and domainname based on container name, when dns
...
Had to make the assert_dns_record test helper more robust against
'getent hosts' returning duplicates
2015-06-11 10:27:29 +01:00
Adam Harrison
9fddad02ad
Add dns_domain helper to weave script
2015-06-11 10:26:07 +01:00
Adam Harrison
a1007411ad
Add /domain resource to DNS REST API
2015-06-11 10:26:07 +01:00
Matthias Radestock
9955de3e9b
cosmetic: shorten usage info
2015-06-11 09:23:58 +01:00
Alvaro Saurin
2eb39d962a
Use the scheduled queue for refreshing names
...
Some minor time tweaks...
2015-06-10 22:56:40 +02:00
Alvaro Saurin
d6a9fc57cc
New scheduled queue, for scheduling calls to callables
2015-06-10 22:56:38 +02:00
Alvaro Saurin
698d352322
Check with Docker whether the container is really running
2015-06-10 22:27:49 +02:00
Alvaro Saurin
1889a4a87f
Simplify the arguments passed to nameserver/http.go:ServeHTTP() (by using information found in some other objects we are already passing, like the server)
2015-06-10 22:27:49 +02:00
Alvaro Saurin
5cb2347f77
Use our own Docker client
2015-06-10 22:27:47 +02:00
David Wragg
5ce4b25f38
Merge rade/746_simplify_frag_test (PR #888 ): simplify fragmentation test
...
Closes #746 .
2015-06-10 18:28:26 +01:00
Matthias Radestock
267716fed5
Merge pull request #827 from bboreham/675-ipam-subnets
...
multi-subnet ipam
Closes #675 . Fixes #861 . Closes #862 .
2015-06-10 17:44:17 +01:00
Bryan Boreham
a89b549c40
Change command-line syntax to net: prefix instead of --subnet
2015-06-10 17:28:06 +01:00
Bryan Boreham
91ad3ef684
Illustrate mix-and-match of ipam and non-ipam CIDRs on command-line
2015-06-10 17:27:07 +01:00
Bryan Boreham
36f793c1f4
Delete entry from addresses map when slice is empty
2015-06-10 17:27:07 +01:00
Bryan Boreham
c27cd5b4ab
Extract lookup function for owned addresses
2015-06-10 17:27:07 +01:00
Bryan Boreham
7d881a0f0c
Check that weave ps returns exactly the CIDRs we are looking for, and comment assumption
2015-06-10 17:27:07 +01:00
Bryan Boreham
487bd2eaf7
Use zero-cidr-args form of 'weave detach' to test #862
2015-06-10 17:24:36 +01:00
Bryan Boreham
e9d194327a
Reduce level of noise in debug logs from containers dying
2015-06-10 17:24:36 +01:00
Bryan Boreham
c301e6a380
Expand test to use IPAM and check addresses are freed
2015-06-10 17:24:36 +01:00
Bryan Boreham
a3d73be8b8
General tidying
...
tidy Address helper functions,
make ordering of members consistent in allocate and claim,
make linter happier,
remove some unused items, and
update some comments
2015-06-10 17:24:36 +01:00
Bryan Boreham
fa0b0042b2
Eradicate the last vestiges of CIDR in Allocator
2015-06-10 17:24:36 +01:00
Bryan Boreham
e21f66db0a
Use address.Range instead of (start,end) pairs
2015-06-10 17:24:36 +01:00
Bryan Boreham
1e71d2dacb
Introduce new '<address_spec>' type in usage text
2015-06-10 17:24:36 +01:00
Bryan Boreham
a80e5cb028
Corrected space.Donate() to restrict the space donated to be in-range, and associated unit test changes
2015-06-10 17:24:36 +01:00
Bryan Boreham
40c9adc8d3
Extract common freelist-walking code
2015-06-10 17:24:36 +01:00
Bryan Boreham
147962d101
Clarify some unit test operations
2015-06-10 17:24:36 +01:00
Bryan Boreham
6536034ab6
Move default subnet outside of Allocator
2015-06-10 17:24:36 +01:00
Bryan Boreham
7e7a2227a0
Document multi-subnet IPAM
2015-06-10 17:24:36 +01:00
Bryan Boreham
e5113889f4
Move NumFreeAddresses() into test
2015-06-10 17:24:36 +01:00
Bryan Boreham
3cdc3522be
Don't overwrite CIDR_ARGS; write new variables ALL_CIDRS and IPAM_CIDRS
...
Handle manual CIDRs and IPAM CIDRs separately, to avoid inconsistencies and misleading messages
2015-06-10 17:24:35 +01:00
Bryan Boreham
2b4eec39cf
Support '--subnet default'
2015-06-10 17:21:16 +01:00
Bryan Boreham
3a9af4413d
Rationalize ipam arguments
...
- rename -defaultsubnet to -ipsubnet
- default subnet defaults to whole -iprange
- parse and check inside ipam package
- removes some error cases
2015-06-10 17:21:16 +01:00
Bryan Boreham
f956a76455
Tighten error checking in weave script
...
- --subnet is used but IPAM is off
- arg that comes after --subnet is not a cidr
2015-06-10 17:21:16 +01:00
Bryan Boreham
ecbd514a83
Tighten error checking
2015-06-10 17:21:16 +01:00
Bryan Boreham
50eaccc60c
Allocate() and Lookup() now return a CIDR, to simplify output
2015-06-10 17:21:16 +01:00
Bryan Boreham
2a00b0092d
Extend 'Lookup' to multi-subnet
2015-06-10 17:21:16 +01:00
Bryan Boreham
d18ccac43b
Free IPAM addresses individually in 'weave hide', because the user now has the ability to free some subnets and not others
2015-06-10 17:21:16 +01:00
Bryan Boreham
a617e7918c
Introduce single-address Free() and rename the previous one to Delete()
2015-06-10 17:21:16 +01:00
Bryan Boreham
d20d2e9142
Update smoke tests that use IPAM with default subnet
2015-06-10 17:21:16 +01:00
Bryan Boreham
551394a831
Add subnet info to space requests from one peer to another
2015-06-10 17:21:16 +01:00
Bryan Boreham
0613a06653
IPAM: handle multiple CIDRs in weave script
2015-06-10 17:21:16 +01:00
Bryan Boreham
ff545feae3
Add some unit tests for multi-subnet
2015-06-10 17:21:16 +01:00
Bryan Boreham
c7a9dfbb3f
Remember multiple addresses owned by each container, for multi-subnet use
2015-06-10 17:21:16 +01:00
Bryan Boreham
2553850ed4
Initial implementation of multi-subnet IPAM
2015-06-10 17:21:16 +01:00
Bryan Boreham
e6d230042d
Introduce address.CIDR type
2015-06-10 17:21:16 +01:00
Bryan Boreham
ae8985deb5
Merge pull request #884 from rade/881_get_container_id_on_start
...
LGTM. Fixes #881
2015-06-10 17:20:25 +01:00
Matthias Radestock
18bc3c2b99
"online dictionary attacks" is better terminology
2015-06-10 16:40:25 +01:00
Matthias Radestock
afd0275042
Merge pull request #848 from paulbellamy/proxy-env
...
add proxy-env and proxy-config
Closes #753 .
2015-06-10 15:34:32 +01:00
Paul Bellamy
2d5e362115
[proxy] use logs for getting proxy-env and proxy-config
...
It's ugly, but beats arg-parsing, inspecting the container and piecing
the address together from exposed ports.
We could just use the host from DOCKER_HOST, but that will fail in the
case of a host with multiple IPs, where the proxy only listens on one.
2015-06-10 15:24:53 +01:00
Matthias Radestock
7a2b5c43e7
feed full container id on weave start to DNS/IPAM
...
We erroneously assumed that `docker start` returned the full container
id. It doesn't and as a result we populated DNS with records with ids
other than full container ids. And that's also what we told IPAM. As a
result, DNS and IPAM didn't clean up after the container's death,
resulting in stale DNS entries and leaked IPs.
Fixes #881 .
2015-06-10 14:53:43 +01:00
Matthias Radestock
0ab7c31bbe
Merge pull request #886 from bboreham/885-gossip-race
...
Avoid gossip test race conditions
Fixes #885 .
2015-06-10 13:50:40 +01:00
Bryan Boreham
0cd4127087
Factor out GossipSender.flush()
2015-06-10 12:24:19 +01:00
Bryan Boreham
5ebfc9027b
Flush gossip inside the channel lock so we know sender hasn't been Stop()-ed
2015-06-10 12:22:38 +01:00
Matthias Radestock
fe6d05fccc
Merge pull request #875 from paulbellamy/proxy-port
...
Add support for custom proxy bind address
Closes #805 . Closes #810 .
2015-06-10 12:19:41 +01:00
Bryan Boreham
35b3a2d6a6
Inline GossipSender.flush() and don't try to send nil
2015-06-10 12:18:09 +01:00
Paul Bellamy
6bb087cecd
[proxy] Renaming flags: -H -> -D, -L -> -H
...
As per discussion in issue 875
2015-06-10 12:13:52 +01:00
Paul Bellamy
447a00ba7e
[proxy] Add support for tcp:// prefix on listen addresses
2015-06-10 12:13:52 +01:00
Paul Bellamy
0da9669e5c
[proxy] removing unneeded port expose
2015-06-10 12:13:51 +01:00
Paul Bellamy
4a7d4d3555
[proxy] documenting -L option
2015-06-10 12:13:51 +01:00
Paul Bellamy
1ac5d4fe98
renaming dns_restart_test so it is picked up by test runner
2015-06-10 11:52:58 +01:00
Bryan Boreham
bd5353024f
Helpful suggestions from the linter
2015-06-10 11:05:04 +01:00
Bryan Boreham
569fd784fa
Make flushing of GossipSender wait till done in tests,
...
and take extra locks to avoid race conditions.
Also removed the sendPendingGossip() from mockChannelConnection.SendProtocolMsg(),
because waiting in flush now creates a deadlock. Tests will have to
call sendPendingGossip() explicitly if they need it.
2015-06-10 10:59:54 +01:00
Matthias Radestock
fbf2208e80
simplify fragmentation test
...
This is how fragmentation tests used to happen:
A: conn.stackFrag = false
A->B: StartFragmentationTest
B->A: send large non-DF UDP packet
A->B: FragmentationReceived
B: conn.stackFrag = true
conn.stackFrag = true means "UDP packets sent to the other peer get
correctly fragmented and re-assembled".
Note how A clears its own stackFrag flag, but the test establishes
whether fragmentation works for B->A, and ends up setting stackFrag on
B. Not only is this weird, it also means that if A previously had
stackFrag=true, it will now start fragmenting packets until B
initiates a fragmentation test.
The new sequence is:
A: conn.stackFrag = false
A->B: send large non-DF UDP packet
B->A: FragmentationReceived
A: conn.stackFrag = true
Closes #746 .
2015-06-10 07:41:37 +01:00
Matthias Radestock
bd364f787e
fix silent failure in assert_dns_record test
...
If the name cannot be resolved, getent fails, which in turn causes
assert_dns_record to just return with a non-zero status at that point,
which causes the whole test to just terminate with a non-zero status,
but no indication whatsoever what had gone wrong.
2015-06-09 19:08:59 +01:00
Matthias Radestock
ca133d6d9b
Call LocalPeer.Encode, not Peer.Encode!
...
We need the former's locking.
Fixes #883 .
2015-06-09 17:19:36 +01:00
Matthias Radestock
94f18f7004
remove outdated comment
2015-06-09 15:52:15 +01:00
Paul Bellamy
e324c15b04
Merge pull request #879 from rade/proxy_interceptor_refactor
...
Proxy interceptor refactor
2015-06-09 14:50:54 +01:00
Matthias Radestock
5c70c7c71a
simplify interceptor structs by referencing proxy
2015-06-09 14:45:50 +01:00
Matthias Radestock
020a9ea396
rename file
2015-06-09 14:45:50 +01:00
Matthias Radestock
3f9c7a5c00
remove pointless indirection
2015-06-09 14:45:50 +01:00
Matthias Radestock
f025b6ea36
refactor interceptor invocation
2015-06-09 14:45:42 +01:00
Paul Bellamy
03fa95fcb5
Merge pull request #878 from rade/877_remove_proxy_status
...
remove most of proxy status
2015-06-09 14:24:53 +01:00
Matthias Radestock
fee2898c05
remove detailed proxy status
...
There are two problems with obtaining the proxy status via the normal
proxy endpoint...
1. when TLS is enabled, this requires using TLS at the client end
2. the status URL is mixed in with the docker remote API, which is
rather unclean
There is limited value to having some status output from the proxy,
since all the output is constant.
So instead we log the version and command line args, and in `weave
status` only report whether the proxy is running.
We still want a way to wait for the proxy to start up, and log a nice
error if it dies. We do this by polling the docker logs for a startup
message.
Fixes #877 . Fixes #876 .
Undoes most of #756 , #800 , #854 .
2015-06-09 14:03:52 +01:00
Matthias Radestock
2d70197221
cosmetic: more formal command grammar
2015-06-08 23:57:53 +01:00
Matthias Radestock
f9c325c793
refactor: more sensible field order
2015-06-08 21:57:49 +01:00
Matthias Radestock
a4b323c5df
mention docker logs weavedns for debugging
2015-06-08 18:39:26 +01:00
Fintan Ryan
365edac5d5
Update strapline
2015-06-08 18:37:51 +01:00
Adam Harrison
89cf5939b8
Merge branch '0.11.2' into latest_release_doc_updates
2015-06-08 17:59:55 +01:00
Adam Harrison
93c1e755e6
Add release 0.11.2 to CHANGELOG
2015-06-08 16:31:24 +01:00
David Kaltschmidt
b7f69c77f1
[site] header markup needs change after refactor
...
due to change in stylesheet in website repo
this change does not affect current deployment, but has to be deployed
when the website is deployed again
2015-06-08 15:09:04 +01:00
Ilya Dmitrichenko
235acc16f6
Merge pull request #874 from weaveworks/header-markup-refactor
...
[site] header markup needs change after refactor
2015-06-08 15:07:08 +01:00
Bryan Boreham
011c86fdca
Merge pull request #852 from rade/816_make_launch_args_order_insensitive
...
LGTM. Fixes #816
2015-06-08 14:34:46 +01:00
Alvaro Saurin
5f4756aa80
Do not overwrite negLocal entries in the cache
...
Unit tests
2015-06-08 13:53:24 +01:00
Ilya Dmitrichenko
106f1c4434
Respect DOCKER_CLIENT_ARGS in weave run ( close #855 )
2015-06-08 13:53:24 +01:00
Alvaro Saurin
bb3dd55a10
Merge branch '0.11'
...
Conflicts:
nameserver/cache_test.go
2015-06-08 13:41:38 +02:00
Matthias Radestock
3f274d02ce
make weave launch args insensitive to order
...
Fixes #816 .
2015-06-08 12:41:26 +01:00
David Kaltschmidt
f65e02477e
[site] header markup needs change after refactor
...
due to change in stylesheet in website repo
this change does not affect current deployment, but has to be deployed
when the website is deployed again
2015-06-08 13:19:58 +02:00
Matthias Radestock
8a5725fa74
correct docs for proxy's -H
2015-06-08 10:26:21 +01:00
Adam Harrison
0df28f58df
Merge pull request #849 from inercia/weave-fix-neg-ttl
...
Do not overwrite negLocal entries in the cache
2015-06-08 09:59:32 +01:00
Matthias Radestock
9d707b9670
add proxy troubleshooting docs
...
Closes #854 .
2015-06-07 13:32:02 +01:00
Matthias Radestock
ad92bbc8c8
get rid of proxy 'Advantages' section
...
instead point out the main purpose right at the top, and list further
benefits in the 'Usage'.
Also, expand docs on configuring the listener.
2015-06-06 23:57:20 +01:00
Matthias Radestock
e1ba892827
go back to using the tcp:// prefix in DOCKER_HOST
...
seems to be the recommended way
2015-06-06 23:54:46 +01:00
Matthias Radestock
4012b3c011
raise profile of proxy
2015-06-06 23:20:56 +01:00
Matthias Radestock
897f625db9
substantial reworking of the proxy TLS docs
2015-06-06 23:08:08 +01:00
Matthias Radestock
33c03e00e4
rewrite proxy dns docs, and add a complete multi-host example
2015-06-06 21:34:26 +01:00
Matthias Radestock
03ede29e7e
ditch proxy 'Limitations' section
2015-06-06 21:22:09 +01:00
Matthias Radestock
4ea451378e
cosmetic
2015-06-06 21:18:57 +01:00
Matthias Radestock
542f966dcd
typo
2015-06-06 21:14:44 +01:00
Matthias Radestock
198b7db463
simplify examples - don't specify a command on container start
2015-06-06 21:13:46 +01:00
Matthias Radestock
b22fbd3734
expand proxy setup documentation
2015-06-06 21:11:39 +01:00
Matthias Radestock
06716ba132
rewrite proxy ipam docs
2015-06-06 16:57:50 +01:00
Matthias Radestock
52509087a7
cosmetic
2015-06-06 16:19:44 +01:00
Matthias Radestock
7e88302d01
mention docker logs weavedns for debugging
2015-06-06 16:17:24 +01:00
David Kaltschmidt
6bf0feeffc
Wrapping content area to allow for sticky footer
2015-06-05 16:46:29 +01:00
Ilya Dmitrichenko
e7f02c954c
Merge pull request #866 from weaveworks/fix-doc-layout
...
Fix doc layout
2015-06-05 16:44:18 +01:00
David Kaltschmidt
cdcd37e15a
Wrapping content area to allow for sticky footer
2015-06-05 17:36:30 +02:00
Alvaro Saurin
8b5df952c9
Do not overwrite negLocal entries in the cache
...
Unit tests
2015-06-05 16:31:57 +02:00
Paul Bellamy
525b7c8eeb
Merge pull request #853 from rade/847_option_to_disable_peer_discovery
...
introduce '-nodiscovery' option to disable automatic peer discovery
2015-06-05 15:31:51 +01:00
Matthias Radestock
8f85a07ecc
introduce '-nodiscovery' option to disable automatic peer discovery
...
Closes #847 .
2015-06-05 15:13:48 +01:00
Paul Bellamy
5f5c0079d3
Merge pull request #863 from rade/onoff
...
introduce OnOff helper, for consistency in status output
2015-06-05 15:05:24 +01:00
Matthias Radestock
c10f1dacad
introduce OnOff helper, for consistency in status output
2015-06-05 15:00:02 +01:00
Michael Bridgen
1c14660ed5
Merge pull request #859 from weaveworks/website_39_again
...
Update strapline
2015-06-05 14:51:30 +01:00
Matthias Radestock
87e30d8382
Merge pull request #815 from paulbellamy/proxy-ssl
...
Proxy TLS Support
Closes #506 .
2015-06-05 14:48:54 +01:00
Paul Bellamy
edeb531940
[docs] rewording proxy TLS docs
2015-06-05 14:35:00 +01:00
Paul Bellamy
14cc33c512
reordering args to launch-proxy docker command
2015-06-05 14:10:38 +01:00
Paul Bellamy
bddf79855d
[proxy] refactor tls arg parsing
2015-06-05 13:59:30 +01:00
Fintan Ryan
124d98246b
Update strapline
2015-06-05 13:51:03 +01:00
Paul Bellamy
127cffba6f
[proxy] add TLS to /status
2015-06-05 13:38:55 +01:00
Matthias Radestock
3e8813e559
Merge pull request #858 from weaveworks/0.11
...
Respect `DOCKER_CLIENT_ARGS` in `weave run`
2015-06-05 13:36:27 +01:00
Matthias Radestock
4fc0671d0d
Merge pull request #857 from weaveworks/weave-run-client-args-855
...
Respect `DOCKER_CLIENT_ARGS` in `weave run` (close #855 )
2015-06-05 13:28:20 +01:00
Ilya Dmitrichenko
e1537000c2
Respect DOCKER_CLIENT_ARGS in weave run ( close #855 )
2015-06-05 13:24:05 +01:00
Paul Bellamy
b8595b9062
[proxy] cleaner default args
2015-06-05 13:23:15 +01:00
Paul Bellamy
fa6707effa
[docs] adding paragraph about docker listening on unix socket for proxy
2015-06-05 13:23:15 +01:00
Paul Bellamy
a1ffbb528c
adding documentation on using the proxy with tls
2015-06-05 13:23:14 +01:00
Paul Bellamy
c0cf9e509c
[proxy] Added proxy.Config struct for initialization
2015-06-05 13:23:14 +01:00
Paul Bellamy
c31358259f
[proxy] Add tls support
...
Caveats:
* TLS files must be present on the target server (and readable)
* TLS file paths cannot contain spaces
* TLS file paths must be absolute (i.e. cannot be relative)
* Bash argument parsing is terrible
2015-06-05 13:23:14 +01:00
Matthias Radestock
8514172e57
explain meaning of 'Encryption' line in weave status output
2015-06-05 11:27:38 +01:00
Matthias Radestock
3a0a8ba939
cosmetic
2015-06-05 10:31:34 +01:00
Matthias Radestock
16410d6014
refactor: make encryption status part of router status
2015-06-05 10:05:17 +01:00
Matthias Radestock
34e3f0ba3f
refactor: simplify topology gossip gob decoder initialisation
...
Should be more efficient too due to less copying.
2015-06-05 07:39:34 +01:00
Matthias Radestock
62ee70f388
recommend strong password
...
Closes #641 .
2015-06-04 15:19:47 +01:00
Matthias Radestock
441e58e422
excise reference to crypto implementation from main docs
...
It's too scary for the uninitiated.
2015-06-04 15:19:37 +01:00
Paul Bellamy
c917b261f7
Capitalizing and standardizing titles of pages in the docs.
...
Also re-wording to make them match the page title.
2015-06-04 15:19:26 +01:00
Paul Bellamy
d3daaf32f9
[docs] re-ordering proxy doc sections
2015-06-04 15:19:13 +01:00
Bryan Boreham
62bbaf57a2
Merge pull request #839 from rade/837_tcp_accept_delay
...
LGTM. Closes #837
2015-06-04 14:29:58 +01:00
Bryan Boreham
7acb4be13f
Merge pull request #844 from rade/641_recommend_strong_password
...
LGTM. Closes #641
2015-06-04 14:28:22 +01:00
Matthias Radestock
044992eea0
limit acceptance rate on peer connections
...
The main purpose of this is to set an upper bound on the rate at which
an attacker might execute a brute force attack on the weave password.
No need to get clever or precise here.
Closes #837 .
2015-06-04 14:21:35 +01:00
Bryan Boreham
2a244e5699
Simplify paxos.Consensus() call
2015-06-04 13:30:15 +01:00
Fintan Ryan
bee5c300db
Docs look and feel update
2015-06-04 12:36:13 +01:00
Matthias Radestock
e31233c473
recommend strong password
...
Closes #641 .
2015-06-03 18:15:32 +01:00
Matthias Radestock
720fdf714c
excise reference to crypto implementation from main docs
...
It's too scary for the uninitiated.
2015-06-03 18:10:38 +01:00
Paul Bellamy
6f9c0d6cde
Merge pull request #834 from weaveworks/docs_lookandfeel
...
Docs look and feel update
2015-06-03 17:29:29 +01:00
Paul Bellamy
a7782359b1
Merge pull request #838 from paulbellamy/docs-capitals
...
Capitalizing and standardizing titles of pages in the docs.
2015-06-03 16:29:37 +01:00
Fintan Ryan
e96a22bd6d
Docs look and feel update
2015-06-03 16:04:01 +01:00
Paul Bellamy
a957ed253c
Capitalizing and standardizing titles of pages in the docs.
...
Also re-wording to make them match the page title.
2015-06-03 15:59:40 +01:00
Matthias Radestock
dc8a82e913
cosmetic: consistency in launchers
2015-06-03 14:22:20 +01:00
Bryan Boreham
c1f8b62e11
Merge pull request #832 from rade/412_min_backoff
...
LGTM. Fixes #412
2015-06-03 12:47:07 +01:00
Paul Bellamy
c91e699a27
Merge pull request #831 from rade/192_kill_container_on_network_config_error
...
kill container on network config error
2015-06-03 12:45:23 +01:00
Adam Harrison
4a8850afb3
Fix comment
2015-06-03 12:08:13 +01:00
Matthias Radestock
d1c41a97b1
encapsulate retry delay calculation
2015-06-03 12:04:33 +01:00
Matthias Radestock
fe5102580d
fix connection retry delay calculation logic
...
The delay d(n) for the nth retry was
d(1) = rand(initial_interval)
d(n+1) = d(n) + rand(d(n))
There are two problem with this:
1) The entire sequence is dominated by the random value for d(1). If
this is a small value, lots of retries at short interval ensue. In
extremis, if d(1) is 0, indefinite immediate retries would ensue.
2) The delay is not a true exponential backoff; the upper bound only
increases exponentially *probabilistically*.
The new algorithm calculates
d(n) = random_value in range [i-i/2,i+i/2],
where i = initial_interval * 1.5^(n-1).
Thus d(1) is at least initial_interval/2, and successive values are
independent of previous values, forming a true exponential sequence of
intervals bounds between which the retry delay is chosen randomly.
Due to the change in algorithm we reduce...
- the initial interval from 5s to 2s. Recall that previously d(1) was
in the range [0,initial_interval=5s]. It is now [2-2/2=1s,2+2/2=3s].
- the max interval from 10 minutes to 6. Previously, once that was
reached, it would stay exactly there. It is now randomly chosen in
the range [6-6/2=3m,6+6/2=9min].
Thus previously delays would range from 0 to 10 minutes, now they
range from 1s to 9 minutes.
Fixes #412 .
2015-06-03 11:29:55 +01:00
Matthias Radestock
d909a86fb0
Merge pull request #828 from rade/666_no_timeout_on_wait_for_status
...
no timeout on wait for status
Fixes #666 .
2015-06-03 11:20:37 +01:00
Matthias Radestock
4e68bde7b5
don't time out waiting for weave infrastructure containers to start
...
instead keep trying, until we succeed or the container dies
Fixes #666 .
2015-06-03 11:19:51 +01:00
Matthias Radestock
52f31f0596
Merge pull request #830 from rade/829_fix_container_death_check
...
kill -0 $CONTAINER_PID does not work inside weaveexec container
Fixes #829 .
2015-06-03 11:17:23 +01:00
Matthias Radestock
fa8b77b060
kill -0 $CONTAINER_PID does not work inside weaveexec container
...
since $CONTAINER_PID is in a different process namespace.
Fixes #829 .
2015-06-03 11:16:08 +01:00
Matthias Radestock
83fe4e59f6
kill container on network config error
...
but only if we have just started it; killing other containers, e.g. on
`weave attach`, would be rather impolite.
Closes #192 .
2015-06-02 20:26:20 +01:00
Matthias Radestock
8de1ddd255
cosmetic
2015-06-02 20:21:56 +01:00
Matthias Radestock
395aea28c6
cosmetic
2015-06-02 20:16:25 +01:00
Matthias Radestock
5e7d1cd0eb
Merge remote-tracking branch 'upstream/master'
2015-06-02 18:46:30 +01:00
Michael Bridgen
3344e45a9f
Merge pull request #825 from squaremo/discover_ipam_ip
...
Allow lookup of IPAM-allocated addresses
2015-06-02 18:04:11 +01:00
Matthias Radestock
d020999e82
cosmetic: more sensible function order
2015-06-02 17:52:39 +01:00
Matthias Radestock
d105d255ca
Merge pull request #824 from paulbellamy/weavewait-race-condition
...
[proxy] We can only rely on receiving a signal when we are a container
This got broken in #820 .
2015-06-02 17:39:28 +01:00
Michael Bridgen
791584d9f3
Allow lookup of IPAM-allocated addresses
2015-06-02 17:31:25 +01:00
Matthias Radestock
48b54ef722
cosmetic: consistency
2015-06-02 17:25:56 +01:00
Paul Bellamy
e2447721eb
[proxy] We can only rely on receiving a signal when we are a container
...
Due to https://github.com/docker/docker/issues/9098 , there is no way to
signal an exec. Instead we'll have to just poll the interface and hope.
Adds `weavewait -s` which is the way to tell weavewait to skip waiting
for a signal, which we use on execs
2015-06-02 17:21:41 +01:00
Bryan Boreham
89074715bc
Merge pull request #823 from bboreham/818-claim-no-trunc
...
Fixes #818
2015-06-02 16:12:47 +01:00
Bryan Boreham
4968f0f3c4
Merge pull request #822 from bboreham/802-test-race
...
Fix race condition in allocator fuzz-test - fixes #802
2015-06-02 16:12:22 +01:00
Bryan Boreham
aa7c7a9a9d
Add --no-trunc flag to docker ps for ipam_claim
2015-06-02 16:07:48 +01:00
Bryan Boreham
6a1b658f59
Fix race condition in allocator fuzz-test
...
It was possible to free an address between deciding to re-test it
and actually re-testing it. So introduced a flag 'block' to prevent
an address from being freed during the re-test.
2015-06-02 16:04:35 +01:00
Matthias Radestock
e2805c01f4
cosmetic: remove stray trailing whitespace
2015-06-02 15:57:50 +01:00
Matthias Radestock
04c10233f7
Merge pull request #820 from paulbellamy/weavewait-race-condition
...
Use USR2 signal to tell weavewait when to continue
Fixes #812 .
2015-06-02 15:52:22 +01:00
Paul Bellamy
92444a75eb
[proxy] Use USR2 signal to tell weavewait when to continue
...
There was a race condition with containers running and exiting before
`weave attach` was finished, which would cause an error.
2015-06-02 15:48:49 +01:00
Paul Bellamy
cb92e6b0d2
Merge pull request #817 from rade/420_move_exe_image_to_subdir
...
move exe and docker image producing dirs to subdir
2015-06-02 14:18:49 +01:00
Matthias Radestock
5b04efac7c
move weaver
2015-06-02 14:04:02 +01:00
Matthias Radestock
485db6e48b
move weavedns
2015-06-02 13:51:19 +01:00
Matthias Radestock
ee28cf91e1
move weaveexec
2015-06-02 13:46:02 +01:00
Matthias Radestock
8d4a97fed5
move sigproxy, weaveproxy, weavewait
2015-06-02 13:19:16 +01:00
Matthias Radestock
46ef954057
cosmetic: rename: trains station
2015-06-02 12:58:09 +01:00
Paul Bellamy
f28fe80861
Merge pull request #814 from weaveworks/revert-813-proxy-ssl
...
Revert "First pass at Proxy SSL Support"
2015-06-02 12:49:08 +01:00
Paul Bellamy
91375a1095
Revert "First pass at Proxy SSL Support"
2015-06-02 12:48:38 +01:00
Paul Bellamy
3586ddcd63
Merge pull request #813 from paulbellamy/proxy-ssl
...
First pass at Proxy SSL Support
2015-06-02 12:48:31 +01:00
Matthias Radestock
fca02eb489
Merge pull request #706 from awh/dns_delete_individual_records
...
delete individual dns records
Closes #631 . Closes #654 .
2015-06-02 12:35:50 +01:00
Adam Harrison
56160e0798
Merge pull request #728 from paulbellamy/test-runner
...
allow test/run_all.sh to run specific test files
2015-06-02 12:30:15 +01:00
Matthias Radestock
0b72338400
Merge remote-tracking branch 'upstream/master'
2015-06-02 11:58:38 +01:00
Matthias Radestock
cc1a5548af
reduce smoke test noise
2015-06-02 11:57:49 +01:00
Matthias Radestock
a8b8a0948f
cosmetic(ish): banish double bracket bashism
2015-06-02 11:56:27 +01:00
Paul Bellamy
e7f73900cb
allow test/run_all.sh to run specific test files
2015-06-02 11:45:43 +01:00
Paul Bellamy
927d40f47f
Correctly building the client cert subjectAltNames
...
Still haven't managed to try it due to:
https://github.com/docker/docker/issues/8943
2015-06-02 11:34:54 +01:00
Matthias Radestock
294aafde14
cosmetic: s/when_has_fqdn/with_container_fqdn
2015-06-02 10:52:58 +01:00
Matthias Radestock
dcedf241bb
simplify dns-add/remove
2015-06-02 10:52:58 +01:00
Matthias Radestock
bf8e82ba16
refactor: get rid of with_full_container_id
2015-06-02 10:52:58 +01:00
Paul Bellamy
79cc2d6d25
add note about not handling args with spaces for proxy tls files
2015-06-02 10:20:06 +01:00
Adam Harrison
a4582fb529
Optimise DeleteRecords when explicit values are passed
2015-06-02 10:09:26 +01:00
Adam Harrison
30447ada52
Remove obsolete methods
2015-06-02 10:09:22 +01:00
Adam Harrison
66de361fd6
Smoketest dns-remove -h
2015-06-02 09:57:28 +01:00
Adam Harrison
9da5511484
Support -h argument to dns-remove
2015-06-02 09:57:28 +01:00
Adam Harrison
e02bd8bb30
Add HTTP routes for wildcard deletion
2015-06-02 09:57:28 +01:00
Adam Harrison
e21592d74f
Add DeleteRecords method
2015-06-02 09:57:28 +01:00
Adam Harrison
5ead7eb020
Fix TTL breakage + cosmetic fixes
2015-06-02 09:42:59 +01:00
Adam Harrison
2a5f3f5b2d
Merge pull request #737 from inercia/weave-cache-tests
...
WeaveDNS cache tests
2015-06-02 09:30:36 +01:00
Paul Bellamy
d80ffa8ad2
working on bash argument parsing
2015-06-01 16:50:52 +01:00
Paul Bellamy
74afbc5505
Proof-of-Concept for proxy TLS support
...
The code is quite messy, but particularly the argument parsing and
volume-mounting. Also, it doesn't support args with spaces, or
non-absolute file-paths.
2015-06-01 16:50:52 +01:00
Paul Bellamy
4774043295
Add release 0.11.1 to CHANGELOG
2015-06-01 16:23:40 +01:00
Matthias Radestock
1237bfe840
cosmetic
2015-06-01 14:40:39 +01:00
Paul Bellamy
4f86a20824
Add release 0.11.1 to CHANGELOG
2015-06-01 14:26:33 +01:00
Paul Bellamy
c4fc2ecf09
Merge remote-tracking branch 'upstream/0.11'
2015-06-01 13:35:37 +01:00
Matthias Radestock
49ad336a35
Merge pull request #809 from paulbellamy/0.11
...
Rewording and clarifying proxy docs for 0.11.1 release
2015-06-01 13:32:28 +01:00
Paul Bellamy
6feaa72abd
[docs] elaborating on proxy IPAM and DNS interaction
2015-06-01 13:24:55 +01:00
Paul Bellamy
71d6f9cdfb
[docs] re-ordering proxy doc sections
2015-06-01 13:24:52 +01:00
Adam Harrison
59f919bda3
Merge pull request #795 from inercia/weave-711
...
Make the TTL configurable
2015-06-01 12:51:45 +01:00
Matthias Radestock
84c0daa000
remove out-of-date info from ipam docs
2015-06-01 12:41:39 +01:00
Matthias Radestock
415b9ead52
cosmetic
2015-06-01 12:41:32 +01:00
Matthias Radestock
7ccf650e48
cosmetic
2015-06-01 12:41:14 +01:00
Matthias Radestock
a29831b7fa
expand weavedns example to cover multi-host
2015-06-01 12:41:08 +01:00
Alex Chan
70dc8b027d
Minor spelling corrections in docs
2015-06-01 12:41:00 +01:00
Paul Bellamy
4e1d388017
weave status should look for proxy at 127.0.0.1 (since PROXY_HOST is gone)
2015-06-01 12:21:58 +01:00
Matthias Radestock
341d5ecbb6
remove out-of-date info from ipam docs
2015-06-01 12:15:14 +01:00
Matthias Radestock
2e208b4921
cosmetic
2015-06-01 12:15:05 +01:00
Matthias Radestock
c983d9f39f
cosmetic
2015-06-01 12:14:55 +01:00
Matthias Radestock
adc5784fc9
expand weavedns example to cover multi-host
2015-06-01 12:14:35 +01:00
Alex Chan
a8c3551040
Minor spelling corrections in docs
2015-06-01 12:14:20 +01:00
Matthias Radestock
ac90086fb1
Merge pull request #808 from paulbellamy/proxy-short-docker-host
...
weave PROXY_HOST is always localhost, so just hardcode it as that
Closes #807 .
2015-06-01 11:55:58 +01:00
Paul Bellamy
bd94c00e96
weave PROXY_HOST is always localhost, so just hardcode it as that
...
Because launch-proxy runs in weaveexec container, DOCKER_HOST is never
set.
2015-06-01 11:51:32 +01:00
Bryan Boreham
2698f3f376
Merge remote-tracking branch 'upstream/0.11'
2015-06-01 11:42:30 +01:00
Matthias Radestock
3332f94a00
Merge pull request #801 from bboreham/787-better-status
...
Improve ipam status message before and after pending consensus
Fixes #787 .
2015-06-01 11:17:19 +01:00
Matthias Radestock
fd0aa3f6ae
remove out-of-date info from ipam docs
2015-06-01 11:13:16 +01:00
Bryan Boreham
cd1cca3df2
Reformat output of pending ipam requests
2015-06-01 10:55:01 +01:00
Matthias Radestock
b86ead2737
fix tests post 9a1e8c07ac
2015-05-31 13:11:28 +01:00
Matthias Radestock
21ee0fdcf7
Merge branch '0.11'
2015-05-31 11:54:54 +01:00
Matthias Radestock
158fb36c8c
Merge remote-tracking branch 'upstream/0.11' into 0.11
2015-05-31 11:54:08 +01:00
Matthias Radestock
5f385a297c
remove bashism
...
This was introduced in #780 .
2015-05-31 11:51:34 +01:00
Matthias Radestock
8d0adb9359
refactor(ish): use full container id when we have it
2015-05-31 11:25:13 +01:00
Matthias Radestock
79eb4c298c
refactor: extract helper for and simplify get_ipam_cidr
2015-05-31 09:59:32 +01:00
Matthias Radestock
6f57bcb477
tiny refactor - use full container id, since we happen to have it
2015-05-31 09:35:53 +01:00
Matthias Radestock
54dbc2f582
cosmetic
2015-05-31 09:03:45 +01:00
Matthias Radestock
1a8f2117b1
explain Direct Peers status
2015-05-29 17:35:21 +01:00
Bryan Boreham
1d6f1f7561
Improve ipam status message before and after pending consensus
2015-05-29 17:34:17 +01:00
Matthias Radestock
59fd53ee99
Merge pull request #800 from paulbellamy/proxy-status
...
Add proxy info to 'weave status' output
Closes #756 .
2015-05-29 17:13:33 +01:00
Matthias Radestock
8c27d469a1
add Direct Peers to status output example
...
This was missed in #764 .
2015-05-29 17:05:34 +01:00
Paul Bellamy
7f62ba6ebe
Add proxy info to './weave status' output
2015-05-29 17:05:25 +01:00
Matthias Radestock
9a1e8c07ac
cosmetic: report direct peers on one line in status
2015-05-29 17:03:33 +01:00
Matthias Radestock
b7df116491
make weave reset stop the proxy
...
Missed this in #790 .
2015-05-29 16:43:18 +01:00
Paul Bellamy
ece1fa1b1b
Merge remote-tracking branch 'upstream/0.11'
2015-05-29 16:35:59 +01:00
Matthias Radestock
1769cdad7c
Merge pull request #799 from paulbellamy/proxy-attach
...
Proxy kills container and returns error when attach fails
Fixes #788 .
2015-05-29 16:35:25 +01:00
Matthias Radestock
99b1e00a75
Merge pull request #794 from paulbellamy/connect-replace
...
add 'weave connect --replace ...'
Closes #658 .
2015-05-29 15:52:32 +01:00
Matthias Radestock
e0f4da4641
Merge pull request #792 from rade/720_auto_assigned_dns_http_test_port
...
use an automatically assigned port for http tests
Fixes #720 .
2015-05-29 15:51:38 +01:00
Paul Bellamy
2be69634df
replace proxy /weave endpoint with /status
...
which is more standard with others, and doesn't conflict with docker api
2015-05-29 15:48:33 +01:00
Paul Bellamy
858356de22
add 'weave connect --replace ...'
2015-05-29 15:44:45 +01:00
Paul Bellamy
4f73ef73bb
weavewait should exit if it times out
...
To match behaviour of proxy when interface fails to attach
2015-05-29 14:37:58 +01:00
Paul Bellamy
0cb2e80e09
Proxy kills container and returns error when attach fails
2015-05-29 14:37:33 +01:00
Matthias Radestock
08a17ec376
no need for sleeps to wait for http server
...
Since we start the tcp listener in the main thread now, connections
can be made immediately; they will just queue up until there is a
handler.
2015-05-29 14:17:03 +01:00
Matthias Radestock
3ad08c0f2a
don't print the test port
...
it's of no interest whatsoever
2015-05-29 14:05:24 +01:00
Tom Wilkie
6e2bb075a6
Merge pull request #797 from weaveworks/timeout
...
Various fixes to circleci integration tests
2015-05-29 13:57:42 +01:00
Paul Bellamy
587a56cf31
Merge remote-tracking branch 'upstream/0.11'
...
Conflicts:
weave
2015-05-29 13:37:21 +01:00
Tom Wilkie
0a945a04f3
Add smarter scheduler to decide which tests to run on which shard on circle.
2015-05-29 12:35:43 +00:00
Matthias Radestock
10a9f58d13
Merge pull request #780 from paulbellamy/proxy-launch-2
...
simplifying and standardizing `launch-proxy`
Fixes #767 . Fixes #755 . Closes #757 .
2015-05-29 13:30:30 +01:00
Tom Wilkie
332a1bf58d
Checkin the assert.sh script, so we can expose test run time.
2015-05-29 11:48:49 +00:00
Matthias Radestock
fb721558af
auto-assign port in ipam tests
2015-05-29 12:35:23 +01:00
Bryan Boreham
0ab2263a41
Merge pull request #793 from bboreham/ipam-avoid-unittest-races
...
[ipam] Fix race conditions in unit tests
2015-05-29 12:30:39 +01:00
Tom Wilkie
3642dc5514
Add some timeouts to the circle/gce tests.
2015-05-29 11:29:43 +00:00
Tom Wilkie
28781ef08c
Don't pull weavebuild container from docker hub if you don't have a cached version, build it.
2015-05-29 11:28:58 +00:00
Alvaro Saurin
8a188e23d9
Documented the '--ttl' argument
2015-05-29 12:56:45 +02:00
Alvaro Saurin
343e9b1f5a
Provide the '--neg-ttl' argument too...
2015-05-29 12:56:45 +02:00
Alvaro Saurin
858a6dd253
Make the TTL returned for local answers configurable.
2015-05-29 12:50:18 +02:00
Bryan Boreham
adeb0d3934
Don't bypass the actor mechanism in unit tests, to avoid race conditions
2015-05-29 10:43:19 +01:00
Bryan Boreham
0ee872def4
Lock round mockGossipComms to avoid race conditions
2015-05-29 10:27:17 +01:00
Matthias Radestock
c93e789b6b
use an automatically assigned port for http tests
...
instead of random port, which can clash
Fixes #720 .
2015-05-29 10:21:41 +01:00
Paul Bellamy
db217cd56f
Merge pull request #785 from rade/710_reduce_interface_check_interval
...
reduce interface availability check interval
2015-05-29 10:17:13 +01:00
Bryan Boreham
2befd9d473
Merge remote-tracking branch 'origin/0.11'
2015-05-29 09:56:53 +01:00
Paul Bellamy
22aa1f8fe3
Merge pull request #790 from rade/754_stop_proxy
...
add `weave stop_proxy`
2015-05-29 09:53:32 +01:00
Paul Bellamy
f919ef12d0
fix bug with WEAVEPROXY_DOCKER_ARGS not being passed through
2015-05-29 09:52:43 +01:00
Paul Bellamy
20c9bc04a7
simplifying and standardizing launch-proxy
2015-05-29 09:52:42 +01:00
Bryan Boreham
e37f7de0ad
Improve error reporting of too much free space
2015-05-29 09:44:24 +01:00
Bryan Boreham
72b30bc699
Fix incorrect calculation of free space
...
when granting a range that spans a token and inserting a new token, the
free space on the last token that we are handing over has to change.
Add unit test for this too.
2015-05-29 09:44:14 +01:00
Bryan Boreham
10c3f47bd1
Merge pull request #783 from bboreham/782-space-panic
...
Fixes #782
2015-05-29 09:42:44 +01:00
Matthias Radestock
e31f21a6d2
add weave stop_proxy
...
Closes #754 .
2015-05-29 09:20:56 +01:00
Matthias Radestock
c87da5e873
Merge pull request #789 from rade/784_status_fail
...
make `weave status` fail when weave isn't running
Closes #784 .
2015-05-28 23:08:43 +01:00
Matthias Radestock
b0633281a1
make weave status fail when weave isn't running
...
but still always show weavedns status, if present
Closes #784 .
2015-05-28 21:41:56 +01:00
Matthias Radestock
8dcdf8d314
reduce interface availability check interval
...
in order to reduce container startup times
Closes #710 .
2015-05-28 19:05:09 +01:00
Bryan Boreham
915bf392e9
Improve error reporting of too much free space
2015-05-28 18:15:04 +01:00
Bryan Boreham
af5531cbf6
Fix incorrect calculation of free space
...
when granting a range that spans a token and inserting a new token, the
free space on the last token that we are handing over has to change.
Add unit test for this too.
2015-05-28 18:12:30 +01:00
Paul Bellamy
e3e5934c51
Merge remote-tracking branch 'upstream/0.11'
...
Conflicts:
proxy/common.go
2015-05-28 17:43:30 +01:00
Matthias Radestock
32c35da402
Merge pull request #777 from paulbellamy/proxy-versionless
...
allow proxy to intercept unversioned (i.e. 1.0) urls
Closes #770 . Closes #778 .
2015-05-28 17:19:46 +01:00
Matthias Radestock
8dc5ae662a
simplify dependencies
...
This isn't as precise, but these common dependencies rarely change.
2015-05-28 17:16:22 +01:00
Matthias Radestock
ec6a251b7c
fix dependencies
2015-05-28 17:10:42 +01:00
Paul Bellamy
147c7f503c
add curl test for proxy v1.0 api support
2015-05-28 16:39:32 +01:00
Paul Bellamy
c8b95a2527
fix bug in proxy handling of minimal request bodies
2015-05-28 16:24:04 +01:00
Paul Bellamy
169eb19523
allow proxy to intercept unversioned (i.e. 1.0) urls
2015-05-28 16:24:02 +01:00
Adam Harrison
ed133dfe0d
Merge pull request #773 from inercia/weave-restore-fallback
...
Restore the "--fallback" argument in WeaveDNS
2015-05-28 16:12:54 +01:00
Matthias Radestock
374b4c523c
cosmetic: remove some more dead code
2015-05-28 15:24:51 +01:00
Matthias Radestock
9c71f7f1e9
cosmetic: remove some more dead code
2015-05-28 15:23:34 +01:00
Matthias Radestock
ba064a906e
cosmetic: remove dead code
2015-05-28 15:17:20 +01:00
Alvaro
5c1297d560
Merge pull request #775 from rade/736_load_balancing_example
...
add load balancing example
2015-05-28 16:01:55 +02:00
Matthias Radestock
323229dacf
add load balancing example
...
Closes #736 .
2015-05-28 14:58:04 +01:00
Matthias Radestock
0b48ea01d7
cosmetic
2015-05-28 14:48:08 +01:00
Matthias Radestock
54d34ea796
expand weavedns example to cover multi-host
2015-05-28 13:36:32 +01:00
Matthias Radestock
ccd7153b9d
refactor: remove excessive escaping
2015-05-28 12:29:58 +01:00
Paul Bellamy
4f89ad2342
Merge pull request #769 from rade/768_shorten_proxy_entrypoint
...
shorten proxy entrypoint
2015-05-28 12:16:24 +01:00
Matthias Radestock
0ed1ef1600
Merge pull request #764 from paulbellamy/status-connection-maker
...
Add "Direct Peers" to weave status
Closes #659 . Closes #660 .
2015-05-28 12:02:47 +01:00
Alvaro Saurin
7202f7e1d6
Restored "fallback" argument for forcing a fallback server (used for testing/debugging)
2015-05-28 12:57:24 +02:00
Paul Bellamy
998130fa9e
Reformatting connection maker target JSON output
...
So `LastError` is forced to a string, not an object.
2015-05-28 11:49:46 +01:00
Paul Bellamy
637215fcff
add status of connection-maker to status-json
2015-05-28 11:49:46 +01:00
Paul Bellamy
d16395b8b9
weave status should include 'Direct Peers' set with 'weave connect'
2015-05-28 11:49:46 +01:00
Adam Harrison
e110a8ab9c
Fix erroneous use of nil value
2015-05-28 10:23:02 +01:00
Bryan Boreham
cb03d1d763
Merge pull request #772 from alexwlchan/master
...
Thanks!
2015-05-28 10:11:58 +01:00
Alex Chan
2a1150b74e
Minor spelling corrections in docs
2015-05-28 10:10:16 +01:00
Alvaro Saurin
91cbd75f92
Unit test for cache expirations
2015-05-28 11:09:07 +02:00
Alvaro Saurin
156f5be4d4
Unit test for cache invalidations as a result of AddRecord()/DeleteRecord()/etc...
2015-05-28 11:09:07 +02:00
Adam Harrison
037b6df385
Merge pull request #761 from inercia/weave-583-2
...
Background updates for names in the Zone database. Fixes #226 .
2015-05-28 10:00:32 +01:00
Alvaro Saurin
0a803c61ff
Smoke tests
2015-05-28 10:05:22 +02:00
Alvaro Saurin
b8d4068a26
Force 8.8.8.8 as the DNS server in VirtualBoxes
2015-05-28 10:05:22 +02:00
Alvaro Saurin
6d2317d60e
Silence "golint" errors
...
Silence "go vet" errors
Run goimports
2015-05-28 10:05:22 +02:00
Alvaro Saurin
40d7b2a87d
Dump the zone database status on "weave status"
...
Fix the smoke test by updating the regexps used for parsing "weave status" output
2015-05-28 09:12:53 +02:00
Alvaro Saurin
32627eccbf
Fix the timeout for the fallback server client connection
2015-05-28 09:12:53 +02:00
Matthias Radestock
fc9475592d
shorten proxy entrypoint
...
...so that the default output of the likes of `docker ps` shows some
of the real entrypoint/command.
Closes #768 .
2015-05-28 06:35:10 +01:00
Matthias Radestock
e950d37ed2
cosmetic: reduce noise
2015-05-28 06:31:05 +01:00
Matthias Radestock
5e0d1e6036
refactor: add some lists
...
in order to reduce likelihood of adding an item in one place and
forgetting to do so in another.
2015-05-27 19:04:39 +01:00
Matthias Radestock
7fc51a508a
cosmetic: consistency
2015-05-27 18:28:16 +01:00
Matthias Radestock
cd6ba31cfa
add weavewait to 'make update' target
2015-05-27 18:27:56 +01:00
Paul Bellamy
ce2e80d861
fixing build on master (broken by 68ef0e)
2015-05-27 17:37:13 +01:00
Matthias Radestock
a27516b0bf
Merge pull request #765 from rade/run_linter_on_travis
...
Run linter on travis
2015-05-27 17:31:12 +01:00
Matthias Radestock
4dc2ee034c
run linter on travis
2015-05-27 17:27:22 +01:00
Matthias Radestock
d68dd39839
build all exes
2015-05-27 17:22:56 +01:00
Bryan Boreham
b10c2e554c
Remove redundant variable
2015-05-27 16:59:12 +01:00
Matthias Radestock
ac8d7a5c55
cosmetic: this is somewhat gross, but the last barrier to linter bliss
2015-05-27 16:58:12 +01:00
Matthias Radestock
68ef0e845a
cosmetic: yet more linter happiness
2015-05-27 16:56:38 +01:00
Matthias Radestock
c6604a6442
cosmetic: more linter happiness
2015-05-27 16:52:08 +01:00
Matthias Radestock
5920927a52
make the linter (almost) happy with ipam
2015-05-27 16:43:18 +01:00
David Wragg
e30ab8abba
Reduce obfuscation
2015-05-27 14:50:06 +01:00
Matthias Radestock
cee6ea6762
cosmetic: it has been decreed that this was "just silly"
2015-05-27 14:18:22 +01:00
Matthias Radestock
84874b9676
cosmetic: more consistency - then on same line as if
2015-05-27 14:14:51 +01:00
Matthias Radestock
f281eeb02a
cosmetic: missed one
2015-05-27 13:59:09 +01:00
Alvaro Saurin
6f7e385c74
Unit tests for multiple IPs through the HTTP API
2015-05-27 14:54:30 +02:00
Alvaro Saurin
954c5cb394
Limit the number of answers we provide to users.
2015-05-27 14:54:29 +02:00
Paul Bellamy
b9d666d4a5
Merge branch '0.11'
2015-05-27 13:52:13 +01:00
Matthias Radestock
b26e2128e4
Merge pull request #752 from paulbellamy/proxy-ipam
...
Fix bug of --with-ipam not setting entrypoints
Fixes #744 .
2015-05-27 13:51:06 +01:00
Matthias Radestock
09feb0c53a
Merge pull request #697 from paulbellamy/peer-replacement
...
weave connect/forget take multiple peers
Closes #759 .
2015-05-27 13:39:50 +01:00
Paul Bellamy
cb73b73862
Fix bug of --with-ipam not setting entrypoints
2015-05-27 13:38:28 +01:00
Matthias Radestock
de27c465ca
cosmetic: remove stray semicolon
2015-05-27 13:24:53 +01:00
Matthias Radestock
dd33c94188
cosmetic: semicolon shall always be preceded by a space
2015-05-27 13:23:34 +01:00
Matthias Radestock
901f0bf04e
cosmetic: replace all implict $@s
2015-05-27 13:20:51 +01:00
Matthias Radestock
cfbd9dc310
Merge pull request #748 from dpw/gossip-channel-names
...
Make gossip use channel names on the wire, not channel name hashes
Closes #745 .
2015-05-27 13:03:05 +01:00
David Wragg
530a39350b
Make gossip use channel names on the wire, not channel name hashes
2015-05-27 12:51:14 +01:00
Ilya Dmitrichenko
84aa629010
Must quoute WEAVE_CIDR when it is a list
2015-05-27 07:47:57 +01:00
Ilya Dmitrichenko
536d55a226
Cosmetic markdown fix in proxy docs
2015-05-27 07:13:06 +01:00
Alvaro Saurin
2d919d0a5f
Remove duplicates in answers
2015-05-26 21:27:53 +02:00
Alvaro Saurin
c4b07fd44e
Shuffle all the replies, not only the ones from the cache...
2015-05-26 21:24:28 +02:00
Alvaro Saurin
b87b942363
Check we can use our mDNS client with our mDNS server
2015-05-26 21:24:26 +02:00
Alvaro Saurin
5fe0a7fbb2
Make Stop() idempotent
2015-05-26 21:20:44 +02:00
Alvaro Saurin
a159ac44d9
Unit tests for cache invalidations as a result of names updates
2015-05-26 21:20:44 +02:00
Alvaro Saurin
836d012459
Command line arg for changing the number of background updaters
...
Default number of background updaters raised to 4
2015-05-26 21:20:44 +02:00
Alvaro Saurin
07d15092aa
Do not invoke the mDNS lookups from the server: they are used from the Zone database now...
...
Improved DNS server:
- simplify the handlers code, removing duplicated code
- more configuration parameters (eg, we can now disable the cache)
- we can now bind to port 0 and let the server get a free port (so we can get rid of the mess we had in the unit tests...)
2015-05-26 21:20:42 +02:00
Alvaro Saurin
a23462e830
Command line option for disabling the cache
2015-05-26 21:17:24 +02:00
Alvaro Saurin
6fc6afa6a7
Unit tests for the zone lookups and names updates
2015-05-26 21:17:24 +02:00
Alvaro Saurin
64090d0b95
Improved mocks
2015-05-26 21:17:24 +02:00
Alvaro Saurin
dbce56ed30
Background updates for names
2015-05-26 21:17:21 +02:00
Alvaro Saurin
ea808bd08b
Domain lookups, using mDNS
...
Added DomainLookup* to the Zone interface
2015-05-26 21:14:09 +02:00
Alvaro Saurin
da2d66a6df
New zone database
2015-05-26 21:14:06 +02:00
Alvaro Saurin
c1d124df4c
Interfaces for the mDNS client and server
2015-05-26 21:11:34 +02:00
Paul Bellamy
dafe2bbc83
adding basic connect/forget test
...
The test for multiple connect/forget options is not amazing, because we
only have 2 test VMs to connect to each other
2015-05-26 14:37:22 +01:00
Paul Bellamy
b392a7d24d
weave connect should be best-effort, and return errors for any fails
2015-05-26 14:37:22 +01:00
Paul Bellamy
d18640fc8c
use @dpw's shell join, and remove non-posix 'local'
2015-05-26 14:37:22 +01:00
Paul Bellamy
781686ee4a
weave connect/forget take multiple peers
2015-05-26 14:37:22 +01:00
Bryan Boreham
69ac0950fe
Add release 0.11 to CHANGELOG
2015-05-26 13:50:26 +01:00
Matthias Radestock
a77ffc4ca5
Merge pull request #740 from awh/revise_weavedns_docs_further
...
Address weaveDNS doc review comments
2015-05-26 12:46:18 +01:00
Adam Harrison
3d8c8012cf
Address review comments
2015-05-26 12:41:14 +01:00
Matthias Radestock
6c5075b9a1
Merge pull request #738 from bboreham/proxy-docs
...
Reword weave proxy intro
2015-05-26 12:14:01 +01:00
Alvaro
de46758eba
Merge pull request #739 from weaveworks/revert-615-weave-583-2
...
Revert "Background updates for names in the Zone database"
2015-05-26 13:07:24 +02:00
Alvaro
21a1cd0469
Revert "Background updates for names in the Zone database"
2015-05-26 12:56:44 +02:00
Bryan Boreham
1e128c142e
Links to Docker docs
2015-05-26 11:42:48 +01:00
Bryan Boreham
aafc1a56f9
Reword weave proxy intro
2015-05-26 11:40:39 +01:00
Adam Harrison
5382037c4e
Merge pull request #615 from inercia/weave-583-2
...
Background updates for names in the Zone database. Fixes #226 .
2015-05-26 10:37:32 +01:00
Alvaro Saurin
ee6bbe7925
Smoke tests
2015-05-26 11:30:40 +02:00
Alvaro Saurin
cfcc08a914
Limit the number of answers we provide to users.
2015-05-26 11:30:35 +02:00
Alvaro Saurin
0cb6a6269d
Unit tests for multiple IPs through the HTTP API
2015-05-26 10:53:13 +02:00
Alvaro Saurin
db0ef5cf5c
Remove duplicates in answers
2015-05-26 10:53:13 +02:00
Alvaro Saurin
174b47d1db
Shuffle all the replies, not only the ones from the cache...
2015-05-26 10:53:13 +02:00
Alvaro Saurin
87a2886539
Refactored the mocked clock.
...
Refactored some common code in the Zone lookups
2015-05-26 10:53:12 +02:00
Alvaro Saurin
04e4ef214c
Check we can use our mDNS client with our mDNS server
2015-05-26 10:53:12 +02:00
Alvaro Saurin
2783f02790
Make Stop() idempotent
2015-05-26 10:53:12 +02:00
Alvaro Saurin
761eb787ff
Unit tests for cache invalidations as a result of names updates
2015-05-26 10:53:12 +02:00
Alvaro Saurin
6fa2f2142f
Command line arg for changing the number of background updaters
...
Default number of background updaters raised to 4
2015-05-26 10:53:12 +02:00
Alvaro Saurin
72b55c82ec
Do not invoke the mDNS lookups from the server: they are used from the Zone database now...
...
Improved DNS server:
- simplify the handlers code, removing duplicated code
- more configuration parameters (eg, we can now disable the cache)
- we can now bind to port 0 and let the server get a free port (so we can get rid of the mess we had in the unit tests...)
2015-05-26 10:53:12 +02:00
Alvaro Saurin
44cdf3bca3
Command line option for disabling the cache
2015-05-26 10:53:12 +02:00
Alvaro Saurin
fe672eae63
Unit tests for the zone lookups and names updates
2015-05-26 10:53:12 +02:00
Alvaro Saurin
267fddc474
Improved mocks
2015-05-26 10:53:12 +02:00
Alvaro Saurin
2b6388359b
Background updates for names
2015-05-26 10:53:12 +02:00
Alvaro Saurin
a2dad42ef6
Domain lookups, using mDNS
...
Added DomainLookup* to the Zone interface
2015-05-26 10:53:12 +02:00
Alvaro Saurin
8a509168ee
New zone database
2015-05-26 10:53:12 +02:00
Alvaro Saurin
9c48c83701
Interfaces for the mDNS client and server
2015-05-26 10:53:12 +02:00
Matthias Radestock
6197f98c26
reword proxy intro a bit
2015-05-24 16:27:34 +01:00
Matthias Radestock
213208bf12
Merge branch 'bboreham-723-check-bridge'
...
Fixes #723 .
2015-05-24 11:30:47 +01:00
Matthias Radestock
5148ed7936
symmetry with create_bridge
2015-05-24 11:30:04 +01:00
Matthias Radestock
add68afe0a
simplify
2015-05-24 11:29:47 +01:00
Matthias Radestock
ec59d5abee
Merge branch '723-check-bridge' of https://github.com/bboreham/weave into bboreham-723-check-bridge
2015-05-24 11:20:43 +01:00
Matthias Radestock
a7fccf053f
Merge pull request #719 from bboreham/705-hide-404
...
Don't talk to IPAM unless 0 addresses supplied to 'hide'
Fixes #705 .
2015-05-24 11:15:00 +01:00
Matthias Radestock
b1af1f752d
refactor: extract a helper
2015-05-23 12:28:43 +01:00
Matthias Radestock
01bc994822
refactor: extract image creation
2015-05-23 12:14:58 +01:00
Matthias Radestock
2b8a1fe177
rename
2015-05-23 11:59:47 +01:00
Matthias Radestock
1c4beb5ef0
improve entrypoint/command selection tests
2015-05-23 11:58:00 +01:00
Matthias Radestock
b42b045c08
cosmetic: vertical alignment
2015-05-23 10:30:45 +01:00
Matthias Radestock
c904a650b6
cosmetic: reflow
2015-05-23 10:27:38 +01:00
Matthias Radestock
0612f27f1f
fix typo
2015-05-23 10:27:07 +01:00
Matthias Radestock
5387eb77ab
Merge pull request #721 from paulbellamy/proxy-ipam
...
Proxy support for IPAM
Closes #657 .
2015-05-23 10:24:53 +01:00
Matthias Radestock
0c01bb758e
Merge pull request #722 from errordeveloper/docs-branch-heads
...
Create `weave/<branch>/head` for latest branch docs
Closes #668 .
2015-05-22 18:48:14 +01:00
Paul Bellamy
11931f3ea2
[tests] extract gliderlabs/alpine and aanand/docker-dnsutils into var in
...
config.sh
@bboreham made me do it.
2015-05-22 15:52:36 +01:00
Paul Bellamy
cc82213147
add 'weave launch-proxy --with-ipam' flag
2015-05-22 15:52:36 +01:00
Matthias Radestock
f36af211c0
cosmetic
2015-05-22 15:41:29 +01:00
Matthias Radestock
b20b4a8675
Merge pull request #731 from dpw/connection-select-break
...
Fix use of "break" within "select" in LocalConnection actorLoop
2015-05-22 15:40:00 +01:00
David Wragg
dfa93436c2
Fix use of "break" within "select" in LocalConnection actorLoop
...
From the golang spec: 'A "break" statement terminates execution of the
innermost "for", "switch", or "select" statement within the same
function.' But the LocalConnection actorLoop seems to assume it
skips the "select" and terminates the enclosing "for".
As a result, if something did conn.Shutdown(nil), it would not actually
shutdown the connection. It turns out this is never a problem, because
Shutdown is always called with a non-nil error, even though there is code
in a few places to handle the nil case. By cleaning that up, the dubious
"break" is eliminated.
2015-05-22 11:26:30 +01:00
Paul Bellamy
d0320b43f9
realigning the weave help output columns
2015-05-22 10:04:10 +01:00
Paul Bellamy
73071f2c62
cleanup proxy test helpers
2015-05-22 10:04:09 +01:00
Paul Bellamy
c9409c5342
[proxy] Adding basic docs about IPAM integration
2015-05-21 15:37:37 +01:00
Paul Bellamy
46bdd8c67d
Proxy support for IPAM
...
Pass `-e WEAVE_CIDR=` to your container to use IPAM. If IPAM is not
enabled on the weave router, the container will be booted without weave
networking.
I'm not crazy about adding *another* undocumented weave cli command
(ipam-cidr), but it saves the proxy messing around finding container
IPs.
2015-05-21 15:37:37 +01:00
Bryan Boreham
22b8f482ea
Fix a couple of mistakes in get_ipam_cidr calls
...
(first one only caused a slight slow-down; second one only mattered if
your 'weave' container had a non-standard name)
2015-05-21 12:05:48 +01:00
Adam Harrison
387ec3fdd5
Add run-smoketests target to Makefile
2015-05-21 11:40:12 +01:00
Tom Wilkie
449bf45c2b
Try and ignore pull request pseudo-branches for circle build.
2015-05-21 09:50:38 +00:00
Bryan Boreham
b771528942
Check if Docker using weave bridge before inserting DROP rule
...
and comment the use of -I
2015-05-21 10:14:15 +01:00
Bryan Boreham
f727e56bad
Revert "consistency"
...
This reverts commit c5d5dd5fdc .
2015-05-21 09:54:46 +01:00
Matthias Radestock
c5d5dd5fdc
consistency
2015-05-21 05:46:07 +01:00
Matthias Radestock
6f68eb50aa
get rid of a silly redirect
2015-05-20 16:54:07 +01:00
Paul Bellamy
c63d2e531a
Merge pull request #712 from errordeveloper/vagrantfile-more-cleanup
...
Improve readability of Vagrantfile and cleanup this official image
2015-05-20 16:47:28 +01:00
Ilya Dmitrichenko
eb6f9faae7
Create weave/<branch>/head for latest branch docs ( close #668 )
2015-05-20 16:44:02 +01:00
Matthias Radestock
23dd02a05a
remove redundant check
2015-05-20 15:58:22 +01:00
Paul Bellamy
d24e75f76b
extract vagrantfile shared bits
2015-05-20 15:42:08 +01:00
Matthias Radestock
b119872b1b
Merge pull request #718 from paulbellamy/proxy-check-up
...
use grep in /sys to verify ethwe is up in tests
Closes #707 .
2015-05-20 13:47:48 +01:00
Paul Bellamy
eeaa6c9e2c
use grep in /sys to verify ethwe is up in tests
...
Closes #707 . `ip link show` seems to "lag" the real state. In tests
checking the physical link state is good enough.
2015-05-20 13:36:36 +01:00
Matthias Radestock
0a7211988a
Merge pull request #714 from paulbellamy/proxy-cmd-merge
...
refactor proxy entrypoint rewriting to match docker daemon
Fixes #709 .
2015-05-20 13:19:03 +01:00
Bryan Boreham
9e79d7dcca
Don't talk to IPAM unless 0 addresses supplied to 'hide'
2015-05-20 12:59:04 +01:00
Paul Bellamy
369466d3d4
refactor proxy entrypoint rewriting to match docker daemon
...
Closes #709
2015-05-20 11:41:15 +01:00
Matthias Radestock
f642db0462
Merge pull request #704 from bboreham/620-drop-docker
...
Drop traffic from docker0 bridge to weave bridge
Fixes #620 .
2015-05-20 11:24:41 +01:00
Bryan Boreham
906be31483
Regularise the ping tests across different subnets
2015-05-20 11:08:39 +01:00
Matthias Radestock
0220f9aaca
Merge pull request #713 from paulbellamy/proxy-exec
...
use exec instead of run, to replace weavewait with subprocess
Closes #708 .
2015-05-20 10:48:01 +01:00
Ilya Dmitrichenko
a48777e482
Clean test VMs as well
2015-05-20 10:47:15 +01:00
Bryan Boreham
4ee32cc12d
Extend smoke test for new drop rule
...
Note that we have to wrap the '!' in 'sh -c' to get the negation to work as expected.
2015-05-20 10:45:18 +01:00
Paul Bellamy
818e162fff
[proxy] use exec instead of run, to replace weavewait with subprocess
...
Closes #708
2015-05-20 10:35:52 +01:00
Bryan Boreham
6739e6c166
iptables rule to drop traffic from docker0 bridge to weave bridge
2015-05-20 10:27:38 +01:00
Ilya Dmitrichenko
3a0b341770
Improve readability of Vagrantfile and cleanup this official image
2015-05-20 08:24:18 +01:00
Matthias Radestock
7396f61222
move some tests
2015-05-19 21:38:50 +01:00
Matthias Radestock
f7f0369bff
improve logging in proxy
...
- always info-log when we encounter an 'interesting' container
- s/CIDR/WEAVE_CIDR
- some other minor tweaks
2015-05-19 19:46:53 +01:00
Matthias Radestock
fe36da2041
Merge pull request #703 from paulbellamy/proxy-minimal
...
proxy needs to add weavewait to execs as well
2015-05-19 18:54:15 +01:00
Paul Bellamy
610bc46970
proxy should provide reasonable error when execing on a container which doesn't exist
2015-05-19 17:37:23 +01:00
Paul Bellamy
e6b587ea8d
proxy needs to add weavewait to execs as well
...
Bug came up in a test where we are restarting and doing an exec checking
a network interface right away. weavewait is only added if the container
has a WEAVE_CIDR var set, the same as at container creation.
2015-05-19 17:36:53 +01:00
Bryan Boreham
70b595c4a2
Clarify status message when allocator is awaiting consensus
2015-05-19 14:12:08 +01:00
Matthias Radestock
f59facf5a6
Merge pull request #701 from bboreham/684-improve-errors
...
Improve ipam error messages
Closes #684 .
2015-05-19 13:34:22 +01:00
Bryan Boreham
0e55f75d86
Oops
2015-05-19 13:16:36 +01:00
Bryan Boreham
ee7dac9e28
Improve error messages
...
Make clear that they come from the IP allocator, and reduce repetition in the text.
Also include the nickname for other peer, if known.
2015-05-19 12:37:57 +01:00
Matthias Radestock
9f85cbc07d
Merge pull request #696 from bboreham/692-ipam-status
...
Document ipam additions to `weave status`
Closes #692 .
2015-05-19 12:05:53 +01:00
Bryan Boreham
454bbdbc68
Make reference into a link
2015-05-19 11:48:11 +01:00
Paul Bellamy
62242cb640
fixup bad golint refactor
2015-05-19 11:46:03 +01:00
Bryan Boreham
9363193fe8
Review feedback
2015-05-19 11:43:59 +01:00
Matthias Radestock
29601610c0
Merge pull request #698 from paulbellamy/proxy-minimal
...
remove usage of backticks in sh script
2015-05-19 11:33:00 +01:00
Paul Bellamy
fdd0bd3b35
remove usage of backticks in bash script
2015-05-19 11:26:55 +01:00
Bryan Boreham
4d3234aa36
Merge pull request #695 from rade/merge_ipam_tests_with_rest
...
LGTM
2015-05-19 11:25:50 +01:00
Matthias Radestock
8b66b8ae47
Merge pull request #655 from paulbellamy/proxy-minimal
...
Minimal implementation of the proxy
closes #47 , closes #230 , closes #251 , closes #400 .
2015-05-19 10:59:00 +01:00
Paul Bellamy
ee07d645b4
golint cleanup of else block
2015-05-19 10:47:57 +01:00
Bryan Boreham
bffe9f811a
Document 'weave status' section for IPAM
2015-05-19 10:41:45 +01:00
Bryan Boreham
b6a8c48097
Tidy up IPAM parts of 'weave status'
...
- removed detailed "free" and "owned" printout of 'space'
- removed "free" counts from ring lines - limited usefulness and often out of date.
- removed trailing newline
- changed "Ring" to "Owned Ranges"
- print subnet in CIDR format
2015-05-19 10:38:26 +01:00
Paul Bellamy
b71a428369
proxy should be sending error code to client, instead of exiting
2015-05-19 10:34:46 +01:00
Paul Bellamy
6911dc8d38
updating proxy with-dns description to match docs
2015-05-19 10:34:46 +01:00
Paul Bellamy
1e7c82bb58
use busybox instead of ubuntu for proxy image pulling test
...
busybox is smaller. gliderlabs/alpine is even smaller, but is used by
weaveexec, so we can't remove it.
2015-05-19 10:34:46 +01:00
Paul Bellamy
2f8c5d7bd9
proxy interceptors implicitly modify arguments, instead of returning them
2015-05-19 10:34:46 +01:00
Matthias Radestock
126d4f4079
some refactoring and tidying
...
- some inlining
- compile regexps once
- consistent error messages
- always mention container id in startContainerInterceptor errors
2015-05-19 10:34:46 +01:00
Paul Bellamy
ca4b8e6f8e
add proxy support for 'docker restart'
2015-05-19 10:34:46 +01:00
Paul Bellamy
2a120e5565
refactor proxy rawStream handler
2015-05-19 10:34:46 +01:00
Paul Bellamy
6fa0a9d70c
moving weaveproxy docs off 'experimental-features'
2015-05-19 10:34:46 +01:00
Paul Bellamy
55d17ba3bf
separate proxy package into weaveproxy and proxy
2015-05-19 10:34:46 +01:00
Paul Bellamy
bedc20c7c1
extract docker-bridge-ip fetching from proxy into bash script
2015-05-19 10:34:46 +01:00
Paul Bellamy
96a69d2303
Add dns support for the proxy
...
In the proxy, I swapped the 'flag' library for
'code.google.com/p/getopt', which uses double-dash flags.
proxy lets 'weave attach' do dns registration on container start
proxy needs to set DNSSearch if not specified
2015-05-19 10:34:45 +01:00
Paul Bellamy
444b1482fa
add weavewait
...
binocarlos/wait-for-weave is Apache2 licensed, so attribution/etc applies. Thus, we
re-invent the wheel here.
2015-05-19 10:34:45 +01:00
Paul Bellamy
9389001a1d
[docs] Initial version of proxy docs
2015-05-19 10:34:45 +01:00
Paul Bellamy
5a6a67f632
Add integration test for the proxy, using docker-py client
2015-05-19 10:34:45 +01:00
Michael Bridgen
6c4271f15d
Add launch-proxy command to cli
...
Use curl /weave to wait for the proxy to boot before returning.
2015-05-19 09:48:12 +01:00
Michael Bridgen
6d7de3ddff
Proxy implementation
...
This adds a docker remote API proxy to the weaveexec image. The proxy
has hooks for (post-) container start and (pre-) container create; the
former attaches a weave interface to a container given a WEAVE_CIDR
environment entry, and the latter adjusts the entrypoint of a container
to wait for the ethwe interface.
Notes:
None of the hooks need to inspect/change large bodies. In order to avoid
a crash when handling images larger than memory we need to ensure that
the entire request body is never loaded into memory (i.e. No
ioutils.ReadAll).
When proxying a raw-stream response, we can't use http.WriteHeader. It
sets the Transfer-Encoding to chunked, which will throw off the clients.
Instead we have to hijack the socket, and write out http status code
manually.
For chunked transfer-encodings, clients (docker-py) depend on each http
chunk containing exactly one JSON object. Therefore, we cannot re-chunk
the body, and have to pass it across verbatim.
Proxy needs to pass multi-cidrs separately when calling weave. Otherwise
they get smashed together on the command line, and the call fails.
When creating the image, if no entrypoint is specified on the container,
it should use the entrypoint of the image. Code for this is based on
powerstrip-weave.
We handle WEAVE_CIDR='' by acting like it is not set. The reason being,
that because WEAVE_CIDR is inherited from images (along with env vars),
setting it to blank is equivalent to unsetting it.
2015-05-19 09:48:12 +01:00
Paul Bellamy
d8e1d0798e
replace test usage of ifconfig with ip link show
2015-05-19 09:48:12 +01:00
Matthias Radestock
e9963945d6
cosmetic
2015-05-18 23:38:37 +01:00
Matthias Radestock
9017888b9c
merge IPAM tests with rest
...
keeping them separate leads to too much duplication
2015-05-18 23:28:35 +01:00
Matthias Radestock
8e1ac2b300
Merge pull request #693 from bboreham/677-document-rmpeer
...
Illustrate the usage of 'weave rmpeer'
Closes #677 .
2015-05-18 17:37:19 +01:00
Bryan Boreham
25c70cfad6
Illustrate the usage of 'weave rmpeer'
2015-05-18 17:26:24 +01:00
Matthias Radestock
cf34335ec7
Merge pull request #691 from bboreham/681-ipam-docs
...
Expand documentation of 'weave launch' parameters for IPAM
Closes #669 and #681 .
2015-05-18 17:09:26 +01:00
Bryan Boreham
4ea9cfca48
Expanded description of 'weave launch' parameters for IPAM
2015-05-18 16:49:45 +01:00
Matthias Radestock
94525f0497
Merge pull request #690 from bboreham/and_true
...
Fix typo '&& true' in weave script, that could cause partial population of DNS
2015-05-18 16:47:28 +01:00
Bryan Boreham
0227f7e727
'&& true' was a typo - replaced with '|| true'
2015-05-18 16:06:38 +01:00
Bryan Boreham
bb4dd716c8
Document -iprange a bit more, and warn not to use its addresses elsewhere
2015-05-18 16:03:34 +01:00
Matthias Radestock
d53ec858a2
Merge pull request #689 from bboreham/671-hide-errors
...
Silence complaints from http_call when at end of 'weave hide'
Fixes #671 .
2015-05-18 15:59:45 +01:00
Bryan Boreham
286c46653c
Add smoke tests for 'weave expose' and 'weave hide' when weave isn't running
2015-05-18 15:43:44 +01:00
Bryan Boreham
7cf8234d9f
Silence complaints from http_call when at end of 'weave hide'
2015-05-18 14:54:46 +01:00
Matthias Radestock
fd0282ee05
Merge pull request #686 from bboreham/672-ipam-run-local
...
Fetch an address from IPAM for 'weave --local run'
Fixes #672 .
2015-05-18 14:44:46 +01:00
Bryan Boreham
5cc3036498
Extend smoke test for 'weave run --local' to include IPAM
2015-05-18 14:38:12 +01:00
Matthias Radestock
957c8a1954
Merge pull request #665 from pradeepchhetri/dockerfile
...
Merged two run commands into one in weavexec Dockerfile
2015-05-18 12:44:17 +01:00
Matthias Radestock
94c7e7f646
Merge pull request #567 from bboreham/pktdebug
...
Rename per-packet debugging flag to `-pktdebug`
2015-05-18 12:21:40 +01:00
Matthias Radestock
5f16854e1f
Merge pull request #685 from bboreham/679-ipam-docs
...
Give 'weave ps' example with IPAM and link to docs
Closes #679 .
2015-05-18 12:20:03 +01:00
Bryan Boreham
48e9c53dda
Fetch an address from IPAM for 'weave --local run'
2015-05-18 12:06:06 +01:00
Bryan Boreham
0ec4417992
Rename per-packet debugging flag to -pktdebug
...
to allow `-debug` to mean "more verbose logging"
2015-05-18 11:52:50 +01:00
Adam Harrison
eecb540141
Merge pull request #683 from rade/refactor_smoke_tests
...
Refactor smoke tests
2015-05-18 11:37:40 +01:00
Bryan Boreham
14c690d9f5
Give 'weave ps' example with IPAM and link to docs
2015-05-18 11:37:38 +01:00
Matthias Radestock
c08bfd2205
always quote $@
2015-05-18 11:16:12 +01:00
Adam Harrison
d9eea28f17
Merge pull request #667 from rade/revise_weavedns_docs
...
revise weaveDNS docs
2015-05-18 10:46:09 +01:00
Matthias Radestock
06abd62af0
always spell weaveDNS lower-case, except in titles/headings
2015-05-18 10:43:07 +01:00
Matthias Radestock
f732252f22
eliminate ambiguity
2015-05-18 10:36:13 +01:00
Matthias Radestock
a01d33452e
revise weaveDNS docs
...
- add ToC and anchors for all headings
- move docker bridge settings into "How it works" - it's a rarely used
feature
- highlight a bunch of features, extracting them from obscurely titled
sub-sections of "manual usage"
- basic rendundancy
- adding/removing extra DNS entries
- service hot-swapping
- ability to retain entries for stopped containers
- using a different local domain
- rename remainder of "manual usage" section to "Using weaveDNS
without `weave run`"
- remove "Unregistering" section - it was out of date and is not
covered by the "add/remove" section
2015-05-18 10:36:13 +01:00
Matthias Radestock
6dd6d9d6f0
one ping to rule them all
2015-05-16 21:53:50 +01:00
Matthias Radestock
ccd468f80c
drop -debug from launch-dns
...
It wasn't being applied consistently in any case.
2015-05-16 21:06:08 +01:00
Matthias Radestock
4e7ddedf75
extract startup of container with dns
...
There is now just one mention of the aanand/docker-dnsutils image; in
config.sh.
2015-05-16 21:00:27 +01:00
Matthias Radestock
8261c7f782
extract hostname as a constant
2015-05-16 21:00:27 +01:00
Matthias Radestock
c3c5b76007
use already-defined constants
2015-05-16 21:00:27 +01:00
Matthias Radestock
1c1bd817e1
extract startup of simple container
...
There is now just one mention of the gliderlabs/alpine image outside config.sh.
2015-05-16 21:00:07 +01:00
Matthias Radestock
ab244f76f6
consistency
2015-05-16 20:37:16 +01:00
Matthias Radestock
535a6ae199
consistent docker run parameter order
2015-05-16 20:37:16 +01:00
Matthias Radestock
822cab7750
use assert_dns_record in ipam test
...
instead of homegrown version that uses dig
2015-05-16 19:22:31 +01:00
Matthias Radestock
2647fd4c92
extract helper for obtaining container ip address
...
thus keeping the ghastly regexp in one place instead of three.
2015-05-16 19:14:23 +01:00
Matthias Radestock
bb8a745431
cosmetic: helper functions come first
2015-05-16 19:05:19 +01:00
Matthias Radestock
352e31c88b
remove all the weave_on hacks
...
that existed because it was echoing a message to stdout, which it no
longer does.
As a result there is now no mention of the docker tcp host/port
outside config.sh.
2015-05-16 19:00:35 +01:00
Matthias Radestock
a94d2ef277
remove pointless quoting
2015-05-16 18:22:55 +01:00
Matthias Radestock
ad34a56e56
simplify NXDOMAIN test
...
- remove premature abstraction
- only do one check
2015-05-16 18:22:55 +01:00
Matthias Radestock
970af56765
less noise, and use lower-case var names
2015-05-16 18:22:02 +01:00
Paul Bellamy
defcfa5d26
test *_on helpers should send non-result output to &2, so that asserts work
...
Previously, the result output would include:
Docker on: <command>
result output text
etc...
But this would cause: assert "docker_on ..." to fail
2015-05-16 18:03:21 +01:00
Matthias Radestock
11d241eccd
cosmetic: better error message
2015-05-16 03:17:07 +01:00
Matthias Radestock
dbcdace361
tiny refactor: outdent
2015-05-16 02:50:02 +01:00
Matthias Radestock
47727e23f1
fix quoting, unbreaking multi-cidr weave start/attach/hide
...
Fixes #670 .
2015-05-16 02:42:10 +01:00
Matthias Radestock
2bd197e12c
cosmetic
2015-05-16 01:31:47 +01:00
Matthias Radestock
2934e89e14
fetch dependencies of sigproxy
...
There aren't any right now, but might be in the future.
2015-05-16 01:15:47 +01:00
Matthias Radestock
dc96fc17a9
correct protocol version
...
let us not get ahead of ourselves
2015-05-16 01:09:53 +01:00
Matthias Radestock
35211f65c9
pull IPAM docs onto separate page
...
and link to them from main docs page
2015-05-15 17:08:24 +01:00
David Wragg
977666c2c9
Fix test when run on circleci
...
'docker exec -i' hangs there.
2015-05-15 15:48:55 +01:00
Matthias Radestock
7737c7f34f
move weavedns link
2015-05-15 14:02:57 +01:00
Matthias Radestock
dcac8d8316
cosmetic: move weavedns-readme.md to weavedns.md
2015-05-15 13:59:40 +01:00
David Wragg
f95b3971ab
Merge bboreham/22_ipam (PR #563 ): IP Allocation Management
...
Fixes #22 .
2015-05-15 13:34:57 +01:00
Pradeep Chhetri
91bb28b47b
Merged two run commands into one in Dockerfile
2015-05-15 18:04:20 +05:30
David Wragg
4b942e8ed5
populate_1_ipam -> ipam_claim
2015-05-15 13:12:36 +01:00
Matthias Radestock
fbbc2bbf79
fix typo
2015-05-15 12:56:04 +01:00
Matthias Radestock
483c565fac
better titles for WeaveDNS links
2015-05-15 11:59:27 +01:00
Matthias Radestock
210101932c
fix broken link
2015-05-15 11:56:46 +01:00
David Wragg
0eee999d7c
Unify common call to wait_for_status upon "weave launch"
2015-05-15 11:49:36 +01:00
David Wragg
a027337be2
Tidy up IPAM setup
2015-05-15 11:44:50 +01:00
Bryan Boreham
f6ac069bc5
Remove some less-necessary test helper functions
2015-05-14 17:57:13 +01:00
Bryan Boreham
3cd1a17c23
IP Allocation Management
...
Using the Ring CRDT and Weave gossip, provides an interface
for the weave script to allocate IP addresses in `weave run`,
`weave start` and `weave expose`.
See docs/ipam.md for implementation details, and site/features.md
for user-visible changes.
2015-05-14 17:44:06 +01:00
David Wragg
72112d7aef
Implementation of Basic Paxos
2015-05-14 17:33:20 +01:00
Tom Wilkie
4f3dcf8dc9
Ring CRDT for IP Allocation Management
...
The basic data structure used to share information about
IP allocations between peers
2015-05-14 17:33:20 +01:00
Matthias Radestock
c158b86dc6
refactor: shorten a method name
2015-05-14 15:13:10 +01:00
Matthias Radestock
79d3a2821f
simplify test
...
less clever, but more readable
2015-05-14 14:52:35 +01:00
Matthias Radestock
c7dd48d769
introduce PeerUID type
2015-05-14 12:35:01 +01:00
Matthias Radestock
ace56da7b3
allow Gossiper.Gossip to return nil
...
...to indicate 'no data'
2015-05-14 12:02:56 +01:00
Ilya Dmitrichenko
af21f5eaf6
Markdown cosmetic
2015-05-13 16:53:49 +01:00
Ilya Dmitrichenko
0881fa0c69
Add instructions for building on a Vargant VM without logging in
2015-05-13 16:45:58 +01:00
Ilya Dmitrichenko
db28286a4b
Vagrnant should not do everything as root
2015-05-13 16:41:25 +01:00
Ilya Dmitrichenko
ccd111d512
Cleanup Vagrantfile and fix path in non-interactive shell
2015-05-13 16:24:36 +01:00
Fintan Ryan
d106c56c00
Merge pull request #651 from weaveworks/move-weavedns-docs
...
Update docs index: move WeaveDNS docs and add Getting Started Guides
2015-05-13 14:44:54 +01:00
Paul Bellamy
f0578f5f66
forgot to give Overview section an anchor
2015-05-13 14:17:56 +01:00
Ilya Dmitrichenko
d63a9785bd
Point to new location for WeaveDNS docs
2015-05-13 13:59:41 +01:00
rade
8f38a48a1f
Merge pull request #653 from paulbellamy/docs-how-it-works-toc
...
Add ToC to how-it-works docs page
2015-05-13 13:53:37 +01:00
Paul Bellamy
39f87a27e5
Add ToC to how-it-works docs page
2015-05-13 13:45:06 +01:00
Ilya Dmitrichenko
ca4d813b71
Cleanup documentation index, add getting started guides
2015-05-13 12:47:43 +01:00
Ilya Dmitrichenko
2199c5c273
Add Jekyll "frontmatter", it does not build it otherwise
2015-05-13 10:36:22 +01:00
Ilya Dmitrichenko
366adfb8f9
Move WeaveDNS docs to docs.weave.works ( close #471 )
2015-05-13 10:21:51 +01:00
Ilya Dmitrichenko
17925a0c0b
gsutil rsync does not imply recursion
2015-05-13 10:21:32 +01:00
Matthias Radestock
55077d5059
cosmetic: it's lower-case 'weave' everywhere except in titles
2015-05-12 17:26:28 +01:00
David Wragg
3e4f7358a7
Mention "CIDR notation" rather than "CIDR" in error message
...
It's more web-searchable.
2015-05-12 15:48:33 +01:00
Matthias Radestock
9195894d2a
Show error message when DNS population fails part way through.
...
Closes #393 .
2015-05-12 11:49:48 +01:00
Matthias Radestock
953449c215
refactor: extract Peer.ForEachConnectedPeer helper
2015-05-11 21:06:07 +01:00
Matthias Radestock
c5c93d3a77
refactor: increase similarity betweeen parts of route calculation
2015-05-11 20:14:24 +01:00
Matthias Radestock
039446f756
cosmetic: remove outdated comment
2015-05-11 20:00:04 +01:00
Matthias Radestock
03c1f49850
make profiling work again
...
The weave SIGINT signal handler was racing the profiler SIGINT signal
handler. So now we a) make the former return instead of exit, and b)
disable the latter, as a result of which the deferred profile.Stop in
weaver/main gets called.
2015-05-11 19:38:06 +01:00
Matthias Radestock
43133b5851
increase tolerance for missed udp heartbeats
...
3 are quite easy to miss when there is contention. 6 less so.
2015-05-11 18:35:06 +01:00
David Wragg
df40c5b97e
Merge rade/643_eliminate_route_calculcation_deadlock (PR #644 )
...
eliminate route calculcation deadlock
Fixes #643 .
2015-05-11 17:57:53 +01:00
Matthias Radestock
e246e6acc6
coarser lock granularity
...
- get rid of individual Peer locks
- hold Peers read (or write) lock and LocalPeer read lock while
performing route calculations
This eliminates the deadlock resulting from the inconsistent lock
acquisition order in route calculcation.
Fixes #643 .
2015-05-11 17:19:54 +01:00
Matthias Radestock
5bd8730353
make Peer.Encode lock-free
2015-05-11 17:19:51 +01:00
Matthias Radestock
c210f0e3c1
make Peer.Info lock-free
2015-05-11 17:19:46 +01:00
Matthias Radestock
426d8edb31
remove Peer.SetVersionAndConnections
...
further shrinking Peer API
2015-05-11 17:19:43 +01:00
Matthias Radestock
86ba3be4f7
move Connections from Peer to LocalPeer
...
further shrinking the former's API
2015-05-11 17:19:38 +01:00
Matthias Radestock
5bf6889250
remove Peer.Version
...
further shrinking the Peer API
2015-05-11 17:19:35 +01:00
Matthias Radestock
0229185ffe
move ConnectionTo from Peer to LocalPeer
...
further shrinking the former's API
2015-05-11 17:19:31 +01:00
Matthias Radestock
505ced5cc8
move localRefCount accounting responsibility from Peer to Peers
...
This makes for a more symmetric API - Peers.FetchWithDefault does the
increment and Peers.Dereference does the decrement, whereas previously
the latter was done by Peer.DecrementLocalRefCount.
This does increase lock granularity, i.e. modifying any ref count now
requires a write lock on Peers.
2015-05-11 17:19:23 +01:00
Matthias Radestock
3e6eef5ebd
refactor(ish): move a bunch of methods from Peer to LocalPeer
...
in order to reduce the former's API surface
2015-05-11 17:19:15 +01:00
Paul Bellamy
8f1f6741e3
Merge pull request #642 from errordeveloper/post-docs-move
...
Fixes post #612
2015-05-11 17:02:35 +01:00
Matthias Radestock
52a89a318a
cosmetic: resolve yet more linter complaints
2015-05-11 02:44:15 +01:00
Matthias Radestock
b43a3e9ab2
cosmetic: resolve some more linter complaints
2015-05-11 02:37:59 +01:00
Matthias Radestock
4bef9d90fb
cosmetic: resolve some linter complaints
2015-05-11 02:33:56 +01:00
Matthias Radestock
e5a87d1ab1
cosmetic: resolve some linter complaints
2015-05-11 02:31:34 +01:00
Matthias Radestock
ef2c55141b
keep linter happy
2015-05-11 02:25:01 +01:00
Matthias Radestock
0cbbe9bac3
make Peer.String() return the common case
...
When we want a string representation of a Peer, we nearly always just
want the full name. So make String() return that and introduce Info()
to return expanded info.
2015-05-10 23:58:23 +01:00
Matthias Radestock
db198652a5
refactor: get rid of test-launch
2015-05-09 17:29:13 +01:00
Matthias Radestock
7b0f432339
cosmetic: fix typo
2015-05-09 17:11:52 +01:00
Matthias Radestock
5472d868aa
refactor
...
we don't need to extract the -nickname option since when the same
option is specified more than once, the last value wins
2015-05-08 18:28:22 +01:00
Matthias Radestock
5a3ff111ef
cosmetic
2015-05-08 18:24:43 +01:00
Ilya Dmitrichenko
35ca82dc0c
Use gsutil rsync
2015-05-08 16:44:40 +01:00
Ilya Dmitrichenko
86fdfef6f1
No redirect required for latest_release_doc_updates
2015-05-08 15:41:49 +01:00
Paul Bellamy
9c5323ee4f
Merge pull request #612 from errordeveloper/post-docs-move
...
Post docs move
2015-05-08 13:40:35 +01:00
Ilya Dmitrichenko
2daf805e95
Point to released docs for WeaveDNS
2015-05-08 11:16:35 +01:00
Paul Bellamy
5e5b3ba65e
Merge pull request #638 from weaveworks/circle
...
More CircleCI Improvements
2015-05-08 10:19:18 +01:00
Tom Wilkie
28a2c0d8a9
Parallelise integration tests.
2015-05-07 19:03:59 +00:00
Tom Wilkie
8d1b161d4f
Use circleci build number instead of git hash, as we can have multiple builds for a given hash.
2015-05-07 18:33:02 +00:00
Tom Wilkie
5094e84af3
Use gliderlabs/alpine over ubuntu in attempt to speed up tests.
2015-05-07 17:40:44 +00:00
Tom Wilkie
a5750dda2a
Tidy up try_connect function
2015-05-07 17:15:14 +00:00
Tom Wilkie
f9c43fecf4
Wait for VMs to come up before connecting
2015-05-07 17:00:36 +00:00
Paul Bellamy
93012a1cfd
Merge pull request #637 from weaveworks/circle
...
Improvements to circle ci integration
2015-05-07 17:32:53 +01:00
Tom Wilkie
5ed8ad46ee
Don't need gsutil on circle; use a prebuild weave-build image and cache it locally.
2015-05-07 16:23:08 +00:00
rade
5e5e932584
Merge pull request #627 from grkvlt/feature/add-dns-entry
...
add `weave dns-add/remove` commands
Closes #364 .
2015-05-07 13:05:45 +01:00
Tom Wilkie
26b6b743f5
Use a template with everything installed for GCE tests.
2015-05-07 11:15:13 +00:00
Andrew Kennedy
633d539b60
New commands to add and remove DNS entries
...
- Commands dns-add and dns-remove added to weave script
- Updated documentation for WeaveDNS
- Added test script for dns-add and dns-remove
- Added IP address functions matching existing CIDR ones
2015-05-07 12:13:59 +01:00
Tom Wilkie
432662bc86
Create multiple GCE VMs at a time.
2015-05-07 10:20:26 +00:00
Matthias Radestock
04ceb5620b
allow user to supply args to docker for remote execution
...
DOCKER_CLIENT_ARGS - for args to docker
WEAVEEXEC_DOCKER_ARGS - for extra args to `docker run`
Closes #626 .
2015-05-07 09:27:22 +01:00
Matthias Radestock
63829a07c5
fix typo
2015-05-06 23:35:32 +01:00
Matthias Radestock
2028861a58
refactor
...
0 is the default
2015-05-06 22:13:02 +01:00
rade
efd704c798
Merge pull request #589 from inercia/weave-588
...
return NXDOMAIN instead of NOTIMP
Fixes #588 .
2015-05-06 19:50:51 +01:00
Matthias Radestock
d6f4ebec50
Merge branch 'inercia-weave-common-signals'
2015-05-06 19:40:24 +01:00
Matthias Radestock
14b99fac2a
minor refactors
2015-05-06 19:39:44 +01:00
Matthias Radestock
8caa58af26
Merge branch 'weave-common-signals' of https://github.com/inercia/weave into inercia-weave-common-signals
2015-05-06 19:33:06 +01:00
Ilya Dmitrichenko
c9bff8b5a7
Publishing updates to the docs on latest release
...
This uses a special branch `latest_release_doc_updates`, as don't
require docs to be updated in retrospect for releases other then
the latest.
2015-05-06 16:43:28 +01:00
Ilya Dmitrichenko
b16d4dff5e
Update documentation URLs
2015-05-06 16:42:12 +01:00
Ilya Dmitrichenko
a3164db1bf
Remove scripts for publishing to gh-pages
2015-05-06 16:42:12 +01:00
Tom Wilkie
213337c210
Fix circle badge
2015-05-06 15:34:01 +00:00
Tom Wilkie
f8ce0354ae
Merge pull request #634 from weaveworks/circle
...
Add circle ci badge to README
2015-05-06 16:28:06 +01:00
Tom Wilkie
3c813f71f6
Add circle ci badge to README
2015-05-06 15:15:14 +00:00
Tom Wilkie
9f75e4eba5
Merge pull request #624 from weaveworks/circle
...
Spin up test VMs on GCE during a circle ci run and use them to run the integration tests.
2015-05-06 15:28:26 +01:00
Tom Wilkie
e5ae053b4f
Spin up test VMs on GCE during a circle ci run and use them to run the integration tests.
2015-05-06 14:01:41 +00:00
Alvaro Saurin
f723d5afd8
Move the router to the new signals handler
2015-05-06 15:07:36 +02:00
Alvaro Saurin
dbc4b68301
Use a general signals handler
2015-05-06 15:06:54 +02:00
Matthias Radestock
dfac7ea564
Merge branch 'awh-reduced_gob'
2015-05-05 22:10:38 +01:00
Matthias Radestock
e656d74633
cosmetic
2015-05-05 22:08:03 +01:00
Matthias Radestock
22e612a738
Merge branch 'reduced_gob' of https://github.com/awh/weave into awh-reduced_gob
2015-05-05 21:36:09 +01:00
Alvaro Saurin
ba98135e03
Return NOTIMP for some unimplemented query types, NXDOMAIN otherwise
2015-05-05 21:31:11 +02:00
Matthias Radestock
e23c15dab2
hostname->fqdn
2015-05-05 18:58:44 +01:00
Adam Harrison
1703250e87
Merge pull request #628 from rade/605_expose_with_multiple_subnets
...
prevent interference of expose in other subnets
2015-05-05 17:48:57 +01:00
Matthias Radestock
d8f1a04467
only NAT when crossing between subnets
...
otherwise we can end up NATing traffic inside a subnet, placing it
outside the subnet and thus breaking connectivity.
2015-05-05 16:00:37 +01:00
Matthias Radestock
12ce7d4c18
add some tests of weave expose/hide functionality
2015-05-05 16:00:37 +01:00
Adam Harrison
ab68a1c325
Introduce PeerSummary
2015-05-05 10:59:09 +01:00
Matthias Radestock
56038674b1
enable weave script debugging with WEAVE_DEBUG
...
Closes #618
2015-05-04 10:28:24 +01:00
Matthias Radestock
72e8b3dcc0
fix comment
2015-05-03 21:42:26 +01:00
Matthias Radestock
5aa912c6e9
Merge branch 'dpw-check-libpcap-version'
...
Fixes #623 .
2015-05-02 17:49:00 +01:00
Matthias Radestock
e40f1fe9a7
fix typo and reformat
2015-05-02 17:46:21 +01:00
David Wragg
be983931fc
Produce a better error message when there is no real SetImmediateMode
...
If gopacket is compiled against an older pcap.h that doesn't have
pcap_set_immediate_mode, it supplies a dummy definition that
always returns PCAP_ERROR. That becomes "Generic error", which
is not very helpful. The real pcap_set_set_immediate never
returns PCAP_ERROR, so this turns it into a more informative
message.
2015-05-01 21:40:53 +01:00
Matthias Radestock
64f7e04e14
Merge remote-tracking branch 'upstream/master'
2015-05-01 10:10:11 +01:00
Matthias Radestock
221c07067e
Accurately describe WeaveDNS status and link to correct docs
2015-05-01 10:08:45 +01:00
David Wragg
17be43ff9e
Merge rade/counter_nonce (PR #617 )
...
replace random nonces with message sequence numbers
Fixes #564 .
2015-04-30 14:54:10 +01:00
Matthias Radestock
cdf7542c25
update docs
2015-04-30 14:47:16 +01:00
Matthias Radestock
137776bcb2
remove decryptor shutdown
...
we only needed it because of the nonce channels
2015-04-30 14:47:16 +01:00
Matthias Radestock
e223899982
remove nonce transmission from protocol
2015-04-30 14:47:16 +01:00
Matthias Radestock
b365c3806b
replace random nonces with message sequence numbers in udp crypto
2015-04-30 14:47:16 +01:00
Matthias Radestock
696bfe464c
replace random nonces with message sequence numbers in tcp crypto
...
Since TCP is reliable, we do not need to transmit the nonce itself;
the recipient can simply construct the nonce from its own message
counter. Hence there is no message envelope and we can thus remove a
whole layer of encoding.
2015-04-30 14:47:16 +01:00
rade
87f47a60ae
Merge pull request #621 from errordeveloper/fix-binding-hostproc-within-container-where-is-already-bound
...
Should not pass value of `$PROCFS`
Fixes #622 .
2015-04-30 14:06:19 +01:00
Ilya Dmitrichenko
9d0c9f1264
Move definition of $PROCFS (cosmetic)
...
It's not required to be set at the top, it's only looked at down below.
2015-04-30 13:49:39 +01:00
Michael Bridgen
d710684f8e
Should not pass value of $PROCFS ( close #622 )
...
This is picked from squaremo/weave@d3cc606d5b
The environment variable `PROCFS` was originally added so that the script
could be run in a container. The host's /proc is bind-mounted as /hostproc,
and the script must be told this.
The remote weaving changes got this a bit wrong, by using the value of
`$PROCFS` in a "volume" mount argument (`-v`) to docker -- but when
invoking a container, the left-hand-side of the volume mount should
*always* be `/proc` (and the right-hand-side always `/hostproc`),
since it will always be binding the host's `/proc` to the container's
`/hostproc`.
The gist is that docker looks at host's root filesystem and if you
pass `-v /hostporc:/hostproc` when running from a container where
you have already bind-mounted it, it will end-up creating empty
directory in the target container as there is no `/hostproc` from
docker's perspective.
2015-04-30 13:49:29 +01:00
Adam Harrison
b48a93c483
Remove obsolete connsIterator
2015-04-30 13:06:57 +01:00
Adam Harrison
047614b540
Encode/decode []ConnectionSummary instead of []byte
2015-04-30 13:03:18 +01:00
Matthias Radestock
0fc0b9a671
cosmetic
2015-04-30 08:54:42 +01:00
Adam Harrison
26dfc42034
Bump protocol version due to gob restructuring
2015-04-29 16:39:14 +01:00
rade
153731c1f3
Merge pull request #614 from awh/fix_weave_version
...
`weave version` continues after missing image
Fixes #597 .
2015-04-28 18:23:09 +01:00
rade
df9e188867
Merge pull request #613 from awh/fix_weave_detach
...
Detach of unattached container succeeds silently
2015-04-28 18:20:38 +01:00
rade
cc62f92988
Merge pull request #616 from awh/require_kernel_3.8.0
...
Require Linux kernel 3.8.0 or above
Closes #585 .
2015-04-28 18:16:40 +01:00
Matthias Radestock
61a5640a95
do not connect to weave port of outbound connection endpoints
...
There is no point.
2015-04-28 16:07:34 +01:00
Adam Harrison
c0d6eb4a22
Require Linux kernel 3.8.0 or above
2015-04-28 15:05:47 +01:00
Adam Harrison
5835838202
Merge pull request #610 from inercia/weave-583-1
...
External clock provider for the cache
2015-04-28 11:58:35 +01:00
Adam Harrison
bafea4bc0e
weave version continues after missing image
2015-04-28 11:47:32 +01:00
Adam Harrison
19fce2aa8c
Only output colour escapes when attached to a tty
2015-04-28 11:35:08 +01:00
Adam Harrison
cf299f59de
Detach of unattached container succeeds silently
2015-04-28 11:26:31 +01:00
Alvaro Saurin
3bdfa9b050
Make lint happy
2015-04-28 12:05:24 +02:00
Alvaro Saurin
42fa953053
Minor: logs messages...
2015-04-28 12:05:24 +02:00
Alvaro Saurin
18b7110c31
Stringer'ify some structs
2015-04-28 12:05:24 +02:00
Alvaro Saurin
4aa5e0a97e
Minor: logging
2015-04-28 12:05:24 +02:00
Alvaro Saurin
ce12b36433
Unit test for multiple answers from a mDNS server
2015-04-28 12:05:21 +02:00
Alvaro Saurin
9e5fe255a5
Improved mocks
2015-04-28 12:02:51 +02:00
Alvaro Saurin
d7c154ea41
Removed the "now" parameters and use an external clock provider
2015-04-28 12:02:49 +02:00
Alvaro Saurin
7de2080b9e
Added a TTL to the zone records
2015-04-28 11:59:21 +02:00
Alvaro Saurin
22a229c305
Utility function raddrToIP()
2015-04-28 11:52:08 +02:00
Tom Wilkie
840a493e62
Merge pull request #604 from weaveworks/build-and-pubslish-docs-site
...
Basic automation for publishing documentation
2015-04-28 09:48:26 +01:00
Alvaro
c2f55fc836
Merge pull request #609 from rade/combine_nameserver_query_handlers
...
refactor: eliminate duplication in nameserver query handlers
2015-04-27 19:50:14 +02:00
Ilya Dmitrichenko
cfb8e75411
Use shorter URLs for tags
2015-04-27 17:47:59 +01:00
Ilya Dmitrichenko
81ff18565f
Generate pointer to latest revision
2015-04-27 17:47:28 +01:00
Ilya Dmitrichenko
83c2bcd418
Build and publish docs on push, not on pull-requests
2015-04-27 17:47:25 +01:00
Ilya Dmitrichenko
0b4b849583
Refactor how sectrets are setup
2015-04-27 17:46:34 +01:00
Ilya Dmitrichenko
6bc601bbfc
Basic automation for publishing documentation
2015-04-27 17:46:34 +01:00
Matthias Radestock
e45ea65e45
tiny simplifying refactor
2015-04-27 15:51:25 +01:00
Matthias Radestock
b74348e59d
d'oh
2015-04-27 08:58:02 +01:00
Matthias Radestock
ce03f27044
refactor: use 'copy' instead of for loop for slice->array copy
2015-04-27 07:42:52 +01:00
Matthias Radestock
1de86f4312
cosmetic
2015-04-27 07:30:17 +01:00
Matthias Radestock
02a7875eb8
refactor: remove last dependency of crypto on LocalConnection
2015-04-27 07:27:31 +01:00
Matthias Radestock
ea4e84cdd3
refactor: (almost) remove dependency of crypto on LocalConnection
2015-04-27 07:14:30 +01:00
Matthias Radestock
29c02d2724
refactor: lift error handling out of Encryptor.Bytes()
...
in order to reduce dependency on LocalConnection
2015-04-27 07:12:21 +01:00
Matthias Radestock
fcd44c37e1
refactor: reduce coupling between connections and crypto
2015-04-27 06:13:41 +01:00
Matthias Radestock
ce4c79ed93
refactor: extract commonQueryHandler
...
to remove duplication between queryHandler and rdnsHandler
2015-04-26 12:40:34 +01:00
Matthias Radestock
cb42ec358e
even more alignment between queryHandler and rdnsHandler
...
in preparation of extracting common helper function
2015-04-26 11:40:28 +01:00
Matthias Radestock
1a35b5aa2b
align queryHandler and rdnsHandler
...
increasing their similarity in preparation of refactor
2015-04-26 11:20:44 +01:00
Matthias Radestock
4cc0cf795d
explain relationship to TLS
2015-04-26 09:04:09 +01:00
Matthias Radestock
ff49bb5125
document why we carry the DF flag in payload
2015-04-25 12:36:05 +01:00
Matthias Radestock
d82f60f18b
cosmetic
2015-04-25 12:06:20 +01:00
Matthias Radestock
d15575212a
refactor: no need to record 'df' in two places in state
2015-04-25 12:05:17 +01:00
Matthias Radestock
e414f6d059
cosmetic: reformat
2015-04-25 09:17:38 +01:00
rade
f217d7badf
Merge pull request #606 from awh/592_smoke_test_teardown
...
Factor out test fixture teardown
Fixes #592 .
2015-04-24 12:10:15 +01:00
Adam Harrison
d0d8144ef9
Factor out test fixture teardown
2015-04-24 12:03:57 +01:00
Adam Harrison
443b11646d
Merge pull request #559 from inercia/weave-338
...
Support for multiple responses in mDNS
2015-04-24 12:01:43 +01:00
Matthias Radestock
252dacb278
update topology docs to reflect recent changes
2015-04-23 20:46:27 +01:00
rade
2b50a183bb
Merge pull request #603 from rade/600_early_death_in_wait_for_status
...
guard against early container death in wait_for_status
Fixes #600 .
2015-04-23 17:31:43 +01:00
Matthias Radestock
ed894d52c9
guard against early container death in wait_for_status
2015-04-23 17:28:03 +01:00
Matthias Radestock
4a8fe43036
refactor: simplify "return 1 on error" code
2015-04-23 17:21:56 +01:00
Matthias Radestock
af4b7daa77
weave no longer needs to be run as root, so don't say that
2015-04-23 16:40:09 +01:00
Matthias Radestock
edf92ef958
add tests for resolving unqualified names
2015-04-23 15:21:26 +01:00
Adam Harrison
dd21cfad7f
Merge pull request #595 from rade/shrink_dns_tests
...
shrink dns tests and prevent exit on failure
2015-04-23 15:04:00 +01:00
rade
d3128808b9
Merge pull request #601 from fintanr/readme_update
...
Highlight DNS in Readme
2015-04-23 12:28:23 +01:00
Fintan Ryan
ae80d08935
Highlight DNS in Readme
2015-04-23 12:27:07 +01:00
Alvaro Saurin
41ae6e0b7a
Make "go vet" happy
2015-04-23 13:01:29 +02:00
Alvaro Saurin
56859a9c30
Run gofmt
2015-04-23 13:01:29 +02:00
Alvaro Saurin
58c8945b32
Support "insistent" queries in the mDNS client, used for obtaining all possible responses from mDNS servers.
...
Support for multiple responses from Lookup*() methods
Support for multiple records when building packets with make*() methods
Use a common "ZoneRecord" interface for structs that contain names and IPs
2015-04-23 13:01:29 +02:00
Matthias Radestock
ec29c2c776
cosmetic
2015-04-23 08:04:12 +01:00
Matthias Radestock
22c04bfc24
don't use $(exec_on ...)
...
since that will cause the test to exit on failure
2015-04-22 20:09:34 +01:00
Matthias Radestock
eebb674232
simplify dns tests
...
- use 'host' to lookup MX record. It's shorter
- use getent everywhere else for dns lookups, instead of dig; this
tests more of the o/s name resolution machinery and is generally
shorter.
- introduce assert_dns_record helper that performs forward and reverse
- lookup introduce some vars for holding constants, so we don't have
to repeat them
2015-04-22 19:38:04 +01:00
rade
5749d19fee
Merge pull request #594 from awh/591_smoke_test_robustness
...
Improved smoke test robustness
Fixes #591 .
2015-04-22 16:52:37 +01:00
Adam Harrison
6a06d0f95f
Simplify ping tests to avoid set -e precipitated exit in failure case
2015-04-22 16:46:35 +01:00
Adam Harrison
d850ea41a2
Report overall status after running all suites
2015-04-22 16:46:22 +01:00
Adam Harrison
5e01021cba
Avoid use of subshell in whitely/greyly
2015-04-22 16:43:38 +01:00
Adam Harrison
f3619367a2
Make sourcing of config.sh idempotent
2015-04-22 14:54:33 +01:00
Adam Harrison
849bd52096
Merge pull request #590 from rade/simplify_test_docker_exec
...
add exec_on test helper
2015-04-22 10:31:37 +01:00
Matthias Radestock
a7c9fd272c
add exec_on helper
...
so we don't repeat the remote docker invocation command (complete with
hard-coded port) over and over again.
2015-04-22 09:25:42 +01:00
Matthias Radestock
3ad186d727
make vagrant provision idempotent
...
Closes #586 .
2015-04-21 23:27:46 +01:00
Matthias Radestock
7135508d66
bump docker version requirement for --with-dns
...
and explain why
Fixes #587 .
2015-04-21 22:46:13 +01:00
Matthias Radestock
7221744d9a
Merge remote-tracking branch 'upstream/master'
2015-04-21 19:47:20 +01:00
rade
5178e1a66c
Merge pull request #580 from awh/use_nsenter
...
Replace `ip netns exec` with `nsenter`
Closes #458 .
2015-04-21 18:23:34 +01:00
Adam Harrison
8326768b9f
Upgrade Vagrantfiles to Ubuntu 14.10
2015-04-21 17:28:17 +01:00
Adam Harrison
89e0a6098c
Replace ip netns exec calls with nsenter
2015-04-21 17:28:06 +01:00
Matthias Radestock
dd5bfdf742
add changelog entry for 0.10.0
2015-04-21 16:03:01 +01:00
Matthias Radestock
cbe73e7645
switch dockerhub user from zettio to weaveworks
2015-04-21 15:37:41 +01:00
Adam Harrison
8b9a2142c9
Include util-linux package in weaveexec container
2015-04-21 15:19:56 +01:00
Matthias Radestock
04d0cd33e6
We now require Docker 1.3.1
...
see #576 .
2015-04-21 14:55:25 +01:00
Alvaro Saurin
d49a3fe5ca
Fixed wrong argument
2015-04-21 12:26:06 +02:00
Matthias Radestock
caded5e605
add link
2015-04-21 07:37:32 +01:00
Matthias Radestock
87011586ae
add a section on snapshot releases
2015-04-21 07:35:05 +01:00
Matthias Radestock
c7044b0c14
improve troubleshooting instructions
...
by explaining how to check the version and upgrade
2015-04-21 07:19:13 +01:00
rade
8a8c4bae76
Merge pull request #581 from inercia/weave-573
...
Added some documentation for the local domain argument
Fixes #573 .
2015-04-20 20:15:20 +01:00
Alvaro Saurin
6fd90d45a1
Renamed --localDomain to --domain
2015-04-20 20:14:20 +02:00
Alvaro Saurin
cc4ba53d1b
Minor improvements in the docs
2015-04-20 20:14:04 +02:00
Alvaro Saurin
084e6d6119
Documented the local domain argument
2015-04-20 17:52:16 +02:00
Adam Harrison
4059ff67e8
Add Vagrantfile.local to git ignore
2015-04-20 16:15:43 +01:00
Adam Harrison
32372fce8c
Add Vagrantfile.local hook to smoke test Vagrantfile
2015-04-20 16:13:30 +01:00
Adam Harrison
f3ab25a512
Remove unnecessary -i flag from docker exec invocations.
...
Fixes #579 .
2015-04-20 14:35:18 +01:00
Matthias Radestock
16f3a96a67
fix handling of --dns-search
...
This got broken in b4c00050e0 .
2015-04-20 12:58:04 +01:00
Matthias Radestock
1e3d429d58
refactor: better increment
2015-04-20 12:45:57 +01:00
Michael Bridgen
39c925983a
Merge branch 'pr575'
2015-04-20 12:10:10 +01:00
Matthias Radestock
b4c00050e0
simplify dns-args
...
it makes more sense to strip off the `--with-dns` at the call site.
`weave dns-args` now does something useful, instead of having to be
invoked as `weave dns-args --with-dns`.
2015-04-20 11:31:12 +01:00
Matthias Radestock
53e145bea7
simplify local portion of weave run
...
pull all the local `weave run` execution into one place, thus
dispensing with the need to have lots of tests for whether we are
executing in the context of "--local".
Also, we only remote exec dns-args if "--with-dns" is supplied, which
is more efficient in the common case (and also more obvious).
NB: we need to retain the docker version check for `run` since the
specific breakage it guards against does affect the code we execute
locally for `run`.
2015-04-20 11:30:56 +01:00
Matthias Radestock
0a2f341c6b
cosmetic: move DOCKERHUB_USER setting
...
for more logical grouping
2015-04-19 13:19:06 +01:00
Matthias Radestock
cefd89b7d8
only set vars that we need for remote execution
2015-04-19 13:19:06 +01:00
Matthias Radestock
fbf7612726
only check for command / print usage at remote
...
This is desirable since we want to do as little as possible locally,
and not duplicate any checks.
2015-04-19 13:19:06 +01:00
Matthias Radestock
7752d6b102
refactor: move "need to run as root" check
...
to a more obvious place
2015-04-19 13:18:22 +01:00
Matthias Radestock
74f77a71ce
cosmetic: move usage()
2015-04-19 11:53:33 +01:00
Matthias Radestock
40cd875763
don't validate CIDRs twice in weave expose
2015-04-19 11:17:42 +01:00
Matthias Radestock
5addf4e7b1
cosmetic: logical grouping of functions in weave script
2015-04-19 09:14:28 +01:00
rade
35201b8865
Merge pull request #572 from dpw/forwarder-df
...
refactor: separate Forwarder and ForwarderDF
2015-04-18 20:09:51 +01:00
David Wragg
dceef04ffa
Separate Forwarder and ForwarderDF
...
Much of the state and code associated with Forwarder only applied in the
DF case.
2015-04-18 10:38:05 +01:00
rade
3974b9282a
Merge pull request #570 from awh/fix_multi_cidr_error_messages
...
Fix multi cidr error messages
2015-04-17 15:34:36 +01:00
Adam Harrison
3943b0231b
Improved validation of trailing arguments
2015-04-17 13:54:55 +01:00
rade
ac2afdadb6
Merge pull request #571 from tomwilkie/travis
...
Run linter in travis; fix linter; make nameserver lint free.
2015-04-17 12:58:35 +01:00
Tom Wilkie
f735082d95
Fix gofmt errors in nameserver.
2015-04-17 11:42:29 +00:00
Tom Wilkie
c187c9b290
Make lint script work; $result has special meaning!
2015-04-17 11:42:19 +00:00
Tom Wilkie
eef5559a43
Lint the codebase in travis.
2015-04-17 11:11:52 +00:00
rade
5006839fb8
Merge pull request #569 from bboreham/simplify_parse
...
Simplify address parsing for populate_dns in weave script
2015-04-17 12:04:38 +01:00
Adam Harrison
be05cec1b0
Ensure at least one CIDR is supplied to multi-CIDR commands
2015-04-17 11:38:46 +01:00
Adam Harrison
f17cd6ac3b
Convert hide to use collect_cidr_args
2015-04-17 11:37:28 +01:00
Bryan Boreham
7c68525e93
Simplify address parsing for populate_dns()
2015-04-17 11:31:31 +01:00
Adam Harrison
2332bc9a94
Require minimum Vagrant version (1.7.0) in smoke tests
2015-04-17 11:07:53 +01:00
Matthias Radestock
803821ab2c
we need arping in the vagrant vm, for weave --local to work
2015-04-17 10:22:08 +01:00
Matthias Radestock
1cd31fd090
only invoke create_bridge once in expose/hide
2015-04-16 18:19:15 +01:00
Matthias Radestock
705dda9d3e
cosmetic: remove outdated comment
2015-04-16 18:19:00 +01:00
Matthias Radestock
19da213dab
refactor: more shell magic, for consistency
2015-04-16 18:00:18 +01:00
Matthias Radestock
779b69c0f6
correct usage for expose+hide
...
Hangover from #498 .
2015-04-16 17:49:17 +01:00
rade
8f4d894a77
Merge pull request #566 from awh/name_exposed_addresses_in_weavedns
...
Add optional hostname argument to weave expose
Closes #375 .
2015-04-16 17:45:47 +01:00
Adam Harrison
4d941338fd
Add optional hostname argument to weave expose
2015-04-16 15:19:01 +01:00
rade
af51aef33f
Merge pull request #551 from rade/weave_port
...
make weave port configurable via WEAVE_PORT
2015-04-16 14:44:39 +01:00
Bryan Boreham
36b13b704d
Merge pull request #565 from rade/515_crypto_glitch_stall
...
Big improvement in observed behaviour. LGTM; closes #515
2015-04-16 12:08:02 +01:00
Matthias Radestock
a5a91ebb33
do not shut down connections on PacketDecodingError
2015-04-15 21:52:56 +01:00
Matthias Radestock
f4ba0f7287
log udp packet processing errors against the connection
2015-04-15 21:10:22 +01:00
Matthias Radestock
57b7276ceb
create forwarders before AddConnection, if we can
...
This is beneficial for reasons explained in the comments. And we used
to do that previously, when initHeartbeats was called before
AddConnection.
2015-04-15 20:55:42 +01:00
Matthias Radestock
9b25815641
don't send heartbeats on new but ultimately invalid connections
...
It is wasteful and can trip up crypto at the other end. See comment
for why.
To accomplish this we move the responsibility for shutting down the
new, invalid connection from LocalPeer.AddConnection to its caller,
i.e. LocalConnection.run. So rather than always firing up all the
connection machinery and getting told asynchronously by AddConnection
to shut it all down again, we now only fire it up if AddConnection
succeeded.
2015-04-15 20:04:40 +01:00
Matthias Radestock
a9963675b6
remove dead code
2015-04-15 16:13:18 +01:00
rade
0ccf19e488
Merge pull request #561 from dpw/random-mac
...
Make the first byte of the generated bridge MAC more random
2015-04-15 15:43:57 +01:00
David Wragg
a1db1e11f5
Make the first byte of the generated bridge MAC more random
2015-04-15 14:19:28 +01:00
rade
2eb13f0020
Merge pull request #558 from awh/weave_ps_includes_exposed_addresses
...
Include weave exposed addresses in ps output
Closes #385 .
2015-04-15 12:01:30 +01:00
Adam Harrison
cbbe3cc122
Include weave exposed addresses in ps output
2015-04-15 11:54:05 +01:00
rade
ab49eb42fb
Merge pull request #555 from rade/478_more_discriminate_connectivity
...
more discriminate connectivity
Closes #478 .
2015-04-15 11:48:23 +01:00
Matthias Radestock
339f85cbcb
get rid of Router.NormalisePeerAddr
...
There was only one call site left and it always gets invoked with an
ip:port, so normalisation is a no-op.
Also remove mysterious comment.
2015-04-15 11:44:48 +01:00
Matthias Radestock
290d5443cc
more discriminate connectivity
...
If a peer was specified on the command line w/o a port, then do not
connect to it if we have inbound connections from that IP.
This eliminates unnecessary (and ultimately failing) connection
attempts in the common scenario of several peers having been told
about each other on their command lines.
We represent a command line peer address with a TCPAddr, which avoids
back and forth conversion to string and extra fields to carry the "did
the original include a port?" information.
2015-04-15 11:42:53 +01:00
rade
9bd2afc6c3
Merge pull request #560 from rade/include_remote_address_in_connection_logging
...
always include the remote address in connection log entries
tidy up / declutter some log and status output
2015-04-15 11:23:26 +01:00
Matthias Radestock
9478696d1a
update example output in docs
2015-04-15 11:17:30 +01:00
Matthias Radestock
5415e3a60a
drop "Peer " prefix in Peers section of status
...
it's redundant and the output looks much better w/o it
2015-04-15 11:09:35 +01:00
Matthias Radestock
f0998d6196
declutter status' reconnects section
2015-04-15 10:56:29 +01:00
Matthias Radestock
f6def13ea9
change style for connections in status' reconnects section
...
to match how they are shown in the logs
2015-04-15 10:55:14 +01:00
Matthias Radestock
b1fd1334b4
always include the remote address in connection log entries
...
in addition to the peer name
This is handy for debugging, especially in situations when there are
multiple connections in flight to the same peer.
2015-04-14 22:14:29 +01:00
Matthias Radestock
74b3bf8299
pass on args in multiweave launch <args>...
2015-04-14 19:22:01 +01:00
Matthias Radestock
f9ea3f54d1
Merge branch 'bboreham-make-tests-stop'
...
Closes #557
2015-04-14 18:03:42 +01:00
Bryan Boreham
8c6c14c6d3
Accumulate any errors from go test commands so we can report overall status
2015-04-14 18:03:10 +01:00
Matthias Radestock
31775a8b84
cosmetic
2015-04-14 17:58:13 +01:00
Matthias Radestock
973996184d
fix bug
2015-04-14 13:27:10 +01:00
Bryan Boreham
d334b903e4
Merge pull request #556 from rade/do_not_duplicate_router_config
...
LGTM
2015-04-14 12:58:05 +01:00
Matthias Radestock
798bfeb0a7
make the Router include the RouterConfig
...
rather than copying the bulk of it
2015-04-14 11:39:11 +01:00
rade
9b29d2ecc5
Merge pull request #554 from dpw/main-routerconfig
...
Pull forward the declaration of the RouterConfig in main()
2015-04-14 10:57:43 +01:00
Matthias Radestock
961801b792
refactor: shrink function by extracting helpers
2015-04-14 06:49:47 +01:00
David Wragg
ae00582212
Reintroduce a bufSzMB variable
2015-04-13 22:29:19 +01:00
David Wragg
1213935030
Pull forward the declaration of the RouterConfig in main()
...
This eliminates a few variables, and the naming awkardness where we
have corresponding but distinct flag and router config variables.
2015-04-13 21:39:15 +01:00
Matthias Radestock
c2972b7558
cosmetic: remove dead code
2015-04-13 21:28:07 +01:00
rade
9833747fd9
Merge pull request #553 from dpw/makefile-cleanups
...
Makefile cleanups
2015-04-13 21:05:32 +01:00
David Wragg
1328f8bec7
Use $(@D) rather than $(shell dirname $@)
2015-04-13 20:50:50 +01:00
David Wragg
433d406d83
Use $(@D) rather than $(shell dirname $@)
2015-04-13 20:39:01 +01:00
David Wragg
bc9bb9e4ae
tempfile is a deprecated debianism
...
As noted in its man page.
2015-04-13 20:37:12 +01:00
Matthias Radestock
805005e632
weave status no longer complains about missing weaveDNS
2015-04-13 18:28:52 +01:00
Matthias Radestock
202f536e07
refactor: extract some helpers in order to shrink main()
2015-04-13 16:03:49 +01:00
Matthias Radestock
b062facbe9
refactor: inline
2015-04-13 15:56:52 +01:00
rade
a80b8eacac
Merge pull request #552 from bboreham/status-conn-errors
...
Allow ConnectionMaker to report the reason the connection broke
2015-04-13 15:46:09 +01:00
Matthias Radestock
8ab14ea1c6
don't crash
...
this got broken in a93a09dd35
2015-04-13 15:37:44 +01:00
Matthias Radestock
3db4e86564
remove established connections from ConnectionMaker state
...
This got broken in 6409a8647c
The issue is that for successful connections nothing ever sets
attempting=false, so we need some other means of removing such
entries.
2015-04-13 14:59:32 +01:00
Bryan Boreham
8ad244e0f9
Let ConnectionMaker report the reason the connection broke
2015-04-13 14:35:27 +01:00
Bryan Boreham
f8ec56ea79
Move connection shutdown logging into shutdown()
2015-04-13 14:21:11 +01:00
Adam Harrison
7f434d71e1
Merge pull request #532 from inercia/weave-225-fix-2
...
Fix in WeaveDNS: do not modify cache when getting a reply
2015-04-13 14:20:40 +01:00
Adam Harrison
29b3b91423
Merge pull request #501 from inercia/weave-225-fix-1
...
Fix for negative TTLs in WeaveDNS
2015-04-13 14:19:47 +01:00
Adam Harrison
01af41c837
Disable Vagrant 1.7 per host insecure key replacement
2015-04-13 11:43:01 +01:00
Adam Harrison
fe58a63996
Merge pull request #550 from rade/549_forget_as_given
...
remember user-supplied peer addresses as given
2015-04-13 10:38:52 +01:00
Matthias Radestock
272e63643c
make weave port configurable via WEAVE_PORT
...
We cannot just leave that to the `-port` parameter since that only
controls the container internal port weave is listening on (and uses
as the default destination port for outbound connections). Also, we
need the port for connection tracking cleanup during `stop` and
`reset`.
So we make setting `WEAVE_PORT` the only documented mechanism for
overriding the port, and let `-port` set the container internal port
only (and the script pays attentiont to that, so it can establish the
correct port mapping).
2015-04-12 22:07:52 +01:00
Matthias Radestock
a93a09dd35
remember user-supplied peer addresses as given
...
rather than post name resolution. This way we can forget them as given
even when name resolution has changed or fails.
2015-04-12 20:44:12 +01:00
Matthias Radestock
1275bb24e5
exclude stale info from ConnectionMaker.String()
...
This got broken in 7bd0f7dbae .
2015-04-12 12:23:32 +01:00
Matthias Radestock
6409a8647c
simplify connection logic slightly
...
There is no need to remove entries from cm.targets that are in
ourConnectedTargets. None of these targets will be in validTargets
(since addTarget filters anything in ourConnectedTargets), so they
will be removed a few lines further down anyway...
Unless the target is in the 'attempting' state. But that is ok, and in
fact desirable. Any such targets indicate connection attempts that are
in progress, which is something we display in `weave status` and want
to be accurate. Eventually the connection attempt will either succeed
or fail, and the cm.targets entry will be removed on the next run of
connectToTargets.
2015-04-12 12:11:27 +01:00
Matthias Radestock
21102d3615
refactor: extract router configuration
...
the param list of NewRouter was getting a bit long
2015-04-12 10:46:46 +01:00
Matthias Radestock
e89e3adc69
cosmetic: more consistent param/arg/var ordering re Port
2015-04-12 10:45:49 +01:00
Matthias Radestock
065b632f91
significantly reduce time for test dns servers to shut down
...
by setting the ReadTimeout to 100ms instead of the default 2s.
Closes #547 .
2015-04-11 20:52:51 +01:00
Matthias Radestock
e0bba10ead
better handling of test multicast listener initialisation errors
...
We handle that error explicitly in all cases and point out the common
cause, namely the absence of a default multicast interface.
Closes #481 .
2015-04-11 20:22:41 +01:00
Matthias Radestock
bb99b21248
tiny refactor: make use of helper function
2015-04-11 19:09:41 +01:00
Matthias Radestock
85971193a8
simplify check for --local
2015-04-11 17:58:26 +01:00
Matthias Radestock
59ae50eb4e
don't rely on docker inspect for determining container death
...
Docker can take a while to notice & record the death of containers, so
we perform a more direct check instead.
Fixes #522 .
2015-04-11 12:24:09 +01:00
Matthias Radestock
f433d26d1f
fix typo
2015-04-11 12:23:57 +01:00
rade
cd81101508
Merge pull request #546 from rade/awh-handle_signals_without_tty
...
Implement weaveexec signal proxy
Fixes the following issues with remote (i.e. w/o `--local`) execution of the weave script via a container, as per #507 :
1. stderr is merged into stdout
2. line termination with CRLF instead of LF
3. ctrl-c is ignored
Fixes #507 . Closes #523 .
2015-04-11 11:55:46 +01:00
Adam Harrison
338d577fb7
Implement weaveexec signal proxy
2015-04-11 11:50:42 +01:00
Matthias Radestock
39b9034fef
there is no need for multiweave to use --local
2015-04-11 00:18:42 +01:00
Matthias Radestock
363814db5c
simplify "need to run as root" condition
2015-04-11 00:07:23 +01:00
rade
c2042d52f8
Merge pull request #545 from rade/errordeveloper-issue_540
...
Only check kernel version and ip command in local mode
Fixes #540 . Closes #542 .
2015-04-10 23:03:03 +01:00
Ilya Dmitrichenko
35d32bd03a
Only check kernel version and ip command in local mode ( close #540 )
2015-04-10 23:01:59 +01:00
Matthias Radestock
8fcd56bc68
Merge branch 'bboreham-543-fix-fieldvalidator'
...
Fixes #543 .
2015-04-10 22:43:26 +01:00
Bryan Boreham
d228a4450a
Make sure FieldValidator methods act on the object we pass in.
...
Added a unit test for FieldValidator
2015-04-10 22:42:40 +01:00
Matthias Radestock
d19d485d39
refactor: make LocalPeer.Router "private"
...
nothing outside LocalPeer should access it
2015-04-10 21:56:00 +01:00
David Wragg
7d51f8751b
gofmt
2015-04-10 20:55:27 +01:00
rade
551c1d2925
Merge pull request #541 from abligh/support-unix-domain-control-socket
...
Support using a unix domain socket for the HTTP control interface.
2015-04-10 20:39:11 +01:00
Alex Bligh
9699b4ce1a
Support using a unix domain socket for the HTTP control interface.
...
When running multiple weaver daemons it is convenient for the HTTP
control interface to bind to a UNIX domain socket, to avoid the
need to allocate an additional unique port. This commit adds the
ability to specify
httpaddr="/path/to/socket"
on the command line.
Signed-off-by: Alex Bligh <alex@alex.org.uk >
2015-04-10 20:18:27 +01:00
rade
3a83570005
Merge pull request #526 from bboreham/extend-ps
...
Allow container names/ids to be supplied to `weave ps`
2015-04-10 15:57:53 +01:00
Matthias Radestock
f88ce6e798
don't mention defaults twice in usage
...
go's flag package already shows the default values, so we only need to
mention them when they are determined later.
2015-04-10 15:38:11 +01:00
Matthias Radestock
0799d9f70b
shorten connection timeout for http interactions with containers
...
This issue came to light in the context of `weave launch`. When the
weaver container died after we've completed network configuration, it
would take a minute for the script to terminate, due to `curl` being
stuck in a connection attempt.
Fixes #538 .
2015-04-10 15:33:11 +01:00
rade
db302a0d3d
Merge pull request #539 from abligh/make-iface-mandatory
...
Error if neither -iface or -name is specified
2015-04-10 15:22:07 +01:00
Alex Bligh
24bd7151e2
Error if neither -iface or -name is specified
...
This prevents a nil pointer dereference if (e.g.) weaver is
invoked with no arguments.
Signed-off-by: Alex Bligh <alex@alex.org.uk >
2015-04-10 15:14:51 +01:00
Bryan Boreham
10bd84a460
Document name-list option to weave ps
2015-04-10 15:08:35 +01:00
rade
0540e41ffd
Merge pull request #537 from bboreham/master
...
Simplify printing
2015-04-10 14:51:30 +01:00
Bryan Boreham
d32f328c24
Simplify printing
2015-04-10 14:46:31 +01:00
rade
c13980af4b
Merge pull request #536 from dpw/535-golang142
...
Docker needs golang 1.4.2 to build, so we do too
Fixes #535 .
2015-04-10 14:10:46 +01:00
rade
bd8cb02f17
Merge pull request #534 from abligh/select-ports-on-cli
...
Add options to set ports on weaver command line
2015-04-10 13:54:41 +01:00
David Wragg
162b056784
Docker needs golang 1.4.2 to build, so we do too
2015-04-10 12:45:27 +01:00
Alex Bligh
12d88eac23
Add options to set ports on weaver command line
...
This commit adds two command line options, intended to allow multiple
instances of weave to run without container separation between them.
* -port=PORT makes weave bind to port PORT (an integer). Without the
option, the default value (6783) is used.
* -httpaddr=ADDRESS makes weave bind its control interface to
a different address. For instance "127.0.0.1:6784" can be used to
bind to localhost only. An absent address element makes it bind to
all interfaces. ":6784" is the default. An empty string
can be used to disable the control interface.
Signed-off-by: Alex Bligh <alex@alex.org.uk >
2015-04-10 12:09:13 +01:00
Matthias Radestock
f3d20111d8
eliminate dependency on LocalPeer.Router
...
(from things outside LocalPeer)
2015-04-10 10:51:40 +01:00
Bryan Boreham
2ba8f34132
Merge pull request #521 from rade/517_lower_topology_periodic_gossip_complexity
...
LGTM. Closes #517
2015-04-10 10:08:23 +01:00
David Wragg
bb9e26b4ae
Merge pull request #528 from 'bboreham/name_change'
2015-04-10 08:03:38 +01:00
rade
ff657d1512
Merge pull request #533 from abligh/fix-dockerless-ip-address
...
Fix dockerless.txt
2015-04-09 21:45:38 +01:00
Alex Bligh
26d9c37dd2
Fix dockerless.txt
...
The IP address for VM1 is 192.168.122.2/24. 192.168.122.1/24 is virbr0.
2015-04-09 21:11:18 +01:00
Matthias Radestock
12c97b4fc5
topology-sensitive random selection of gossip neighbours
2015-04-09 18:10:57 +01:00
Bryan Boreham
642cc3f00e
Change release GitHub user name from zettio to weaveworks
2015-04-09 17:32:36 +01:00
Alvaro Saurin
7811e2b470
Improved log messages
2015-04-09 16:19:05 +02:00
Alvaro Saurin
5d5b101707
Set locally resolved queries as Authoritative
2015-04-09 16:19:05 +02:00
Alvaro Saurin
186481052d
Catch unsupported queries by using the cache
2015-04-09 16:18:55 +02:00
Alvaro Saurin
2474adb2c5
Do not modify the TTL stored in the cache when getting a reply from the cache
2015-04-09 16:17:24 +02:00
Alvaro Saurin
6f545a4296
Fix for negative TTLs by using a different lookups set depending on the value stored in the cache.
2015-04-09 16:17:19 +02:00
Bryan Boreham
a4fd0b571d
Row back on Docker image names until we do a release under the weaveworks name
2015-04-09 11:46:08 +01:00
Matthias Radestock
f5362289cf
switch to a more efficient GC for gossip senders
2015-04-09 11:44:13 +01:00
Matthias Radestock
40d127d9a4
make connection heartbeating independent of periodic gossip
...
This was a convenient but rather suspect coupling. In particular, it
will break if the period gossip logic changes s.t. it no longer sends
gossip on all connections every interval.
2015-04-09 11:44:13 +01:00
Bryan Boreham
067ba6d970
Fix all zettio.github.io links too
2015-04-09 11:39:55 +01:00
Bryan Boreham
cec1efbcef
Merge pull request #530 from rade/529_eliminate_connection_add_remove_race
...
Very subtle, but it looks ok to me. Fixes #529
2015-04-09 10:36:27 +01:00
Matthias Radestock
e639007b62
eliminate AddConnection/RemoveConnection race
...
We were invoking AddConnection in a separate goroutine, and this could
result in RemoveConnection getting invoked first, resulting in bogus
entries in our connection map, which would effectively prevent
connectivity to the other peer until the stale entry got removed
through a lost tie break. And if, per chance, the remote end ran into
exactly the same race condition, then connectivity between that peer
and ourself was broken permanently.
Hitting this race condition required a combination of a) no UDP
heartbeat being received for HeartbeatTimeout(30s) - this causes the
actorLoop to terminate and RemoveConnection to be invoked, and b) the
AddConnection invocation getting delayed for at least that long.
2015-04-09 06:34:35 +01:00
Matthias Radestock
56f5c749e1
optimise broadcast route calculation
...
...by obtaining our connection set just once. This also guards against
potential locking issues, since we no longer obtain the required
lock on our local peer while holding a lock on Peers.
Note that this change means the connection list can be out of date by
the time we enter Peers.ForEach. However, previously it was possible
for the list to change for each peer we are iterating over. So it's
just a different flavour of out-of-dateness.
2015-04-08 21:54:45 +01:00
Matthias Radestock
ec30bdaf3d
explain kernel settings that need changing
2015-04-08 18:33:39 +01:00
David Wragg
74dae2abb4
Allow multiweave to be run from any directory
2015-04-08 18:16:10 +01:00
Bryan Boreham
8a82f368d0
Update repository name from zettio to weaveworks
2015-04-08 16:35:52 +01:00
Bryan Boreham
13f3439a06
Allow container names to be supplied to 'weave ps'
2015-04-08 15:38:23 +01:00
Tom Wilkie
580ffc4fa4
Repoint Travis and Coveralls badges in readme
2015-04-08 12:42:28 +01:00
Bryan Boreham
86abc6ac2b
Merge pull request #516 from rade/514_lower_topology_gossip_complexity
...
LGTM. Closes #514
2015-04-07 15:00:39 +01:00
Matthias Radestock
f80410bf59
switch to gossip broadcast for topology updates
2015-04-06 14:17:23 +01:00
Matthias Radestock
f4416bfadc
introduce Routes.EnsureRecalculated
...
A means to ensure that any preceeding route recalculation requests
have been processed. It's akin to a global promise.
2015-04-06 14:17:23 +01:00
Matthias Radestock
6bc660068f
use GossipSender for GossipBroadcast
...
This makes GossipBroadcast properly async.
2015-04-06 14:17:23 +01:00
Matthias Radestock
8a2828d57d
add "representation of received update" to return of Peers.ApplyUpdate
2015-04-06 14:17:23 +01:00
Matthias Radestock
a58eb6ba7d
make gossip broadcast operate on GossipData
2015-04-06 14:00:51 +01:00
Matthias Radestock
9b9d8a03aa
refactor: make Peer.Connections() return a set instead of a slice
...
This is more flexible since it allows callers to perform efficient
lookups on the result.
2015-04-06 13:57:13 +01:00
rade
fe4d8b7767
Merge pull request #518 from rade/canonical_sets
...
canonical sets
2015-04-06 13:29:03 +01:00
Matthias Radestock
e8e9a43abd
tired of typing "struct{}{}"
2015-04-06 11:53:51 +01:00
Matthias Radestock
6db12d682e
make PeerNameSet a more broadly used type
2015-04-06 11:45:17 +01:00
Matthias Radestock
74b3f8d44e
use map[...]struct{} for sets instead of map[...]bool
...
See https://groups.google.com/d/msg/golang-nuts/lb4xLHq7wug/MhrSLkyS4F8J
We don't really care about the performance aspect of this, but using
struct{}{} values is in some way canonical since it means the
representation carries no redundant information.
2015-04-06 11:35:11 +01:00
Matthias Radestock
6f2f25aca5
don't complain in weave status about weavedns absence/errors
...
it's tiresome to see this when weavedns isn't running
2015-04-05 18:50:17 +01:00
Matthias Radestock
80aa60b3ab
separate multiweave 'launch' and 'connect' phases
2015-04-05 17:04:43 +01:00
Matthias Radestock
624373ace2
simplify
2015-04-05 17:03:18 +01:00
Matthias Radestock
8c1015d2a4
cosmetic: consistent terminology in var names
2015-04-04 22:18:31 +01:00
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
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
Matthias Radestock
4eda7e361b
put back forwarder channel nil check
...
since otherwise forward(...) can block indefinitely due to both the
forwarder channel and finshed channel being nil
2015-03-29 10:36:01 +01:00
Matthias Radestock
b6448fa196
more idiomatic closing of forwarders, by closing a 'finished' channel
...
The previous scheme set the reference to main channel to nil and then
drained it. That was racy and hence could lead to deadlock in the
following scenario:
1. multiple senders obtain the main channel from the stored reference
2. main channel reference is set to nil
3. main channel is drained
4. multiple senders send to main channel
So the issue here is that the entire forwarder stopping sequence
occurs between senders obtaining of the reference to the main channel,
and then sending on that channel. If more senders sent than there is
capacity in the channel then this leads to deadlock.
2015-03-28 20:58:42 +00:00
Matthias Radestock
4dbb3d97e0
cosmetic: remove dead code
2015-03-28 20:33:06 +00:00
Matthias Radestock
502b59c703
refactor: rename
2015-03-28 19:52:10 +00:00
Matthias Radestock
9a462f9d87
refactor: simplify NewNaClEncryptor
...
- rely on default nil values on initialisation
- inline
2015-03-28 19:49:01 +00:00
Matthias Radestock
9992992ee4
refactor: extract helper from NaClDecryptor.decrypt
...
for easier comprehension
2015-03-28 19:44:04 +00:00
rade
94cf05a897
Merge pull request #496 from dpw/router-cleanups
...
Router cleanups
2015-03-27 18:38:43 +00:00
David Wragg
78c70023d8
Don't pass the sender UDPAddr through the crypto layer
...
The crypto layer doesn't need it, and the cost of an additional
closure allocation for each incoming UDP packet is modest.
Also, make the FrameConsumer the last parameter to IterateFrames.
It seems a more natural ordering.
2015-03-27 18:05:00 +00:00
David Wragg
0d30df165f
Eliminate UDPPacket
...
The Name field is not used anywhere, and once that's gone the remaining
pairing of the packet bytes and sender is not worth it.
2015-03-27 18:05:00 +00:00
David Wragg
4a1d3aeb96
Remove frameLen parameter to FrameConsumer
...
It's the same as len(frame)
2015-03-27 18:05:00 +00:00
David Wragg
bc45a363dd
Make Encryptor.AppendFrame more consistent with FrameConsumer
...
Also removes references to Peer type in crypto.go, to keep it agnostic
of higher-level concerns.
2015-03-27 18:05:00 +00:00
David Wragg
a670272a37
Remove name parameter from (*Peers)ForEach consumer function
...
It's part of the Peer anyway.
2015-03-27 18:05:00 +00:00
Adam Harrison
ff0e015f84
Update usage
2015-03-27 17:55:46 +00:00
Adam Harrison
a8f2ba0e7f
Run takes multiple addresses
2015-03-27 17:54:16 +00:00
Adam Harrison
a60490fb88
Start takes multiple addresses
2015-03-27 17:47:17 +00:00
Adam Harrison
e6af8996e6
Attach and detach take multiple addresses
2015-03-27 16:46:47 +00:00
Matthias Radestock
5617258cca
Merge remote-tracking branch 'upstream/master'
2015-03-27 16:33:28 +00:00
Adam Harrison
e3c0807a18
Modify attach/detach helpers to take list of addresses
2015-03-27 15:36:10 +00:00
Matthias Radestock
a337e981ba
refactor: extract helper
2015-03-27 12:38:06 +00:00
Matthias Radestock
0ef717a7a2
refactor: extract helper function
2015-03-27 12:31:25 +00:00
Matthias Radestock
d25d295784
refactor: small tweak for consistency
2015-03-27 12:17:28 +00:00
Matthias Radestock
60ba8cb90d
refactor: extract helper function
2015-03-27 12:06:22 +00:00
Matthias Radestock
4d8c156915
continuing accumulation after dropping a frame is bad after all
...
explain why
2015-03-27 11:56:38 +00:00
Matthias Radestock
6ea625f85b
fix typo
2015-03-27 11:54:24 +00:00
Matthias Radestock
84a95f2daf
refactor: concentrate frame appending code in one place
2015-03-27 11:53:56 +00:00
Matthias Radestock
f544fc68de
enter frame accumulation even after dropping one
...
This logically makes more sense, i.e. we keep draining frames from
fwd.ch until we run out.
2015-03-27 11:35:42 +00:00
Matthias Radestock
83724a08c9
refactor: get rid of Forwarder.stop channel
...
signal termination by sending nil to the main channel instead
2015-03-27 11:32:50 +00:00
Matthias Radestock
157afa0b5d
comment
2015-03-27 11:15:25 +00:00
Matthias Radestock
1a39cb163a
keep accumulating frames even when dropping some
...
This logically makes more sense, i.e. we keep draining frames from
fwd.ch until we run out.
2015-03-27 11:05:50 +00:00
Matthias Radestock
1c5fee0a5e
refactor: simplify Forwarder.run by extracing a helper function
...
Also, don't check for failed receive on fwd.ch; it cannot happen and
we weren't doing it everywhere anyway.
2015-03-27 11:03:05 +00:00
Adam Harrison
140ac8939b
Merge pull request #491 from tomwilkie/lint
...
Add lint script, which can also act as an optional presubmit hook.
2015-03-27 10:15:04 +00:00
Matthias Radestock
2d74bb4cfa
one more name->name+nickname display conversion
2015-03-27 07:10:32 +00:00
Matthias Radestock
16ddb95adc
include peer nick name in JSON output
...
and make the keys consistent
2015-03-27 06:32:30 +00:00
Matthias Radestock
33520ea230
include peer nickname in display output whenever possible
2015-03-27 05:25:28 +00:00
Matthias Radestock
1eca5e1097
refactor: extract helper func and simplify
2015-03-27 04:49:00 +00:00
rade
245f747745
Merge pull request #488 from awh/486_administrative_peer_removal
...
Implement 'weave forget' command
Closes #486 .
2015-03-27 01:53:16 +00:00
Matthias Radestock
308da993eb
refactor: extract some funs for better readability
2015-03-27 01:51:04 +00:00
Matthias Radestock
8cb9e301ee
cosmetic: more linting
2015-03-27 01:24:19 +00:00
Matthias Radestock
2500bc210a
cosmetic: more linting
2015-03-27 01:21:36 +00:00
Matthias Radestock
1ad950f177
cosmetic: more linting
2015-03-27 01:12:16 +00:00
Matthias Radestock
e3ef5433cf
cosmetic: linting
2015-03-27 00:43:26 +00:00
Matthias Radestock
2d83fcc398
oops
2015-03-26 18:37:37 +00:00
Matthias Radestock
44a4dd9888
cosmetic: go vet
2015-03-26 18:36:00 +00:00
Tom Wilkie
dde179f861
Quote the last filename
2015-03-26 18:19:02 +00:00
Tom Wilkie
9e63b4e8c7
Feedback on lint script
2015-03-26 18:08:30 +00:00
Bryan Boreham
7a4a88aeb9
Remove unused unnamed second item in ranges
2015-03-26 18:04:57 +00:00
Adam Harrison
b3de9ab85f
Clarify documentation
2015-03-26 16:10:04 +00:00
Tom Wilkie
d041bec315
Add lint script, which can also act as an optional presubmit hook.
2015-03-26 15:14:01 +00:00
Adam Harrison
3417608209
Don't reset timer when forgetting an address
2015-03-26 14:54:44 +00:00
Matthias Radestock
15fdcae25a
Merge remote-tracking branch 'upstream/master'
2015-03-26 14:22:37 +00:00
Matthias Radestock
45740b1419
refactor: replace buf.WriteString(fmt.S*(...)) with fmt.F*(&buf,...)
...
shorter and more efficient
2015-03-26 14:20:28 +00:00
rade
0e54ca8c2b
Merge pull request #490 from errordeveloper/master
...
Updates to Vagrantfile
2015-03-26 13:57:32 +00:00
Matthias Radestock
e7335f361c
refactor: move a func that is only used in testing
2015-03-26 13:53:09 +00:00
Matthias Radestock
b83f4c9ee9
gofmt
2015-03-26 13:31:11 +00:00
Matthias Radestock
31efd76797
eliminate potential deadlock/dealy in connection.Shutdown
...
Treat the no-error case the same as the error case...
- use the standard sendAction to communicate with the actor, which
ensures that we don't block when the actor has terminated
- run in a goroutine to prevent delaying the caller when the actor's
channel is backed up.
2015-03-26 13:25:23 +00:00
rade
dbe39659c5
Merge pull request #489 from awh/gofmt
...
gofmt
2015-03-26 12:46:15 +00:00
Ilya Dmitrichenko
96efc16432
Add missing aufs-tools to get rid of dubious log message -
...
[warning]: couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH
2015-03-26 11:24:45 +00:00
Ilya Dmitrichenko
e37be3da97
Bump version of Go on Vargant dev VM
2015-03-26 11:24:45 +00:00
Adam Harrison
efb7c0f1bc
gofmt
2015-03-26 10:54:46 +00:00
Adam Harrison
dc8e82ea31
Implement weave forget command
2015-03-26 10:48:25 +00:00
Adam Harrison
066d8001dd
Merge pull request #482 from rade/475-simplify-actors
...
simplify actors
2015-03-25 11:58:41 +00:00
Matthias Radestock
ee6325d488
get rid of Interaction
...
it's no longer needed in the closure-based actor method scheme
2015-03-25 05:14:17 +00:00
Matthias Radestock
0e43a30858
convert MDNSClient actor to use closures for methods
...
We use a 'nil' closure to indicate shutdown.
2015-03-25 05:14:17 +00:00
Matthias Radestock
a06797dd95
convert ConnectionMaker actor to use closures for methods
2015-03-25 05:14:17 +00:00
Matthias Radestock
f0731f5d52
convert Routes actor to use closures for methods
2015-03-25 05:14:17 +00:00
Matthias Radestock
c54b3bcacf
convert LocalPeer actor to use closures for methods
2015-03-25 05:14:17 +00:00
Matthias Radestock
48c73598c4
convert the connection actor to use closures
...
The only slight trickiness is Shutdown. Generally connections shut
down when an error is encountered, but we also need to be able to shut
down connections w/o an error. Rather than making all the actor
methods return a (terminated bool, error) tuple, we signal the
non-error shutdown by sending nil as the action (instead of a
closure).
2015-03-25 05:14:17 +00:00
Michael Bridgen
60f50cb2e6
Merge branch 'pr429'
2015-03-24 17:03:22 +00:00
Michael Bridgen
075d9a007c
Merge branch 'weave-225' of https://github.com/inercia/weave into pr429
2015-03-24 16:47:38 +00:00
Matthias Radestock
8c3b161bd3
cosmetic
2015-03-24 14:41:20 +00:00
Matthias Radestock
7bd0f7dbae
don't modify state in ConnectionMaker.String
...
it's just wrong
2015-03-24 14:24:22 +00:00
Alvaro Saurin
9dcec8ca16
basic DNS cache
...
unit tests
2015-03-24 12:44:01 +01:00
Bryan Boreham
0bcadb1e4e
Merge pull request #476 from rade/445-accumulate-gossip
...
LGTM. Fixes #445 .
2015-03-24 11:43:01 +00:00
rade
70a824ea07
Merge pull request #477 from awh/fix_how_it_works_doc
...
Add outbound and established flags to connection structure diagram
2015-03-24 11:36:18 +00:00
Adam Harrison
d7959d8ca5
Add outbound and established flags to connection structure diagram
2015-03-24 11:33:24 +00:00
Matthias Radestock
aa1dd47bd2
accumulate gossip data until it can be sent
...
Introduce an intermediary - GossipSender - between GossipChannel and
Connection. This accumulates gossip data (now represented by the new
GossipData interface) from the former until it can be passed onto the
latter, allowing the former to proceed when the latter may be blocked
on i/o.
This
1) prevents deadlocks that arise from cycles in the communication
topology
2) improves performance by allowing GossipChannel and its calling code
to proceed when connection i/o is blocked
3) improves performance by accumulating GossipData - the accumulated
data often is considerably more compact than the sum of all the
accumulated bits, and it is transmitted in a single communication
event.
In order to support accumulation, the GossipData interface has a Merge
method. Furthermore, encoding is deferred until the data can actually
be sent, since accumulation would be hard/impossible to encoded
data. This required changes on some interfaces, most notably Gossiper.
The implementation of GossipData for topology gossip is
TopologyGossipData. It carries a reference to Peers and a set of
PeerNames, indexing into Peers and referencing the Peer entries which
have changed. Previously updates were represented as a list of Peer
entries. The indirection via PeerNames allows Encode to omit entries
which have been removed. The change in representation required changes
to the signature of some methods on Peers.
Note that all the above only applies to the "periodic gossip" portion
of the Gossiper API, which topology gossip in fact uses for *all*
gossip. GossipUnicast and GossipBroadcast are unchanged, but could
conceivably receive the same treatment in the future.
Fixes #445 .
2015-03-23 23:23:15 +00:00
Michael Bridgen
f64876a64b
Increment the server port for each test
...
Occasionally the test servers overlap and the test will fail with
"address already in use".
2015-03-23 12:02:43 +00:00
Matthias Radestock
e096b3bcd1
ignore weavexec/weave build artifact
2015-03-21 13:08:00 +00:00
rade
8e65c7127d
Merge pull request #388 from squaremo/remote_weaving
...
Move weave script into tools image with its deps
and thus enable weaving on a remote docker
Closes #312 .
2015-03-20 15:17:09 +00:00
Michael Bridgen
520c54f8da
Use a fixed (and old) version of the docker client
...
As noted in #388 comment 76958961, we need the docker client to be as
old as possible while supporting what weave needs to do. At the minute
that means version 1.3.1.
The `apk` package index does not have old versions of docker, so the
most direct way of getting a docker executable is to download the
specific version from https://get.docker.com .
2015-03-20 14:37:24 +00:00
Michael Bridgen
93f16d91ce
Run weave run with the local docker
...
We want to be compatible with whatever docker the user has; `weave
run` is the only command that passes on arbitrary args to docker
(i.e., that doesn't have a fixed set of docker features that it
needs).
To make this workable we still need to do some things on the remote
host: the IP attachment and figuring out the DNS settings (since those
may depend on the bridge IP).
2015-03-20 14:37:24 +00:00
Matthias Radestock
2b5e2db550
cosmetic - move comment to correct place
2015-03-19 17:43:28 +00:00
Matthias Radestock
9bd695a816
restore workingness of smoketests sans vagrant
...
Fixes #456 .
2015-03-19 17:23:29 +00:00
rade
39e7871cf7
Merge pull request #472 from bboreham/master
...
Add peer nickname to JSON status
2015-03-19 12:15:16 +00:00
Bryan Boreham
3fbb6eaa8d
Add peer nickname to JSON output
2015-03-19 11:34:01 +00:00
Michael Bridgen
84ce0663f8
Don't show env entries in command
...
The form of `docker -e` without an equals sign passes them along from
the environment without the value appearing in the command.
2015-03-19 10:15:06 +00:00
Michael Bridgen
9fd468d743
Use weave remotely in smoke tests instead of via SSH
2015-03-19 10:15:06 +00:00
rade
6b64516ede
Merge pull request #465 from awh/237_add_dns_to_weave_status
...
Include weave dns information in `weave status`
Closes #237 .
2015-03-18 22:21:11 +00:00
Adam Harrison
fcab4ee239
Truncate container IDs to twelve characters
2015-03-18 17:56:58 +00:00
Adam Harrison
2e7c281b46
Weave status returns success irrespective of whether router or DNS up
2015-03-18 16:46:51 +00:00
Adam Harrison
6c5dbe0d01
Address documentation comments
2015-03-18 14:57:29 +00:00
Adam Harrison
0005715b1a
Weave status only returns success if both router and DNS are up
2015-03-18 14:49:48 +00:00
Adam Harrison
66f4fd94e3
Update documentation
2015-03-18 13:39:16 +00:00
Adam Harrison
0aa36cf8d0
Try to get weaveDNS status even if router container is missing
2015-03-18 13:39:08 +00:00
Michael Bridgen
795d0edc73
weavetools -> weaveexec
...
This is to make a visible break with previous releases, such that a
newly downloaded weave script will definitely work.
Without this change in name, an existing weavetools image that doesn't
include the script might be invoked, resulting in a confusing message
for the user.
2015-03-18 12:29:20 +00:00
Michael Bridgen
959c46b62a
Version the weavetools image run remotely
2015-03-18 12:29:20 +00:00
Michael Bridgen
b9353cdee4
Mention using weave remotely in readme
2015-03-18 12:29:19 +00:00
Michael Bridgen
019eeab896
Pass environment variables to remote invocations
2015-03-18 12:29:19 +00:00
Michael Bridgen
0c8d9e8c03
Use this form of apk, since the shortcut masks errors
...
`apk-install` is a script that runs apk then tidies up. The problem is
that it doesn't exit with an error if the install fails, which means
that if some packages are unavailable at the time of building, it will
still all go ahead.
2015-03-18 12:29:19 +00:00
Michael Bridgen
8d12810446
Move weave script into tools image with its deps
...
This rearrangement means that the `weave` command can be used
remotely; and, as a side-effect, the script that does all the work is
using executables in its own filesystem, rather than invoking them via
docker.
The remote weavetools is given a terminal so it can be interrupted.
With the flag `--local`, the script will assume all its dependencies
are available and run then and there. Without the flag, it will run
via the weavetools image (adding the flag to the invocation).
A choice here is whether to base the tools image on scratch and add
all the deps, or base it on something else. I've used alpine linux,
which itself is based on busybox. This gives us the usual tools (sed
etc.) while keeping the image size small.
Adding the docker binary adds substantially to the image size, but it
cannot always be e.g., bind-mounted. To mitigate this image bloat, we
might build or otherwise get a client-only docker executable, or write
a special-purpose client, or indeed rewrite the driver script and use
a client library.
This also makes the dockerhub user part of the image names
parameterised, to make it easier to test the release process in full.
2015-03-18 12:29:19 +00:00
Adam Harrison
d23a6c86c3
Merge branch 'master' into 237_add_dns_to_weave_status
...
Conflicts:
nameserver/http.go
2015-03-18 11:58:39 +00:00
rade
e15f52b4cb
Merge pull request #468 from awh/gorilla_mux
...
Replace hand parsing and validation of URLs with Gorilla mux
2015-03-18 11:48:14 +00:00
Adam Harrison
bae6865e33
Rename URL parameter
2015-03-18 11:45:04 +00:00
Adam Harrison
bd7b232663
Replace hand parsing and validation of URLs with Gorilla mux
2015-03-18 10:10:13 +00:00
Adam Harrison
8f675f15c0
Revert Gorilla mux introduction
2015-03-17 17:52:39 +00:00
Adam Harrison
0f492b563e
Fix test compilation
...
Tests weren't compiling due to change of ListenHttp() signature. Fixed
for now by reintroducing domain parameter in addition to server, as this
allows the HTTP tests to pass in a nil server parameter. In the long
term DNSServer should probably become an interface so we can mock it
easily in such a scenario.
2015-03-17 17:42:16 +00:00
Matthias Radestock
d5eb76f32e
replace Peer.ForEachConnection with Peer.Connections
...
The former is prone to triggering deadlocks since the lock is held on
the peer during the iteration.
2015-03-17 16:24:19 +00:00
Adam Harrison
c36543a247
Include DNS server config in status
2015-03-17 15:41:01 +00:00
Matthias Radestock
08a08be370
cosmetic
2015-03-17 15:11:28 +00:00
Adam Harrison
6f57774d15
Include zone records in status
2015-03-17 15:02:09 +00:00
Adam Harrison
50f6402774
Include DNS version and domain in status
2015-03-17 14:28:26 +00:00
Adam Harrison
9cf7da7277
Modify weave status to include DNS information
2015-03-17 14:03:18 +00:00
Adam Harrison
9ce26e6973
Replace hand parsing and validation of URLs with Gorilla mux
2015-03-17 13:49:26 +00:00
Bryan Boreham
8f139bcb52
Merge pull request #461 from rade/454_send_all_gossip_to_new_peers_only
...
LGTM. Fixes #454
2015-03-17 13:47:49 +00:00
Matthias Radestock
dbc683f891
send all gossip to new peers only
...
Weave sends all gossip down new connections. We do this so that new
peers learn about all gossip'ed information quickly, thus enabling
them to process subsequent incremental updates. In particular, for
topology gossip it ensures that the remote peer learns about all other
peers. This ensures that the incremental update, which is sent as a
result of the new connection getting established and which may
reference a number of other peers, can be processed.
So the intent really is to send all gossip to new peers. But what we
actually do is send it down every new connection. Not every new
connection is from a new peer. In fact most connections aren't. Hence
the current approach is wasteful.
To fix this we need a conservative detection of new peers, i.e. it is
preferable to have false positives. This contrasts with existing logic
in the handshake code. The criteria we use is whether our peer has a
unicast route to the other peer. That is only the case when there is a
continuos chain of symmetric, established connections. The
establishment of these connections should have triggered the sending
of all gossip to the other peer. So we don't need to send it ourself.
Fixes #454 .
2015-03-16 17:46:01 +00:00
Adam Harrison
8f8719c298
Correct typo in log message
2015-03-16 17:36:56 +00:00
Matthias Radestock
a85d447f01
Merge branch 'dpw-441_slow_arp_fixes'
...
Fixes #441 .
2015-03-16 15:33:41 +00:00
Matthias Radestock
2369b43c8d
cosmetic: move new funs to 'right' place
2015-03-16 15:33:05 +00:00
Matthias Radestock
c77a7032db
Merge branch '441_slow_arp_fixes' of https://github.com/dpw/weave into dpw-441_slow_arp_fixes
2015-03-16 15:31:59 +00:00
David Wragg
4dcf77c210
Commentary
2015-03-16 15:12:44 +00:00
David Wragg
39011a5218
Don't clean up the container interface after moving it into the netns
...
The most likely cause of failure is the container going away, in which.
case we don't need to clean up. And there are other points of possible
failure in the same category in attach(), so making sure we clean up the
container interface under all conditions is a broader issue.
2015-03-16 15:12:44 +00:00
David Wragg
e844753a21
Don't duplicate ARP cache configuration
2015-03-16 15:12:44 +00:00
David Wragg
78b0a57007
Send an unsolicited ARP response when a container attaches
...
Using arping, which is part of the iputils package and so seems to
be ubiquitous.
2015-03-16 15:12:44 +00:00
David Wragg
9b62bcb75d
Don't need to use sed to get the IP address part of a CIDR
2015-03-16 15:12:44 +00:00
David Wragg
7a8a7010e2
Refactor for uniform handling of CIDRs
...
Not quite a pure refactoring because it adds a missing
'validate_cidr'.
2015-03-16 15:12:44 +00:00
David Wragg
11af544071
Configure ARP cache to react more quickly to MAC address changes
...
When an IP address was reused by a new container, other containers
could experience delays of many seconds the first time they tried to
talk to that new container before successful communication would
occur. This delay came from three sources related to ARP cache
behaviour:
- The kernel would take a while to decide that an ARP mapping was
stale due to lack of positive evidence (due to the
base_reachable_time default of 30s)
- Even once an ARP mapping was considered stale, the kernel would wait
a few seconds before sending an ARP request, in the hope that a
higher layer (e.g. TCP) would confirm the ARP entry (due to the
delay_first_probe default of 5s)
- When the kernel sent out an ARP request to update a stale entry,
initial attempts would unicast the request to the old MAC address
before resorting to broadcast (due to the ucast_solicit default of
3)
This change reduces all these values, so that any delays
are a few seconds.
For most workloads, this should not greatly increase the amount
of ARP traffic, because communication via TCP is often sufficient
to confirm ARP entries. And one unicast ARP request is still sent
just in case.
Unfortunately, there's a fixed-but-only-recently bug in the kernel
that means that changing base_reachable_time can take a while to take
effect:
<https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4bf6980dd0328530783fd657c776e3719b421d30 >.
This means that a container will continue to use a long reachable_time
delay for the first few minutes of its life.
2015-03-16 15:12:27 +00:00
Michael Bridgen
3c1075459f
Switch VirtualBox DNS proxying and host resolver off
...
While those helped with some issues, the proxying is substantially
broken and the smoke tests wouldn't pass.
2015-03-16 15:06:30 +00:00
rade
d65d4776da
Merge pull request #459 from tomwilkie/master
...
Typo in sites page for building weave
2015-03-16 15:03:07 +00:00
Tom Wilkie
475a90bcdd
Typo in sites page for building weave
2015-03-16 14:45:51 +00:00
David Wragg
e8ed9c707d
Refactor
2015-03-16 10:46:24 +00:00
Michael Bridgen
9eeec2fa48
Restore use of DNS from Vagrant VMs
...
These incantations are said to fix DNS on Vagrant VMs running with a
private network.
2015-03-12 14:39:25 +00:00
Bryan Boreham
cce6175a5c
Merge pull request #453 from rade/452_only_broadcast_on_established
...
LGTM. Fixes #452 - those messages go away entirely in my tests.
2015-03-12 11:27:34 +00:00
rade
0d5562a5b6
Merge pull request #451 from bboreham/448_reduce_conns
...
Avoid many pointless connection attempts
Fixes #448 .
2015-03-11 14:04:25 +00:00
Bryan Boreham
8e274328b6
Do try standard port on inbound connections
2015-03-11 14:01:43 +00:00
Bryan Boreham
d87e13b999
Re-order Connection fields more consistently
2015-03-11 14:01:07 +00:00
Matthias Radestock
1ceb041bc5
exclude non-established connections from broadcast routing
...
We already excluded such connections from unicast routing.
Fixes #452 .
2015-03-11 13:26:40 +00:00
Bryan Boreham
89fce7f98a
Add an 'outbound' field on each connection,
...
and only attempt new connections to the remote side of outbound connections.
2015-03-11 11:56:47 +00:00
Matthias Radestock
6f89ead9bd
log all connection lifecycle events on local peer
...
There were situations, such as deleting another connection as result
of it losing a tie-break, where lifecycle events of connections on the
local peer weren't logged.
Fixing that entails moving the logging closer to (i.e. right after)
the state change action. This in turn requires promotion of logging to
the Connection interface instead of it LocalConnection. Which in turn
requires a change from 'log' to 'Log', for consistency with other
interface methods.
Fixes #449 .
2015-03-10 14:42:18 +00:00
Matthias Radestock
123e8bbb28
reduce likelihood of IP clashes in tests & examples
...
by using the 10.2 range, which is not one used by docker and also is
less likely than 10.0 to be used by something else.
Fixes #402 .
2015-03-09 20:51:26 +00:00
Matthias Radestock
abb1c6c781
refactor(ish): push down some error handling in router
2015-03-06 14:51:39 +00:00
rade
0f7f49d3be
Merge pull request #433 from dpw/419_broadcast_frametoobigerror
...
Do not inject ICMP "fragmentation needed" for broadcast packets.
It's a contravention of RFC1122 and also breaks weave routing due to producing packets with broadcast addresses as the source.
Fixes #419 .
2015-03-06 14:37:10 +00:00
Michael Bridgen
b38af84368
Merge pull request #435 from fintanr/434
...
Update README with CoreOS install instructions.
Closes #434 .
2015-03-06 14:36:15 +00:00
David Wragg
2f7e0b5cad
Simplify version printing
2015-03-06 11:15:24 +00:00
Fintan Ryan
911a3492b2
434 Update README with CoreOS install instructions
2015-03-06 10:01:14 +00:00
Michael Bridgen
6404ac30b9
Minor improvements to vagrant VMs
...
* disable the default Vagrant shared folder, which we don't need
* install `bc` on the dev VM, since it's needed by the smoke tests
* expose the dev VM docker on TCP, for convenience
2015-03-05 16:30:50 +00:00
Matthias Radestock
a00f67cf06
use correct API for figuring out whether crypto is enabled
2015-03-05 15:51:54 +00:00
David Wragg
5b66daf1e4
Remove some layers of indirection around FrameTooBigError handling
2015-03-05 15:13:30 +00:00
David Wragg
e543bff1ba
Don't propagate errors from RelayBroadcast
...
If forwarding of a broadcast frame resulted in a FrameTooBigError, we
would generate an ICMP "fragmentation needed" packet that contravened
RFC1122 on two counts: First, we should not produce a ICMP error
message in response to a broadcast/multicast packet. Secondly, we
should not produce an IP packet with a broadcast/multicast source IP
address. (It also gave an ethernet frame with a broadcast source MAC,
which probably contravenes some IEEE spec.)
So when RelayBroadcast gets a FrameTooBigError, it should just drop
the packet.
Futhermore, if we fail to relay a broadcast on one connection, that's
not a good reason to give up entirely - we can proceed to attempt to
relay on the other next hop connections. Errors other than
FrameTooBigError that propagated upwards were simply logged, so that
logging is moved down into RelayBroadcast.
2015-03-05 15:13:29 +00:00
David Wragg
619ebc20a8
Don't pass password around as a pointer to a slice
...
A slice can be nil, so there is no reason for extra indirection to
represent the lack of a password.
2015-03-05 14:19:54 +00:00
David Wragg
cda6b8d582
Fix a few deviations from go fmt
2015-03-05 13:56:21 +00:00
Matthias Radestock
6c82f781cd
trim some logging from tests
2015-03-02 17:02:10 +00:00
Matthias Radestock
6d69ac5532
refactor and tweak dns tests
...
- extract helper function
- use "lots and lots of MX records" instead of "lots of TXT records"
for testing large response
- calculate on the fly the number of records we need to generate a
large response
- don't hardcode "weave.works"
2015-03-02 16:56:10 +00:00
Michael Bridgen
b76e97ac24
Merge branch 'pr394'
...
Closes #366 , again.
2015-02-27 17:02:01 +00:00
Michael Bridgen
1d929263ac
Default the localDomain argument from the CLI
...
Otherwise, the HTTP listener can be given an empty string, and refuse
to record any hosts.
2015-02-27 16:58:47 +00:00
Matthias Radestock
5327c41c82
Allow build to be interrupted.
...
This was missed in #387 .
2015-02-27 16:45:24 +00:00
Bryan Boreham
e22b470c3e
Add the change from #395 , which got lost
...
`-t` flag creates a tty for the command, so we can interrupt it with Control-C
2015-02-27 16:39:53 +00:00
Michael Bridgen
48ef098518
Merge branch 'pr394': Add localDomain option to weavedns
...
Improve the DNS server configuration mechanism. The new configuration
system includes the ability to specify a different domain name other
than ".weave.local".
2015-02-27 15:30:49 +00:00
Michael Bridgen
3137e4acdd
Smoke test for custom localDomain
2015-02-27 15:29:59 +00:00
Michael Bridgen
35a8a390e7
Merge branch 'weave-366' of https://github.com/inercia/weave into pr394
2015-02-27 15:10:23 +00:00
Bryan Boreham
fcb36458c8
Fix breakage from #387
2015-02-27 15:08:14 +00:00
rade
be3415b64f
Merge pull request #428 from bboreham/415_direct_tcpSend
...
Remove deadlock in sending protocol messages
Closes #415 .
2015-02-27 15:03:38 +00:00
Bryan Boreham
6437caddf2
Reworded comment
2015-02-27 15:02:30 +00:00
Bryan Boreham
139758256b
Make clear that tcp-send methods are not handlers and may be called outside of queryLoop
2015-02-27 14:52:47 +00:00
Alvaro Saurin
4682f7ed95
zettio/weave#366 - removed reference to DNSServerConfig in the DNSServer struct
2015-02-27 15:40:32 +01:00
Bryan Boreham
846321afeb
Merge pull request #427 from fl0yd/patch-1
...
LGTM
2015-02-27 14:37:19 +00:00
fl0yd
49cb2758a4
Corrected a misspelling in readme
2015-02-27 08:34:24 -06:00
Bryan Boreham
657125fd54
Send to tcpSender on the calling thread, so the Actor channel doesn't get clogged up
2015-02-27 14:12:32 +00:00
Alvaro Saurin
007873a402
zettio/weave#366 - keep the DNSServerConfig inmutable
2015-02-27 12:22:08 +01:00
Alvaro Saurin
0bc3e333f8
zettio/weave#366 - minor: fixed a typo and removed some superfluous code
2015-02-26 10:51:48 +01:00
Alvaro Saurin
403520f4b6
zettio/weave#366 - move more initialization code to the constructor
2015-02-26 10:51:48 +01:00
Alvaro Saurin
bbd69170f9
zettio/weave#366 - improved configuration for th DNSServer, where we can specify the local domain name among other things... (missing some unit tests for this customized local domain)
2015-02-26 10:51:48 +01:00
rade
d1400bc233
Merge pull request #407 from awh/369_name_weave_peers
...
nicknames for weave peers
Closes #369 .
2015-02-25 18:10:36 +00:00
rade
47ef9ff85e
Merge pull request #413 from awh/373_detect_udp_connectivity_breakage
...
Tear down connections on prolonged loss of UDP heartbeat.
Closes #373 .
2015-02-25 18:09:05 +00:00
Matthias Radestock
62c6242840
remove dead code
2015-02-25 17:13:52 +00:00
rade
eafe17255b
Merge pull request #421 from bboreham/418_copy_connections
...
Avoid some deadlocks
Fixes #418
2015-02-25 16:23:05 +00:00
Bryan Boreham
607b528973
Copy connections before sending, to avoid a deadlock
2015-02-25 16:11:58 +00:00
Michael Bridgen
0350c55a21
Merge branch 'pr359'
2015-02-25 15:43:19 +00:00
rade
d9cdfff35d
Merge pull request #387 from dpw/build_in_container
...
Containerized weave build
2015-02-25 15:35:35 +00:00
David Wragg
f46746c75f
Fix a mention of the exported images being in /var/tmp
...
In fact, remove the mention of the exported images being in the container
altogether. The images are in the host docker daemon, so it is easier to
export them again than to go fishing around with 'docker cp'.
2015-02-25 15:08:26 +00:00
Michael Bridgen
0e4b33b103
Merge branch 'json_status' of https://github.com/bboreham/weave into pr359
2015-02-25 14:46:33 +00:00
David Wragg
3d5e76d0e8
Always use sudo for docker commands in instructions
2015-02-25 14:29:48 +00:00
David Wragg
a869e89c7b
Fix incorrect markdown link syntax
2015-02-25 14:20:49 +00:00
David Wragg
cf2b7bc673
Remove 'make prerequisites' and update docs accordingly
2015-02-25 14:15:07 +00:00
Adam Harrison
25c0cfd0c4
Actually use empty string as test nickname
2015-02-25 12:10:56 +00:00
Adam Harrison
72c9ae7a5c
Use empty string as test nickname
2015-02-24 22:25:46 +00:00
Adam Harrison
326a5d19b3
Transpose script arguments to match declaration order
2015-02-24 22:23:51 +00:00
Adam Harrison
cd168f54b2
Removed obsolete constant
2015-02-24 19:42:18 +00:00
Adam Harrison
d031e8d246
Merge branch 'master' into 373_detect_udp_connectivity_breakage
...
Conflicts:
router/connection.go
2015-02-24 18:53:39 +00:00
Adam Harrison
7618ae033c
Simplify to single heartbeat timer
2015-02-24 18:31:18 +00:00
Michael Bridgen
c74ffe6369
Merge branch 'pr392'
2015-02-24 18:28:08 +00:00
Adam Harrison
4e9e183e0f
Simplify argument parsing
2015-02-24 17:59:40 +00:00
Adam Harrison
34f7b5cbd0
Address documentation comments
2015-02-24 16:53:38 +00:00
Adam Harrison
3cf2179c67
Fix formatting
2015-02-24 16:52:44 +00:00
Adam Harrison
5e54637ffa
Remove reference to containers from argument help
2015-02-24 16:52:22 +00:00
Michael Bridgen
540f84af3d
Merge branch 'weave-362' of https://github.com/inercia/weave into pr392
2015-02-24 16:43:56 +00:00
David Wragg
438e57853b
Leave the docker image .tar files in the weave directory
...
Making things into /var/tmp is a bit odd, and this works better in
the context of the containerized build.
2015-02-24 14:38:59 +00:00
Matthias Radestock
d23df19997
reword
2015-02-24 14:31:57 +00:00
rade
b53a2c772c
Merge pull request #414 from bboreham/411_closed_connections
...
Add 'finished' chan to stop callers blocking on closed connection
2015-02-24 11:23:36 +00:00
Bryan Boreham
78d2a3e466
Add 'finished' chan to stop callers blocking on closed connection
2015-02-24 10:48:52 +00:00
Adam Harrison
0a0ed7a871
Tear down connections on prolonged loss of UDP heartbeat
2015-02-23 15:29:11 +00:00
Alvaro Saurin
c575023681
zettio/weave#362 - command line arg for using a specific fallback DNS server
2015-02-23 13:17:54 +01:00
Alvaro Saurin
419138ec6a
zettio/weave#362 - use a WaitGroup for the TCP/UDP goroutines: otherwise, WeaveDNS server just quits
2015-02-23 13:17:54 +01:00
Alvaro Saurin
ea1c3e8219
zettio/weave#362 - fix: = instead of :=
2015-02-23 13:17:54 +01:00
Alvaro Saurin
f8b3c86498
zettio/weave#362 - properly test the TCP-retry mechanism by creating fallback servers that return truncated responses with UDP but not with TCP
2015-02-23 13:17:54 +01:00
Alvaro Saurin
3de924fa2f
zettio/weave#362 - moved Check*() to common
2015-02-23 13:17:54 +01:00
Alvaro Saurin
5dd475b2e5
zettio/weave#362 - fix DNSServer initialization
...
removed a couple of goroutines spawns...
2015-02-23 13:17:54 +01:00
Alvaro Saurin
ef72d65aa4
zettio/weave#362 - use for fallback queries the same protocol clients have used for querying us.
2015-02-23 13:17:54 +01:00
Alvaro Saurin
9c7ffd9b81
zettio/weave#362 - improve the unit tests for the TCP server by checking if we get all the responses with TCP when a previous UDP query resulted in a truncated response.
2015-02-23 13:17:54 +01:00
Alvaro Saurin
bf88ed8d96
zettio/weave#362 - unit test for TCP requests to our DNS server
2015-02-23 13:17:54 +01:00
Alvaro Saurin
c81769cc9a
zettio/weave#362 - implement a graceful shutdown
2015-02-23 13:17:54 +01:00
Alvaro Saurin
c1f9c8bc10
zettio/weave#362 - new constructor for creating a DNS server with a given config
...
fix unit tests by using the new constructor
2015-02-23 13:17:54 +01:00
Alvaro Saurin
3be5600383
zettio/weave#362 - reorganize the DNS server code, so it looks like the mDNS server, with a proper class with Start() and so...
...
Listen on TCP on port 53 by default
2015-02-23 13:17:54 +01:00
rade
e485e68946
Merge pull request #409 from achanda/patch-2
...
Ignore vagrant directory
2015-02-22 08:55:41 +00:00
Abhishek Chanda
d930f5c54a
Ignore vagrant directory
2015-02-21 23:21:43 -08:00
Adam Harrison
1b92f60034
Add nickname feature to documentation
2015-02-20 15:04:58 +00:00
Adam Harrison
244af11701
Rename hostname to nickname
...
Accept -nickname parameter to weave script
2015-02-19 17:09:08 +00:00
Adam Harrison
8f6a525bde
Bump protocol version due to introduction of hostname field
2015-02-19 14:42:26 +00:00
Adam Harrison
1707244725
Include remote hostname for connections in router status
2015-02-19 13:34:01 +00:00
David Wragg
4ea67bbab9
Elaborate comments
2015-02-19 12:50:40 +00:00
Adam Harrison
f517b947e6
Add hostname to peers
2015-02-19 12:29:37 +00:00
Bryan Boreham
2817638ef9
Merge pull request #396 from achanda/patch-2
...
LGTM.
2015-02-17 12:39:16 +00:00
Abhishek Chanda
ed2d0d56a5
Enable code coverage reports
...
This will make the test print code coverage report once done in each directory
2015-02-14 16:30:32 -08:00
Michael Bridgen
a6f1435444
Only fetch the assert script if it's not present
2015-02-11 14:36:00 -08:00
David Wragg
cd06a29d6c
Update build docs
...
I'm not sure about using the name 'zettio/weave-build' for the image
here. There's no intent to upload it to dockerhub, so including the
user name 'zettio' seems wrong. On the other hand, I'm not sure what
the meaning of an unslashed image name is supposed to be. Probably it
doesn't matter what a private non-pushed image is called, as long as
it doesn't clash with something.
2015-02-10 16:45:56 +00:00
David Wragg
b1ac63cae6
A Dockerfile to facilitate building in a container
2015-02-10 16:45:53 +00:00
David Wragg
949afd9c20
Add some sudos to make tools/build.sh work when not root
2015-02-10 16:27:10 +00:00
David Wragg
3c093d7534
Make build.sh show its progress
2015-02-10 16:27:10 +00:00
David Wragg
a31b115b06
Add 'build' makefile target
2015-02-10 16:27:06 +00:00
David Wragg
23233851db
Support non-containerized WEAVETOOLS_EXES build
2015-02-10 16:05:54 +00:00
Matthias Radestock
9f9949b80c
update copyright notices (year & entity)
2015-02-06 23:14:38 +00:00
Bryan Boreham
410972906b
Add version and encryption status into the JSON output
2015-02-06 17:35:39 +00:00
Matthias Radestock
94c7b60983
Merge remote-tracking branch 'upstream/master'
2015-02-04 16:51:15 +00:00
Matthias Radestock
e2818f883c
refactor: move and simplify handshake logic
2015-02-04 16:49:57 +00:00
Michael Bridgen
59cd5a13da
Merge branch 'pr361'
2015-02-04 16:35:29 +00:00
Michael Bridgen
1f9e321097
Merge branch '360_dns_buffer' of https://github.com/bboreham/weave into pr361
2015-02-04 16:35:14 +00:00
Matthias Radestock
f01d9ce092
explain why create-bridge is undocumented
2015-02-04 16:00:35 +00:00
Bryan Boreham
04a7aa1405
Use buffer size 4096 on advice from a DNS expert
2015-02-04 14:58:21 +00:00
Matthias Radestock
2f5b586e68
typo
2015-02-03 15:14:14 +00:00
Matthias Radestock
9c3d509b10
cosmetics
...
suggested by linter
2015-02-03 14:46:35 +00:00
Matthias Radestock
b42766fb81
'docker tag' with '-f' so we can easily re-do failed releases
2015-02-03 14:20:04 +00:00
Matthias Radestock
af2206e156
add 0.9.0 release change log
2015-02-03 13:19:43 +00:00
Bryan Boreham
e325c35c10
Merge pull request #381 from rade/380_prevent_premature_peer_topology_gc
...
LGTM. Fixes #380
2015-02-03 10:39:08 +00:00
Bryan Boreham
e600816d5f
Add UID and version into JSON for each Peer
2015-02-02 14:41:49 +00:00
Bryan Boreham
42dfd5142e
Remove Access-Control hack
2015-02-02 14:36:56 +00:00
Bryan Boreham
458ef12da6
Use a larger buffer than the default, so that more queries will succeed
2015-02-02 13:26:44 +00:00
Bryan Boreham
e5a08a505d
Change DNS fallback test to use a locally-run server to generate long responses reliably
2015-02-02 13:24:37 +00:00
Bryan Boreham
9ae3f4c692
Only read /etc/resolv.conf once
2015-02-02 13:16:05 +00:00
Matthias Radestock
b722f9d9dd
Merge branch 'master' into 380_prevent_premature_peer_topology_gc
2015-02-01 19:26:00 +00:00
Matthias Radestock
08c34e4bb9
refactor: rename a method
2015-02-01 19:25:31 +00:00
Matthias Radestock
ed65023021
only include established connections in route calculation
...
except for reachability analysis in gc
2015-02-01 19:13:51 +00:00
Matthias Radestock
7834057b2e
cosmetic: remove duplicate comment
2015-02-01 17:52:07 +00:00
Matthias Radestock
f25696c245
prevent premature gc of peers from topology
...
Topology gossip can be received on a connection before that connection
has been marked as 'established'. If we do not include unestablished
connections in topology gossip, then parts of the topology can be
removed by gc, since they are deemed unreachable, which can cause
subsequent incremental topology gossips to be rejected due to them
containing references to peers that have been removed by the gc.
Including unestablished connections in topology gossip requires:
- removing the check for 'established' connections in the encoding of
peers for topology gossip,
- adding the 'established' flag to the internal representation of
remote connections,
- adding the 'established' flag to to encoding of connections in
topology gossip,
- treating the *addition* of a connection as an update to the local
peer.
The latter entails
- bumping the peer version on connection addition (as well as on
marking 'established' as previously),
- bumping the peer version *unconditionally* on connection deletion
(rather than only when the connection was 'established', as
previously),
- moving the initial sending of complete topology on the connection,
and the broadcasting of a topology update containing the two peers
at the ends of the connection, from the connection 'established'
logic to the connection addition logic,
- broadcasting just an topology update for the local peer when a
connection gets marked as 'established',
- broadcasting a topology update for the local peer *unconditionally*
when a connection is removed (rather than only doing this when the
connection was 'established', as previously).
2015-02-01 16:52:39 +00:00
Matthias Radestock
b43e5debb1
gofmt
2015-02-01 16:50:43 +00:00
Matthias Radestock
2d135f3da0
prevent premature peer gc
...
Caused by a race between adding the connection to our map and
receiving a topology gossip on it.
We remove the race by making AddConnection synchronous and invoking it
prior to entering the tcp receive loop.
Fixes #367 .
2015-01-31 22:29:07 +00:00
Matthias Radestock
5892cae5d0
set the hostname on the test VMs
...
which makes it easier to see where you are when ssh'ed in
2015-01-31 17:12:20 +00:00
Matthias Radestock
5967d5de20
make it easier to set up more than 2 VMs for testing
2015-01-31 16:55:45 +00:00
Matthias Radestock
8f18df7a43
cosmetic: improve comment
2015-01-31 11:38:29 +00:00
Matthias Radestock
2dee5abccc
cosmetic
2015-01-31 11:35:46 +00:00
Matthias Radestock
65d0c8b4ce
log unknown peer received in topology gossip
2015-01-31 11:31:45 +00:00
Matthias Radestock
de45a85162
tweak error handling in topology update application
...
- simplify
- abort early
2015-01-31 10:35:36 +00:00
rade
99770c564b
Merge pull request #377 from sttts/expose-hide-without-ethtool
...
Also avoid calling ethtool in expose and hide
2015-01-29 23:26:30 +00:00
Matthias Radestock
bb134154a8
banish non-posix sed regexps
...
Fixes #371 .
2015-01-29 21:39:11 +00:00
Bryan Boreham
d354f4bea4
Merge pull request #376 from rade/372_udp_connectivity_check
...
LGTM. Fixes #372
2015-01-29 13:24:21 +00:00
Matthias Radestock
c1dd2e3a09
tear down connections that have no (initial) udp connectivity
...
Prior to the introduction of gossip, a tcp connection would not see
regular communication until it had been marked as 'established',
because the topology communication scheme would periodically send
'FetchAll' only after that. So in the absence of udp connectivity we'd
time out. The timeout could of course occur for other reasons, namely
disrupted tcp connectivity, but the combination of a timeout and 'not
established' pointed to a lack of udp connectivity as a likely
cause. So that's what we checked for.
In the new gossip-based topology communication, however, gossip (of
anything, not just topology) occurs as soon as we have tcp
connectivity. Therefore we will no longer encounter a timeout when
just udp connectivity is disrupted. Which makes our check invalid.
So instead we introduce a one-shot timer, created on handshake
completion and cancelled when we mark the connection as
'established'. When the timer fires, and the connection still hasn't
been established, we shut down the connection with an error indicating
lack of udp connectivity.
2015-01-29 12:41:52 +00:00
Dr. Stefan Schimanski
d77e3a4c22
Also avoid calling ethtool in expose and hide
...
Those two commands are used in the pre-docker phase when you setup your
weave bridge using create-bridge, e.g. inside /etc/network/interfaces.
2015-01-29 13:21:49 +01:00
Matthias Radestock
17f6653cae
cosmetic: var name consistency with Routes.calculateBroadcast
2015-01-27 20:53:56 +00:00
Matthias Radestock
d88c12caa7
improve peer gc efficiency
...
Instead of separately calculating routes to every individual peer,
carry out one calculation for routes to all peers. Same as unicast
routes except taking into account asymmetric connections.
2015-01-27 20:33:13 +00:00
Matthias Radestock
6c934f1cd3
cosmetic: reorder some LocalPeer methods to match typical lifecycle
2015-01-27 18:11:42 +00:00
Bryan Boreham
ae0e3306d7
Merge pull request #313 from bboreham/add_gossip
...
Gossip layer to communicate topology between peers
Note that I have squashed over 100 commits from @bboreham and @rade into the three for this PR; you can see the original history at https://github.com/bboreham/weave/compare/add_gossip_full
2015-01-27 15:37:35 +00:00
Bryan Boreham
4647c36a15
Unit tests for gossip-based topology communication
2015-01-27 12:45:40 +00:00
Bryan Boreham
5dc9b085a0
Replace previous topology communication with gossip-based mechanism
2015-01-27 12:45:40 +00:00
Bryan Boreham
18df01a4bf
Basic gossip implementation
2015-01-27 12:45:40 +00:00
Bryan Boreham
c80bff473f
Simplify DeleteTestConnection along the same lines as AddTestConnection
2015-01-26 14:03:32 +00:00
Michael Bridgen
08eb90c938
No longer is local_ip welcome in weaveDNS
...
(and point at weaveDNS's readme rather than the blog post, which is
out of date)
2015-01-26 11:49:02 +00:00
Matthias Radestock
1efaac62bf
Merge remote-tracking branch 'upstream/master'
2015-01-25 12:33:36 +00:00
Matthias Radestock
824286d382
shrink "improved" topology update
...
When an update contains an older version of a peer we know about,
there is no point in including our better version in the "improved"
update, since we will have told our neighbours about that already and
any race conditions are taken care off by the periodic sending of the
complete topology.
2015-01-25 12:27:45 +00:00
Matthias Radestock
af6e5c3438
move more of the topology docs into their own section
...
and some cosmetics
2015-01-25 12:21:02 +00:00
Matthias Radestock
fc85e12556
push more of the topology docs into the topology section
...
plus some cosmetics
2015-01-25 12:17:50 +00:00
Matthias Radestock
13fc0bf720
add some tests for Peers
...
extracted from #313
2015-01-24 10:56:44 +00:00
Matthias Radestock
b137f3b639
oops
2015-01-24 10:37:03 +00:00
Matthias Radestock
55f55a59bc
refactor: promote connection lifecycle methods from LocalPeer to Peer
...
They are sufficiently generic, and having them on Peer is useful for
testing.
2015-01-23 20:04:09 +00:00
Matthias Radestock
1dde9bfe0b
cosmetic
2015-01-23 16:58:59 +00:00
Matthias Radestock
0c02e0ac12
Merge remote-tracking branch 'upstream/master'
2015-01-23 16:27:10 +00:00
Matthias Radestock
4cb306e714
refactor: eliminate dependency of Peers on MacCache
2015-01-23 16:24:41 +00:00
rade
1926bc7b71
Merge pull request #357 from errordeveloper/split-create-bridge-command
...
Add create-bridge command
2015-01-22 18:37:00 +00:00
Ilya Dmitrichenko
dfd7d0fe54
Add create-bridge command
2015-01-22 18:04:22 +00:00
Matthias Radestock
86c5e22fa8
another assert
2015-01-22 16:43:07 +00:00
Matthias Radestock
3baa3c09a4
revamp error handling on tcp connection receive loop
...
- treat crypto decoding errors as errors instead of warnings
- introduce helper for handling protocol messages
- put conn.Shutdown in one place
2015-01-22 16:21:48 +00:00
Matthias Radestock
6253be6ecf
cosmetic: nuke stray whitespace
2015-01-22 14:49:00 +00:00
Matthias Radestock
8af2a1c25d
refactor: make tie breaking part of the Connection interface
...
and thus eliminate all knowledge of LocalConnection from the
LocalPeer.handle* methods
2015-01-21 21:44:22 +00:00
Matthias Radestock
99525ebf85
refactor: LocalConnection.CheckFatal be gone!
...
use Shutdown instead, which is in the Connection interface, thus
further reducing dependency on LocalConnection.
2015-01-21 21:23:59 +00:00
Bryan Boreham
c7af02776f
Obtain status info in JSON format
2015-01-21 21:03:16 +00:00
Matthias Radestock
9a27299562
cosmetic: consistent method order
2015-01-21 20:55:51 +00:00
Matthias Radestock
fe07a41dc3
refactor: make LocalConnection uid 'private'
...
which makes sense now that we've abstracted tie breaking
2015-01-21 20:46:45 +00:00
Matthias Radestock
9302105a2e
refactor: abstract away connection tie breaking
...
So we don't need to carry that logic in LocalPeer
2015-01-21 20:42:27 +00:00
Matthias Radestock
6efa794ab4
some testing improvements
...
- show complete call stack of failures (this does include some of the
testing machinery, but a) is simple, and b) is guaranteed to not
miss important stack frames)
- add helper to run test with a timeout
- add AssertEqualuint64
2015-01-21 18:45:37 +00:00
Bryan Boreham
b7b5fd3dd2
Merge pull request #356 from rade/forgive_protocol_decoding_errors
...
LGTM.
2015-01-21 17:54:07 +00:00
Matthias Radestock
04f9fab78b
don't ignore EOF when decoding peer connections
...
Even when there are no connections, we still expect the decoding to
succeed.
2015-01-21 17:44:54 +00:00
Matthias Radestock
f5a9f07026
forgive all protocol decoding errors
...
log an error and close the connection, instead of blowing up
2015-01-21 15:01:43 +00:00
Matthias Radestock
8eed483c6e
set permissons on 110_encryption_test.sh same as everything else
2015-01-21 14:18:17 +00:00
Bryan Boreham
bdb8b4625b
Merge pull request #355 from rade/protocol_sender
...
LGTM.
2015-01-21 11:48:54 +00:00
Matthias Radestock
c6f5e7ec94
introduce ProtocolSender interface
2015-01-20 23:41:42 +00:00
Matthias Radestock
76e44afdea
cosmetic
2015-01-20 23:36:02 +00:00
Matthias Radestock
ac95d5ab29
rename and lift ProtocolMsg into API
2015-01-20 23:23:59 +00:00
Matthias Radestock
d089900632
fix crypto
2015-01-20 23:22:44 +00:00
Matthias Radestock
1181a0cb33
better APIs for sending protocol messages
...
no longer tagging requiring the caller to construct them
2015-01-20 22:31:16 +00:00
Matthias Radestock
644697977b
refactor: make protocol message tags a separate type
2015-01-20 21:51:18 +00:00
Matthias Radestock
a1ef2def2b
refactor: extract pdu statics into separate file
2015-01-20 21:41:08 +00:00
Matthias Radestock
9daf753d8a
cosmetic: remove types.go
2015-01-20 21:21:58 +00:00
Matthias Radestock
cdf8e906d1
cosmetic: move Interaction from types.go to utils.go
2015-01-20 21:21:32 +00:00
Matthias Radestock
44c8533632
cosmetic: move packet i/o types from types.go into router.go
2015-01-20 21:20:28 +00:00
Matthias Radestock
e82ed423c1
cosmetic: move ForwardedFrame type from types.go to forwarder.go
2015-01-20 21:15:50 +00:00
Matthias Radestock
2102fc8529
cosmetic: move UDPPacket type from types.go to router.go
2015-01-20 21:14:45 +00:00
Matthias Radestock
e171088fac
cosmetic: remove unused type
2015-01-20 21:02:48 +00:00
Matthias Radestock
62da72e26d
cosmetic: move a bunch of error types to where they belong
2015-01-20 21:01:50 +00:00
Matthias Radestock
c6b68dd2bd
cosmetic: move Router type from types.go to router.go
2015-01-20 20:49:23 +00:00
Matthias Radestock
74563c6e3a
cosmetic: move connection types from types.go to connection.go
2015-01-20 20:44:35 +00:00
Matthias Radestock
a649d45085
cosmetic: move Forwarder type from types.go to forwarder.go
2015-01-20 20:41:13 +00:00
Matthias Radestock
1bc27c303e
cosmetic: move EthernetDecoder type from types.go to ethernet_decoder.go
2015-01-20 20:35:36 +00:00
Matthias Radestock
f5dc851ebe
cosmetic: move udp sender types from types.go to udp_sender.go
2015-01-20 20:30:25 +00:00
Matthias Radestock
be4dca5bf7
cosmetic: move crypto types from types.go into crypto.go
2015-01-20 20:27:59 +00:00
Matthias Radestock
5dd62b2ecf
bound check on protocol message receipt
...
and some refactoring to extract protocol message payload in common place
2015-01-20 20:06:29 +00:00
Matthias Radestock
1b3d65476c
refactor: simplify
2015-01-20 11:51:01 +00:00
Matthias Radestock
1a31748e40
refactor: extract some helpers useful for testing
2015-01-19 21:25:28 +00:00
Matthias Radestock
c7701a20b5
refactor: if->switch
2015-01-19 17:01:20 +00:00
Bryan Boreham
404c7a1ad4
When printing call-stacks from SIGQUIT, trim the buffer to remove garbage at the end
2015-01-19 16:54:40 +00:00
Matthias Radestock
24bd0a9a75
refactor: separate MacCache creation from activation
2015-01-19 16:45:06 +00:00
Matthias Radestock
1a85990bdc
cosmetic: move a comment
2015-01-19 14:51:59 +00:00
Matthias Radestock
b95d5ee182
refactor: split out a helper function
2015-01-19 14:02:22 +00:00
Matthias Radestock
48c8f9ea01
refactor: separate object creation from activation
2015-01-19 13:23:25 +00:00
Matthias Radestock
ebe48f5e58
improve weavetools build
...
- use the more idiomatic `configure --disable-shared && make` instead
of `configure && make LDFLAGS=-static`. This only works for
libtool-based builds, so not ethtool.
- check that we really have built static executables
2015-01-18 18:27:30 +00:00
Matthias Radestock
719efd0ac4
eliminate dependency on 'curl' on host
...
...by bundling it in the weavetools image
Closes #351 .
2015-01-18 17:57:21 +00:00
Matthias Radestock
1b229fcc30
gofmt
2015-01-17 19:20:48 +00:00
Matthias Radestock
d69854d9c5
cosmetic: turn some if-then-else into 'switch'
2015-01-17 19:19:47 +00:00
Matthias Radestock
198de416ab
Merge remote-tracking branch 'upstream/master'
2015-01-17 19:07:59 +00:00
Matthias Radestock
247ebaaf19
ignore heartbeats from the 'wrong' connection
...
The router may receive heartbeat packets that originated from (the
other end of) a different connection with the remote peer than the
current one. If we don't detect that, we may erroneously tell the
remote peer to mark the connection as 'established'. Which can lead to
a crash.
To enable detection, we include the connection UID - which is the same
at both ends - in the heartbeat frame. That way we can simply ignore
heartbeats with a different connection UID than the current connection
to the remote peer.
Previously heartbeat frames were zero length. In order to include the
64 bit connection UID we could just send 8 octets instead. However,
that would potentially trip up the Ethernet decoder at the other end,
and in any case we might as well make heartbeats fit the format of
other special frames, namely having an all-zero Ethernet header. This
in fact results in a simplification of the special frame handling,
since heartbeats are no longer *extra* special.
Fixes #352 .
2015-01-17 18:45:19 +00:00
Bryan Boreham
89ea4f9f80
Changed Twitter handle to @weaveworks
2015-01-17 17:57:18 +00:00
Matthias Radestock
a3e9556e75
optimisation: create heartbeat frame only once per connection
2015-01-17 17:29:54 +00:00
Matthias Radestock
aceaa66903
refactor(ish) of special frame processing in udp frame handler
...
- pull all special frame handling in one place
- generalise the condition for detecting special frames
- add some explanation
2015-01-17 16:48:00 +00:00
Matthias Radestock
c6898de4c0
refactor: compare Peer pointers instead of names
...
That is what we do pretty much everywhere else and it is safe since
there are never two Peers with the same name.
2015-01-16 23:10:03 +00:00
Matthias Radestock
4829d411af
tiny refactor
...
don't extract srcMac until we need it
2015-01-16 21:44:57 +00:00
Matthias Radestock
c6a684a741
fix some typos
2015-01-16 17:24:03 +00:00
Matthias Radestock
a7ed1f0e9c
less willing
2015-01-16 16:06:09 +00:00
Matthias Radestock
1890662f65
FetchAll is no longer sent explicitly on ConnectionEstablished
...
though it is in fact still sent straight away as part of initialsing
the FetchAll timer
2015-01-16 16:02:59 +00:00
Matthias Radestock
45e9d7f17f
Merge branch 'bboreham-master'
2015-01-16 16:02:11 +00:00
Matthias Radestock
79b532e4c5
Merge branch 'master' of https://github.com/bboreham/weave into bboreham-master
2015-01-16 16:01:36 +00:00
Matthias Radestock
95e5ebdb5e
tweaks to handling of ConnectionEstablished
...
1) stop the fast heartbeater asap; reducing the liklihood of getting
an extraneous beat
2) uniformely deal with 'avoiding initial wait for timer ticks'; this
entails sending a FetchAll immediately
3) because of (2) there is now no point initiating a FetchAll from the
tcp reader
2015-01-16 15:54:48 +00:00
Bryan Boreham
18184017ec
Minor re-wording after review comments
2015-01-16 15:00:46 +00:00
Bryan Boreham
bddd0b5ea4
Update FetchAll description to reflect changes in #349
2015-01-16 13:25:03 +00:00
Bryan Boreham
65fd2450ae
Added description of topology communication
2015-01-16 12:24:05 +00:00
Matthias Radestock
49f61c8d4c
correct comment
...
This should have been part of #349 .
2015-01-15 20:12:04 +00:00
Bryan Boreham
36cb3c77b5
Merge pull request #349 from rade/342_unidirectional_udp
...
LGTM. Fixes #342
2015-01-15 16:49:29 +00:00
Bryan Boreham
92043a3dbc
Merge pull request #348 from squaremo/issue346_fallback_for_rdns
...
LGTM. Closes #346 .
2015-01-15 15:31:49 +00:00
Matthias Radestock
9428b7c116
report 'unestablished' in status
2015-01-15 15:10:13 +00:00
Matthias Radestock
f2d6b5fdb0
update docs
2015-01-15 14:58:24 +00:00
Matthias Radestock
27c9e70ea9
better handling of unidirectional udp connectivity
...
Currently we cannot distinguish bi-directional and uni-directional
connectivity between peers. This is what currently happens for a
connection from A to B...
A: remoteUDPAddr=X
B: remoteUDPAddr=nil
A: send fast heartbeats over UDP
B: receive heartbeat; remoteUDPAddr is nil
remoteUDPAddr=Y
send 'established' over TCP
established=true
send slow heartbeats over UDP
A: receive 'established' over TCP
established=true
send slow heartbeats over UDP
If udp packets make it through from A to B but not B to A then both
ends mark the connection as 'established'. Conversely, if udp packets
make it through from B to A but not A to B then the connection is not
marked as 'established' at either end.
In the new scheme, this is what happens...
A: receivedHeartbeat=false, remoteUDPAddr=X
B: receivedHeartbeat=false, remoteUDPAddr=nil
A: send fast heartbeats over UDP
B: receive heartbeat; receivedHeartbeat is false
remoteUDPAddr=Y
receivedHeartbeat=true
send 'established' over TCP
send fast heartbeats over UDP
A: receive 'established' over TCP (*)
established=true
send slow heartbeats over UDP
A: receive heartbeat; receivedHeartbeat is false (*)
receivedHeartbeat=true
send 'established' over TCP
B: receive 'established' over TCP
established=true
send slow heartbeats over UDP
(*) either of these may occur first
Now, if udp packets make it through from A to B not not B to A then A
marks the connection as 'established' but B doesn't. Conversely, if
udp packets make it through from B to A but not A to B then B marks
the connection as 'established' but A doesn't.
2015-01-15 14:16:16 +00:00
Matthias Radestock
956707ca86
cosmetic
2015-01-14 18:44:18 +00:00
Matthias Radestock
873c95a602
tiny refactor
2015-01-14 18:37:50 +00:00
Matthias Radestock
3765d23825
refactor: move udp sender code into separate file
2015-01-14 17:51:01 +00:00
Matthias Radestock
d000beb621
refactor: make LocalConnection.handshake do (only) what it says
2015-01-14 17:36:45 +00:00
Matthias Radestock
9cf5fc5331
refactor: make LocalConnection.queryLoop do what it says
2015-01-14 17:08:38 +00:00
Michael Bridgen
5c3fe86be7
Include testing non-weave reverse queries in DNS smoke tests
...
Pro-tip: Do not put weaveDNS on the same subnet as the fallback DNS
server.
2015-01-14 17:02:17 +00:00
Michael Bridgen
db9bae4162
Use the fallback for reverse lookups too
...
I considered a couple of different factorings, that is
* Implementing the fallback as a Lookup
* Having a server struct that held the resolv.conf and methods for
handling queries
but ultimately, this is simple and works.
2015-01-14 16:44:12 +00:00
Michael Bridgen
fd90212db4
Get the format string right
2015-01-14 13:37:10 +00:00
Bryan Boreham
609585400b
Merge pull request #345 from squaremo/better_dns_smoke_tests
...
LGTM
2015-01-14 10:38:31 +00:00
Bryan Boreham
d9b6d5c5f9
Merge pull request #344 from squaremo/issue318_proxy_all_dns
...
LGTM
2015-01-13 20:50:27 +00:00
Matthias Radestock
72da7cd5d6
refactor: remove superfluous check
...
which is already performed by the caller
2015-01-13 18:56:20 +00:00
Bryan Boreham
ee6f92cd24
Merge pull request #343 from rade/340_improve_connection_logging
...
LGTM. Closes #340 - I tested with UDP blocked and got desired log.
2015-01-13 16:53:03 +00:00
Matthias Radestock
0befe997c1
oops
2015-01-13 16:38:58 +00:00
Matthias Radestock
cc8fad47dd
more connection logging consistency
2015-01-13 16:30:13 +00:00
Michael Bridgen
437b9d0ba2
Add tests for resolving names across hosts
...
It's more precise to use dig rather than ping. The stock ubuntu image
doesn't come with dig (in package dnsutils), but luckily Aanand made
an image which is exactly ubuntu+dnsutils.
2015-01-13 16:08:07 +00:00
Michael Bridgen
57b8039678
Smoke test for DNS fallback
2015-01-13 15:51:09 +00:00
Matthias Radestock
1235441556
improve connection logging
...
1) log more lifecycle events
- acceptance
- handshake completion
- added & removed (from our connection map)
The latter is a bit verbose but may help us track down the cause for
going to introduce here, then this would fall in the 'debug' category.
2) better error logging
- log error as part of "shutting down" log event rather than separately
- indicate "blocked UDP connectivity" as a possible cause when
getting a timeout on a not-fully-established connection.
The rationale for the latter is that inbound connections get
marked as established when first receiving a heartbeat frame over
UDP, which are the only frames that get transmitted prior to the
connection being fully established. Note that outbound
connections get marked as established when receiving the
ConnectionEstablished message over TCP, which is sent by the peer
when it first receives a heartbeat. See #342 .
Closes #340 .
2015-01-13 15:47:23 +00:00
Matthias Radestock
937d9c3ef8
rely un weavetools for testing
...
...rather than installing ethtool and conntrack
Forgot to do this as part of #309 .
2015-01-13 12:46:27 +00:00
Matthias Radestock
1e4d7e4462
refactor: remove superfluous var
...
conn.shutdown was only set/accessed in handleShutdown, which in turn
is only called on termination of queryLoop and hence multiple
invocations are impossible.
2015-01-12 18:39:25 +00:00
Matthias Radestock
aed95326f3
better name for test suite
2015-01-12 18:29:52 +00:00
Michael Bridgen
ff45bcf945
Change Lookup method names
...
The Local was redundant (and inaccurate in the case of the mDNS client
implementation), and otherwise they are too nondescript.
2015-01-12 17:42:23 +00:00
Michael Bridgen
5f642d390c
Pass queries for non-local names on to the configured nameserver
2015-01-12 17:12:15 +00:00
Michael Bridgen
c76e213f76
Fix up common/testing confusions
2015-01-12 16:33:51 +00:00
Bryan Boreham
dc55448c7d
Added a smoke-test with a password
2015-01-12 12:49:37 +00:00
rade
344eadfd8e
Merge pull request #336 from squaremo/reform_dns_logging
...
Reform logging in weaveDNS
Closes #311 .
2015-01-12 12:36:36 +00:00
rade
73e1d0c12e
Merge pull request #314 from squaremo/issue289_exclude_test
...
Move testing utils to its own package
Fixes #289 .
2015-01-12 11:42:55 +00:00
Michael Bridgen
14f7d83e3e
Merge branch '321_cope_with_weavetools_delays' of git://github.com/rade/weave into pr334
2015-01-09 17:40:42 +00:00
Michael Bridgen
382095f291
Merge branch 'pr333'
2015-01-09 16:35:17 +00:00
rade
eb0b635bdd
Merge pull request #337 from bboreham/master
...
Remove repeated 'iota' in const lists, since Go knows what you mean
2015-01-09 16:31:11 +00:00
Michael Bridgen
a0eccd3971
Merge branch '331_reinstate_make_publish' of git://github.com/rade/weave into pr333
2015-01-09 16:03:22 +00:00
Bryan Boreham
15852dfa42
Remove repeated 'iota' in const lists, since Go knows what you mean
2015-01-09 15:55:35 +00:00
David Wragg
ad0b4a5a5a
Fix a missing 'the'
2015-01-09 14:21:58 +00:00
David Wragg
67b07ec540
Fix grammar
2015-01-09 14:20:06 +00:00
David Wragg
949150454c
Merge pull request #325 from errordeveloper/issue_310
2015-01-09 14:14:45 +00:00
Matthias Radestock
11b87f879a
make weave status show whether encryption is on/off
...
Closes #323 .
2015-01-09 12:56:26 +00:00
Michael Bridgen
b114735a41
Reform logging in weaveDNS
...
* Put prefixes (including msg IDs) in front of log messages to
distinguish them
* Failed lookups get logged under Info as per issue #311
* More accurate messages as per issue #311
2015-01-09 12:49:07 +00:00
Michael Bridgen
97bece2d7b
Move testing utils to its own package
...
So as not to pollute command-line flags with test.* options.
It appears that importing "testing" (from stdlib) will add flags. To
avoid this, we need code to not depend on testing. But, since
testing_utils was previously in the same package as the rest of the
code, it dragged testing in.
Renaming testing_util.go to e.g., util_for_test.go might be enough to
avoid it being compiled with the regular code. We may want it to be
available to tests for other packages -- after all it is utilities for
testing -- so it goes in its own package.
2015-01-09 12:36:32 +00:00
Bryan Boreham
f70dfe9de8
Merge pull request #328 from squaremo/refactor_mdns
...
LGTM. Fixes #326
2015-01-09 12:32:35 +00:00
Michael Bridgen
15ebc2c9a7
Factor the making of handlers out
...
NB I removed free variables from the LookupFunc implementations, to
avoid confusion between `s` the receiver and the closed-over `s`.
Also corrected a mistake in the write error log message.
2015-01-09 12:29:28 +00:00
Ilya Dmitrichenko
b534076e11
Installation note for systemd
2015-01-09 12:00:13 +00:00
rade
5a12c4cf28
Merge pull request #332 from errordeveloper/password_env_var
...
Allow password to be specified in WEAVE_PASSWORD, pass that securely, and thus elminate the need for `-passwordfile`.
Closes #330 .
2015-01-09 10:05:12 +00:00
Ilya Dmitrichenko
5e08ba677e
Remove -passwordfile option
...
The only two options should be `-password` and `WEAVE_PASSWORD`.
2015-01-09 09:59:28 +00:00
Matthias Radestock
f7ad2cd5af
wait longer for ethwe interface to come up
...
in case we are running on a really, really slow machine/VM
2015-01-08 22:22:40 +00:00
Matthias Radestock
52506cb39a
ensure we have the weavetools image
...
prior to entering any time-sensitive code, in particular
post-container-startup network configuration.
2015-01-08 22:14:52 +00:00
Matthias Radestock
b1ca832ed5
re-instate 'make publish'
...
and call it from the release script
2015-01-08 20:06:00 +00:00
Matthias Radestock
89cb1af996
use new Makefile DOCKERHUB_USER override
2015-01-08 19:22:03 +00:00
Matthias Radestock
3090282a15
permit overriding of dockerhub user
2015-01-08 19:15:28 +00:00
Matthias Radestock
1a4aceea21
make various release script vars overridable
...
and pass SUDO to the `make` invocation
2015-01-08 19:05:25 +00:00
Bryan Boreham
f24edf755f
Add tests for server.go
2015-01-08 18:38:38 +00:00
Bryan Boreham
bd2844d186
Split http-startup code from server-startup
2015-01-08 18:38:38 +00:00
Michael Bridgen
89fa52818c
Account for PTR answers in mdns_client
...
En passant, ResponseA -> the more versatile Response.
2015-01-08 18:30:30 +00:00
Ilya Dmitrichenko
833fcce792
Use WEAVE_PASSWORD environment variable, if no args supplied
2015-01-08 17:08:35 +00:00
Ilya Dmitrichenko
5cbc4fa33d
Make passing of password more readable
2015-01-08 17:08:35 +00:00
Matthias Radestock
6c0218d26a
oops
2015-01-08 17:00:59 +00:00
Michael Bridgen
e9b84c968d
Clean up the mdns_server tests so we can test PTR queries
2015-01-08 15:32:59 +00:00
Michael Bridgen
dd6ca5ab92
Factor out the particulars of looking up A or PTR queries
2015-01-08 15:32:59 +00:00
Michael Bridgen
bf752d2d1f
Implement zone lookup with MDNSCLient
...
This separates Zone into the DB ops and the Lookup ops, and implements
the latter for MDNSClient so it can be used just like the zonedb.
A notable change is that Lookup methods only ever return one result,
while MDNSClient.SendQuery could in theory return multiple results
(though it wouldn't, because no server would supply more than one
result in a response, and it stops waiting after getting one response
..).
ReverseLookupLocal is implemented even though no MDNSServer will
answer at present (hence no test yet).
Lastly, the handler (creating) functions can now be given a list of
Lookup implementations to try in order.
2015-01-08 13:39:33 +00:00
Michael Bridgen
3866bd5e63
Parse reverse address lookup IPs in the Zone
...
.. rather than making clients of the zone do it. At the minute there's
only one call site, but soon there will be more.
2015-01-08 13:39:33 +00:00
Bryan Boreham
71d96eed7d
Merge pull request #320 from errordeveloper/fix_319
...
LGTM. Closes #319
2015-01-07 15:09:04 +00:00
Matthias Radestock
844fd54e18
less willing
2015-01-07 12:20:44 +00:00
Matthias Radestock
4ecd4e727f
rewording of must of the weaveDNS intro
2015-01-07 12:16:16 +00:00
Matthias Radestock
0777a1e3b0
cosmetic: remove trailing whitespace
2015-01-07 11:43:12 +00:00
Bryan Boreham
27f9a380e8
Explain weaveDNS configuration better
2015-01-07 11:34:16 +00:00
Ilya Dmitrichenko
9d48f942f8
Trim spaces in docker inspect format templates ( close #319 )
2015-01-06 15:46:22 +00:00
Matthias Radestock
978dc41e60
note that for app isolation CAP_NET_RAW needs to be dropped
...
See also #316
2015-01-06 09:39:17 +00:00
Matthias Radestock
cce5d2417a
make location of /proc overridable in script
...
useful for running weave inside a container
2015-01-04 13:07:52 +00:00
Matthias Radestock
79b1de5483
add 'sudo' to docker commands in release script
...
overridable with SUDO env var
2015-01-04 09:57:40 +00:00
Matthias Radestock
f4b3a68531
0.8.0 changelog
2015-01-04 09:32:45 +00:00
Matthias Radestock
ee7a3e48c9
weave setup to download all required docker images
...
Closes #308 .
2015-01-04 09:15:22 +00:00
rade
ba27fd6523
Merge pull request #309 from rade/101_eliminate_dependencies
...
eliminate dependency on ethtool and conntrack on host
Closes #101 .
2015-01-04 08:57:33 +00:00
Matthias Radestock
2d43b92572
display weavetools version
2015-01-02 18:29:52 +00:00
Bryan Boreham
e9469b88af
Add file init.go which was missed from previous refactor
2015-01-02 17:45:16 +00:00
Bryan Boreham
0af9b2cbab
Fix up nameserver tests for previous refactoring
2015-01-02 17:12:21 +00:00
Michael Bridgen
734a3abae8
Merge branch 'pr297'
2015-01-02 16:46:34 +00:00
Matthias Radestock
cd985c1bed
cosmetic: more idiomatic way of figuring out directory
2015-01-02 16:39:02 +00:00
Matthias Radestock
b8e4ad1314
add 'make update' to update dependencies
2015-01-02 16:35:51 +00:00
Matthias Radestock
da3d343f26
tidying: remove 'publish' targer from .PHONY
...
we forgot to do that when removing the target itsel
2015-01-02 16:27:37 +00:00
Matthias Radestock
618de144d9
update changelog entry for 0.7.0 to point out new download locations
2015-01-02 15:43:34 +00:00
Bryan Boreham
82b54aabcd
Move logging, updating and testing utils into common directory
2015-01-02 14:49:49 +00:00
Matthias Radestock
1fc37bf8df
update README
2015-01-01 12:14:11 +00:00
Matthias Radestock
e33885ecca
wire weavetools into release
2015-01-01 11:51:15 +00:00
Matthias Radestock
57e86a8796
update .gitignore
2015-01-01 11:50:51 +00:00
Matthias Radestock
eb628ec84a
invoke ethtool and conntrack from the weavetools image
2015-01-01 01:05:27 +00:00
Matthias Radestock
7b6ea37fea
wire in weavetools image build
...
We use a plain ubuntu container as a build environment for ethtool &
conntrack, so a) we don't require onerous tooling on the build host,
and b) don't pollute the build host with build artefacts. The latter
arise because I can only get conntrack to build by installing its
dependencies 'globally'.
Th dir containing the build script is volume-mounted into the
container, and that is where we also expect to see the result, namely
a 'bin' sub-dir containing two executables.
The weavetools image is then constructed from the 'scratch' image and
contains just that dir.
2015-01-01 00:57:02 +00:00
Matthias Radestock
dd34099e06
machinery to build ethtool and conntrack
2015-01-01 00:54:23 +00:00
Matthias Radestock
5da2219dc8
cosmetic: remove weaver/.gitignore
...
and handle that in the top-level .gitignore instead. Just as we do for weavedns.
2015-01-01 00:49:34 +00:00
Matthias Radestock
fd6f65e28f
correct markdown for changelog
2014-12-30 17:32:23 +00:00
Matthias Radestock
edabd8393d
cosmetic
2014-12-30 17:24:40 +00:00
Michael Bridgen
82423ad466
Merge branch 'pr306_lock_versions'
2014-12-30 17:22:34 +00:00
Michael Bridgen
5f69637f31
Merge branch '34_version_alignment' of https://github.com/rade/weave into pr306_lock_versions
2014-12-30 17:00:08 +00:00
Michael Bridgen
2a1a40c05e
Merge branch 'pr291_improve_testdev'
2014-12-30 16:55:01 +00:00
Matthias Radestock
2481079957
don't include image version when checking for existing containers
...
So we complain with "already running" rather than "Found another
running container" when encountering a 'weave' container running a
different image version. Similarly, we remove stopped 'weave'
containers regardless of version.
Ditto for weavedns.
Which is all how it used to work.
2014-12-30 16:49:41 +00:00
Michael Bridgen
87b3537b54
Merge branch 'improve_dev_and_test_env' of https://github.com/errordeveloper/weave into pr291_improve_testdev
2014-12-30 16:44:32 +00:00
Ilya Dmitrichenko
859878c004
Install latest Go toolchain on vagrant dev vms
2014-12-30 16:28:13 +00:00
Ilya Dmitrichenko
00832dcbb5
Ignore ssh know hosts for test vms
2014-12-30 16:28:03 +00:00
Matthias Radestock
57856a5584
align script and image versions
...
- released weave scripts run their corresponding image versions
- unreleased weave scripts run the 'latest'-tagged image versions
The image version to run can also be specified explicitly by setting
VERSION. Useful for testing, mainly.
2014-12-30 16:20:00 +00:00
Michael Bridgen
d3002384d7
Also push the :latest tags to Dockerhub when publishing
2014-12-30 16:01:10 +00:00
Michael Bridgen
a2fcda9267
Use the download URL for the latest release
2014-12-30 14:49:48 +00:00