[arm64/ppc64le] load ipmi_ssif/ipmi_powernv instead of ipmi_si

Bug #1716517 reported by Manoj Iyer on 2017-09-11
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
The Ubuntu-power-systems project
Low
Manoj Iyer
openipmi (Debian)
Fix Released
Unknown
openipmi (Ubuntu)
Low
Andreas Hasenack
Xenial
Low
Andreas Hasenack
Artful
Low
Andreas Hasenack
Bionic
Low
Andreas Hasenack

Bug Description

[Impact]
openipmi service fails to start on arm64/ppc64le servers because ipmi_ssif/ipmi_powernv is not loaded, and ipmi_si is loaded instead.

[Test]
sudo apt install openipmi
sudo service openipmi status

[Fix]
ARM64 servers use ipmi_ssif instead of ipmi_si. Load ipmi_ssif instead.
PPC64EL servers use ipmi_powernv instead of ipmi_si. Load ipmi_powernv instead.

[Regression Potential]
ipmitool tries to load ipmi_si for any given architecture. Thus fails to init on ARM and Power architecture. The patch adds logic for ipmitool to load ipmi_ssif or ipmi_powernv for ARM and Power architecture. You might see a regression on architectures that we still do not have official support for.

Related branches

Manoj Iyer (manjo) on 2017-09-12
summary: - [arm64] load ipmi_ssif instead of ipmi_si
+ [arm64/ppc64le] load ipmi_ssif/ipmi_powernv instead of ipmi_si
description: updated
Manoj Iyer (manjo) wrote :

The attached patch loads the appropriate module for arm64 and ppc64le architectures instead of the default ipmi_si. I tried to generate a debdiff but debuild -S says reserved patch detected and fails, and I could not figure out why. The patch applies cleanly without fuzz with quilt and with patch.
$ quilt push -a
Applying patch fix_pthread_pkg_config.patch
patching file OpenIPMIpthread.pc.in

Applying patch 0001-load-ipmi-module-for-arch.patch
patching file debian/openipmi.init

Now at patch 0001-load-ipmi-module-for-arch.patch
$ patch -p1 --dry-run < debian/patches/0001-load-ipmi-module-for-arch.patch
checking file debian/openipmi.init

If you can help me with a debdiff I will be happy to submit one.

Changed in openipmi (Ubuntu):
assignee: Manoj Iyer (manjo) → Canonical Foundations Team (canonical-foundations)
Manoj Iyer (manjo) wrote :

== ppc64le architecture ==
$ sudo service openipmi status
● openipmi.service - LSB: OpenIPMI Driver init script
   Loaded: loaded (/etc/init.d/openipmi; bad; vendor preset: enabled)
   Active: active (exited) since Tue 2017-09-12 18:14:25 UTC; 1s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 106394 ExecStart=/etc/init.d/openipmi start (code=exited, status=0/SU

Sep 12 18:14:25 cameron systemd[1]: Starting LSB: OpenIPMI Driver init script...
Sep 12 18:14:25 cameron openipmi[106394]: * Starting ipmi drivers
Sep 12 18:14:25 cameron openipmi[106394]: ...done.
Sep 12 18:14:25 cameron systemd[1]: Started LSB: OpenIPMI Driver init script.

$ lsmod | grep ipmi
ipmi_powernv 6233 0
ipmi_devintf 13435 0
ipmi_msghandler 49270 2 ipmi_devintf,ipmi_powernv

$ sudo service openipmi stop
$ lsmod | grep ipmi
$ sudo service openipmi start
$ lsmod | grep ipmi
ipmi_powernv 6233 0
ipmi_devintf 13435 0
ipmi_msghandler 49270 2 ipmi_devintf,ipmi_powernv
$ sudo service openipmi status
● openipmi.service - LSB: OpenIPMI Driver init script
   Loaded: loaded (/etc/init.d/openipmi; bad; vendor preset: enabled)
   Active: active (exited) since Tue 2017-09-12 18:15:46 UTC; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 106532 ExecStop=/etc/init.d/openipmi stop (code=exited, status=0/SUCC
  Process: 106632 ExecStart=/etc/init.d/openipmi start (code=exited, status=0/SU

Sep 12 18:15:46 cameron systemd[1]: Starting LSB: OpenIPMI Driver init script...
Sep 12 18:15:46 cameron openipmi[106632]: * Starting ipmi drivers
Sep 12 18:15:46 cameron openipmi[106632]: ...done.
Sep 12 18:15:46 cameron systemd[1]: Started LSB: OpenIPMI Driver init script.

Manoj Iyer (manjo) wrote :

== arm64 architecture ==
$ dpkg -l | grep openipmi
ii libopenipmi-dev 2.0.22-1ubuntu1.1 arm64 Intelligent Platform Management Interface - development
ii libopenipmi0 2.0.22-1ubuntu1.1 arm64 Intelligent Platform Management Interface - runtime
ii openipmi 2.0.22-1ubuntu1.1 arm64 Intelligent Platform Management Interface (for servers)

$ sudo service openipmi start
$ lsmod | grep ipmi
ipmi_ssif 28672 0
ipmi_devintf 24576 0
ipmi_msghandler 57344 2 ipmi_ssif,ipmi_devintf
$ sudo service openipmi status
● openipmi.service - LSB: OpenIPMI Driver init script
   Loaded: loaded (/etc/init.d/openipmi; bad; vendor preset: enabled)
   Active: active (exited) since Tue 2017-09-12 18:26:20 UTC; 26s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 38242 ExecStart=/etc/init.d/openipmi start (code=exited, status=0/SUC

Sep 12 18:26:19 awrep7 systemd[1]: Starting LSB: OpenIPMI Driver init script...
Sep 12 18:26:19 awrep7 openipmi[38242]: * Starting ipmi drivers
Sep 12 18:26:20 awrep7 openipmi[38242]: ...done.
Sep 12 18:26:20 awrep7 systemd[1]: Started LSB: OpenIPMI Driver init script.
$ sudo service openipmi stop
$ lsmod | grep ipmi
$ sudo service openipmi start
$ lsmod | grep ipmi
ipmi_ssif 28672 0
ipmi_devintf 24576 0
ipmi_msghandler 57344 2 ipmi_ssif,ipmi_devintf
$ sudo service openipmi status
● openipmi.service - LSB: OpenIPMI Driver init script
   Loaded: loaded (/etc/init.d/openipmi; bad; vendor preset: enabled)
   Active: active (exited) since Tue 2017-09-12 18:27:18 UTC; 19s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 38347 ExecStop=/etc/init.d/openipmi stop (code=exited, status=0/SUCCE
  Process: 38434 ExecStart=/etc/init.d/openipmi start (code=exited, status=0/SUC

Sep 12 18:27:17 awrep7 systemd[1]: Starting LSB: OpenIPMI Driver init script...
Sep 12 18:27:17 awrep7 openipmi[38434]: * Starting ipmi drivers
Sep 12 18:27:18 awrep7 openipmi[38434]: ...done.
Sep 12 18:27:18 awrep7 systemd[1]: Started LSB: OpenIPMI Driver init script.

Manoj Iyer (manjo) wrote :

These tests were done using openipmi zesty source, and the patch will cleanly apply and build on xenial, zesty and artful. Also, I have submitted the patch to debian https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=875537

The attachment "patch to load appropriate modules for arm64 and ppc64le archs instead of default ipmi_si" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Changed in openipmi (Debian):
status: Unknown → New
Manoj Iyer (manjo) wrote :

upstream is still working on supporting ARM64 in openipmi, I will check the upstream status and update this bug.

Changed in openipmi (Ubuntu):
importance: High → Low
Changed in ubuntu-power-systems:
importance: Undecided → Low
assignee: nobody → Manoj Iyer (manjo)
status: New → Incomplete
tags: added: triage-g
Changed in openipmi (Debian):
status: New → Fix Released
Manoj Iyer (manjo) wrote :

The patch is now in debian (unstable). Please consider the patch for bionic, artful and xenial.

openipmi (2.0.25-2) unstable; urgency=medium

  * Fixed openipmi init file for other archs. Thanks Majon!
    closes: Bug#875537
  * debian/copyright change to dep5 format

 -- Noël Köthe <email address hidden> Sat, 19 May 2018 11:04:51 +0200

Manoj Iyer (manjo) wrote :

Bionic debdiff for openipmi

Manoj Iyer (manjo) wrote :

Artful debdiff for openipmi

Manoj Iyer (manjo) wrote :

Xenial debdiff for openipmi

Andreas Hasenack (ahasenack) wrote :

Hi @manjo,

do you need sponsoring for this SRU? To upload the package, I mean

Manoj Iyer (manjo) wrote :

@ahasenack yes I would need, I dont have the powers to upload.

Manoj Iyer (manjo) wrote :

- openipmi on Power9 system -

-- With stock openipmi from bionic archives --

ubuntu@dradis:~$ sudo apt install openipmi

ubuntu@dradis:~$ sudo service openipmi status
● openipmi.service - LSB: OpenIPMI Driver init script
   Loaded: loaded (/etc/init.d/openipmi; generated)
   Active: inactive (dead)
     Docs: man:systemd-sysv-generator(8)

ubuntu@dradis:~$ lsmod | grep ipmi
ipmi_powernv 6361 0
ipmi_devintf 12691 0
ipmi_msghandler 58145 2 ipmi_devintf,ipmi_powernv
ubuntu@dradis:~$

ubuntu@dradis:~$ sudo service openipmi stop
ubuntu@dradis:~$ sudo service openipmi start
Job for openipmi.service failed because the control process exited with error code.
See "systemctl status openipmi.service" and "journalctl -xe" for details.
ubuntu@dradis:~$ tail -f /var/log/syslog
Jun 12 18:34:41 dradis systemd[1]: message repeated 2 times: [ Reloading.]
Jun 12 18:34:58 dradis systemd[1]: Starting LSB: OpenIPMI Driver init script...
Jun 12 18:34:58 dradis openipmi[6594]: * Starting ipmi drivers
Jun 12 18:34:58 dradis kernel: [ 4344.111714] IPMI System Interface driver.
Jun 12 18:34:58 dradis kernel: [ 4344.111847] ipmi_si: Unable to find any System Interface(s)
Jun 12 18:34:58 dradis openipmi[6594]: ...fail!
Jun 12 18:34:58 dradis openipmi[6594]: ...done.
Jun 12 18:34:58 dradis systemd[1]: openipmi.service: Control process exited, code=exited status=1
Jun 12 18:34:58 dradis systemd[1]: openipmi.service: Failed with result 'exit-code'.
Jun 12 18:34:58 dradis systemd[1]: Failed to start LSB: OpenIPMI Driver init script.

-- After installing the patched openipmi package --

ubuntu@dradis:~$ sudo add-apt-repository ppa:ubuntu-power-triage/lp1716517-openipmi
ubuntu@dradis:~$ sudo apt install openipmi
ubuntu@dradis:~$ sudo service openipmi stop
ubuntu@dradis:~$ sudo service openipmi start

ubuntu@dradis:~$ sudo service openipmi status
● openipmi.service - LSB: OpenIPMI Driver init script
   Loaded: loaded (/etc/init.d/openipmi; generated)
   Active: active (exited) since Tue 2018-06-12 18:30:38 UTC; 7s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 5461 ExecStart=/etc/init.d/openipmi start (code=exited, status=0/SUCC

Jun 12 18:30:38 dradis systemd[1]: Starting LSB: OpenIPMI Driver init script...
Jun 12 18:30:38 dradis openipmi[5461]: * Starting ipmi drivers
Jun 12 18:30:38 dradis openipmi[5461]: ...done.
Jun 12 18:30:38 dradis systemd[1]: Started LSB: OpenIPMI Driver init script.

ubuntu@dradis:~$ lsmod | grep ipmi
ipmi_powernv 6361 0
ipmi_devintf 12691 0
ipmi_msghandler 58145 2 ipmi_devintf,ipmi_powernv
ubuntu@dradis:~$

Changed in openipmi (Ubuntu):
assignee: Canonical Foundations Team (canonical-foundations) → Andreas Hasenack (ahasenack)
status: New → In Progress
Changed in openipmi (Ubuntu Xenial):
status: New → In Progress
Changed in openipmi (Ubuntu Artful):
status: New → In Progress
Changed in openipmi (Ubuntu Bionic):
status: New → In Progress
Changed in openipmi (Ubuntu Xenial):
assignee: nobody → Andreas Hasenack (ahasenack)
Changed in openipmi (Ubuntu Artful):
assignee: nobody → Andreas Hasenack (ahasenack)
Changed in openipmi (Ubuntu Bionic):
assignee: nobody → Andreas Hasenack (ahasenack)
Changed in openipmi (Ubuntu Xenial):
importance: Undecided → Low
Changed in openipmi (Ubuntu Artful):
importance: Undecided → Low
Changed in openipmi (Ubuntu Bionic):
importance: Undecided → Low
Manoj Iyer (manjo) on 2018-06-13
description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package openipmi - 2.0.22-1.1ubuntu4

---------------
openipmi (2.0.22-1.1ubuntu4) cosmic; urgency=medium

  * d/openipmi.init: Fixed openipmi init file for other archs. (LP: #1716517)

 -- Manoj Iyer <email address hidden> Mon, 21 May 2018 15:50:05 -0500

Changed in openipmi (Ubuntu):
status: In Progress → Fix Released

Hello Manoj, or anyone else affected,

Accepted openipmi into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/openipmi/2.0.22-1.1ubuntu2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in openipmi (Ubuntu Bionic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-bionic
Changed in openipmi (Ubuntu Artful):
status: In Progress → Fix Committed
tags: added: verification-needed-artful
Robie Basak (racb) wrote :

Hello Manoj, or anyone else affected,

Accepted openipmi into artful-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/openipmi/2.0.22-1.1ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-artful to verification-done-artful. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-artful. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in openipmi (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed-xenial
Robie Basak (racb) wrote :

Hello Manoj, or anyone else affected,

Accepted openipmi into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/openipmi/2.0.18-0ubuntu11.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.