-
Incident report
-
Resolution: Cannot Reproduce
-
Trivial
-
None
-
3.0.23, 3.4.14, 4.0.1
-
None
-
Sprint 47, Dec 2018, Sprint 48, Jan 2019, Sprint 49 (Feb 2019)
-
0
Steps to reproduce:
Before version 2.0.22 there was a patch for the library that fixes this problem:
--- lib/ipmi_lan.c.orig 2013-06-26 11:10:45.000000000 +0300 +++ lib/ipmi_lan.c 2013-06-26 11:12:21.000000000 +0300 @@ -4530,13 +4530,11 @@ got_rmcpp_open_session_rsp(ipmi_con_t *i lan = (lan_data_t *) ipmi->con_data; privilege = msg->data[2] & 0xf; - if (privilege != lan->cparm.privilege) { - ipmi_log(IPMI_LOG_ERR_INFO, + if (privilege < lan->cparm.privilege) { + ipmi_log(IPMI_LOG_WARNING, "%sipmi_lan.c(got_rmcpp_open_session_rsp): " "Expected privilege %d, got %d", IPMI_CONN_NAME(ipmi), lan->cparm.privilege, privilege); - handle_connected(ipmi, EINVAL, addr_num); - goto out; } session_id = ipmi_get_uint32(msg->data+4);
Since version 2.0.23 and above, the code has changed and the next patch is already in upstream:
Signed-off-by: Arnd Hannemann <[email protected]> --- lib/ipmi_lan.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/ipmi_lan.c b/lib/ipmi_lan.c index c55445e..cc75531 100644 --- a/lib/ipmi_lan.c +++ b/lib/ipmi_lan.c @@ -4530,13 +4530,11 @@ got_rmcpp_open_session_rsp(ipmi_con_t *ipmi, ipmi_msgi_t *rspi) lan = (lan_data_t *) ipmi->con_data; privilege = msg->data[2] & 0xf; - if (privilege != lan->cparm.privilege) { - ipmi_log(IPMI_LOG_ERR_INFO, + if (privilege < lan->cparm.privilege) { + ipmi_log(IPMI_LOG_WARNING, "%sipmi_lan.c(got_rmcpp_open_session_rsp): " "Expected privilege %d, got %d", IPMI_CONN_NAME(ipmi), lan->cparm.privilege, privilege); - handle_connected(ipmi, EINVAL, addr_num); - goto out; } session_id = ipmi_get_uint32(msg->data+4); -- 1.7.9.5
1. Install IPMI emulator in docker: https://github.com/vapor-ware/ipmi-simulator
2. Add user with User or Operator role, to see help:
ipmitool -H X.X.X.X -U ADMIN -P ADMIN -I lanplus user User Commands: summary [<channel number>] list [<channel number>] set name <user id> <username> set password <user id> [<password> <16|20>] disable <user id> enable <user id> priv <user id> <privilege level> [<channel number>] Privilege levels: * 0x1 - Callback * 0x2 - User * 0x3 - Operator * 0x4 - Administrator * 0x5 - OEM Proprietary * 0xF - No Access
3. Setup host with IPMI in Zabbix and get some error logs repeating:
2834:20181108:173046.545 WARN: 1 0 ipmi_lan.c(lost_connection): Connection 0 to the BMC is down 2834:20181108:173046.545 SEVR: 1 0 ipmi_lan.c(lost_connection): All connections to the BMC are down 2817:20181108:173124.348 WARN: 1 0 ipmi_lan.c(lost_connection): Connection 0 to the BMC is down 2817:20181108:173124.348 SEVR: 1 0 ipmi_lan.c(lost_connection): All connections to the BMC are down
Checked on CentOS 7.5/Oracle Linux 7.5 and Ubuntu 18.04.1.
Expected:
No errors, because latest data is actual and data is gathered.