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

Weave 1.2.0

Compare
Choose a tag to compare
@bboreham bboreham released this 22 Oct 12:09
· 3728 commits to master since this release

Highlights

This release introduces the Fast Data Path, which allows Weave networks to operate at near wire-level speeds. This new feature is enabled by default.

Other highlights:

  • auto-configuration of TLS for the Weave Docker API proxy, making it
    easier to run Weave on Macs and in conjunction with tools like
    Docker Swarm
  • support for Docker restart policies on application containers and weave
    infrastructure containers
  • better compatibility with recent and future Docker versions

More details below and in the change log.

Installation and Upgrading

Follow the installation instructions to install this latest release of weave.

Weave 1.2.0 is fully compatible with Weave 1.1.x, so it is possible to upgrade clusters incrementally and run mixed versions. If upgrading from Weave 1.0.x, take into account the Weave 1.1.0 upgrading instructions.

(Once upgraded, if you then decide to re-install weave 1.1 take care to run weave reset before downgrading. Failing that, reboot the machine)

Changes

Router

Docker API proxy

  • auto-configure
    TLS
    . This
    simplifies setting up weave on Mac OSX and other platforms where
    Docker is only accessible via TLS. #1285/#1414/#1441/#1442, #1407
  • when containers started via the proxy are restarted by Docker, the
    proxy automatically re-attaches them to the weave
    network. #401/#1210/#1456, #1547/#1551, #1542/#1560
  • when the weave router is restarted by Docker, the proxy
    automatically re-attaches it to the weave network. #401/#1358/#1518
  • cope with HostConfig on start, which is a backward compatibility
    feature of the Docker API used by some
    applications. Previously, containers started that way would end up
    with a broken configuration, such as lack of DNS
    settings. #1368/#1449, #1481/#1488, #1531/#1532/#1534
  • work with non-default logging driver. Previously this would cause
    the proxy launch to report a failure even when it
    succeeded. #1453/#1472/#1474,#1519/#1520, #1527/#1528
  • improve Docker version compatibility. New (present and future)
    Docker features and associated changes to the Docker Remote API are
    now handled correctly in the vast majority of cases. #1371/#1395
  • log requests/responses when running with
    --log-level=debug. #1515/#1536
  • remove /var/run/weave.sock symlink, which was there for backward
    compatibility with weave 1.0. Newer versions use
    /var/run/weave/weave.sock. #1492/#1495

IP Address Allocator

  • gracefully handle situations where IP address allocation has been
    seeded by different peers, e.g. because incorrect
    --init-peer-count values were specified. Previously this could
    cause the router to crash or log obscure errors. Now it causes the
    connection between the incompatibly-initialised peers to be dropped,
    with an intelligible error in the logs and weave status connections output. #1178/#1463/#1499
  • do not allocate IP addresses in weave detach/hide. This was
    causing these commands to hang when IP address allocation was
    deferred (e.g. due to the lack of initial consensus or free
    addresses). #860/#1503
  • prevent stall of docker run/start and weave run/attach when a
    container dies just before IP address allocation, and IP address
    allocation is deferred (e.g. due to the lack of initial consensus or
    free addresses). #1459/#1512

Naming and Discovery (weaveDNS)

CLI

  • correctly report the version of snapshot releases. #1341/#1415
  • rename VERSION env var to WEAVE_VERSION, to prevent accidental
    conflicts. #1389
  • start temporary containers without networking, where possible, which speeds up some weave commands. #1572

Build & Test

  • make weave build & work with Go 1.5. #1386/#1393/#1412/#1436
  • switch from 'gliderlabs/alpine' to 'alpine' images, since the latter
    is now the official name for this image. #1388
  • restrict coverage reporting to sub-packages of 'weave', thus
    producing more accurate coverage statistics. #1524
  • add test for using sub-domains with weaveDNS. #1446
  • fix a race condition in an integration test that lead to sporadic
    failures. #1502/#1537
  • work around a bug in Docker 1.9rc1 that breaks an integration test. #1565/#1569
  • use test scripts from build-tools
    repo
    , for sharing with
    other projects. #1470
  • run unit tests in a separate container (instead of the build
    container) in CircleCI. #1204/#1469
  • build GCE test image on demand, streamlining the workflow for
    updating the images. #1468/#1494