Project

General

Profile

Actions

action #54335

closed

[functional][y] Integration testing of the support managing of PMEM devices in YaST2 partitioner

Added by riafarov almost 5 years ago. Updated over 4 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
Spike/Research
Target version:
SUSE QA - Milestone 28
Start date:
2019-07-17
Due date:
2019-10-08
% Done:

0%

Estimated time:
8.00 h
Difficulty:

Description

Motivation

WIth AEP DIMMS now being publicly available and SUSE's support of using them as a block device, it is clearly expected from customers to be able to use the central tool of SLES to manage and partition the devices.
We should therefore introduce the YaST2 partitioner support for PMEM devices we already have in SLE15 to SLES12 SP5, specifically since it is planned to be the last service pack on this major codestream.

QA task: https://jira.suse.com/browse/SLE-7141
Dev task: https://jira.suse.com/browse/SLE-7139
Trello: https://trello.com/c/U8pgWSod/1055-2-sle-7065-research-support-for-pmem-in-sle-12-sp5 and https://trello.com/c/YSedYvOT/1111-jscsle-7065-sle12sp5-support-of-pmem-devices

Let me summarize the current status of this.

First a technical remark: the Partitioner in SLE-12-SPX relies on libstorage to detect and manipulate the disks. In SLE-15 it relies on libstorage-ng.

Based on the text of the original feature request, PMEM devices seems to work as desired in SLE-15. That's because libstorage-ng supports them out of the box.
We have adapted the old libstorage to also support the PMEM name schema. That's hopefully all that is needed in order to make the Partitioner in SLE-12-SP5 to work to the same degree that it does in SLE-15. See https://build.suse.de/request/show/196129
Even now that libstorage and libstorage-ng are prepared, there are some bugs regarding missing by-id links that can lead to problems. Both are out of the YaST scope:

    In openSUSE Tumbleweed, there are only links to the disk devices but not to the partition devices. See https://bugzilla.suse.com/show_bug.cgi?id=1140630
    In SLE (both SLE-15-SPX and SLE-12-SP5) there are no links at all for PMEM devices (not even to the disks). See https://bugzilla.suse.com/show_bug.cgi?id=1140631
We have tried booting from a PMEM device (non-EFI) with a modified version of SLE-12-SP5 that included the updated libstorage. In worked fine. EFI booting should also work as long as the EFI firmware of the machine supports PMEM devices (which is expected).

With all that, I would consider this done from the YaST Team point of view.

qemu supports emulation of nvdimm devices, see https://github.com/qemu/qemu/blob/master/docs/nvdimm.txt

We have multiple systems with Intel DCPMEM available at SUSE. Please contact Hannes Reinecke.

Acceptance criteria

  1. Feature is validated according to the specifications
  2. Jira QA task is resolved with a comment describing findings
  3. Tested scenarios are described in the ticket
  4. Follow-up ticket for the automated scenario is created with detailed description of the scenario

Suggestions

  1. legacy boot from PMEM device
  2. uefi boot from PMEM device
  3. creating/deleting/editing encrypted/non-encrypted partitions on PMEM device in the installation
  4. same as 3. but in the installed system
  5. testing detection of existing partitions, incl. but not limited to activation of the encrypted partitions on PMEM
  6. autoyast installation with PMEM devices

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_storage_devices/using-nvdimm-persistent-memory-storage_managing-storage-devices
Here is a good documentation on how to configure nvdimm to work in different modes.

Actions #1

Updated by riafarov almost 5 years ago

  • Description updated (diff)
Actions #2

Updated by riafarov almost 5 years ago

  • Estimated time set to 8.00 h
Actions #3

Updated by riafarov almost 5 years ago

  • Status changed from New to Workable
Actions #4

Updated by oorlov almost 5 years ago

  • Status changed from Workable to In Progress
  • Assignee set to oorlov
Actions #5

Updated by oorlov almost 5 years ago

  • Status changed from In Progress to Workable
  • Assignee deleted (oorlov)

Unassigned from me, as I decided to work on https://progress.opensuse.org/issues/54305

Actions #6

Updated by oorlov over 4 years ago

  • Status changed from Workable to In Progress
Actions #7

Updated by oorlov over 4 years ago

  • Assignee set to oorlov
Actions #8

Updated by oorlov over 4 years ago

  • Status changed from In Progress to Blocked

So, after the investigation the technology and the feature, I've found out that qemu does not allow to completely emulate the NVDIMM device for all the cases. (e.g. The current QEMU only implements the persistent memory mode of vNVDIMM device and not the block window mode).

I've sent an email to Hannes Reinecke with the request for the access to machine with the real hardware.

Actions #9

Updated by riafarov over 4 years ago

  • Due date changed from 2019-07-30 to 2019-08-13

Let's try to address this in the next sprint.

Actions #10

Updated by riafarov over 4 years ago

  • Description updated (diff)
Actions #11

Updated by riafarov over 4 years ago

  • Target version changed from Milestone 26 to Milestone 27
Actions #12

Updated by riafarov over 4 years ago

  • Due date changed from 2019-08-13 to 2019-08-27
Actions #13

Updated by riafarov over 4 years ago

  • Due date changed from 2019-08-27 to 2019-09-10
Actions #14

Updated by riafarov over 4 years ago

  • Due date changed from 2019-09-10 to 2019-09-24
Actions #15

Updated by riafarov over 4 years ago

  • Status changed from Blocked to Workable

We were told that Haris is back from vacation.

Actions #16

Updated by oorlov over 4 years ago

Discussed with Haris, tomorrow he'll be able to look at the machine that is not currently working and try to fix it.

Actions #17

Updated by oorlov over 4 years ago

  • Status changed from Workable to In Progress
Actions #18

Updated by mgriessmeier over 4 years ago

  • Target version changed from Milestone 27 to Milestone 28
Actions #19

Updated by JERiveraMoya over 4 years ago

  • Due date changed from 2019-09-24 to 2019-10-08

Alex has to check how to boot from nvdimm device, but almost done.

Actions #20

Updated by oorlov over 4 years ago

So, I've discussed the feature with Hannes Reinecke.

The machine (https://mortymm.qa.suse.de) is not supporting booting from PMEM devices, because its bios does not allow to configure boot that way. Other features have been tested (installing system on PMEM, but /boot to the regular disk. Different modes were tested - fsdax, devdax, storage and raw).

He suggested to try with qemu, but it does not work also (I used UEFI, configured PMEM, but no luck).

So, I asked Hannes Reinecke if he can provide us with the another machine where it will be possible to boot from PMEM.

Actions #21

Updated by oorlov over 4 years ago

  • Status changed from In Progress to Resolved

Testing performed on [mortymm|https://mortymm.qa.suse.de] machine and on qemu vm. Scenarios covered:

1. Installing system on PMEM, but with /boot partition on sda disk;

  1. Read/write from/to PMEM device;

  2. Different NVDIMM modes tested: fsdax, devdax, storage and raw;

  3. Autoyast installation.

Not able to test booting from NVDIMM as [mortymm|https://mortymm.qa.suse.de] machine's and qemu's BIOS do not support this.

Actions

Also available in: Atom PDF