Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-40619

LVM + cpu-partitioning = broken boot

Linking RHIVOS CVEs to...Migration: Automation ...Sync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • rhel-10.2
    • rhel-10.1, rhel-10.2
    • tuned
    • None
    • tuned-2.27.0-0.1.rc1.el10
    • None
    • Critical
    • ZStream, Patch
    • 1
    • rhel-net-perf
    • ssg_core_services
    • 0
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • _N&P-Refined_
    • Regression Exception
    • None

      What were you trying to do that didn't work?

      Enable cpu-partitioning on a RHEL-10 VM installed with LVM autopart.

      Please provide the package NVR for which bug is seen:

      tuned-2.22.1-2.el10

      How reproducible:

      reliably

      Steps to reproduce

      1. Install RHEL-10 with LVM disk partitioning (default for autopart)
      2. dnf -y install tuned tuned-utils tuned-profiles-cpu-partitioning
      3. systemctl enable --now tuned
      4. tuned-adm profile cpu-partitioning
      5. reboot

      Expected results

      Machine boots, cpu-partitioning is applied

      Actual results

      [*     ] (1 of 2) Job dev-mapper-rhel_rhel
      x…vice/start running (2s / no limit), machine is no longer bootable

      Extra evidence

      INFO     tuned.daemon.daemon: stopping tuning
      INFO     tuned.profiles.loader: loading profile: cpu-partitioning
      INFO     tuned.daemon.daemon: starting tuning
      INFO     tuned.units.manager: skipping plugin 'systemd', not supported on your system
      INFO     tuned.plugins.base: instance cpu: assigning devices cpu1, cpu0, cpu3, cpu2
      INFO     tuned.plugins.plugin_cpu: We are running on an x86 GenuineIntel platform
      WARNING  tuned.plugins.plugin_cpu: your CPU doesn't support MSR_IA32_ENERGY_PERF_BIAS, ignoring CPU energy performance bias
      INFO     tuned.plugins.plugin_rtentsk: opened SOF_TIMESTAMPING_OPT_TX_SWHW socket
      INFO     tuned.plugins.plugin_cpu: setting new cpu latency 3
      INFO     tuned.plugins.plugin_sysctl: reapplying system sysctl
      INFO     tuned.plugins.plugin_script: calling script '/usr/lib/tuned/cpu-partitioning/script.sh' with arguments '['start']'
      ERROR    tuned.plugins.plugin_script: script '/usr/lib/tuned/cpu-partitioning/script.sh' error output: 'cp: cannot stat '/etc/systemd/system.conf': No such file or directory'
      INFO     tuned.plugins.plugin_bootloader: generating initrd image from directory '/tmp/tmp.9WoHDPSkgC'
      INFO     tuned.plugins.plugin_bootloader: installing initrd image as '/boot/tuned-initrd.img'
      INFO     tuned.plugins.plugin_bootloader: removing directory '/tmp/tmp.9WoHDPSkgC'
      INFO     tuned.plugins.plugin_bootloader: installing additional boot command line parameters to grub2
      
      lsinitrd /boot/tuned-initrd.img
      Image: /boot/tuned-initrd.img: 4.0K
      ========================================================================
      Version:
      
      Arguments:
      dracut modules:
      ========================================================================
      drwx------   4 root     root            0 Jun 10 16:11 .
      drwxr-xr-x   3 root     root            0 Jun 10 16:11 etc
      drwxr-xr-x   2 root     root            0 Jun 10 16:11 etc/systemd
      drwxr-xr-x   3 root     root            0 Jun 10 16:11 usr
      drwxr-xr-x   3 root     root            0 Jun 10 16:11 usr/lib
      drwxr-xr-x   3 root     root            0 Jun 10 16:11 usr/lib/dracut
      drwxr-xr-x   3 root     root            0 Jun 10 16:11 usr/lib/dracut/hooks
      drwxr-xr-x   2 root     root            0 Jun 10 16:11 usr/lib/dracut/hooks/pre-udev
      -rwxr-xr-x   1 root     root          484 Jun 10 16:11 usr/lib/dracut/hooks/pre-udev/00-tuned-pre-udev.sh
      ========================================================================
      
      

      Investigation notes

      1.  No other profile seems to have such an effect.
      2. Reinstalling with autopart --type=plain works around the issue
      3. Replacing 00-tuned-pre-udev.sh with a no-op doesn't fix the situation
      4. Adding kernel cmdline options manually doesn't trigger the same failure
      5. sed -i "/initrd_add_dir.*/d" /usr/lib/tuned/cpu-partitioning/tuned.conf before step 4 does fix the issue

      So I suspect that cpu-partitioning is unique in its initrd manipulation mechanism,
      and this mechanism renders systems using LVM unbootable.
      Maybe this overlay is no longer overlaying, leading to the initrd not finding lvm modules?

              jskarvad Jaroslav Škarvada
              asosedki@redhat.com Alexander Sosedkin
              Jaroslav Škarvada Jaroslav Škarvada
              Robin Hack Robin Hack
              Votes:
              0 Vote for this issue
              Watchers:
              16 Start watching this issue

                Created:
                Updated: