Bug 2174896

Summary: ethmonitor generates "WARNING Interface XXX does not exist" at every monitor operation (RHEL9)
Product: Red Hat Enterprise Linux 9 Reporter: Oyvind Albrigtsen <oalbrigt>
Component: resource-agentsAssignee: Oyvind Albrigtsen <oalbrigt>
Status: CLOSED ERRATA QA Contact: cluster-qe <cluster-qe>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 9.2CC: agk, cluster-maint, fdinitto, knoha, mjuricek, phagara, sbradley
Target Milestone: rcKeywords: Triaged
Target Release: 9.3Flags: pm-rhel: mirror+
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: resource-agents-4.10.0-35.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 2154727 Environment:
Last Closed: 2023-11-07 08:23:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2154727    
Bug Blocks:    

Description Oyvind Albrigtsen 2023-03-02 15:01:50 UTC
+++ This bug was initially created as a clone of Bug #2154727 +++

Description of problem:
ethmonitor generates "WARNING Interface XXX does not exist" at every monitor operation.

The issue occurs when the interface doesn't have an IP address.

is_interface() in ethmonitor script uses 'ip -a -o inet addr show' command.
The command shows interfaces which have IP addresses.
On the other hand, if the interface belongs to (OVS/Linux) bridge.
The physical/bonding interfaces don't have IP addresses.

To detect the correct interface in that situation, we should backport the following commits into RHEL8.2 and RHEL8.4.

~~~
commit 40d05029ce0b2ad437377cf9a8bcb4c91508fa89
Author: Heitor R. Alves de Siqueira <halves>
Date:   Thu Mar 21 16:29:33 2019 -0300

    ethmonitor: check if interface exists by link
---
commit c0ac191c73f1a3cf62d54b7ec59992997cca3810
Author: Heitor Alves de Siqueira <halves>
Date:   Wed Apr 17 17:16:39 2019 -0300

    ethmonitor: fix is_interface() regression
    
    Commit 40d05029ce0b changed is_interface() to list by link instead of
    address. We need to adjust the grep filter for the new output format,
    else we'll miss interfaces.
---
commit 7f7ca75100a846242ff1510fd9bcf299cd3d00eb
Author: Aleksei Burlakov <aleksei.burlakov>
Date:   Mon Oct 26 13:25:45 2020 +0100

    ethmonitor: is_interface: RE matches vlan names
    
    Vlan names end not with : but are suffixed with the @devices-name
~~~

Version-Release number of selected component (if applicable):
resource-agents in RHEL8.2 and RHEL8.4.


How reproducible:
Everytime when ethmonitor's monitor operation runs.

Steps to Reproduce:
1. Configure an interface which belongs to ovs-bridge.
2. Setup ethmonitor for the bonding device which doesn't have an IP address.
3. Observe the error message is shown.

Actual results:
The warning message is shown

Expected results:
The warning message is not shown.

Additional info:
The message makes user confused. We should prevent it.

Comment 1 Oyvind Albrigtsen 2023-03-15 12:21:48 UTC
https://github.com/ClusterLabs/resource-agents/pull/1851

Comment 11 errata-xmlrpc 2023-11-07 08:23:10 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (resource-agents bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:6312