[SRU] ipmctl in Focal does not work with Barlow Pass DCPMM hardware

Bug #1903204 reported by Adam Borowski
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ipmctl (Ubuntu)
Confirmed
Undecided
Unassigned
Focal
Confirmed
Undecided
Unassigned

Bug Description

[IMPACT]
The ipmctl package in Focal needs to be updated to a newer version to support Barlow Pass DCPMM
(new hardware enablement).

In Focal, the package supports only Apache Pass (ie, the first generation of the hardware) -- but by now, Barlow Pass has been released to regular customers.

Some history:
Before Focal freeze, we had a dilemma of either leaving ipmctl at 1.0 (Apache Pass only) or uploading an early beta of 2.0 (Apache+Barlow Passes). After a private discussion, we went with the latter, with a promise of a freeze exception for final 2.0. Alas, the final release has been delayed, being finished only some time after Focal.

Unfortunately, among other fixes, one of late changes required a compat version bump, making the beta released with Focal unable to talk to production Barlow Pass hardware (at least DIMMs with latest firmware).

On the other hand, any disruptive changes (like obsoleting the monitor, changing soname from libipmctl3 to libimpctl4, etc) are already in place, making the update safe. The 2.0 branch has received a bunch of fixes and documentation updates, while all new development goes elsewhere -- thus, I believe it would be reasonable to put its newest version as a stable update as-is, without cherry-picking just most important commits.

[Fix]
The current version in Focal is out of date. Update the version in Focal to the package version in Groovy or later (though Groovy would be sufficient and present the smallest delta).
 ipmctl | 02.00.00.3709+ds-1 | focal/universe | source, amd64
 ipmctl | 02.00.00.3774+ds-1 | groovy/universe | source, amd64

[TEST CASE]
Install Focal on a system with Barlow Pass DCPMM devices with current firmware.
Attempt to configure/manage those devices using IPMCTL as currently listed in Focal.
ipmctl in Focal should be able to talk to and manage Barlow Pass DCPMM devices.

[Where problems could occur]

There should be few, if any, as this is simply updating ipmctl to the latest bits. As this doesn't touch other packages, any problems should be limited to ipmctl itself.

If there were some sort of problem, that would only be affect ipmctl's ability to talk to and manage/configure NVDIMMs and namespaces, and would be something that Intel would need to resolve. In particular, adding the support for Barlow Pass could cause a regression in talking to Apache Pass, however, as it stands the ipmctl tool has been very thoroughly tested by the upstream (Intel) and all features function as intended on both Apache Pass and Barlow Pass DCPMM devices.

So the chances of a regression are very low.

[Other Info]

This blocks server certification for Focal of any system using Barlow Pass DCPMMs.

Jeff Lane  (bladernr)
summary: - [SRU] update ipmctl in Focal
+ [SRU] ipmctl in Focal does not work with Barlow Pass DCPMM hardware
Jeff Lane  (bladernr)
description: updated
Jeff Lane  (bladernr)
tags: added: blocks-hwcert-server
Jeff Lane  (bladernr)
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in ipmctl (Ubuntu):
status: New → Confirmed
Revision history for this message
Jeff Lane  (bladernr) wrote :

Checking affected versions, this only applies to Focal:

 ipmctl | 02.00.00.3709+ds-1 | focal/universe | source, amd64
 ipmctl | 02.00.00.3774+ds-1 | groovy/universe | source, amd64
 ipmctl | 02.00.00.3825+ds-1 | hirsute/universe | source, amd64

Groovy and Hirsute both have later versions that are appropriate.

So the only work here is for Focal.

Changed in ipmctl (Ubuntu Focal):
status: New → Confirmed
Jeff Lane  (bladernr)
description: updated
Revision history for this message
Jeff Lane  (bladernr) wrote :

Tagged Ubuntu SRU team, hoping to push this through soonish, targeting 02.00.00.3774+ds-1

@Adam, as you said 3764 or later is good, I am presuming 2.00.00.3774 should be fine for Barlow Pass then, can you confirm?

Revision history for this message
Steven Pontsler (spontsle) wrote :

Version numbers 2.xx.xx.xxxx for ipmctl are targeted at series 200 devices (Barlow Pass) and are compatible with previous generations.

Revision history for this message
Jeff Lane  (bladernr) wrote :

Not necessarily. Build 3709, which is in Focal, is too old to have Barlow Pass support¸the earliest build is 3764, as I understand it, so only builds later than that will have the needed support.

Revision history for this message
Steven Pontsler (spontsle) wrote :

I missed that was 37xx and not 38xx. If updating I would recommend going with the latest on GitHub which looks like it is 3852.

I installed 3774 on a test system that has Barlow Pass modules installed in it. I ran a number of commands and they all appeared to work correctly (values I looked at looked reasonable). I did not check all commands nor did I check if all fields were present. Obviously it does not have all the fixes and may not have all the Barlow Pass specific fields (if there are any).

I tried the same thing with 3764 and it also seemed fine going by casual observation. I did not compare the results between 3774 and 3764.

Revision history for this message
Jeff Lane  (bladernr) wrote :

Focal, Groovy, Hirsute test packages for this are available here:

https://launchpad.net/~bladernr/+archive/ubuntu/testbuilds

To use them:

sudo add-apt-repository ppa:bladernr/testbuilds
sudo apt-get update
sudo apt-get install ipmctl libipmctl4

The Hirsute and Impish packages are not really necessary since the version I built already exists in Hirsute onwards, but they're there anyway.

Revision history for this message
Adam Borowski (kilobyte) wrote :

That version is available in Debian buster-backports and bullseye since February, and those have toolchains older and younger, respectively, than focal.

Revision history for this message
Jeff Lane  (bladernr) wrote :

Yes, that is the version synced into 21.10 and I'm trying to get it backported into 20.04. We do not normally do wholesale version bumps into released version of Ubuntu, particularly in LTS releases. But as I've gotten some level of acceptance there on just bumping ipmctl and libipmctl4 completely, I've built those packages for Focal using the Focal toolchain, but need someone to test them and validate that they do work and have no issues being built on older tools, especially since it has a dependency on libc6, I wanted to be sure using it with an older libc6 doesn't break anything.

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.