ipmitool lan print in Noble truncated output

Bug #2078813 reported by Walter
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
ipmitool (Ubuntu)
Fix Released
Undecided
Sergio Durigan Junior
Noble
Fix Released
Undecided
Sergio Durigan Junior
Oracular
Fix Released
Undecided
Sergio Durigan Junior

Bug Description

[ Impact ]

impitool users who issue the "lan print" command will see a truncated output on Noble, with a lot of fields missing from the report (like information about the network gateway, VLAN, and cipher suites).

[ Test Plan ]

Unfortunately this bug is not easily reproducible because it requires special hardware to do so. I could not find another way to do it.

Instead, we will be relying on the reporter's help to verify that the fix actually works. We used the same strategy for the Oracular upload, and the result was positive.

[ Where problems could occur ]

The patch itself is extremely simple; reading its description (from upstream) makes us even more confident that this is exactly the fix we need for this issue.

Having said that, not being able to reproduce the bug ourselves is never the ideal scenario and, for that reason, we need to be more careful than usual. Despite requesting detailed results from the reporter when the package hits noble-proposed, it is still possible (albeit unlikely) that this SRU introduces some unforeseen regression. If that is the case, the best solution would be to revert the fix until a better solution is found.

[ Original Description ]

ipmitool 1.8.19 (in Ubuntu/Noble) shows a truncated output when doing 'ipmitool lan print'.

This means we're missing fields like "Default Gateway IP".

A diff between the 1.8.18 and 1.8.19 output is as follows:

  --- 1.8.18.txt 2024-09-03 15:17:18.280191476 +0000
  +++ 1.8.19.txt 2024-09-03 15:17:23.684191153 +0000
  @@ -1,32 +1,14 @@
   Set in Progress : Set Complete
   Auth Type Support : NONE MD2 MD5 PASSWORD
   Auth Type Enable : Callback : MD2 MD5 PASSWORD
                           : User : MD2 MD5 PASSWORD
                           : Operator : MD2 MD5 PASSWORD
                           : Admin : MD2 MD5 PASSWORD
                           : OEM : MD2 MD5 PASSWORD
   IP Address Source : DHCP Address
   IP Address : 10.xx.xx.xx
   Subnet Mask : 255.255.255.0
   MAC Address : 3c:xx:xx:xx:xx:22
   SNMP Community String : public
   IP Header : TTL=0x00 Flags=0x00 Precedence=0x00 TOS=0x00
   BMC ARP Control : ARP Responses Enabled, Gratuitous ARP Disabled
  -Default Gateway IP : 10.xx.xx.1
  -Default Gateway MAC : 00:00:00:00:00:00
  -Backup Gateway IP : 0.0.0.0
  -Backup Gateway MAC : 00:00:00:00:00:00
  -802.1q VLAN ID : Disabled
  -802.1q VLAN Priority : 0
  -RMCP+ Cipher Suites : 1,2,3,6,7,8,11,12
  -Cipher Suite Priv Max : XaaaXXaaaXXaaXX
  - : X=Cipher Suite Unused
  - : c=CALLBACK
  - : u=USER
  - : o=OPERATOR
  - : a=ADMIN
  - : O=OEM
  -Bad Password Threshold : 3
  -Invalid password disable: yes
  -Attempt Count Reset Int.: 300
  -User Lockout Interval : 300

The cause is this (seen when adding verbosity with -vvv):

`Get LAN Parameter 'Gratituous ARP Intrvl' command failed: Unknown (0x80)`

In 1.8.18, that would just return false and continue.

In 1.8.19, we get:

`Get LAN Parameter 'Gratituous ARP Intrvl' command failed: Unsupported parameter`

And then the output stops.

The breakage is caused by:
https://codeberg.org/IPMITool/ipmitool/commit/351dad24a26f ( lib/ipmi_lanp.c line 240 ).

The fix is:
https://codeberg.org/IPMITool/ipmitool/pulls/25
https://codeberg.org/IPMITool/ipmitool/commit/137aeb64cbb4

This fix has not landed in a tagged version yet.

Also reported in debian:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061770

Cheers,
Walter Doekes
OSSO B.V.

( attached https://codeberg.org/IPMITool/ipmitool/commit/137aeb64cbb4.patch )

Related branches

Revision history for this message
Walter (wdoekes) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ipmitool (Ubuntu):
status: New → Confirmed
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "137aeb64cbb4.patch" 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
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Hi Walter,

Thanks for the bug report.

I don't have an easy way to reproduce the bug locally nor to test the proposed patch, so I'm going to try the next best thing: I will prepare a package with the backported fix, upload it to a PPA and ask for you to give it a try.

The PPA is here: https://launchpad.net/~sergiodj/+archive/ubuntu/ipmitool/+packages

The proposed package version is 1.8.19-7ubuntu0.24.04.1~ppa1.

Based on what you reported, it seems like this would also affect the ipmitool package currently in Oracular. Can you verify this for me, please? It's a necessary step in order to get the fix into Noble.

Thank you.

Changed in ipmitool (Ubuntu):
assignee: nobody → Sergio Durigan Junior (sergiodj)
status: Confirmed → Triaged
tags: added: server-todo
Revision history for this message
Walter (wdoekes) wrote :

Oracular has 1.8.19-7build2:
https://launchpad.net/ubuntu/oracular/+source/ipmitool

So, we have these versions:

- ipmitool_1.8.18-11ubuntu2.1_amd64.deb - from Jammy
- ipmitool_1.8.19-7build1_amd64.deb - from older Noble
- ipmitool_1.8.19-7build2_amd64.deb - current Noble _and_ Oracular
- ipmitool_1.8.19-7build2+0osso0_amd64.deb - OSSO patch
- ipmitool_1.8.19-7ubuntu0.24.04.1~ppa1_amd64.deb - Sergio patch

Let's see what they do:

# echo; for x in ipmitool_1.8.18-11ubuntu2.1_amd64.deb ipmitool_1.8.19-7build1_amd64.deb ipmitool_1.8.19-7build2_amd64.deb ipmitool_1.8.19-7build2+0osso0_amd64.deb ipmitool_1.8.19-7ubuntu0.24.04.1~ppa1_amd64.deb; do dpkg -i $x >/dev/null 2>&1; echo "[$x]"; ipmitool lan print | wc -l; done

[ipmitool_1.8.18-11ubuntu2.1_amd64.deb]
32
[ipmitool_1.8.19-7build1_amd64.deb]
14
[ipmitool_1.8.19-7build2_amd64.deb]
14
[ipmitool_1.8.19-7build2+0osso0_amd64.deb]
32
[ipmitool_1.8.19-7ubuntu0.24.04.1~ppa1_amd64.deb]
32

14 = bad
32 = good

LGTM.

Walter

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote : Re: [Bug 2078813] Re: ipmitool lan print in Noble truncated output

On Thursday, September 05 2024, Walter wrote:

> Oracular has 1.8.19-7build2:
> https://launchpad.net/ubuntu/oracular/+source/ipmitool
>
> So, we have these versions:
>
> - ipmitool_1.8.18-11ubuntu2.1_amd64.deb - from Jammy
> - ipmitool_1.8.19-7build1_amd64.deb - from older Noble
> - ipmitool_1.8.19-7build2_amd64.deb - current Noble _and_ Oracular
> - ipmitool_1.8.19-7build2+0osso0_amd64.deb - OSSO patch
> - ipmitool_1.8.19-7ubuntu0.24.04.1~ppa1_amd64.deb - Sergio patch
>
> Let's see what they do:
>
> # echo; for x in ipmitool_1.8.18-11ubuntu2.1_amd64.deb
> ipmitool_1.8.19-7build1_amd64.deb ipmitool_1.8.19-7build2_amd64.deb
> ipmitool_1.8.19-7build2+0osso0_amd64.deb
> ipmitool_1.8.19-7ubuntu0.24.04.1~ppa1_amd64.deb; do dpkg -i $x
>>/dev/null 2>&1; echo "[$x]"; ipmitool lan print | wc -l; done
>
> [ipmitool_1.8.18-11ubuntu2.1_amd64.deb]
> 32
> [ipmitool_1.8.19-7build1_amd64.deb]
> 14
> [ipmitool_1.8.19-7build2_amd64.deb]
> 14
> [ipmitool_1.8.19-7build2+0osso0_amd64.deb]
> 32
> [ipmitool_1.8.19-7ubuntu0.24.04.1~ppa1_amd64.deb]
> 32
>
> 14 = bad
> 32 = good

Thanks for confirming.

Noble and Oracular are affected, so I'll start by fixing this problem in
Oracular first, and the proceed to do the Noble SRU.

Walter, I will need your help with the SRU verification when the time
comes.

Thanks!

--
Sergio
GPG key ID: E92F D0B3 6B14 F1F4 D8E0 EB2F 106D A1C8 C3CB BF14

Changed in ipmitool (Ubuntu Noble):
status: New → Triaged
assignee: nobody → Sergio Durigan Junior (sergiodj)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ipmitool - 1.8.19-7ubuntu1

---------------
ipmitool (1.8.19-7ubuntu1) oracular; urgency=medium

  * d/p/0009-lan-fix-lan-print-fails-on-unsupported-parameters.patch:
    Fix "lan print" failure on unsupported parameters. (LP: #2078813)

 -- Sergio Durigan Junior <email address hidden> Thu, 05 Sep 2024 15:44:00 -0400

Changed in ipmitool (Ubuntu Oracular):
status: Triaged → Fix Released
Changed in ipmitool (Ubuntu Noble):
status: Triaged → In Progress
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Hello Walter,

Apologies for taking so long to follow up on this.

I have just uploaded the fix for Noble, which means that the SRU team will soon process it. As I mentioned before, we don't have an easy way to reproduce the problem, so I would kindly ask that you perform the verification of this bugfix as soon as the package is accepted by the SRU team.

There is no formal requirement for what needs to be included in the verification, but I personally like to be as verbose as possible and show excerpts from the terminal containing:

- The version of the current package you have installed in your system.

- Proof that the current package has the bug.

- An "apt install" showing that the new package from the proposed pocket has been installed.

- The version of the new package.

- Proof that the new package does not have the bug.

Thanks.

description: updated
Revision history for this message
Walter (wdoekes) wrote (last edit ):

Hello Sergio,

here goes:

noble# cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
...

noble# apt-get install ipmitool=1.8.19-7build2
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be DOWNGRADED:
  ipmitool
...

noble# ipmitool lan print > ipmitool=1.8.19-7build2.output

noble# wget https://launchpad.net/ubuntu/+source/ipmitool/1.8.19-7ubuntu1/+build/28931905/+files/ipmitool_1.8.19-7ubuntu1_amd64.deb
--2024-11-21 10:21:09-- https://launchpad.net/ubuntu/+source/ipmitool/1.8.19-7ubuntu1/+build/28931905/+files/ipmitool_1.8.19-7ubuntu1_amd64.deb
Resolving launchpad.net (launchpad.net)... 185.125.189.223, 185.125.189.222, 2620:2d:4000:1009::3ba, ...
...

noble# dpkg -i ipmitool_1.8.19-7ubuntu1_amd64.deb
(Reading database ... 54420 files and directories currently installed.)
Preparing to unpack ipmitool_1.8.19-7ubuntu1_amd64.deb ...
Unpacking ipmitool (1.8.19-7ubuntu1) over (1.8.19-7build2) ...
Setting up ipmitool (1.8.19-7ubuntu1) ...
ipmievd.service is a disabled or a static unit not running, not starting it.
Processing triggers for man-db (2.12.0-4build2) ...

noble# ipmitool lan print > ipmitool=1.8.19-7ubuntu1.output

noble# diff -u ipmitool\=1.8.19-7* | sed -e 's/10[.].*/10.20.30.40/'
--- ipmitool=1.8.19-7build2.output 2024-11-21 10:18:13.757395601 +0100
+++ ipmitool=1.8.19-7ubuntu1.output 2024-11-21 10:21:58.688147490 +0100
@@ -12,3 +12,21 @@
 SNMP Community String : public
 IP Header : TTL=0x00 Flags=0x00 Precedence=0x00 TOS=0x00
 BMC ARP Control : ARP Responses Enabled, Gratuitous ARP Disabled
+Default Gateway IP : 10.20.30.40
+Default Gateway MAC : 00:00:00:00:00:00
+Backup Gateway IP : 0.0.0.0
+Backup Gateway MAC : 00:00:00:00:00:00
+802.1q VLAN ID : Disabled
+802.1q VLAN Priority : 0
+RMCP+ Cipher Suites : 1,2,3,6,7,8,11,12
+Cipher Suite Priv Max : XaaaXXaaaXXaaXX
+ : X=Cipher Suite Unused
+ : c=CALLBACK
+ : u=USER
+ : o=OPERATOR
+ : a=ADMIN
+ : O=OEM
+Bad Password Threshold : 3
+Invalid password disable: yes
+Attempt Count Reset Int.: 300
+User Lockout Interval : 300

--

LGTM.

Cheers,
Walter

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Hi Walter,

Thank you so much for the quick reply! It seems there has been a bit of a misunderstanding, though.

The package containing the fix for Noble still needs to be processed and (hopefully) approved by the SRU team. Only when that happens you will be able to actually perform the full verification on a Noble system, which will be needed to make the package fully migrate to the release pocket.

Hopefully the SRU team will be able to approve the package soon, and when that happens there will be a new comment on this bug with instructions on how to install the new package and verify it on Noble.

Thanks!

Revision history for this message
Walter (wdoekes) wrote :

I assumed you'd be pushing the same oracular version to noble. And it should be the same version, right? Maybe "noble" instead of "oracular" the changelog?

Pro-tip for next time: don't ask for things that cannot be done yet.

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

It is basically the same version, but it is a different package, so we need to test it again. Build dependencies may change, for example.

Apologies if my comment led to confusion, but I tried to be clear when I wrote:

"As I mentioned before, we don't have an easy way to reproduce the problem, so I would kindly ask that you perform the verification of this bugfix as soon as the package is accepted by the SRU team."

Note the "as soon as the package is accepted..." part.

I will let you know when that happens. Thanks.

Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Walter, or anyone else affected,

Accepted ipmitool into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ipmitool/1.8.19-7ubuntu0.24.04.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, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in ipmitool (Ubuntu Noble):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-noble
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (ipmitool/1.8.19-7ubuntu0.24.04.1)

All autopkgtests for the newly accepted ipmitool (1.8.19-7ubuntu0.24.04.1) for noble have finished running.
The following regressions have been reported in tests triggered by the package:

ceilometer/2:22.0.0-0ubuntu1.1 (s390x)
ironic/unknown (ppc64el)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/noble/update_excuses.html#ipmitool

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Hello Walter,

As can be seen on comment #13, the upload has been accepted by the SRU team and now needs to be verified.

Please follow the instructions from the comment, and let me know if you need help. Keep in mind that this verification needs to be performed for Noble, using the Noble package from noble-proposed.

Thanks.

Revision history for this message
Walter (wdoekes) wrote :

noble# apt-cache policy ipmitool
ipmitool:
  Installed: 1.8.19-7ubuntu1
  Candidate: 1.8.19-7ubuntu1
  Version table:
 *** 1.8.19-7ubuntu1 100
        100 /var/lib/dpkg/status
     1.8.19-7build2+0osso0 650
        650 http://ppa.osso.nl/ubuntu noble/osso amd64 Packages
     1.8.19-7build2 500
        500 http://apt.osso.nl/ubuntu noble/universe amd64 Packages

noble# wget https://launchpad.net/ubuntu/+source/ipmitool/1.8.19-7ubuntu0.24.04.1/+build/29449751/+files/ipmitool_1.8.19-7ubuntu0.24.04.1_amd64.deb

noble# dpkg -i ipmitool_1.8.19-7ubuntu0.24.04.1_amd64.deb

noble# ipmitool lan print | wc -l
32

noble# apt-get install ipmitool=1.8.19-7build2
...
The following packages will be DOWNGRADED:
  ipmitool
...

noble# ipmitool lan print | wc -l
14

Same fix. Still works.

> If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble.\

Tested package: ipmitool_1.8.19-7ubuntu0.24.04.1_amd64.deb

Tested version: 1.8.19-7ubuntu0.24.04.1

Tested 'ipmitool lan print' output: confirmed that it shows what it should show

I don't think I have any tagging powers to add 'verification-done-noble'

Walter

tags: added: verification-done verification-done-noble
removed: verification-needed verification-needed-noble
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ipmitool - 1.8.19-7ubuntu0.24.04.1

---------------
ipmitool (1.8.19-7ubuntu0.24.04.1) noble; urgency=medium

  * d/p/0009-lan-fix-lan-print-fails-on-unsupported-parameters.patch:
    Fix "lan print" failure on unsupported parameters. (LP: #2078813)

 -- Sergio Durigan Junior <email address hidden> Wed, 04 Sep 2024 21:13:38 -0400

Changed in ipmitool (Ubuntu Noble):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for ipmitool has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

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

Other bug subscribers

Remote bug watches

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