Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Weave 0.11.0

Compare
Choose a tag to compare
@bboreham bboreham released this 26 May 14:50
· 5375 commits to master since this release

Highlights:

  • automatic IP Address Management
    (IPAM)
    ,
    which allows application containers to be started and attached to
    the weave network without needing to supply an IP address.
  • proxy for
    automatically attaching containers started with ordinary docker run, or the Docker remote API, to the weave network.
  • ability to add/remove extra DNS
    records
    .
  • performance and scalability improvements
  • fixes for a small number of bugs discovered during testing

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.

bug fixes

  • eliminate a deadlock in route calculation, which could be
    encountered when large numbers of peers join or leave the weave
    network near-simultaneously. #643/#644
  • prevent certain stray UDP packets from stalling the entire UDP
    receiver loop when crypto is in use. #564/#617
  • prevent weave expose from breaking container connectivity in other
    subnets. #605/#628
  • prevent weave expose from breaking subnet isolation. #620/#704
  • fix breakage when running weave inside a container that has
    $PROCFS set. #621/#622
  • fix bug in weave launch-dns that could result in some existing
    containers not being recorded in weaveDNS if one of them got stopped
    and removed during the weaveDNS launch. #690
  • fix a dormant bug in the peer connection shutdown logic. #731

new features

other improvements

  • significantly simplify
    crypto
    implementation. #608
  • simplify and significantly improve performance of topology gossip,
    as a result of which weave can cope much better with situations
    where are large number of peers join or leave near- simultaneously,
    e.g. on startup of large clusters, or in the event of a network
    partition. #519/#619
  • better error handling in a weave launch failure edge case. #600/#603
  • prevent misleading error when attempting to weave detach from an
    unattached container. #596/#613
  • make weave version cope with missing Docker images. #597/#614
  • report errors encountered when populating DNS in weave launch-dns. #393
  • report more descriptive error when weave was compiled against too
    old a version of libpcap. #623/#625
  • return NXDOMAIN instead of NOTIMP for query types not handled by
    WeaveDNS, which is the expected response. #588/#589
  • bump minimum Docker version requirement for use of --with-dns from
    1.2.0 to 1.3.1, due to the former not setting container hostnames
    correctly. #587
  • bump minimum Linux kernel version requirement for running Weave from
    3.5.0 to 3.8.0, due to some bugs in namespace support in the
    former that break Weave. #585/#616
  • remove a layer from the weaveexec image, thus reducing download
    times. #665
  • various documentation cleanups and improvements. #601,#640,#651,#653,#667,#648,#740

improvements to tests, and refactoring

  • add more smoke tests, improve existing tests, and make them more
    robust. #590,#591/#594,#595,#592/#606,#683,#712
  • automatically run smoke tests on
    CircleCI. #624,#634,#637,#638
  • make top-level vagrant provision idempotent. #586
  • use nsenter instead of ip netns exec. #458/#580
  • internal changes for future support of multiple DNS responses. #559
  • some code cleanup in DNS. #609,#610
  • refactor signal handling in Weave and WeaveDNS. #633