-
Type:
Incident report
-
Resolution: Cannot Reproduce
-
Priority:
Trivial
-
None
-
Affects Version/s: 3.0.23, 3.4.14, 4.0.1
-
Component/s: Server (S)
-
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.