Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  1. ZABBIX BUGS AND ISSUES
  2. ZBX-15152

Using roles other than administrative results in constant messages about downs with OpenIPMI > 2.0.23

XMLWordPrintable

    • Icon: Incident report Incident report
    • Resolution: Cannot Reproduce
    • Icon: Trivial Trivial
    • None
    • 3.0.23, 3.4.14, 4.0.1
    • 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.

            asitals Andrejs Sitals (Inactive)
            edgar.akhmetshin Edgar Akhmetshin
            Team A
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: