Weave Net Kubernetes Addon breaks if you set WEAVE_EXPOSE_IP to 'true'

What you expected to happen?
I was expecting the kubernetes cluster to become available.
What happened?
Kubelet gets stuck thinking that there is no network because something is off with the weave network.  The following is just repeated over and over for minutes before bootkube fails with a timeout.
core@ip-10-156-51-56 ~ $ journalctl -u kubelet --no-pager
<snip>
Mar 22 15:57:36 ip-10-156-51-56.eu-west-2.compute.internal kubelet-wrapper[2011]: W0322 15:57:36.430564    2011 cni.go:203] Unable to update cni config: No networks found in /etc/cni/net.d
Mar 22 15:57:36 ip-10-156-51-56.eu-west-2.compute.internal kubelet-wrapper[2011]: E0322 15:57:36.431122    2011 kubelet.go:2192] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
Mar 22 15:57:41 ip-10-156-51-56.eu-west-2.compute.internal kubelet-wrapper[2011]: W0322 15:57:41.431827    2011 cni.go:203] Unable to update cni config: No networks found in /etc/cni/net.d
Mar 22 15:57:41 ip-10-156-51-56.eu-west-2.compute.internal kubelet-wrapper[2011]: E0322 15:57:41.432423    2011 kubelet.go:2192] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
Mar 22 15:57:46 ip-10-156-51-56.eu-west-2.compute.internal kubelet-wrapper[2011]: W0322 15:57:46.433008    2011 cni.go:203] Unable to update cni config: No networks found in /etc/cni/net.d
Mar 22 15:57:46 ip-10-156-51-56.eu-west-2.compute.internal kubelet-wrapper[2011]: E0322 15:57:46.433574    2011 kubelet.go:2192] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
</snip>

as far as I can tell, weave-net initialised correctly on the host
core@ip-10-156-51-56 ~ $ ls /etc/cni/net.d/
10-weave.conflist
core@ip-10-156-51-56 ~ $ ls /opt/cni/bin/
weave-ipam  weave-net  weave-plugin-2.5.1
core@ip-10-156-51-56 ~ $ docker ps
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS               NAMES
0f9f533a38ae        weaveworks/weave-npc    "/usr/bin/weave-npc"     20 minutes ago      Up 20 minutes                           k8s_weave-npc_weave-net-7pmff_kube-system_9482aed0-4cb8-11e9-8b26-061266d489dc_0
f2f112f25bc7        weaveworks/weave-kube   "/home/weave/launch.…"   20 minutes ago      Up 20 minutes                           k8s_weave_weave-net-7pmff_kube-system_9482aed0-4cb8-11e9-8b26-061266d489dc_0
695d737ccc94        4210ba88d9e7            "./hyperkube proxy -…"
INFO: 2019/03/22 15:38:52.846476 Our name is e2:13:8d:24:46:21(ip-10-156-51-56.eu-west-2.compute.internal)
INFO: 2019/03/22 15:38:52.846538 Launch detected - using supplied peer list: [<IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>]
INFO: 2019/03/22 15:38:52.858187 Unable to fetch ConfigMap kube-system/weave-net to infer unique cluster ID
INFO: 2019/03/22 15:38:52.858224 Checking for pre-existing addresses on weave bridge
INFO: 2019/03/22 15:38:52.862772 [allocator e2:13:8d:24:46:21] No valid persisted data
INFO: 2019/03/22 15:38:52.876588 [allocator e2:13:8d:24:46:21] Initialising via deferred consensus
INFO: 2019/03/22 15:38:52.877081 Sniffing traffic on datapath (via ODP)
INFO: 2019/03/22 15:38:52.881750 Listening for HTTP control messages on <IP_ADDRESS>:6784
INFO: 2019/03/22 15:38:52.882076 Listening for metrics requests on <IP_ADDRESS>:6782
INFO: 2019/03/22 15:38:52.894092 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:52.894278 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:52.894374 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:52.894466 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:52.894598 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:52.894692 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:52.894975 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:52.895061 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:52.895128 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:52.895301 ->[<IP_ADDRESS>:35567] connection accepted
INFO: 2019/03/22 15:38:52.896260 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:52.896340 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:52.896946 ->[<IP_ADDRESS>:35567|e2:13:8d:24:46:21(ip-10-156-51-56.eu-west-2.compute.internal)]: connection shutting down due to error: cannot connect to ourself
INFO: 2019/03/22 15:38:52.897168 ->[<IP_ADDRESS>:6783|e2:13:8d:24:46:21(ip-10-156-51-56.eu-west-2.compute.internal)]: connection shutting down due to error: cannot connect to ourself
INFO: 2019/03/22 15:38:53.641527 [kube-peers] Added myself to peer list &{[{e2:13:8d:24:46:21 ip-10-156-51-56.eu-west-2.compute.internal}]}
DEBU: 2019/03/22 15:38:53.649488 [kube-peers] Nodes that have disappeared: map[]
Usage:

weave --help | help
      setup
      version

weave launch        [--password <pass>] [--trusted-subnets <cidr>,...]
                    [--host <ip_address>]
                    [--name <mac>] [--nickname <nickname>]
                    [--no-restart] [--resume] [--no-discovery] [--no-dns]
                    [--ipalloc-init <mode>]
                    [--ipalloc-range <cidr> [--ipalloc-default-subnet <cidr>]]
                    [--plugin=false] [--proxy=false]
                    [-H <endpoint>] [--without-dns] [--no-multicast-route]
                    [--no-rewrite-hosts] [--no-default-ipalloc]
                    [--hostname-from-label <labelkey>]
                    [--hostname-match <regexp>]
                    [--hostname-replacement <replacement>]
                    [--rewrite-inspect]
                    [--log-level=debug|info|warning|error]
                    [--token <weave-cloud-service-token>]
                    <peer> ...

weave prime

weave env           [--restore]
      config
      dns-args

weave connect       [--replace] [<peer> ...]
      forget        <peer> ...

weave attach        [--without-dns] [--rewrite-hosts] [--no-multicast-route]
                      [<addr> ...] <container_id>
      detach        [<addr> ...] <container_id>

weave expose        [<addr> ...] [-h <fqdn>] [--without-masquerade]
      hide          [<addr> ...]

weave dns-add       [<ip_address> ...] <container_id> [-h <fqdn>] |
                    <ip_address> ... -h <fqdn>
      dns-remove    [<ip_address> ...] <container_id> [-h <fqdn>] |
                    <ip_address> ... -h <fqdn>
      dns-lookup    <unqualified_name>

weave status        [targets | connections | peers | dns | ipam]
      report        [-f <format>]
      ps            [<container_id> ...]

weave stop

weave reset         [--force]
      rmpeer        <peer_id> ...

where <peer>     = <ip_address_or_fqdn>[:<port>]
      <cidr>     = <ip_address>/<routing_prefix_length>
      <addr>     = [ip:]<cidr> | net:<cidr> | net:default
      <endpoint> = [tcp://][<ip_address>]:<port> | [unix://]/path/to/socket
      <peer_id>  = <nickname> | <weave internal peer ID>
      <mode>     = consensus[=<count>] | seed=<mac>,... | observer

To troubleshoot and visualize Weave networks, try Weave Cloud: http://www.weave.works/product/cloud/
INFO: 2019/03/22 15:38:54.103770 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:54.104407 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:54.159246 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:54.160134 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:54.174356 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:54.175224 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:54.515294 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:54.518283 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:55.613371 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:55.613920 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:55.682629 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:55.683314 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:56.181566 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:56.182551 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:57.337781 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:57.338307 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:58.082989 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:58.083921 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:38:58.422503 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:38:58.422836 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:00.549301 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:00.550223 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:01.157781 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:01.158229 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:01.220670 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:01.221256 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:01.328945 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:01.329838 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:01.688142 ->[<IP_ADDRESS>:59455] connection accepted
INFO: 2019/03/22 15:39:01.689456 ->[<IP_ADDRESS>:59455|36:76:10:d3:94:60(ip-10-156-67-121.eu-west-2.compute.internal)]: connection ready; using protocol version 2
INFO: 2019/03/22 15:39:01.689606 overlay_switch ->[36:76:10:d3:94:60(ip-10-156-67-121.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/22 15:39:01.689685 ->[<IP_ADDRESS>:59455|36:76:10:d3:94:60(ip-10-156-67-121.eu-west-2.compute.internal)]: connection added (new peer)
INFO: 2019/03/22 15:39:01.690308 Setting up IPsec between e2:13:8d:24:46:21(ip-10-156-51-56.eu-west-2.compute.internal) and 36:76:10:d3:94:60(ip-10-156-67-121.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:01.690488 ipsec: InitSALocal: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0xc0085414
INFO: 2019/03/22 15:39:01.715438 fastdp ->[<IP_ADDRESS>:6784|36:76:10:d3:94:60(ip-10-156-67-121.eu-west-2.compute.internal)]: IPSec init SA remote
INFO: 2019/03/22 15:39:01.715460 ipsec: InitSARemote: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x3d10d1d2
INFO: 2019/03/22 15:39:01.716578 ->[<IP_ADDRESS>:59455|36:76:10:d3:94:60(ip-10-156-67-121.eu-west-2.compute.internal)]: connection fully established
INFO: 2019/03/22 15:39:01.717350 EMSGSIZE on send, expecting PMTU update (IP packet was 60052 bytes, payload was 60044 bytes)
INFO: 2019/03/22 15:39:01.718247 sleeve ->[<IP_ADDRESS>:6783|36:76:10:d3:94:60(ip-10-156-67-121.eu-west-2.compute.internal)]: Effective MTU verified at 8915
INFO: 2019/03/22 15:39:01.746025 Discovered remote MAC 36:76:10:d3:94:60 at 36:76:10:d3:94:60(ip-10-156-67-121.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:01.809973 Discovered remote MAC 66:41:72:7f:df:cf at 36:76:10:d3:94:60(ip-10-156-67-121.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:02.050025 Discovered remote MAC e2:26:13:07:91:0e at 36:76:10:d3:94:60(ip-10-156-67-121.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:02.649137 ->[<IP_ADDRESS>:57675] connection accepted
INFO: 2019/03/22 15:39:02.650420 ->[<IP_ADDRESS>:57675|6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)]: connection ready; using protocol version 2
INFO: 2019/03/22 15:39:02.650552 overlay_switch ->[6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/22 15:39:02.650577 ->[<IP_ADDRESS>:57675|6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)]: connection added (new peer)
INFO: 2019/03/22 15:39:02.651125 Setting up IPsec between e2:13:8d:24:46:21(ip-10-156-51-56.eu-west-2.compute.internal) and 6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:02.651322 ipsec: InitSALocal: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0xbf0394db
INFO: 2019/03/22 15:39:02.693424 fastdp ->[<IP_ADDRESS>:6784|6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)]: IPSec init SA remote
INFO: 2019/03/22 15:39:02.693445 ipsec: InitSARemote: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x2766dac8
INFO: 2019/03/22 15:39:02.694835 overlay_switch ->[6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)] using sleeve
INFO: 2019/03/22 15:39:02.694858 ->[<IP_ADDRESS>:57675|6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)]: connection fully established
INFO: 2019/03/22 15:39:02.695356 EMSGSIZE on send, expecting PMTU update (IP packet was 60052 bytes, payload was 60044 bytes)
INFO: 2019/03/22 15:39:02.698889 sleeve ->[<IP_ADDRESS>:6783|6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)]: Effective MTU verified at 8915
INFO: 2019/03/22 15:39:02.933917 Discovered remote MAC 96:0a:51:83:b6:db at 6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:03.125991 Discovered remote MAC 6a:ff:53:88:15:8f at 6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:03.190051 Discovered remote MAC ba:b5:da:96:af:bd at 6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:03.194469 overlay_switch ->[6a:ff:53:88:15:8f(ip-10-156-89-250.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/22 15:39:07.396378 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:07.396970 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:07.508497 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:07.509487 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:08.251184 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:08.251437 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:14.873865 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:14.874140 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:15.019411 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:15.019892 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:18.090822 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:18.091743 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:24.051293 ->[<IP_ADDRESS>:39479] connection accepted
INFO: 2019/03/22 15:39:24.072957 ->[<IP_ADDRESS>:39479|4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)]: connection ready; using protocol version 2
INFO: 2019/03/22 15:39:24.073043 overlay_switch ->[4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/22 15:39:24.073110 ->[<IP_ADDRESS>:39479|4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)]: connection added (new peer)
INFO: 2019/03/22 15:39:24.073267 Setting up IPsec between e2:13:8d:24:46:21(ip-10-156-51-56.eu-west-2.compute.internal) and 4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:24.073437 ipsec: InitSALocal: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x2dd0a4c5
INFO: 2019/03/22 15:39:24.097607 fastdp ->[<IP_ADDRESS>:6784|4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)]: IPSec init SA remote
INFO: 2019/03/22 15:39:24.097628 ipsec: InitSARemote: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x4e4198aa
INFO: 2019/03/22 15:39:24.103981 overlay_switch ->[4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)] using sleeve
INFO: 2019/03/22 15:39:24.104409 EMSGSIZE on send, expecting PMTU update (IP packet was 60052 bytes, payload was 60044 bytes)
INFO: 2019/03/22 15:39:24.104458 ->[<IP_ADDRESS>:39479|4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)]: connection fully established
INFO: 2019/03/22 15:39:24.105363 sleeve ->[<IP_ADDRESS>:6783|4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)]: Effective MTU verified at 8915
INFO: 2019/03/22 15:39:24.156845 Discovered remote MAC 4a:10:e6:e4:c3:77 at 4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:24.157009 Discovered remote MAC 46:c9:07:b9:d8:eb at 4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:24.476806 Discovered remote MAC da:3c:14:a2:b6:7a at 4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:24.598920 overlay_switch ->[4a:10:e6:e4:c3:77(ip-10-156-69-237.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/22 15:39:24.684819 ->[<IP_ADDRESS>:39453] connection accepted
INFO: 2019/03/22 15:39:24.685814 ->[<IP_ADDRESS>:39453|5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)]: connection ready; using protocol version 2
INFO: 2019/03/22 15:39:24.685882 overlay_switch ->[5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/22 15:39:24.685925 ->[<IP_ADDRESS>:39453|5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)]: connection added (new peer)
INFO: 2019/03/22 15:39:24.686361 Setting up IPsec between e2:13:8d:24:46:21(ip-10-156-51-56.eu-west-2.compute.internal) and 5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:24.686591 ipsec: InitSALocal: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x28a26f75
INFO: 2019/03/22 15:39:24.710517 fastdp ->[<IP_ADDRESS>:6784|5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)]: IPSec init SA remote
INFO: 2019/03/22 15:39:24.710538 ipsec: InitSARemote: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0xd6e3fdcb
INFO: 2019/03/22 15:39:24.711621 EMSGSIZE on send, expecting PMTU update (IP packet was 60052 bytes, payload was 60044 bytes)
INFO: 2019/03/22 15:39:24.711774 overlay_switch ->[5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)] using sleeve
INFO: 2019/03/22 15:39:24.711802 ->[<IP_ADDRESS>:39453|5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)]: connection fully established
INFO: 2019/03/22 15:39:24.712345 sleeve ->[<IP_ADDRESS>:6783|5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)]: Effective MTU verified at 8915
INFO: 2019/03/22 15:39:24.814708 Discovered remote MAC 8a:1b:54:e4:d6:46 at 5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:25.086699 Discovered remote MAC 5a:d6:38:0e:6a:6a at 5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:25.211521 overlay_switch ->[5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/22 15:39:25.342671 Discovered remote MAC f2:c2:6a:b9:60:81 at 5a:d6:38:0e:6a:6a(ip-10-156-92-7.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:33.298291 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/22 15:39:33.298547 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/22 15:39:34.593729 ->[<IP_ADDRESS>:58563] connection accepted
INFO: 2019/03/22 15:39:34.594364 ->[<IP_ADDRESS>:58563|c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)]: connection ready; using protocol version 2
INFO: 2019/03/22 15:39:34.594498 overlay_switch ->[c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/22 15:39:34.594552 ->[<IP_ADDRESS>:58563|c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)]: connection added (new peer)
INFO: 2019/03/22 15:39:34.595942 Setting up IPsec between e2:13:8d:24:46:21(ip-10-156-51-56.eu-west-2.compute.internal) and c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:34.596144 ipsec: InitSALocal: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x86aa170e
INFO: 2019/03/22 15:39:34.620608 fastdp ->[<IP_ADDRESS>:6784|c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)]: IPSec init SA remote
INFO: 2019/03/22 15:39:34.620629 ipsec: InitSARemote: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x31175ee4
INFO: 2019/03/22 15:39:34.621405 overlay_switch ->[c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)] using sleeve
INFO: 2019/03/22 15:39:34.621427 ->[<IP_ADDRESS>:58563|c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)]: connection fully established
INFO: 2019/03/22 15:39:34.621866 EMSGSIZE on send, expecting PMTU update (IP packet was 60052 bytes, payload was 60044 bytes)
INFO: 2019/03/22 15:39:34.622136 sleeve ->[<IP_ADDRESS>:6783|c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)]: Effective MTU verified at 8915
INFO: 2019/03/22 15:39:34.704364 Discovered remote MAC 26:97:20:cd:f2:6e at c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:34.887381 Discovered remote MAC c6:0d:16:96:b7:a0 at c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)
INFO: 2019/03/22 15:39:35.121664 overlay_switch ->[c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/22 15:39:35.151426 Discovered remote MAC fe:37:58:a6:d7:77 at c6:0d:16:96:b7:a0(ip-10-156-51-139.eu-west-2.compute.internal)

from my machine:
$ k -n kube-system get pods
NAME                                                                           READY   STATUS    RESTARTS   AGE
bootstrap-kube-apiserver-ip-10-156-51-56.eu-west-2.compute.internal            1/1     Running   0          16m
bootstrap-kube-controller-manager-ip-10-156-51-56.eu-west-2.compute.internal   1/1     Running   0          17m
bootstrap-kube-scheduler-ip-10-156-51-56.eu-west-2.compute.internal            1/1     Running   0          17m
coredns-56f9db6ff8-v52jh                                                       0/1     Pending   0          17m
coredns-56f9db6ff8-z4pdm                                                       0/1     Pending   0          17m
coredns-56f9db6ff8-zfpdf                                                       0/1     Pending   0          17m
kube-controller-manager-869654bbfb-97hk8                                       0/1     Pending   0          17m
kube-controller-manager-869654bbfb-flpbg                                       0/1     Pending   0          17m
kube-controller-manager-869654bbfb-jbnrc                                       0/1     Pending   0          17m
kube-proxy-46fvp                                                               1/1     Running   0          17m
kube-proxy-9k75c                                                               1/1     Running   0          17m
kube-proxy-fx9l5                                                               1/1     Running   0          17m
kube-proxy-gk6wr                                                               1/1     Running   0          17m
kube-proxy-mnk4t                                                               1/1     Running   0          17m
kube-proxy-pqqzm                                                               1/1     Running   0          17m
kube-scheduler-78c989ffc9-g6c65                                                0/1     Pending   0          17m
kube-scheduler-78c989ffc9-qmmgr                                                0/1     Pending   0          17m
kube-scheduler-78c989ffc9-rvm4n                                                0/1     Pending   0          17m
weave-net-4kspl                                                                2/2     Running   1          17m
weave-net-5j55k                                                                2/2     Running   1          17m
weave-net-5qmdl                                                                2/2     Running   0          17m
weave-net-7pmff                                                                2/2     Running   0          17m
weave-net-df7jw                                                                2/2     Running   1          17m
weave-net-vkq4w                                                                2/2     Running   0          17m

How to reproduce it?
creating a cluster based on coreos running bootkube to start the cluster.  Using flannel as the network plugin works.
config for daemonset:
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: weave-net
  annotations:
    cloud.weave.works/launcher-info: |-
      {
        "original-request": {
          "url": "/k8s/v1.10/net.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxMyIsIEdpdFZlcnNpb246InYxLjEzLjQiLCBHaXRDb21taXQ6ImMyN2I5MTNmZGRkMWE2YzQ4MGMyMjkxOTFhMDg3Njk4YWE5MmYwYjEiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE5LTAzLTAxVDIzOjM0OjI3WiIsIEdvVmVyc2lvbjoiZ28xLjEyIiwgQ29tcGlsZXI6ImdjIiwgUGxhdGZvcm06ImRhcndpbi9hbWQ2NCJ9ClNlcnZlciBWZXJzaW9uOiB2ZXJzaW9uLkluZm97TWFqb3I6IjEiLCBNaW5vcjoiMTMiLCBHaXRWZXJzaW9uOiJ2MS4xMy40IiwgR2l0Q29tbWl0OiJjMjdiOTEzZmRkZDFhNmM0ODBjMjI5MTkxYTA4NzY5OGFhOTJmMGIxIiwgR2l0VHJlZVN0YXRlOiJjbGVhbiIsIEJ1aWxkRGF0ZToiMjAxOS0wMi0yOFQxMzozMDoyNloiLCBHb1ZlcnNpb246ImdvMS4xMS41IiwgQ29tcGlsZXI6ImdjIiwgUGxhdGZvcm06ImxpbnV4L2FtZDY0In0K&password-secret=weave-passwd&env.WEAVE_EXPOSE_IP=true",
          "date": "Thu Mar 21 2019 13:35:36 GMT+0000 (UTC)"
        },
        "email-address"<EMAIL_ADDRESS>      }
  labels:
    name: weave-net
    app: weave-net
  namespace: kube-system
spec:
  updateStrategy:
    type: RollingUpdate
  minReadySeconds: 5
  template:
    metadata:
      labels:
        name: weave-net
      annotations:
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
    spec:
      hostNetwork: true
      hostPID: true
      priorityClassName: system-node-critical
      serviceAccountName: weave-net
      restartPolicy: Always
      securityContext:
        seLinuxOptions: {}
      tolerations:
        - effect: NoSchedule
          operator: Exists
        - effect: NoExecute
          operator: Exists
      containers:
        - name: weave
          command:
            - /home/weave/launch.sh
          env:
            - name: HOSTNAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            - name: IPALLOC_RANGE
              value: ${pod_cidr}
            - name: WEAVE_EXPOSE_IP
              value: 'true'
            - name: WEAVE_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: weave-passwd
                  key: weave-passwd
          image: 'docker.io/weaveworks/weave-kube:2.5.1'
          readinessProbe:
            httpGet:
              host: <IP_ADDRESS>
              path: /status
              port: 6784
          securityContext:
            privileged: true
          resources:
            requests:
              cpu: 100m
          volumeMounts:
            - name: weavedb
              mountPath: /weavedb
            - name: cni-bin
              mountPath: /host/opt
            - name: cni-bin2
              mountPath: /host/home
            - name: cni-conf
              mountPath: /host/etc
            - name: dbus
              mountPath: /host/var/lib/dbus
            - name: lib-modules
              mountPath: /lib/modules
            - name: xtables-lock
              mountPath: /run/xtables.lock
        - name: weave-npc
          env:
            - name: HOSTNAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
          image: 'docker.io/weaveworks/weave-npc:2.5.1'
          resources:
            requests:
              cpu: 10m
          securityContext:
            privileged: true
          volumeMounts:
            - name: xtables-lock
              mountPath: /run/xtables.lock
      volumes:
        - name: weavedb
          hostPath:
            path: /var/lib/weave
        - name: cni-bin
          hostPath:
            path: /opt
        - name: cni-bin2
          hostPath:
            path: /home
        - name: cni-conf
          hostPath:
            path: /etc
        - name: dbus
          hostPath:
            path: /var/lib/dbus
        - name: lib-modules
          hostPath:
            path: /lib/modules
        - name: xtables-lock
          hostPath:
            path: /run/xtables.lock
            type: FileOrCreate

Anything else we need to know?
AWS
kubectl: 1.13.4
k8s: 1.13.4
CoreOS: 2023.4.0
Versions:

core@ip-10-156-51-56 ~ $ docker exec f2f112f25bc7 /home/weave/weave version
/home/weave/weave: line 250: docker: not found
weave script 2.5.1
ERROR: Unable to parse docker version

core@ip-10-156-51-56 ~ $ docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.8
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:16:31 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:16:31 2018
  OS/Arch:          linux/amd64
  Experimental:     false

$ uname -a
core@ip-10-156-51-56 ~ $ uname -a
Linux ip-10-156-51-56.eu-west-2.compute.internal 4.19.23-coreos-r1 #1 SMP Mon Feb 25 23:40:01 -00 2019 x86_64 Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz GenuineIntel GNU/Linux

Any help thoroughly appreciated!

I think it's breaking because of this:
            - name: WEAVE_EXPOSE_IP
              value: 'true'

The value, if you wish to set it, must be an IP address.
Do you mind saying where you got that config from?

@bboreham , I clearly missunderstood the documentation here: https://www.weave.works/docs/net/latest/kubernetes/kube-addon/
The command I used to generate the daemonset was: curl "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')&password-secret=weave-passwd&env.WEAVE_EXPOSE_IP=true" -L and then manually manipulated it a bit from there.
I have removed that environment variable, but the problem persists.  Any other ideas?

Post the logs and current daemonset yaml.

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: weave-net
  annotations:
    cloud.weave.works/launcher-info: |-
      {
        "original-request": {
          "url": "/k8s/v1.10/net.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiIxMyIsIEdpdFZlcnNpb246InYxLjEzLjQiLCBHaXRDb21taXQ6ImMyN2I5MTNmZGRkMWE2YzQ4MGMyMjkxOTFhMDg3Njk4YWE5MmYwYjEiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE5LTAzLTAxVDIzOjM0OjI3WiIsIEdvVmVyc2lvbjoiZ28xLjEyIiwgQ29tcGlsZXI6ImdjIiwgUGxhdGZvcm06ImRhcndpbi9hbWQ2NCJ9ClNlcnZlciBWZXJzaW9uOiB2ZXJzaW9uLkluZm97TWFqb3I6IjEiLCBNaW5vcjoiMTMiLCBHaXRWZXJzaW9uOiJ2MS4xMy40IiwgR2l0Q29tbWl0OiJjMjdiOTEzZmRkZDFhNmM0ODBjMjI5MTkxYTA4NzY5OGFhOTJmMGIxIiwgR2l0VHJlZVN0YXRlOiJjbGVhbiIsIEJ1aWxkRGF0ZToiMjAxOS0wMi0yOFQxMzozMDoyNloiLCBHb1ZlcnNpb246ImdvMS4xMS41IiwgQ29tcGlsZXI6ImdjIiwgUGxhdGZvcm06ImxpbnV4L2FtZDY0In0K&password-secret=weave-passwd&env.WEAVE_EXPOSE_IP=true",
          "date": "Thu Mar 21 2019 13:35:36 GMT+0000 (UTC)"
        },
        "email-address"<EMAIL_ADDRESS>      }
  labels:
    name: weave-net
    app: weave-net
  namespace: kube-system
spec:
  updateStrategy:
    type: RollingUpdate
  minReadySeconds: 5
  template:
    metadata:
      labels:
        name: weave-net
      annotations:
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
    spec:
      hostNetwork: true
      hostPID: true
      priorityClassName: system-node-critical
      serviceAccountName: weave-net
      restartPolicy: Always
      securityContext:
        seLinuxOptions: {}
      tolerations:
        - effect: NoSchedule
          operator: Exists
        - effect: NoExecute
          operator: Exists
      containers:
        - name: weave
          command:
            - /home/weave/launch.sh
          env:
            - name: HOSTNAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
            - name: IPALLOC_RANGE
              value: ${pod_cidr}
            - name: WEAVE_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: weave-passwd
                  key: weave-passwd
          image: 'docker.io/weaveworks/weave-kube:2.5.1'
          readinessProbe:
            httpGet:
              host: <IP_ADDRESS>
              path: /status
              port: 6784
          securityContext:
            privileged: true
          resources:
            requests:
              cpu: 100m
          volumeMounts:
            - name: weavedb
              mountPath: /weavedb
            - name: cni-bin
              mountPath: /host/opt
            - name: cni-bin2
              mountPath: /host/home
            - name: cni-conf
              mountPath: /host/etc
            - name: dbus
              mountPath: /host/var/lib/dbus
            - name: lib-modules
              mountPath: /lib/modules
            - name: xtables-lock
              mountPath: /run/xtables.lock
        - name: weave-npc
          env:
            - name: HOSTNAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
          image: 'docker.io/weaveworks/weave-npc:2.5.1'
          resources:
            requests:
              cpu: 10m
          securityContext:
            privileged: true
          volumeMounts:
            - name: xtables-lock
              mountPath: /run/xtables.lock
      volumes:
        - name: weavedb
          hostPath:
            path: /var/lib/weave
        - name: cni-bin
          hostPath:
            path: /opt
        - name: cni-bin2
          hostPath:
            path: /home
        - name: cni-conf
          hostPath:
            path: /etc
        - name: dbus
          hostPath:
            path: /var/lib/dbus
        - name: lib-modules
          hostPath:
            path: /lib/modules
        - name: xtables-lock
          hostPath:
            path: /run/xtables.lock
            type: FileOrCreate

Logs are pretty much identical.  Loads of
Mar 25 09:25:14 ip-10-156-49-214.eu-west-2.compute.internal kubelet-wrapper[4908]: W0325 09:25:14.278585    4908 cni.go:203] Unable to update cni config: No networks found in /etc/cni/net.d
Mar 25 09:25:14 ip-10-156-49-214.eu-west-2.compute.internal kubelet-wrapper[4908]: E0325 09:25:14.278696    4908 kubelet.go:2192] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: netw>

in when I do journalctl -u kubelet
and the logs from the weave pods look good; obviously missing the help text because I haven't messed up the environment variable 😃
$ k -n kube-system logs weave-net-2n9jr weave
INFO: 2019/03/25 09:18:43.162760 Command line options: map[ipalloc-init:consensus=6 port:6783 conn-limit:100 docker-api: nickname:ip-10-156-49-214.eu-west-2.compute.internal no-dns:true ipalloc-range:<IP_ADDRESS>/16 name:76:fc:ff:e6:48:6a expect-npc:true datapath:datapath db-prefix:/weavedb/weave-net metrics-addr:<IP_ADDRESS>:6782 host-root:/host http-addr:<IP_ADDRESS>:6784]
INFO: 2019/03/25 09:18:43.162845 weave  2.5.1
INFO: 2019/03/25 09:18:43.297397 Bridge type is bridged_fastdp
INFO: 2019/03/25 09:18:43.297417 Communication between peers via untrusted networks is encrypted.
INFO: 2019/03/25 09:18:43.332254 Our name is 76:fc:ff:e6:48:6a(ip-10-156-49-214.eu-west-2.compute.internal)
INFO: 2019/03/25 09:18:43.332298 Launch detected - using supplied peer list: [<IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>]
INFO: 2019/03/25 09:18:43.359897 Unable to fetch ConfigMap kube-system/weave-net to infer unique cluster ID
INFO: 2019/03/25 09:18:43.359921 Checking for pre-existing addresses on weave bridge
INFO: 2019/03/25 09:18:43.364825 [allocator 76:fc:ff:e6:48:6a] No valid persisted data
INFO: 2019/03/25 09:18:43.378110 [allocator 76:fc:ff:e6:48:6a] Initialising via deferred consensus
INFO: 2019/03/25 09:18:43.378291 Sniffing traffic on datapath (via ODP)
INFO: 2019/03/25 09:18:43.379506 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:43.379757 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:43.379998 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:43.380235 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:43.380468 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:43.380679 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:43.381048 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:43.383071 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:43.383356 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:43.383546 ->[<IP_ADDRESS>:45399] connection accepted
INFO: 2019/03/25 09:18:43.383902 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:43.388683 Listening for HTTP control messages on <IP_ADDRESS>:6784
INFO: 2019/03/25 09:18:43.389145 Listening for metrics requests on <IP_ADDRESS>:6782
INFO: 2019/03/25 09:18:43.390563 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:43.391079 ->[<IP_ADDRESS>:45399|76:fc:ff:e6:48:6a(ip-10-156-49-214.eu-west-2.compute.internal)]: connection shutting down due to error: cannot connect to ourself
INFO: 2019/03/25 09:18:43.391439 ->[<IP_ADDRESS>:6783|76:fc:ff:e6:48:6a(ip-10-156-49-214.eu-west-2.compute.internal)]: connection shutting down due to error: cannot connect to ourself
INFO: 2019/03/25 09:18:44.133885 [kube-peers] Added myself to peer list &{[{76:fc:ff:e6:48:6a ip-10-156-49-214.eu-west-2.compute.internal}]}
DEBU: 2019/03/25 09:18:44.143817 [kube-peers] Nodes that have disappeared: map[]
INFO: 2019/03/25 09:18:45.528534 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:45.529112 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:46.148603 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:46.148977 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:46.194925 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:46.195437 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:46.218374 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:46.219213 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:46.260791 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:46.261620 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:48.168245 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:48.168791 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:48.977865 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:48.978806 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:49.581487 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:49.581809 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:49.909343 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:49.910252 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:49.972203 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:49.972819 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:51.189540 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:51.190084 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:52.173986 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:52.174866 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:53.228413 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:53.229022 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:53.373972 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:53.374295 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:53.592892 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:53.593802 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:54.532913 ->[<IP_ADDRESS>:46393] connection accepted
INFO: 2019/03/25 09:18:54.536036 ->[<IP_ADDRESS>:46393|e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)]: connection ready; using protocol version 2
INFO: 2019/03/25 09:18:54.536116 overlay_switch ->[e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/25 09:18:54.536209 ->[<IP_ADDRESS>:46393|e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)]: connection added (new peer)
INFO: 2019/03/25 09:18:54.536873 Setting up IPsec between 76:fc:ff:e6:48:6a(ip-10-156-49-214.eu-west-2.compute.internal) and e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)
INFO: 2019/03/25 09:18:54.537112 ipsec: InitSALocal: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0xbf55f934
INFO: 2019/03/25 09:18:54.579866 fastdp ->[<IP_ADDRESS>:6784|e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)]: IPSec init SA remote
INFO: 2019/03/25 09:18:54.579892 ipsec: InitSARemote: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x2e6b0281
INFO: 2019/03/25 09:18:54.581471 overlay_switch ->[e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)] using sleeve
INFO: 2019/03/25 09:18:54.581499 ->[<IP_ADDRESS>:46393|e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)]: connection fully established
INFO: 2019/03/25 09:18:54.582049 EMSGSIZE on send, expecting PMTU update (IP packet was 60052 bytes, payload was 60044 bytes)
INFO: 2019/03/25 09:18:54.582677 sleeve ->[<IP_ADDRESS>:6783|e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)]: Effective MTU verified at 8915
INFO: 2019/03/25 09:18:54.635390 Discovered remote MAC 46:2c:1d:61:56:11 at e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)
INFO: 2019/03/25 09:18:54.930959 ->[<IP_ADDRESS>:52127] connection accepted
INFO: 2019/03/25 09:18:54.931976 ->[<IP_ADDRESS>:52127|96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)]: connection ready; using protocol version 2
INFO: 2019/03/25 09:18:54.932363 overlay_switch ->[96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/25 09:18:54.932395 ->[<IP_ADDRESS>:52127|96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)]: connection added (new peer)
INFO: 2019/03/25 09:18:54.932567 Setting up IPsec between 76:fc:ff:e6:48:6a(ip-10-156-49-214.eu-west-2.compute.internal) and 96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)
INFO: 2019/03/25 09:18:54.932711 ipsec: InitSALocal: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0xc2337cce
INFO: 2019/03/25 09:18:54.957879 fastdp ->[<IP_ADDRESS>:6784|96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)]: IPSec init SA remote
INFO: 2019/03/25 09:18:54.957899 ipsec: InitSARemote: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x512922c0
INFO: 2019/03/25 09:18:54.958912 overlay_switch ->[96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)] using sleeve
INFO: 2019/03/25 09:18:54.958937 ->[<IP_ADDRESS>:52127|96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)]: connection fully established
INFO: 2019/03/25 09:18:54.959433 EMSGSIZE on send, expecting PMTU update (IP packet was 60052 bytes, payload was 60044 bytes)
INFO: 2019/03/25 09:18:54.960258 sleeve ->[<IP_ADDRESS>:6783|96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)]: Effective MTU verified at 8915
INFO: 2019/03/25 09:18:54.963916 Discovered remote MAC ce:3e:7c:f7:b8:e6 at 96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)
INFO: 2019/03/25 09:18:55.075329 Discovered remote MAC ba:f5:fd:9d:be:ad at e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)
INFO: 2019/03/25 09:18:55.080793 overlay_switch ->[e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/25 09:18:55.203546 Discovered remote MAC e2:6d:bc:bd:bc:57 at e2:6d:bc:bd:bc:57(ip-10-156-87-186.eu-west-2.compute.internal)
INFO: 2019/03/25 09:18:55.299967 Discovered remote MAC 7e:27:24:88:15:cc at 96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)
INFO: 2019/03/25 09:18:55.451972 Discovered remote MAC 96:d8:73:e9:f8:37 at 96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)
INFO: 2019/03/25 09:18:55.458817 overlay_switch ->[96:d8:73:e9:f8:37(ip-10-156-81-44.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/25 09:18:57.887969 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:57.888833 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:58.870436 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:58.871285 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:18:59.087938 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:18:59.088219 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:19:09.078324 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:19:09.079221 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:19:11.457176 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:19:11.458177 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:19:13.423665 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2019/03/25 09:19:13.423928 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 :0-><IP_ADDRESS>:6783: connect: connection refused
INFO: 2019/03/25 09:19:14.465136 ->[<IP_ADDRESS>:55105] connection accepted
INFO: 2019/03/25 09:19:14.482784 ->[<IP_ADDRESS>:55105|c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)]: connection ready; using protocol version 2
INFO: 2019/03/25 09:19:14.482862 overlay_switch ->[c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/25 09:19:14.482898 ->[<IP_ADDRESS>:55105|c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)]: connection added (new peer)
INFO: 2019/03/25 09:19:14.484030 Setting up IPsec between 76:fc:ff:e6:48:6a(ip-10-156-49-214.eu-west-2.compute.internal) and c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)
INFO: 2019/03/25 09:19:14.484290 ipsec: InitSALocal: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x1aff22fb
INFO: 2019/03/25 09:19:14.540697 fastdp ->[<IP_ADDRESS>:6784|c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)]: IPSec init SA remote
INFO: 2019/03/25 09:19:14.540823 ipsec: InitSARemote: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x44ac2cff
INFO: 2019/03/25 09:19:14.542648 overlay_switch ->[c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)] using sleeve
INFO: 2019/03/25 09:19:14.542783 ->[<IP_ADDRESS>:55105|c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)]: connection fully established
INFO: 2019/03/25 09:19:14.543157 EMSGSIZE on send, expecting PMTU update (IP packet was 60052 bytes, payload was 60044 bytes)
INFO: 2019/03/25 09:19:14.544842 sleeve ->[<IP_ADDRESS>:6783|c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)]: Effective MTU verified at 8915
INFO: 2019/03/25 09:19:14.553185 Discovered remote MAC 8a:54:6a:c8:5e:88 at c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)
INFO: 2019/03/25 09:19:14.569403 Discovered remote MAC 5a:78:d3:f1:de:88 at c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
DEBU: 2019/03/25 09:19:14.710152 registering for updates for node delete events
INFO: 2019/03/25 09:19:14.849350 Discovered remote MAC c2:5e:6e:aa:e5:4f at c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)
INFO: 2019/03/25 09:19:15.042317 overlay_switch ->[c2:5e:6e:aa:e5:4f(ip-10-156-68-195.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/25 09:19:16.049929 ->[<IP_ADDRESS>:57787] connection accepted
INFO: 2019/03/25 09:19:16.051189 ->[<IP_ADDRESS>:57787|32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)]: connection ready; using protocol version 2
INFO: 2019/03/25 09:19:16.051277 overlay_switch ->[32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/25 09:19:16.051345 ->[<IP_ADDRESS>:57787|32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)]: connection added (new peer)
INFO: 2019/03/25 09:19:16.052058 Setting up IPsec between 76:fc:ff:e6:48:6a(ip-10-156-49-214.eu-west-2.compute.internal) and 32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)
INFO: 2019/03/25 09:19:16.052264 ipsec: InitSALocal: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x8aac4b04
INFO: 2019/03/25 09:19:16.074779 fastdp ->[<IP_ADDRESS>:6784|32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)]: IPSec init SA remote
INFO: 2019/03/25 09:19:16.074803 ipsec: InitSARemote: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x59a6f168
INFO: 2019/03/25 09:19:16.076139 overlay_switch ->[32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)] using sleeve
INFO: 2019/03/25 09:19:16.076210 ->[<IP_ADDRESS>:57787|32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)]: connection fully established
INFO: 2019/03/25 09:19:16.076580 EMSGSIZE on send, expecting PMTU update (IP packet was 60052 bytes, payload was 60044 bytes)
INFO: 2019/03/25 09:19:16.077577 sleeve ->[<IP_ADDRESS>:6783|32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)]: Effective MTU verified at 8915
INFO: 2019/03/25 09:19:16.328136 Discovered remote MAC 32:c5:47:cf:f7:51 at 32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)
INFO: 2019/03/25 09:19:16.576204 overlay_switch ->[32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/25 09:19:16.704184 Discovered remote MAC 2e:10:75:35:0e:5d at 32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)
INFO: 2019/03/25 09:19:16.961156 Discovered remote MAC da:88:68:51:0e:97 at 32:c5:47:cf:f7:51(ip-10-156-71-148.eu-west-2.compute.internal)
INFO: 2019/03/25 09:19:17.112834 ->[<IP_ADDRESS>:54569] connection accepted
INFO: 2019/03/25 09:19:17.114969 ->[<IP_ADDRESS>:54569|86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)]: connection ready; using protocol version 2
INFO: 2019/03/25 09:19:17.115025 overlay_switch ->[86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/25 09:19:17.115041 ->[<IP_ADDRESS>:54569|86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)]: connection added (new peer)
INFO: 2019/03/25 09:19:17.115120 Setting up IPsec between 76:fc:ff:e6:48:6a(ip-10-156-49-214.eu-west-2.compute.internal) and 86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)
INFO: 2019/03/25 09:19:17.115220 ipsec: InitSALocal: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x3d778a1d
INFO: 2019/03/25 09:19:17.145711 Discovered remote MAC 52:2a:2a:8b:51:c4 at 86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)
INFO: 2019/03/25 09:19:17.150519 fastdp ->[<IP_ADDRESS>:6784|86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)]: IPSec init SA remote
INFO: 2019/03/25 09:19:17.150544 ipsec: InitSARemote: <IP_ADDRESS> -> <IP_ADDRESS> :6784 0x36ada453
INFO: 2019/03/25 09:19:17.151507 overlay_switch ->[86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)] using sleeve
INFO: 2019/03/25 09:19:17.151629 ->[<IP_ADDRESS>:54569|86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)]: connection fully established
INFO: 2019/03/25 09:19:17.154969 EMSGSIZE on send, expecting PMTU update (IP packet was 60052 bytes, payload was 60044 bytes)
INFO: 2019/03/25 09:19:17.155295 sleeve ->[<IP_ADDRESS>:6783|86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)]: Effective MTU verified at 8915
INFO: 2019/03/25 09:19:17.568214 Discovered remote MAC 86:e9:2a:b9:79:a8 at 86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)
INFO: 2019/03/25 09:19:17.651283 overlay_switch ->[86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)] using fastdp
INFO: 2019/03/25 09:19:17.873280 Discovered remote MAC 72:9c:dc:fd:9a:c9 at 86:e9:2a:b9:79:a8(ip-10-156-62-230.eu-west-2.compute.internal)

The only other thing I can think to add to this is the cni config:
core@ip-10-156-49-214 ~ $ cat /etc/cni/net.d/10-weave.conflist
{
    "cniVersion": "0.3.0",
    "name": "weave",
    "plugins": [
        {
            "name": "weave",
            "type": "weave-net",
            "hairpinMode": true
        },
        {
            "type": "portmap",
            "capabilities": {"portMappings": true},
            "snat": true
        }
    ]
}
core@ip-10-156-49-214 ~ $ ls /opt/cni/bin/
weave-ipam  weave-net  weave-plugin-2.5.1
core@ip-10-156-49-214 ~ $

@pms1969 Can you please check your kubelet logs again for errors? Based on /opt/cni/bin/ output i see portmap plugin is missing. Kubelet interactions with CNI will error out.
please ensure you have portmap CNI plug-in installed as documented in https://www.weave.works/docs/net/latest/kubernetes/kube-addon/

@murali-reddy I've made changes to get the cni plugins into that directory so that portmap is there, but still get the same error.  As far as I can tell, other than the cni-network error, there is nothing else of note.  It fails to find the instance name in dns for a bit, but then goes quite on that front.
core@ip-10-156-49-111 ~ $ cat /etc/cni/net.d/10-weave.conflist
{
    "cniVersion": "0.3.0",
    "name": "weave",
    "plugins": [
        {
            "name": "weave",
            "type": "weave-net",
            "hairpinMode": true
        },
        {
            "type": "portmap",
            "capabilities": {"portMappings": true},
            "snat": true
        }
    ]
}
core@ip-10-156-49-111 ~ $ ls -l /opt/cni/bin/
total 77452
-rwxr-xr-x. 1 root root  4028260 Mar 15 17:25 bridge
-rwxr-xr-x. 1 root root 10232415 Mar 15 17:26 dhcp
-rwxr-xr-x. 1 root root  2856252 Mar 15 17:25 flannel
-rwxr-xr-x. 1 root root  3127363 Mar 15 17:25 host-device
-rwxr-xr-x. 1 root root  3036768 Mar 15 17:26 host-local
-rwxr-xr-x. 1 root root  3572685 Mar 15 17:26 ipvlan
-rwxr-xr-x. 1 root root  3084347 Mar 15 17:26 loopback
-rwxr-xr-x. 1 root root  3613497 Mar 15 17:26 macvlan
-rwxr-xr-x. 1 root root  3551125 Mar 15 17:25 portmap
-rwxr-xr-x. 1 root root  3993428 Mar 15 17:26 ptp
-rwxr-xr-x. 1 root root  2641877 Mar 15 17:26 sample
-rwxr-xr-x. 1 root root  2850029 Mar 15 17:25 tuning
-rwxr-xr-x. 1 root root  3568537 Mar 15 17:26 vlan
lrwxrwxrwx. 1 root root       18 Mar 25 11:46 weave-ipam -> weave-plugin-2.5.1
lrwxrwxrwx. 1 root root       18 Mar 25 11:46 weave-net -> weave-plugin-2.5.1
-rwxr-xr-x. 1 root root 29060656 Mar 25 11:46 weave-plugin-2.5.1
core@ip-10-156-49-111 ~ $

I'd failed to add the plugins because calico was working with portmap config, so had erroneously assumed that it was available to all cni providers - I think it gets added by an init container.  So that's now been fixed, but I'm still seeing no available network :( . Anything else I can look at?
Thanks for the help btw.

Please see if restart of kubelet helps.

Found the problem.  Not sure why, but the cni conf directory on my instances needs to be /etc/kubernetes/cni/net.d.  I'd changed that to /etc/cni/net.d for weave, and when I switched back to calico it too wouldn't start up the network.  eventually tracked it down.
Thanks a heap for all your help.  Now just to confirm that all the network traffic is encrypted. :)


Use a struct to represent a parsed line in SlimFast.Parser

A large unlabelled tuple is much less clear and harder to modify than a struct.

:+1:

Actually a record might make more sense here.

A record is basically a tuple, how does that help us here?

With a record the fields are named, which makes it much more readable, and enforces a schema on our data.

It's only really benefit over a struct is speed. This probably doesn't matter. We can use a struct. :)

Thanks for clearing that up :grinning:


Calendar - Full year

When I go to print the full year calendar, it is only printing 4 weeks or 4 lines for of each month, but when a day runs over to a 5 line or 5th week, those days are not printed.  For example, January 2022, January 31st does not show.  Could you please take a look to allow the 5th line to show when it is needed?

Fixed in #49, deploy for confirmation should be done within 20 minutes.

January 2022 is now generating properly.

Thank you!
Lisa M. Hart
Director of Academics/Math Department Team Leader
860.963.6740, extension 365 <(860)%20963-6740>
528 Pomfret Street ~ P.O. Box 68
Pomfret, CT 06258 ~ www.rectoryschool.org http://www.rectoryschool.org/
Facebook https://www.facebook.com/rectoryschool/  ~  Twitter
https://twitter.com/RectorySchoolCT  ~  Instagram
https://www.instagram.com/rectory_school_ct/  ~ YouTube
https://www.youtube.com/channel/UCY9VOGTpYCmYIXNA22-P2ug
https://www.youtube.com/channel/UCY9VOGTpYCmYIXNA22-P2ug
On Mon, Nov 8, 2021 at 1:30 PM Adam Peacock @.***>
wrote:

January 2022 is now generating properly.
[image: Screen Shot 2021-11-08 at 1 29 26 PM]
https://user-images.githubusercontent.com/5103864/140797709-9e9e37fd-bc84-4ce6-b9cb-df813ebe9df3.png
[image: Screen Shot 2021-11-08 at 1 29 12 PM]
https://user-images.githubusercontent.com/5103864/140797720-c038cc59-cc8f-440c-b9ae-81806181a972.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rectory-school/rectory-apps-updated/issues/48#issuecomment-963445147,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHHQ2BBVMA4UMWACYUV4I3ULAJLTANCNFSM5HS7JS7Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Review Storage.iter/write

Overview
It could be refactored using some row mapper. Also the latest improvements in jsontableschema could simplify the code (additional date/datetime conversions for now).

OUTDATED


proposal: affected/package: time

Current scenario:
Currently time.NewTicker(d duration) & func (t *Ticker) Reset(d duration) both are panicked internally. This creates issue while handing error. Now user must have to user recover to get rid of it.
Proposal
Return error from both the func/method instead of panic internally.
Signatures:
func NewTicker(d duration) (*Ticker, error)
func (t *Ticker) Reset(d duration) error
I would to love to create a PR if this issue gets accepted. Thank you!

This is not a backwards compatible change.

Hi @seankhliao
What about two new func/method with proper error handling?

Deprecating something as widely used as time.NewTicker has a serious cost to the ecosystem. On top of that, getting a negative duration seems like an unlikely scenario that points to a programming error rather than an error that should be handled at runtime.

It seems then, we have to carry those panic forever :)

NewTicker also panics for duration zero as well which is unlikely though.


Code Folding is Incorrect

Video is here.
Code is here

Interesting. I did not know it would fold the parameter list separately.  Thanks for letting me know this is expected behavior.


More Http cleanup

Both requests and responses now use HttpBody, which also now includes an optional content-type header
A new HttpBodyEncoder typeclass for easily turning typed data into http bodies with the correct content type header.
Created a new DateHeader which can be used to generate correct values for the http date header.
removed all the json stuff from the metrics
cleaned up some of the interface code in DataOutBuffer

Current coverage is 82.38%

Branch #337 has no coverage reports uploaded yet.

No diff could be generated. No reports for develop-0.7.1 found.

Powered by Codecov. Updated on successful CI builds.

+1


CLBlast for linux

As part of #464 I had hoped to support linux as well as windows, and I was able to (after some digging through llamacpp source) figure out how to do it.
This PR adds clblast on linux, and in addition to that, also copies the shared library for clblast to the artifact. This should, but may not always allow clblast to function without any additional local installations. Users may still need to install other dependencies.

Just one small review change. Other than that this looks great, thanks!


Failing to compile notebooks with latest environment

Running the CI for https://github.com/eurec4a/how_to_eurec4a/pull/81 failed due to the following attribute error:
AttributeError: 'GeoAxesSubplot' object has no attribute '_autoscaleXon

when calling Cartopy.
Affected by this error are the notebooks p3_AXRT.md, p3_wsra.md and icon_les.md.
Related Cartopy Issue

For some reason, the CI installed cartopy-0.18.0 and Matplotlib 3.6.2, however, we need to have Cartopy-0.21 or larger as it seems.

I think the issue is that Cartopy is installed with conda and matplotlib with pip. #83 fixes this issue by installing both via conda


Add script dialogue class name (probably?) shouldn't get disabled

In the add script dialogue, selecting a script file disables Class Name input box, but it's contents are apparently important because when the class name if empty, you get "Invalid Class Name" in red below.

I wonder, does the class name serve any purpose at all, apart from suggesting a file name?

It's needed for languages like C#.

@neikeq Yes, but doesn't C# require that both the class name and the script name be the same? If that's the case, then an editable class name field is useless, since the script name implies it.

Yeah, we were talking about that the other day, it's no longer using it on master anymord.
I think it's needed though, for GDNative.

Fixed now AFAIK.

Are you sure? Which commit fixed it?

I thought you had fixed it, must have been dreaming :)

I dont understand how this is a bug

@willnationsdev I know you worked on this, is it still an issue?


Add npm publish to workflow pipeline

Edit the Github Action to npm publish after a successful build. This requires adding a NPM_TOKEN to the repository's secret vault under Settings.

Done in ff8be0a382110fcd3f9f779e9ce7aa8d20c1379e 🎉


Source Control View has no backoff delay on authorization errors

While opening a folder/repo where vscode is not able to authenticate, it seems it will instantly retry indefinitely. In this case, this lead to me being IP-banned from Gitlab, leaving many of my repositories inaccessible (hopefully only for a short while).
There should probably be something like an exponential backoff delay, or that it eventually gives up so that it doesn't spam servers.
Here's an excerpt of log from the Git tab in the Output window to illustrate:
Open repository: d:\Mega\dev\auk\auk-utils
> git fetch
> git status -z -u
> git rev-parse --show-toplevel
> git rev-parse --git-dir
> git config --get commit.template
Open repository: d:\Mega\dev\auk\auk-utils
> git fetch
> git status -z -u
remote: Forbidden
fatal: unable to access 'https://gitlab.com/matauk/auk-utils.git/': The requested URL returned error: 403
> git rev-parse --show-toplevel
> git rev-parse --git-dir
> git config --get commit.template
Open repository: d:\Mega\dev\auk\auk-utils
> git fetch
> git status -z -u
remote: Forbidden
fatal: unable to access 'https://gitlab.com/matauk/auk-utils.git/': The requested URL returned error: 403
remote: Forbidden
fatal: unable to access 'https://gitlab.com/matauk/auk-utils.git/': The requested URL returned error: 403
remote: Forbidden
fatal: unable to access 'https://gitlab.com/matauk/auk-utils.git/': The requested URL returned error: 403
> git rev-parse --show-toplevel
> git rev-parse --git-dir
> git config --get commit.template
Open repository: d:\Mega\dev\auk\auk-utils
> git fetch
> git status -z -u
remote: Forbidden
fatal: unable to access 'https://gitlab.com/matauk/auk-utils.git/': The requested URL returned error: 403
> git rev-parse --show-toplevel
> git rev-parse --git-dir
> git config --get commit.template
Open repository: d:\Mega\dev\auk\auk-utils
...

Yeah, it looks like it should stop trying when it hits the auth error, or wait 3 minutes, but here it retries instantly.
I think I discovered why it seems to reopen constantly though. I saw I had a broken submodule (the kind of bug that happens when you switches to a branch without the submodule, then switch back again) inside the repo, and when I fixed that submodule it stopped with the instant retrying.
No idea what could be causing it though, the code you linked looks pretty bulletproof.
Could it be that the broken submodule causes https://github.com/microsoft/vscode/blob/a143fc36f8ee58db069c0bd2a14ec4ddeb29a009/extensions/git/src/autofetch.ts#L113 to fail silently, returning 0 instead of throwing? That would make the code retry instantly. Still weird that the auth error is not caught though.

Not really. Can you still reproduce? If so, could you zip up the folder and send it to me, by any chance?

Doesn't seem like it. If I do, I'll reopen the the issue with a reproductible example :)


How to get Anomaly Segmentation pictures

Hi, @DarioFontanel
When I rebuild the conda environment with python=3.7.0 pytorch=1.4.0 the code works like a charm.
Thank you. I appreciate it.
But, when I run the code below
tensorboard --logdir logs/ --bind_all
I can't find this results

How can I get it?
By the way, the directory /logs/results is empty.Is it right?
Thank you
Jacky

Hi Jacky,
Qualitative results are not implemented in this code base. We created them offline, by loading the trained weights of the model and visualizing the confidence. We used imshow as follows:
imshow(confidence, interpolation='bilinear', cmap=matplotlib.cm.Blues, vmin=-1, vmax=1)
Dario

Hi Jacky, Qualitative results are not implemented in this code base. We created them offline, by loading the trained weights of the model and visualizing the confidence. We used imshow as follows:
imshow(confidence, interpolation='bilinear', cmap=matplotlib.cm.Blues, vmin=-1, vmax=1)
Dario

Hi, @DarioFontanel
Thank you for the quick reply.
Where to put this line?
I can't find the confidence from this code. Where can I find it?
Is the confidence from this line array-like or PIL image?
imshow(confidence, interpolation='bilinear', cmap=matplotlib.cm.Blues, vmin=-1, vmax=1)
Thank you
Jacky


README update to mention pure?

I was comparing spaceship-prompt to https://github.com/sindresorhus/pure and didn't know which one to choose.
Describe the solution you'd like
A note about pure in the readme.
Describe alternatives you've considered
I've looked at timqian's star history to see that spaceship-prompt is growing in popularity faster. Though I don't know why.

Documentation, adoption
I would like a note about the difference in the main README.md, to help users understand the difference. Whatever it is. What is it by the way? Why are folks flocking to spaceship-prompt over pure?

It is entirely a matter of preference. Just try to use them then pick the one that you love.

I would like a note about the difference in the main README.md, to help users understand the difference. Whatever it is. What is it by the way?

In a nutshell, Pure is fast while Spaceship has many prompt sections.

I've looked at timqian's star history to see that spaceship-prompt is growing in popularity faster. Though I don't know why.

Thanks for mentioning timqian's star history. I didn't know it existed. Seems like Spaceship is getting stars about twice as fast as Pure. This is somewhat surprising to me. Could it be because of the higher number of prompt sections that Spaceship offers? E.g., if someone really wants to see Haskell version in their prompt, they could choose Spaceship over Pure even if it means slower prompt.
Then I added Powerlevel10k to the graph:

Apparently, Spaceship gets almost as many stars as Powerlevel10k. This is more difficult to explain. Perhaps it's the website? https://denysdovhan.com/spaceship-prompt does look nice. From this page it's clear what Spaceship does and how to configure it. There is a cool logo and a catchy slogan. I'm not a marketing person, so it's difficult to estimate how much of an effect it could have, but I guess these things are important for acquiring users. Or maybe there is something else that makes Spaceship appealing and I'm missing it.


KeyError on similar_objects

Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)
File "/home/ubuntu/web/notewagon-django/notewagon/views.py" in view_course
  120.     related = course.tags.similar_objects()
File "/usr/local/lib/python2.7/dist-packages/taggit/utils.py" in inner
  125.         return func(self, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/taggit/managers.py" in similar_objects
  230.                 tuple(result[k] for k in lookup_keys)

Exception Type: KeyError at /s/university-of-waterloo/fdsg1yl7dk/math-115-linear-algebra-eng
Exception Value: (35L, 1755L)

The steps to the trace above are as follows:

import/scrape a bunch of Resource items (I used youtube videos) and create tags based on the tags in the video
add some tags to a Course ("Linear Algebra", vectors, eigenvalues, etc)
observe error

any thoughts on this issue?

I've hit the same issue.

I am experiencing the same error with django-taggit 0.21.3. The workaround doesn't work for me, it gives the same issue. Is there any other fix?

@The-Fonz Are you using SQLite? I'm having the same issue using sqlite (even with the workaround) but there is no issue with postgres.

@gelbander Yes I am, thanks for the tip, will try postgres!

I switched to postgres but still had the KeyError, fixed it by changing line 260 in managers.py from items[(getattr(obj, remote_field.field_name),)] = obj to items[(obj.id,)] = obj, so now line 275 can properly access the dict. I'm using Wagtail but I'm not deep enough into Wagtail/Django/ModelCluster/Taggit to see why this bug appears. I implemented the fix by subclassing _ClusterTaggableManager and ClusterTaggableManager.

i am having the same issue with @django-taggit 0.22.1@ using Wagtail CMS

Still having the same issue with django-taggit 0.24.0 and wagtail 2.5.1 almost 8 years later...
Any progress on this?
The workaround that The-Fonz suggested still works, but it's pretty annoying to implement as I have to copy/paste a rather large method just to change one line of it and every time there is a change to the related files I have to diff the original code to update it.

If anyone's interested, here's my current working drop in replacement for ClusterTaggableManager implementing The-Fonz's workaround:
# taggablemanager.py
from __future__ import unicode_literals
from modelcluster.contrib.taggit import _ClusterTaggableManager, ClusterTaggableManager
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.utils import six
from taggit.utils import require_instance_manager

# All this crap is mostly boilerplate and copy and pasted code just to fix one line from taggit/managers.py

class _FixedClusterTaggableManager(_ClusterTaggableManager):
    @require_instance_manager
    def similar_objects(self):
        lookup_kwargs = self._lookup_kwargs()
        lookup_keys = sorted(lookup_kwargs)
        qs = self.through.objects.values(*six.iterkeys(lookup_kwargs))
        qs = qs.annotate(n=models.Count("pk"))
        qs = qs.exclude(**lookup_kwargs)
        qs = qs.filter(tag__in=self.all())
        qs = qs.order_by("-n")

        # TODO: This all feels like a bit of a hack.
        items = {}
        if len(lookup_keys) == 1:
            # Can we do this without a second query by using a select_related()
            # somehow?
            f = self.through._meta.get_field(lookup_keys[0])
            remote_field = f.remote_field
            rel_model = remote_field.model
            objs = rel_model._default_manager.filter(
                **{
                    "%s__in"
                    % remote_field.field_name: [r["content_object"] for r in qs]
                }
            )
            for obj in objs:
                # THE FOLLOWING 2 LINES IS THE ACTUAL FIX:
                # items[(getattr(obj, remote_field.field_name),)] = obj
                items[(obj.id,)] = obj
        else:
            preload = {}
            for result in qs:
                preload.setdefault(result["content_type"], set())
                preload[result["content_type"]].add(result["object_id"])

            for ct, obj_ids in preload.items():
                ct = ContentType.objects.get_for_id(ct)
                for obj in ct.model_class()._default_manager.filter(pk__in=obj_ids):
                    items[(ct.pk, obj.pk)] = obj

        results = []
        for result in qs:
            obj = items[tuple(result[k] for k in lookup_keys)]
            obj.similar_tags = result["n"]
            results.append(obj)
        return results

class FixedClusterTaggableManager(ClusterTaggableManager):
    def __get__(self, instance, model):
        # override TaggableManager's requirement for instance to have a primary key
        # before we can access its tags
        manager = _FixedClusterTaggableManager(
            through=self.through, model=model, instance=instance, prefetch_cache_name=self.name
        )

        return manager

Assuming this file is in the same directory as the models.py where you want to use a ClusterTaggableManager you can import it like so without changing anything else:
# from modelcluster.contrib.taggit import ClusterTaggableManager
from .taggablemanager import FixedClusterTaggableManager as ClusterTaggableManager

It seems that this bug isn't fixed in version 1.2.0.

Here is a workaround for those not wanting to eject and override the package:
In this scenario we use taggit to tag multiple objects (tools and toolboxes) so the "tt.object_id  = ct.id and tt.content_type_id in (select dct.id from  django_content_type dct where dct.app_label = 'core' and dct.model = 'tool')"  line is to ensure we find the correct object id, in this case it is just for tools. This admittedly is not the best solution but better than nothing. The function only needs the instance of the object you want to find similar items for, in our case a tool queried from Tool.objects.get(pk=id). It returns a list of similar tools ordered by the most matches then by most recently added.
def get_similar_tools(tool):
    tags = tool.tags.all().values_list('id', flat=True)

    similar_tools = Tool.objects.raw(
        """
        select x.id, count(x.id) matching_tags from (select ct.id, count(tt.tag_id) as tag_count
        from core_tool ct
        join taggit_taggeditem tt on tt.object_id  = ct.id and tt.content_type_id in
                (select dct.id from  django_content_type dct where dct.app_label = 'core' and dct.model = 'tool')
        join taggit_tag t on t.id = tt.tag_id
        where t.id in %s and ct.id != %s
        group by (ct.id, tt.tag_id)
        order by ct.id) x
        group by x.id
        order by matching_tags desc, x.id desc
        """, params=[tuple(tags), tool.id])

    similar_tool_ids = []
    for similar_tool in similar_tools:
        similar_tool_ids.append(similar_tool.id)

    sts = list(Tool.objects.filter(pk__in=similar_tool_ids))
    sts.sort(key=lambda t: similar_tool_ids.index(t.pk))

    return sts

Many wagtail users have reported this issue over the years. @jdufresne, as you seem to be the last active maintainer of this project, what needs to happen to put this and #508 and #424 to rest, and how can I help to make that happen?

thanks @czr137


Terraform auto completion support

Terraform high level types (variable, resource, data, module ...) auto completion support.
resource types (aws_dynamodb_table ...) auto completion support for aws, azure & google
resource | data | module | output | variable property types auto completion support
resource | data 1-level nested block property types auto completion support

really cool, thanks

how did you generate the JSON files with the data in it btw?

I created this project which will generate the json files for providers.

cool, I added a quick note in the source code about it so that I can find it again.


Merge Related Object

Also update api library and add owner to managedclusteraddons
Signed-off-by: Jian Qiu<EMAIL_ADDRESS>

/assign @elgnay

/lgtm


Restrict tests to its namespace

I suspect we have a starvation issue where controllers overload some resource. This should reduce the load by limiting watchers to the test namespace.
Also fixed:

marked driver.go manual to avoid building docker images automatically
tried with recent envoy build and discovered it's broken for manager for unknown reason

Jenkins job manager/presubmit passed

Jenkins job manager/presubmit passed

I did some refactoring in the driver - to allow parallel and sequential requests. I need sequential to understand envoy's problem. Let me know if you have more comments.

I think it's hard to reason about defer with log.Fatal so let's make namespace deletion explicit. This way we know for sure namespaces don't get leaked. I always thought making log.Fatal cause a panic  was a strange decision by golang designers.


Add Livewire PowerGrid

Hello @driesvints,
This PR adds Livewire ⚡PowerGrid ⚡ to the Libraries in alphabetical order.
PowerGrid creates modern, powerful and easy to customize Datatables based on Laravel Livewire.
🌐 https://livewire-powergrid.com/
Thank you 🙏

Heya, I don't maintain this repo anymore so @calebporzio will review this 🙂

Thanks for the quick reply @driesvints!


Property 'toEqual' does not exist on type 'NgMatchers'

How do I get test cases to work if I want to use the 'angular2/testing' package with angular2-meteor?  When running with a karma-phantomjs test runner, I get the following below:
test/client/test-case/priority/priority.service.spec.ts (22, 43): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/priority/priority.service.spec.ts (23, 44): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/status/status.service.spec.ts (22, 41): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/status/status.service.spec.ts (23, 42): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/tag/tag.service.spec.ts (22, 46): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/tag/tag.service.spec.ts (23, 47): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/test-step/test-step.service.spec.ts (22, 43): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/test-step/test-step.service.spec.ts (23, 46): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/type/type.service.spec.ts (22, 47): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/type/type.service.spec.ts (23, 48): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/version/version.service.spec.ts (22, 42): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/version/version.service.spec.ts (23, 43): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/component/component.service.spec.ts (22, 44): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/component/component.service.spec.ts (23, 45): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/project/project.service.spec.ts (22, 42): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/project/project.service.spec.ts (23, 43): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/release/release.service.spec.ts (22, 42): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/release/release.service.spec.ts (23, 43): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/sprint/sprint.service.spec.ts (22, 41): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/sprint/sprint.service.spec.ts (23, 42): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/test-case.service.spec.ts (22, 3): Cannot find name 'beforeEach'.
test/client/test-case/test-case.service.spec.ts (27, 43): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/test-case/test-case.service.spec.ts (28, 44): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/work-item/work-item.service.spec.ts (29, 43): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/work-item/work-item.service.spec.ts (35, 30): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/work-item/work-item.service.spec.ts (41, 32): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/work-item/work-item.service.spec.ts (42, 30): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/work-item/work-item.service.spec.ts (43, 29): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/work-item/work-item.service.spec.ts (44, 30): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/work-item/work-item.service.spec.ts (45, 29): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/work-item/work-item.service.spec.ts (51, 35): Property 'toEqual' does not exist on type 'NgMatchers'.
test/client/work-item/work-item.service.spec.ts (52, 40): Property 'toEqual' does not exist on type 'NgMatchers'.

Solved this by adding typings for jasmine.

@denodaeus I am facing the same issue, could you please explain more, what is the solution for this issue?

thanks @denodaeus
@ppparihar - run "npm install @types/jasmine" and this will install the correct typings.


example html output

to see if pyvis is a good solution

example with one single execution is visible at: https://share.streamlit.io/burnout87/streamlite-graph/main/main/main.py

I will merge this, and continue on #5 , to avoid confusion


Quote whitespace-containing arguments in Task.description

Fixes https://github.com/Carthage/Carthage/issues/1318.

Updated ✨ How does it look like now?

🚢


Update onboarding screens (v3) | Dev

How do we add the first screen to BC Wallet only?

Added #1593 for the Skip button but everything else is done


[RFC] Filters improvement

The goal is to improve and clean up filters, which will allow specifying more complex conditions than at present.
General assumptions
Add new API for filtering

Replace filter with where option - deprecate filter, add new where option. Create new types input types for new filtering options
Move search from filters on the top level
Introduce AND, OR and NOT operators
Allow providing only AND, OR, NOT operators or just the field filter input; raise a ValidationError when those inputs are mixed on a single input object
Introduce filtering input for basic types (String, Int, etc.) - for now, allow only filtering by eq and oneOf operation, add a validation - only one operator will be allowed to specify
The date, dateTime, and Int will also have the range option
Each enum will have new filter input with eq and oneOf options
Raise a ValidationError when both filters and where options will be specified

Assumptions regarding filters

Every property of API types should be filterable
Filter should be singular
Consistent naming of filters - the filter input field should have the same name in filtering as the property name in the API
Every time a new field is added the new filter fields should be added
Deprecate sortBy inside filters, the sorting option should be next to filters
Nested connection fields should have the same filters as top levels, e.g. Category.products
Deprecate the product.variant field - there is a top-level query for that
Deprecate the following Attribute fields: filterableInStorefront, storefrontSearchPosition, availableInGrid.
Add filters to fields that are not paginated (list fields)
The guideline for filtering should be prepared. It should contain info about the following:

naming convention (as above: the filter input field should have the same name in filtering as the property name)
filter types convention (every time a new field is added the new filter fields should be added too)

TODO list for each type

[ ] Add new WhereInput
[ ] Allow filtering be each field that is in the type definition
[ ] Add search on the top-level, if it's available in filters options
[ ] Deprecate sortBy inside filters, the sorting option should be next to `filters
[ ] Extend the nested connections of field with the where option
[ ] Add where filter to the list fields
[ ] Add tests for each filtering field
[ ] Add tests for operators filters
[ ] Add benchmark test

Progress

[x] Attribute (#11737)
Only missing:

[ ] benchmark tests
[ ] add where option on attributes fields of other types (attributes list fields that are not paginated)

[ ] AttributeValue

TODO

[ ] performance tests - check the SQL statements for more advanced queries

Examples
The following example queries demonstrate the use of AND, OR, and NOT  operators:

The filter with the NOT and AND operators

Attributes whose names are not Author and whose slug is not tom or james

query {
   attributes(where: {NOT:  {AND: [{name: {eq: "Author"}}, {slug: {oneOf: ["tom", "james"]}}]}}) {
      edges {
          node {
             id
          }
      }
   }
}

The filter with OR operator

Attributes that name is Author or slug is tom or james

query {
   attributes(where: {OR: [{name: {eq: "Author"}}, {slug: {oneOf: ["tom", "james"]}}]} ) {
      edges {
          node {
             id
          }
      }
   }
}

The filter with AND and OR operator

Attributes that are PRODUCT_TYPE type, and the id is QXR0cmlidXRlOjIx or QXR0cmlidXRlOjI3 or the attribute name is test

query {
  attributes(
    where: {
      AND: [
        {
          type: {
            eq:  PRODUCT_TYPE
          }
        },
        {
          OR: [
           {
             id: {
               oneOf: [ "QXR0cmlidXRlOjIx", "QXR0cmlidXRlOjI3"]
             }
           },
           {
             name: {
               eq: "test"
             }
           }
          ]
         }
      ],
    }
  ) {
    edges {
       node {
          id
          name
       }
    }
  }
}

Invalid examples
1. Not allowed mixing of flat field filter and operator AND, OR, NOT
query {
   attributes(where: {type: {eq: PRODUCT-TYPE}}, AND: [{name: {eq: "Author"}}]}) {
      edges {
          node {
             id
          }
      }
   }
}

INSTEAD: Join both conditions into one AND filter input

Attributes that name is Author and type is PRODUCT-TYPE

query {
   attributes(
    where: {
      AND: [
        {name: {eq: "Author"}},
        {type: {eq: PRODUCT_TYPE}}
      ]
    }
  ) {
      edges {
          node {
             id
          }
      }
   }
}

2. Not allowed mixing operators on the same level
query {
   attributes(where: {NOT: {name: {eq: "Juice"}}, AND: [{type: {eq: PRODUCT-TYPE}}]}) {
      edges {
          node {
             id
          }
      }
   }
}

INSTEAD: Nest NOT condition inside AND

Attributes that name is different than Juice and type is PRODUCT-TYPE

query {
   attributes(where: {AND: [{NOT: {name: {eq: "Juice"}}}, {type: {eq: {PRODUCT-TYPE}}]}) {
      edges {
          node {
             id
          }
      }
   }
}

3.  Not allowed mixing filter and where filters.
query {
   attributes(filter: {type: PRODUCT-TYPE}, where: {AND: [{name: {eq: "Author"}}]}) {
      edges {
          node {
             id
          }
      }
   }
}

INSTEAD: Use filter or where
4. Not allowed to mix different operations
query {
   attributes(where: {AND: [{name: {eq: "Author", oneOf: ["Author", "Juice"]}}]}) {
      edges {
          node {
             id
          }
      }
   }
}

Each new input filter will be added based on the below assumptions
API changes
Below is an example of the API changes on the Attribute module based on the above assumptions. Changes in other modules will be presented in separate tickets.
Attribute
type Query {
  attributes(
    # new
    where: AttributeWhereInput
    search: String

    # deprecate
    filter: AttributeFilterInput @(deprecate)

    # unchange
    sortBy: AttributeSortingInput
    channel: String
    before: String
    after: String
    first: Int
    last: Int
  ): AttributeCountableConnection
  ...
}

input AttributeWhereInput {
  AND: [AttributeWhereInput]
  OR: [AttributeWhereInput]
  NOT: AttributeWhereInput

  # I didn't use `IdFilterInput` here as there is an option to filter by single `id` in `attribute` query
  ids: [ID!]
  name: StringFilterInput
  slug: StringFilterInput
  withChoices: Boolean
  inputType: AttributeInputTypeEnumFilterInput
  entityType: AttributeEntityTypeEnumFilterInput
  type: AttributeTypeEnumFilterInput
  unit: MeasurementUnitsEnumFilterInput
  valueRequired: Boolean
  visibleInStorefront: Boolean
  filterableInDashboard: Boolean
  isVariantOnly: Boolean
  metadata: [MetadataFilter!]
  inCollection: ID
  inCategory: ID
}

type Attribute implements Node & ObjectWithMetadata {
  # deprecate
  availableInGrid: Boolean!  @derecate
  filteerableInStorefront: Boolean!   @derecate
  storefrontSearchPosition: Boolean!   @deprecate

  productTypes(
    # add
    where: ProductTypeWhereInput

    # unchange
    before: String
    after: String
    first: Int
    last: Int
  ): ProductTypeCountableConnection!

  productVariantTypes(
    # add
    where: ProductVariantWhereInput

    # unchange
    before: String
    after: String
    first: Int
    last: Int
  ): ProductTypeCountableConnection!
}

input AttributeInputTypeEnumFilterInput {
  eq: AttributeInputTypeEnum
  oneOf: [AttributeInputTypeEnum!]
}

input AttributeEntityTypeEnumFilterInput {
  eq: AttributeEntityTypeEnum
  oneOf: [AttributeEntityTypeEnum!]
}

input AttributeTypeEnumFilterInput {
  eq: AttributeTypeEnum
  oneOf: [AttributeTypeEnum!]
}

input MeasurementUnitsEnumFilterInput {
  eq: MeasurementUnitsEnum
  oneOf: [MeasurementUnitsEnum!]
}

New filter inputs of basic types
input StringFilterInput {
  eq: String
  oneOf: [String!]
}

# validation - require only one value, raise an error otherwise
input IntFilterInput {
  eq: Int
  oneOf: [Int!]
  range: IntRangeInput
}

# one of argument is required, return ValidationError or just return empty queryset
input IntRangeInput{
  gte: Int
  lte: Int
}

input DateFilterInput {
  eq: Date
  oneOf: [Date!]
  range: DateRangeInput
}

# one of argument is required, return ValidationError or just return empty queryset
input DateRangeInput{
  gte: Date
  lte: Date
}

input DateTimeFilterInput {
  eq: DateTime
  oneOf: [DateTime!]
  range: DateTimeRangeInput
}

# one of argument is required, return ValidationError or just return empty queryset
input DateTimeRangeInput{
  gte: DateTime
  lte: DateTime
}

Deprecate the product.variant field - there is a top-level query for that

Maybe we could add product.variants_ids  instead to allow easy get a list of all variants assigned to the product. Instead of iterating through productVarinsts.edges.node.id?

I am not convinced that we should deprecate the product.variant field. We just added it. The main idea was, to fetch the expected variant without additional query. Ref: https://github.com/saleor/saleor/issues/9452
Also even if we decide to deprecate it: is it something related to the filter improvments?

Replace filter with where option - deprecate filter, add new where option. Create new types input types for new filtering options

IMHO, where should be PREVIEW_FEATURE. We want to have a possibility to improve it based on the feedback. In that case, we shouldn't immediately deprecate the filter fields. If we do that, we will have to recommend using where which will not be "fully stable" until we will decide to remove PREVIEW_FEATURE label.

What is an expected way of handling queries with combined operators? For example the below one 👇
query {
  attributes(
    where: {
      type: {
        eq:  PRODUCT_TYPE
      }, {
      AND: [
        {
        	name: {
          	in: ["Test1", "Test"]
        	}
      	}
      ],
      NOT: [
        {
          slug: {
            in: ["Slug1", "Slug2"]
          }
        }
      ],
      OR: [
        {
           id: {
             in: [ "QXR0cmlidXRlOjIx", "QXR0cmlidXRlOjI3"]
           }
         },
        {
           name: {
             eq: "test"
           }
         }
      ]
    }
  )
...

Maybe we should start from preparing some doc that would explain potential combinations and expected result?

@patrys could you comment on the decision about deprecating product.variant field?
About handling the combined operators it's kind of simple, there is and between each operator, so in this case you will look for attributes with PRODUCT_TYPE with name == Test1 or name == Test and with slug != Slug1 and slug != Slug2 and (id == QXR0cmlidXRlOjIx or id != QXR0cmlidXRlOjI3 OR name == "test. So as a result you will get the PRODUCT_TYPE attributes in which id is in [ "QXR0cmlidXRlOjIx", "QXR0cmlidXRlOjI3"] and name is in ["Test1", "Test"] and the attribute slug is different than ["Slug1", "Slug2"]

MHO, where should be PREVIEW_FEATURE. We want to have a possibility to improve it based on the feedback. In that case, we shouldn't immediately deprecate the filter fields. If we do that, we will have to recommend using where which will not be "fully stable" until we will decide to remove PREVIEW_FEATURE label.

We will sign the new filters as PREVIEW_FEATURE, for sure, but maybe you are right, that we shouldn't deprecate the current feature at the beginning.

@korycins The canonical way to fetch a variant is using Query.productVariant. You can fetch the related product from there.
Also, consider the following query to see why this filter does not belong as an embedded field:
{
  products (first: 100, channel: "...") {
    edges {
      node {
        variant(sku: "STEVE") {
          id
        }
      }
    }
  }
}

Closing as most of the work has been done.


[New Port Request] boost-nowide

Library name: boost-nowide
Library description: Boost nowide nowide module (it makes it easier to handle Unicode (UTF-8) I/O in Windows without wchar_t)
Source repository URL: https://github.com/boostorg/nowide
Project homepage (if different from the source repository):
Anything else that is useful to know when adding (such as optional features the library may have that should be included):
Windows API prefers wchar_t as characters type for I/O rather than char, but this is a Galapagosized behavier and lacks compatibility with and code portability to other OSes (macOS, Linux, and other POSIX OSes).
Other major OSes treat char as UTF-8 but Windows usually do not.  But you can force Windows to do so with the help of this library.

There is a package boost-vcpkg-helpers.  Does it requires a special way to add boost packages?

Wanted to share, that according to this reddit post nowide is to be officially included into the upcoming 1.73 boost release.

Oh, did it used to be an unofficial module?  It is no wonder that it is unavailable in Vcpkg.

Yes, it was an unofficial 3rd party module. Before boost 1.73, you had to do stuff yourself to use it. You could either use some of its functionality using only its headers, or for access to things like nowide iostream (iirc) you had to copy-paste it into boost directory and compile it together with boost. Today it looks like there is a standalone version of nowide available.
IDK is you can or can not do anything about it. Probably, boost vcpkg port has a maintainer here. As soon as they update it, we should have access to the new built-in boost::nowide.

I got it.  I will wait for actions of port maintainers.