Simple, resilient multi-host containers networking and more.
APACHE-2.0 License
Bot releases are visible (Hide)
Published by bboreham almost 9 years ago
This release contains a small number of bug fixes. More details in the
change log.
The release is fully compatible with 1.1.0 versions, so existing
clusters can be upgraded incrementally. When upgrading from 1.0.x,
note the compatibility information in the
Installation & Upgrading instructions for Weave 1.1.0.
bug fixes
testing
Published by rade about 9 years ago
This release contains a number of bug fixes and minor enhancements. More details below and in the change log.
Follow the installation instructions to install this latest release of Weave. The release is fully compatible with 1.1.0 versions, so existing clusters can be upgraded
incrementally. When upgrading from 1.0.x, note the compatibility information in the Installation & Upgrading instructions for Weave 1.1.0.
bug fixes
weave reset
could leave containers with dangling weavedocker run
against the proxy could result in av
prefix in a fewweave launch-proxy
would mis-report an already runningweave stop
advice regarding weave env --restore
had aminor enhancements
Published by awh about 9 years ago
Highlights
weave launch
now launches all weave components, simplifyingweave status
has been completely revamped, with a much improvedMore details below and in the change log.
Installation & Upgrading
Follow the installation instructions to install this latest release of weave.
If upgrading from weave 1.0.x, note that a cluster can be upgraded incrementally, with some caveats:
Any installation using weaveDNS will experience a rolling partition
of name resolution functionality, i.e. containers only see names
belonging to containers on weave peers with the same version.
weave launch
now launches all weave components, including
weaveDNS and the proxy.
For weaveDNS, if the existing installation was
weave launch-dns
and weave stop-dns
weave launch
invocation,--no-dns
option to weave launch
, though generally this shouldFor the proxy, if the existing installation was
weave launch-proxy
invocation and instead just invoke weave launch
weave launch-router && weave launch-proxy <options>
,weave launch-router
, though typically running weave launch
instead is fine, since launching the proxy is harmless.The default IP address allocation range has changed from
10.128.0.0/10
to 10.32.0.0/12
. If you are using weave's IP
address allocator, and are not explicitly specifying a range (with
-iprange
), then you need to force weave
to use the old range by specifying --ipalloc-range=10.128.0.0/10
.
weave proxy-env|proxy-config
are deprecated in favour of weave env|config
. The former still work but will display a deprecation
warning when invoked, so you should update any scripts to use the
new commands.
The proxy now listens on a unix domain socket instead of TCP/IP if that is how the launching environment connects to the Docker daemon. This is reflected in weave env|config
, so any local code/scripts using those to configure their connection to the proxy should be unaffected. However, if you have code/scripts that have the proxy's TCP/IP endpoint hard-coded, then you may need to force the proxy to listen on the TCP/IP, as it did previously, by launching it with weave launch-proxy -H tcp://0.0.0.0:12375
. Note that this potentially opens a security vulnerability, which is why it is no longer the default behaviour. Consider a) switching to unix domain sockets, if you are connecting to the proxy locally, b) restricting the network interfaces/IP addresses by supplying something other than 0.0.0.0
, or c) switching to TLS.
weaveDNS has far fewer options than previously. The removed options do not make sense in the new implementation and are unlikely to have been used in many installations, but if they were, simply removing them should be safe in most setups.
A number of options have been renamed. The old names still work but
you should update any scripts to use the new ones.
weave launch
launch the router, weaveDNS and the proxy. As aweave launch-router
and weave launch-proxy
. #382/#962/#1009/#1011/#1012, #1043/#1072weave status
.weave report
produces a status report in JSON format, with the--<option>=
notation is supported, and--dns-
. All old option names have been retained for backwardweave launch
. #1321/#1324eval $(weave env)
when the command--init-peer-count
to usage output, from which it wasweave --help|help
work even when we cannot communicate withweave launch
. #992/#993--log-level
option for better control over log--no-default-ipam
option to --no-default-ipalloc
. The-D
option since it wasn't doing anything useful. #972/#978weave proxy-env|proxy-config
with weave env|config
. The former still work but will display a deprecationweave env --restore
,weave env
. This wouldweave stop|reset
. #1288/#1327/etc/hosts
so that hostname -i
returns the weave IPhostname -i
, and its equivalent system call,--no-rewrite-hosts
proxy--rewrite-inspect
docker inspect
return the weave network settings (such as thedocker inspect
output. #117/#212/#1199/#1222/#1376, #1390/#1391--net=host
or --net=container:...
. In particular, containers--net=none
now get attached. #1302/#1303--net=container:(another container with weave networking)
to be specified at container start--volume-driver
weave attach|detach
weave expose|hide
weave status dns
now lists all DNS records, system-wide, notping foo
now works (previously only ping foo.weave.local
weave dns-lookup
weave expose
, for accessing containers from the host. #1028/#1135weave dns-add|dns-remove
/etc/resolv.conf
;10.128.0.0/10
to 10.32.0.0/12
to avoid clashes with subnets used-iprange
and -ipsubnet
options have been renamed to--ipalloc-range
and --ipalloc-default-subnet
, to make theirweave launch
from failing when weave expose
hadworks.weave.role=system
. #1290Published by awh about 9 years ago
This release contains minor fixes for improved stability and robustness in addition to a bug fix to weaveDNS.
More details below and in the change log.
Follow the installation instructions to install this latest release of Weave. The release is fully compatible with other 1.0.x versions, so existing clusters can be upgraded
incrementally.
weave reset
handling of error conditions. #1356/#1365Published by rade about 9 years ago
This release fixes a number of bugs, including some security vulnerabilities in the Weave Docker API proxy, hangs and failures in address allocation, and sporadic failures in name resolution.
More details below and in the change log.
Follow the installation instructions to install this latest release of Weave. The release is fully compatible with other 1.0.x versions, so existing clusters can be upgraded incrementally.
docker exec
would fail for containers not attached to the weave--net=host
)weave run
via the proxy could get an/w/w
entrypoints, instead of a single one, could bedocker commit
ting containers on the weave network. This does notdocker ps
. #979/#980DOCKER_BRIDGE
. #1109/#1136/#1137weave launch
could hang when restarting a weave peer in aweave expose
. #700/#1083/#1104-iprange
overlaps with aweave run
was invoked with --dns-search=<arg>
, instead of--dns-search <arg>
, the weavedns domain (typically weave.local
)weave attach
on a container that was started in the host network--net=host
) would succeed - even though it shouldn't -Published by rade over 9 years ago
This is a bug fix release, addressing the following issue:
docker run
from a Docker 1.7 client against the weaveno such image
error when the requested imagePublished by bboreham over 9 years ago
Highlights:
It is now easier than ever to start containers and for them to communicate, across multiple hosts. Automatic IP address allocation, and name resolution via weaveDNS are now enabled by default, and the proxy has become more fully-featured. In short, once weave has been launched the following is possible:
host1$ docker run --name=pingme -dti ubuntu
host2$ docker run -ti ubuntu
root@d11e9287f65b:/# ping pingme
Containers can now be
load-balanced
easily.
IP address allocation is now available across multiple
subnets,
and hence can be employed when running multiple, isolated
applications.
The proxy now supports TLS
connections,
enabling its deployment when the communication between docker
clients and the server must be secured.
There are many other new features, plus the usual assortment of bug fixes and improvements under the hood. More detail below and in the change log.
NB: This release changes the weave protocol version. Therefore, when upgrading an existing installation, all hosts need to be upgraded in order to for them to be able to communicate and form a network.
net:<cidr>
as the address. #675/#827weave launch-dns
get an automatically allocated IP address ifweave detach
with no addresses now detaches the container from theweave dns-remove
. #631/#706--no-default-ipam
is specified. #940/#947, #950/#952weave proxy-env
and weave proxy-config
weave stop-proxy
command. #754/#790weave status
docker ps
. #768/#769weave connect --replace
to replace command line peerweave connect/forget
with multiple-nodisco
option to weave launch
to disable peer discovery-initpeercount
. #758/#946weave launch/launch-dns/launch-proxy
, since thatweave status
fail when weave isn't running, which is usefulDOCKERHUB_USER
. #887weave start
using aweave detach
ing an automatically allocated IP address. #861/#827weave ...
command executionweave run
was terminating silently when weave got stopped duringweave --local run
, without further arguments, would show theweave --local ...
on a system w/o nsenter
wouldweave launch
argument before -password, -port, orPublished by dpw over 9 years ago
Weaving Containers into Applications
Published by awh over 9 years ago
This is a bug fix release, addressing the following issues:
weave run
did not respect DOCKER_CLIENT_ARGS. #855/#856/#857/#858More details in the change log.
NB: This release does not change the weave protocol version.
Therefore, when upgrading an existing 0.11 installation incrementally,
connectivity between peers will be retained.
Published by paulbellamy over 9 years ago
This is a bug fix release, addressing the following issues:
weave launch-proxy --with-ipam
failed to configure the entrypointWEAVE_CIDR
wasweave status
output for the IP Allocator was misleadinglyweave launch-proxy
twice, the second invocationweave launch-proxy
was not respecting WEAVEPROXY_DOCKER_ARGS, so/containers/create
JSON were missing. We are not aware of anyMore details in the change log.
NB: This release does not change the weave protocol version. Therefore, when upgrading an existing 0.11 installation incrementally, connectivity between peers will be retained.
Published by bboreham over 9 years ago
Highlights:
docker run
, or the Docker remote API, to the weave network.More detail below and in the change log.
NB: This release changes the weave protocol version. Therefore, when upgrading an existing installation, all hosts need to be upgraded in order to for them to be able to communicate and form a network.
weave expose
from breaking container connectivity in otherweave expose
from breaking subnet isolation. #620/#704weave
inside a container that has$PROCFS
set. #621/#622weave launch-dns
that could result in some existingweave expose
. #22/#563,#485,#567,#670,#679/#685,#672/#686,#671/#689,#669/#691,#681,#677/#693,#695.#692/#696,#684/#701,#705/#719,#723/#724docker run
, or the Docker remote API, to the weave network. The proxy--rm
). #47,#230,#251,#400,#652,#655,#698,#702,#703,#708/#713,#709/#714,#707/#718,#657/#721,#738DOCKER_CLIENT_ARGS
env var,WEAVE_DEBUG
env var. #618weave launch
failure edge case. #600/#603weave detach
from anweave version
cope with missing Docker images. #597/#614weave launch-dns
. #393--with-dns
fromvagrant provision
idempotent. #586nsenter
instead of ip netns exec
. #458/#580Published by rade over 9 years ago
Highlights:
weave status
.More detail below and in the change log.
NB: This release changes the Weave Docker image names. To upgrade from an older version, 1) stop all application containers, 2) run weave reset
from the old version to remove all traces of weave, and only then 3) install the new version.
weave status
hanging, and generalweave expose
edweave launch
, weave run
and others as network configuration error. #522DOCKER_HOST
), and makes it possible to run weave purely through docker and without any shell access to the host. #312/#388,#379,#540/#542/#545,#507/#523/#546,#574/#575weave forget <peer>
weave ps
. #526weave launch
synchronous, which is useful for automation. #500/#509/#538weave connect
act immediately, instead of waiting for theweave status
. #552weave status
. #237/#266/#465weave expose
d addresses in weave ps
weave.local
#366/#394,#573/#581weave expose
dweave stop/stop-dns/reset
, bydocker stop
instead of docker kill
. #512WEAVE_PORT
WEAVEDNS_DOCKER_ARGS
. #484,#487Published by rade over 9 years ago
Published by rade almost 10 years ago
weave
script has a version number, i.e. it is part of an official release, it runs docker images matching that version. Thus the script and image versions are automatically aligned. Unversioned/unreleased weave
scripts run the 'latest'-tagged image versions.weavetools
docker image that contains minimally packaged versions of these utilities.weave setup
command. This downloads all docker images used by weave. Invoking this is strictly optional; its main purpose is to facilitate automated installation of weave and preventing delays in subsequent weave command execution due to image downloading.Published by squaremo almost 10 years ago
This is the first release assigned a version number.
When downloading weave you now have the following choices...
Previously the only documented download location was (3). We recommend
that any automated scripts using that be changed to either (1) or (2).