diff --git a/README.md b/README.md
index dc35e7ff65ea0fa4ca0d541666077330b69505fd..795ba9a13ac8df29a621f4039aacd1f7b50a7388 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[![Build Status](https://travis-ci.org/ansibl8s/setup-kubernetes.svg)](https://travis-ci.org/ansibl8s/setup-kubernetes)
+[![Build Status](https://travis-ci.org/kubespray/setup-kubernetes.svg)](https://travis-ci.org/kubespray/setup-kubernetes)
 kubernetes-ansible
 ========
 
@@ -27,6 +27,7 @@ in order to avoid any issue during deployment you should disable your firewall
 * [etcd](https://github.com/coreos/etcd/releases) v2.2.4
 * [calicoctl](https://github.com/projectcalico/calico-docker/releases) v0.16.0
 * [flanneld](https://github.com/coreos/flannel/releases) v0.5.5
+* [weave](http://weave.works/) v1.4.4
 * [docker](https://www.docker.com/) v1.9.1
 
 Quickstart
@@ -143,12 +144,14 @@ In order to do so, some variables have to be used '**loadbalancer_apiserver**' a
 
 
 ### Network Plugin
-You can choose between 2 network plugins. Only one must be chosen.
+You can choose between 3 network plugins. Only one must be chosen.
 
 * **flannel**: gre/vxlan (layer 2) networking. ([official docs](https://github.com/coreos/flannel))
 
 * **calico**: bgp (layer 3) networking. ([official docs](http://docs.projectcalico.org/en/0.13/))
 
+* **weave**: Weave is a lightweight container overlay network that doesn't require an external K/V database cluster. ([official docs](http://weave.works/docs/))
+
 The choice is defined with the variable **kube_network_plugin**
 
 
diff --git a/inventory/group_vars/all.yml b/inventory/group_vars/all.yml
index 2cc35d7072996e4fd6ed086795b5f7ab3fd8142a..4c4d4b4fb4e2d57679948a0c7cec0a4df4288ec9 100644
--- a/inventory/group_vars/all.yml
+++ b/inventory/group_vars/all.yml
@@ -46,7 +46,7 @@ cluster_name: cluster.local
 # but don't know about that address themselves.
 # access_ip: 1.1.1.1
 
-# Choose network plugin (calico or flannel)
+# Choose network plugin (calico, weave or flannel)
 kube_network_plugin: calico
 
 # Kubernetes internal network for services, unused block of space.
diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index f35c1a2a08ffb8712b7162f749a6f95ef7a703f0..9a5ba380b34e4bce25b2f246dbff412e0d4b1bb8 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -6,6 +6,7 @@ kube_version: v1.1.4
 etcd_version: v2.2.4
 calico_version: v0.16.0
 calico_cni_version: v1.0.0
+weave_version: v1.4.4
 
 # Download URL's
 kube_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/amd64"
@@ -13,7 +14,7 @@ etcd_download_url: "https://github.com/coreos/etcd/releases/download/{{ etcd_ver
 calico_download_url: "https://github.com/Metaswitch/calico-docker/releases/download/{{calico_version}}/calicoctl"
 calico_cni_download_url: "https://github.com/projectcalico/calico-cni/releases/download/{{calico_cni_version}}/calico"
 calico_cni_ipam_download_url: "https://github.com/projectcalico/calico-cni/releases/download/{{calico_cni_version}}/calico-ipam"
-weave_download_url: "http://git.io/weave"
+weave_download_url: "https://github.com/weaveworks/weave/releases/download/{{weave_version}}/weave"
 
 # Checksums
 calico_checksum: "cfbbcad4b3b7d79be9a25bcdc153ec1d139eecd54840914a363b0710eebc5c51"
diff --git a/roles/network_plugin/weave/defaults/main.yml b/roles/network_plugin/weave/defaults/main.yml
deleted file mode 100644
index e648133bc56345b92513074cf07d6e2b642a85d6..0000000000000000000000000000000000000000
--- a/roles/network_plugin/weave/defaults/main.yml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-
-# Flannel public IP
-# The address that flannel should advertise as how to access the system
-flannel_public_ip: "{{ access_ip|default(ip|default(ansible_default_ipv4.address)) }}"
-
-## interface that should be used for flannel operations
-## This is actually an inventory node-level item
-# flannel_interface:
-
-# cloud_provider: no
\ No newline at end of file
diff --git a/roles/network_plugin/weave/templates/docker b/roles/network_plugin/weave/templates/docker
index eefd150e1b1cd7093d82c71cb31f6a5851b0ee5b..970ea051dd961d85c091cfee96448152d54f1044 100644
--- a/roles/network_plugin/weave/templates/docker
+++ b/roles/network_plugin/weave/templates/docker
@@ -1,6 +1,2 @@
 # Deployed by Ansible
-{% if init_system == "sysvinit" and kube_network_plugin == "flannel" and ansible_os_family == "Debian" %}
-DOCKER_OPTS="--bip={{ flannel_subnet }} --mtu={{ flannel_mtu }}"
-{% elif kube_network_plugin == "flannel" %}
-OPTIONS="--bip={{ flannel_subnet }} --mtu={{ flannel_mtu }}"
-{% endif %}
+DOCKER_OPTS=""
diff --git a/roles/network_plugin/weave/templates/weave b/roles/network_plugin/weave/templates/weave
deleted file mode 100644
index 2390bc4727ddfd18b98cc80d685138264e4132fe..0000000000000000000000000000000000000000
--- a/roles/network_plugin/weave/templates/weave
+++ /dev/null
@@ -1,4 +0,0 @@
-PEERS="{% for host in groups['k8s-cluster'] %}{{ hostvars[host]['ip'] | default( hostvars[host]['ansible_default_ipv4']['address']) }}{% if not loop.last %} {% endif %}{% endfor %}"
-{% if weave_password is defined %}
-WEAVE_PASSWORD="{{ weave_password }}"
-{% endif %}
diff --git a/roles/network_plugin/weave/templates/weave.j2 b/roles/network_plugin/weave/templates/weave.j2
index 87c4b91b72daa6a24bc2acd626658a8581a4d7e9..865eb96a7d0239c6202fa5f4e94c2559e14ddab4 100644
--- a/roles/network_plugin/weave/templates/weave.j2
+++ b/roles/network_plugin/weave/templates/weave.j2
@@ -1,4 +1,4 @@
-WEAVE_PEERS="{% for host in groups['k8s-cluster'] %}{{ hostvars[host]['ip'] | default( hostvars[host]['ansible_default_ipv4']['address']) }}{% if not loop.last %} {% endif %}{% endfor %}"
+WEAVE_PEERS="{% for host in groups['k8s-cluster'] %}{{ hostvars[host]['access_ip'] | default(hostvars[host]['ip'] | default(hostvars[host]['ansible_default_ipv4']['address'])) }}{% if not loop.last %} {% endif %}{% endfor %}"
 WEAVEPROXY_ARGS="--rewrite-inspect --without-dns"
 WEAVE_SUBNET="--ipalloc-range {{ kube_pods_subnet }}"
 {% if weave_password is defined %}