-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refine HostInterfaceMTUSize alert rule #107
Comments
Via @lucabello: We probably don’t want to add a juju config option, but the automatic detection ( |
@facundofc would you be able to help spec this out? |
Closing this, but please feel free to re-open if needed! |
Hello, why has this issue been closed? @lucabello |
Hey @nishant-dash, this has been closed because of inactivity; could you help us spec this out as @sed-i was suggesting? :) |
You can either check with ip -j -d link | jq . | jq -r ".[] | (.ifname, .mtu, .min_mtu, .max_mtu)" | paste - - - - | column -t or from pyroute2 import IPDB
with IPDB() as ipdb:
for iface in ipdb.interfaces.values():
print(iface.ifname, iface.mtu, iface.get("min_mtu", ""), iface.get("max_mtu", "")) and you will see ...
lo 65536 0 0
...
ens1f1np1 9000 68 9978
...
br-int 1500 68 65535
...
br-data 9000 68 65535
br-data 9000 68 65535
...
bondm.3216 1500 0 65535
...
ens1f0v1 1500 68 9978
... In terms of mtu, at first glance it seems that as long as
we should be ok, and this would apply to all interfaces. Other than mtu, you would need to look at "linkinfo": {
"info_kind": "openvswitch"
}, or "linkinfo": {
"info_kind": "bridge",
"info_data": {
...
} or it may be an interface thats part of a bond, in which case it does not have that property. For the purpose of MTU, I believe the points I mentioned might suffice? @facundofc |
Hi there! Apologies for leaving this hanging. There seems to be a misunderstanding about the original issue. No, we don't want to detect MTU flapping on all interfaces, effectively the issue is that we currently are alerting on
Not really. I still don't know how to automatically detect which interfaces to monitor for MTU changes. My original suggestion of filtering out ifaces with {
"ifindex": 12,
"ifname": "br-int",
"flags": [
"BROADCAST",
"MULTICAST"
],
"mtu": 1500,
"qdisc": "noop",
"operstate": "DOWN",
"linkmode": "DEFAULT",
"group": "default",
"txqlen": 1000,
"link_type": "ether",
"address": "7e:9a:7a:2a:07:da",
"broadcast": "ff:ff:ff:ff:ff:ff",
"promiscuity": 1,
"min_mtu": 68,
"max_mtu": 65535,
"linkinfo": {
"info_kind": "openvswitch"
},
"inet6_addr_gen_mode": "eui64",
"num_tx_queues": 1,
"num_rx_queues": 1,
"gso_max_size": 65536,
"gso_max_segs": 65535
} and {
"ifindex": 18,
"ifname": "br-data",
"flags": [
"BROADCAST",
"MULTICAST",
"UP",
"LOWER_UP"
],
"mtu": 9000,
"qdisc": "noqueue",
"operstate": "UNKNOWN",
"linkmode": "DEFAULT",
"group": "default",
"txqlen": 1000,
"link_type": "ether",
"address": "98:03:9b:9c:98:e8",
"broadcast": "ff:ff:ff:ff:ff:ff",
"promiscuity": 1,
"min_mtu": 68,
"max_mtu": 65535,
"linkinfo": {
"info_kind": "openvswitch"
} The first one ( As per the
|
Enhancement Proposal
The charm ships an alert rule (
HostInterfaceMTUSize
) which looks for changes in network interfaces. The rule does not filter out any interface, meaning that it will trigger for changes inbr-int
's MTU. More details about thebr-int
interface can be read on this issue's comment, but the bottom line is that its MTU is irrelevant. Users creating networks of different MTUs will cause the iface's MTU to change and this does not indicate any issue.I can think only two ways of solving this, but more ideas are welcome of course.
ip -j -d link
and looking for a certain set of properties (like.linkinfo.info_kind == "openvswitch"
and the like).I see issues with both approaches, namely:
Personally, I would go for alternative 1. Likely there are more interfaces we want to ignore, like TAP interfaces created for the VMs and so on.
Our immediate workaround is to add a very long silence matching
device != "br-int"
, but this is far from ideal.The text was updated successfully, but these errors were encountered: