Commit Graph
165 Commits
Author SHA1 Message Date
Matthias Radestock d2bd78435e add 'weave reset'
Closes #20.
2014-09-15 12:43:58 +01:00
Matthias Radestock 8297fef53d remove WEAVE iptable chain on 'weave stop'
No point keeping it around.

Also, simplify idempotence of masquerading setup.

Follow-up to issue #48.
2014-09-15 12:03:29 +01:00
Matthias Radestock 2f1359ae9f remove masquerading rules on 'weave stop/launch'
Leaving iptable masquerading rules behind is a bad idea when weave is
re-launched with different ip subnet settings. So now we remove the
rules on 'weave stop' and also on 'weave launch' (in case weave had
been stopped in ways other than 'weave stop').

To make the rule removal easier, we create the rules in a user-defined
WEAVE chain.

Note that this will break old weave installations, since the rules
created by those are left behind. Easiest upgrade path is to restart
the machine. Or, for the brave, run `iptables -t nat -S POSTROUTING | grep weave | sed 's/^\-A/-D/g' | while read line; do iptables -t nat $line; done`.

Fixes #48
2014-09-15 11:34:57 +01:00
Matthias Radestock f10c460f48 leave networking alone on 'weave launch' unless we start container 2014-09-14 19:31:27 +01:00
Matthias Radestock 4c93991651 ignore conntrack result in 'weave stop'
so we exit with status 0, since not having any existing flows is
perfectly normal
2014-09-14 19:08:00 +01:00
Matthias Radestock 948312f03d refactor: extract container network configuration
and use more function parameters in preference to global vars
2014-09-13 21:45:42 +01:00
Matthias Radestock c845ba7872 remove detritus
we haven't depended on pipework for a while
2014-09-13 20:48:49 +01:00
Matthias Radestock 6eb7e1aa43 disable offloading on weave bridge
since w/o it the kernel just ignores the PMTU when the host talks to
weave via 'weave expose'

Fixes #52
2014-09-13 19:58:54 +01:00
Matthias Radestock b4791be4f4 refactor: extract command checking helper 2014-09-13 19:47:38 +01:00
Matthias Radestock a53c817b8d create bridge in 'weave expose/hide'
since they really need the bridge
2014-09-13 17:44:29 +01:00
Matthias Radestock 1fac995248 work around 'docker rm -f' weirdness
I've been seeing

~# docker rm -f weave
Error response from daemon: Cannot destroy container weave: Driver devicemapper failed to remove root filesystem 29e46c3e400ee3c8654f2b06a0f6d97bde98dfeb9bb61d25195dba38c04324fc: Device is Busy

whereas the corresponding two-step 'docker kill' + 'docker rm' works
fine.
2014-09-13 07:51:06 +01:00
Bryan Boreham 9be3a11e10 cosmetic 2014-09-12 18:04:18 +01:00
Bryan Boreham 21bec9fc78 Add a -version command to weave and weaver, implemented by embedding the build date by the makefile 2014-09-12 17:53:06 +01:00
Bryan Boreham 6483c89a2b Factor out commands implemented via the REST interface 2014-09-12 17:51:30 +01:00
Bryan Boreham ef35839d4b Merge remote-tracking branch 'upstream/master' into 23_retry_peers 2014-09-11 19:32:12 +01:00
adieu a91357978d Add attach command to weave. 2014-09-12 00:36:21 +08:00
Matthias Radestock 51afd5e9c6 make 'weave launch' cope gracefully with existing 'weave' containers
Fixed #31
2014-09-11 07:56:26 +01:00
Matthias Radestock 710cf7ea8a nicer error on 'weave stop' and make it idempotent 2014-09-11 07:33:02 +01:00
Matthias Radestock b6351acb66 simplify error message 2014-09-11 07:19:14 +01:00
Matthias Radestock dbbb8c690a nicer error message on 'weave status' when there is no weave container. 2014-09-11 07:15:15 +01:00
Matthias Radestock 96766db5f0 consistency 2014-09-11 07:12:49 +01:00
Matthias Radestock 8cb79145fa Merge branch '23_retry_peers' of https://github.com/bboreham/weave into bboreham-23_retry_peers 2014-09-10 16:34:10 +01:00
Matthias Radestock 42b7abba10 no need to expose ports
since 'weave launch' publishes them anyway
2014-09-10 12:13:15 +01:00
Matthias Radestock 6f3de33318 gm fmt 2014-09-08 17:37:34 +01:00
Bryan Boreham 16e9daf057 Reformatted with 'go fmt' 2014-09-08 16:25:55 +01:00
Bryan Boreham dec794eb72 Remove all references to PeerName in ConnectionMaker 2014-09-08 15:05:50 +01:00
Bryan Boreham b69682a626 Merge remote-tracking branch 'upstream/master' into 23_retry_peers 2014-09-05 19:03:49 +01:00
Matthias Radestock 8e6a9fb9b8 explain the 'iptables -w' check 2014-09-05 14:35:43 +01:00
David Wragg 91268fa0ba Check that 'iptables -w' is supported before using it
'-w' was only introduced in a recent version of iptables.  It means
"Wait for the xtables lock", so it seems reasonable to proceed without
it for older versions.
2014-09-05 12:51:41 +01:00
Bryan Boreham a5be96d35f Kick off the first connection attempt to each peer using ConnectionMaker instead of calling CreateConnection directly. 2014-09-05 11:11:38 +01:00
Bryan Boreham 733af3f108 Swap round 'status' and 'stop' in usage 2014-09-04 15:24:18 +01:00
Bryan Boreham c930ef38dc Improved error message on http ListenAndServe 2014-09-04 14:59:48 +01:00
Bryan Boreham 04ca3d2469 Addressed various points raised in review: error-handling, simplified Fprint call 2014-09-04 14:44:42 +01:00
Bryan Boreham 67d8220bdf Convert one further use of 'command -v' into the function command_exists 2014-09-04 13:04:19 +01:00
Bryan Boreham 43d8781fdd Merge remote-tracking branch 'upstream/master' into 11_http_interface
Conflicts:
	consts.go
	weaver/weave
2014-09-04 13:02:14 +01:00
Matthias Radestock a7e44b44dc match on bridge name in iptable masquerade rules
Instead of ip/netmask. This should be functionally equivalent (for
now), and makes it easier to identify the rule as belonging to
weave. Unfortunatley we must still match the source with ip/netmask,
since we are in the POSTROUTING chain and source interface matches
aren't valid there.

See also issue #20.
2014-09-03 19:09:52 +01:00
Matthias Radestock 0767964934 introduce 'weave hide' 2014-09-03 11:17:24 +01:00
Matthias Radestock d0dc7b7556 'service import' feature 2014-09-03 09:05:59 +01:00
Matthias Radestock 0a7df2220c introduce 'weave stop'
which, as well as stopping&removing the weave container also clears
the UDP connection tracking for the weave port, without which UDP
connections to a quickly (<3min) re-started weave would fail.

Fixes #18
2014-09-01 16:08:47 +01:00
Matthias Radestock 971f6a63fd Turns out one OS thread isn't enough 2014-08-31 14:43:06 +01:00
Matthias Radestock 731454a406 introduce 'weave expose'
which simplifies access to containers from the host, as well as
external access.
2014-08-30 15:40:50 +01:00
Matthias Radestock b9be18c386 set up masquerading as part of 'weave launch'
thus simplifying external access
2014-08-30 14:25:00 +01:00
Matthias Radestock 3107aba53f unbreak script
I have no idea why this matters
2014-08-29 17:40:38 +01:00
Matthias Radestock d0d8949f72 make 'weave <unknown_command>' a no-op 2014-08-29 16:20:41 +01:00
Matthias Radestock 51a33929ea remove unused var 2014-08-29 16:17:10 +01:00
Matthias Radestock 2c88710d62 we only need the bridge address when launching weave 2014-08-29 16:16:16 +01:00
Matthias Radestock 180c142964 move the most important check first 2014-08-29 16:12:44 +01:00
Matthias Radestock d8cc45c650 fix weave arg count check 2014-08-29 16:10:29 +01:00
Bryan Boreham 48bcaa7851 Pull out ugly 'command -v' code to a utility function 2014-08-29 15:49:25 +01:00
Bryan Boreham c8da7131a5 Add back the usage test for two arguments, except when the command is 'status' 2014-08-29 15:35:27 +01:00