You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.
I've just combed the weave script for places where that has an impact...
configure_veth_bridged_fastdp (via create_veth)
if adding the fastdp iface fails but adding the bridge iface
succeeds then we end up with the datapath and bridge not being
connected, and hence presumably mysterious overlay connection
failures
configure_veth_attached_bridge (via create_veth)
if adding the interface fails but the ip link set succeeds, then weave attach-bridge succeeds even though the bridge hasn't been
attached.
if setting the MTUs fails then this still succeeds, so routers started with WEAVE_NO_FASTDP=1 can end up exhibiting lower performance or connectivity issues
And then there are some places where the impact is quite light...
args_match (via start_if_necessary)
if the existing container gets removed just before this is
invoked, we still end up comparing the inspect result. This is
fine though, since it won't match.
if the container gets removed (not just stopped) just before this
is invoked, this will print an error about the missing container
but continue executing, usually resulting in some obscure
follow-on error like "cannot open /hostproc//ns/net"
if the docker exec ... curl ... fails but also outputs something on stdout, then proxy_addrs will return that. This really shouldn't happen.
The last three are also present in 1.4.x.
Strategic placement of || return 1 or || exit 1 will cure these.
There are another ~20 functions which are suffering from the same problem but which are currently safe because they are not invoked in a context that disables set -e.
The text was updated successfully, but these errors were encountered:
This line is only in attach-router, which is only called when the proxy sees the router restart. The with_container_netns is unnecessary after #1930.
if setting the MTUs fails then this still succeeds
In practice it doesn't, since the next line ip link set $VETHL up will fail since the link doesn't exist.
To repro:
# weave reset
# WEAVE_NO_FASTDP=1 weave launch-router
# ip link del weave
# ip link del vethwe-bridge
# WEAVE_NO_FASTDP=1 WEAVE_MTU=99999 weave attach-router
Failure during network configuration for container weave:
RTNETLINK answers: Invalid argument
Cannot find device "vethwe-bridge"
set -e
gets disabled in certain contextsI've just combed the weave script for places where that has an impact...
configure_veth_bridged_fastdp
(viacreate_veth
)succeeds then we end up with the datapath and bridge not being
connected, and hence presumably mysterious overlay connection
failures
configure_veth_attached_bridge
(viacreate_veth
)ip link set
succeeds, thenweave attach-bridge
succeeds even though the bridge hasn't beenattached.
create_veth
(viawith_container_netns ... setup_router_iface_...
)WEAVE_NO_FASTDP=1
can end up exhibiting lower performance or connectivity issuesAnd then there are some places where the impact is quite light...
args_match
(viastart_if_necessary
)invoked, we still end up comparing the inspect result. This is
fine though, since it won't match.
with_container_netns
(viawith_container_netns_or_die
)is invoked, this will print an error about the missing container
but continue executing, usually resulting in some obscure
follow-on error like "cannot open /hostproc//ns/net"
ipam_cidrs
(viaipam_cidrs_or_die
)and it is followed by other CIDRS (which succeed), then the
surrounding command succeeds. Though note that errors returned by weave http api are ignored by weave script #2052 is also at play here.
http_call_unix
(viaproxy_addrs
)docker exec ... curl ...
fails but also outputs something on stdout, thenproxy_addrs
will return that. This really shouldn't happen.The last three are also present in 1.4.x.
Strategic placement of
|| return 1
or|| exit 1
will cure these.There are another ~20 functions which are suffering from the same problem but which are currently safe because they are not invoked in a context that disables
set -e
.The text was updated successfully, but these errors were encountered: