Uploaded image for project: 'Satellite'
  1. Satellite
  2. SAT-29987

Full host image generation will fail if Satellite 6.16 was upgraded from RHEL 8 to RHEL 9 via leapp.

XMLWordPrintable

    • 3
    • False
    • Hide

      None

      Show
      None
    • False
    • 0
    • Important
    • To Do
    • Yes

      Description of problem:

      After successfully upgrading satellite 6.16 running on rhel 8.10, to RHEL 9.5 using leapp, It's impossible to generate any types of image e.g. Full Host image or Subnet image. And the following failure is displayed:

       

      2024-12-05T05:02:16 [I|app|88a1bd12] Started GET "/disks/full_hosts/78" for x.x.x.x at 2024-12-05 05:02:16 -0500
      2024-12-05T05:02:16 [I|app|88a1bd12] Processing by ForemanBootdisk::DisksController#full_host as HTML
      2024-12-05T05:02:16 [I|app|88a1bd12]   Parameters: {"id"=>"78"}
      2024-12-05T05:02:16 [I|for|88a1bd12] Retrieved http://mysatellite.example.com/pulp/content/LAB/Live-x86/cv-os-rhel-9Server-x86/content/dist/rhel9/9.4/x86_64/baseos/kickstart//images/pxeboot/vmlinuz from local cache (use foreman-rake tmp:cache:c
      lear to empty)
      2024-12-05T05:02:16 [I|for|88a1bd12] Retrieved http://mysatellite.example.com/pulp/content/LAB/Live-x86/cv-os-rhel-9Server-x86/content/dist/rhel9/9.4/x86_64/baseos/kickstart//images/pxeboot/initrd.img from local cache (use foreman-rake tmp:cach
      e:clear to empty)
      2024-12-05T05:02:17 [W|app|88a1bd12] ERF42-8093 [Foreman::Exception]: ISO build failed
      2024-12-05T05:02:17 [I|app|88a1bd12] Backtrace for 'ERF42-8093 [Foreman::Exception]: ISO build failed' error (Foreman::Exception): ERF42-8093 [Foreman::Exception]: ISO build failed
       88a1bd12 | /usr/share/gems/gems/foreman_bootdisk-21.2.3/app/services/foreman_bootdisk/iso_generator.rb:160:in `generate'
       88a1bd12 | /usr/share/gems/gems/foreman_bootdisk-21.2.3/app/services/foreman_bootdisk/iso_generator.rb:30:in `generate_full_host'
       88a1bd12 | /usr/share/gems/gems/foreman_bootdisk-21.2.3/app/controllers/foreman_bootdisk/disks_controller.rb:58:in `full_host'
       88a1bd12 | /usr/share/gems/gems/actionpack-6.1.7.8/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

       

       

      And in /var/log/messages:

       

      Dec  5 05:02:16 mysatellite foreman[22249]: mkfs.fat 4.2 (2021-01-31)
      Dec  5 05:02:17 mysatellite foreman[22255]: genisoimage: error while loading shared libraries: libusal.so.0: cannot open shared object file: No such file or directory

       

      This would not happen for a freshly installed Satellite 6.16 on RHEL 9 or an instance that was migrated to RHEL 9 using the backup-restore method. 

       

      How reproducible:

      100%

      Is this issue a regression from an earlier version:

      Yes and a big one ( but perhaps due to leapp only ){}

       

      Steps to Reproduce:

      1. Install a Satellite 6.16 on RHEL 8

      2. Follow https://docs.redhat.com/en/documentation/red_hat_satellite/6.16/html/upgrading_connected_red_hat_satellite_to_6.16/upgrading_el_on_satellite_or_proxy_upgrading-connected#upgrading-satellite-or-capsule-in-place-using-leapp_upgrading-connected to do an in-place upgrade. 

      3. Once everything is done and the system is up on RHEL 9 without any issues, Check if the "genisoimage" command is working.

       

      Actual behavior:

      The command fails,

       

      # genisoimage 
      genisoimage: error while loading shared libraries: libusal.so.0: cannot open shared object file: No such file or directory
      # touch /tmp/test && genisoimage -o cd.iso /tmp/test
      genisoimage: error while loading shared libraries: libusal.so.0: cannot open shared object file: No such file or directory
      

       

      These two files are leftover from the RHEL 8 installation [ of genisoimage package ]:

      ~~

      # ls -ld /usr/share/man/man1/genisoimage.1.gz /usr/bin/genisoimage
      -rwxr-xr-x. 1 root root 585376 Aug 12  2018 /usr/bin/genisoimage
      -rw-r--r--. 1 root root  29363 Aug 12  2018 /usr/share/man/man1/genisoimage.1.gz

       

       

      They should rather be symlinks. 

      d due to their presence, The mkisofs alternatives is not properly created ( should have been done by the replacement package xorriso on el9 ) . See the null values

       

      # alternatives --display mkisofs
      mkisofs - status is auto.
       link currently points to /usr/bin/xorrisofs
      /usr/bin/xorrisofs - priority 50
       follower mkisofs-genisoimage: /usr/bin/xorrisofs
       follower mkisofs-mkhybrid: (null)
       follower mkisofs-genisoimageman: /usr/share/man/man1/xorrisofs.1.gz
       follower mkisofs-mkhybridman: (null)
       follower mkisofs-mkisofsman: /usr/share/man/man1/xorrisofs.1.gz
      Current `best' version is /usr/bin/xorrisofs.

       

      If during the conversion, xorriso package on rhel 9 would be installed after removing the physical files /usr/bin/genisoimage and /usr/share/man/man1/genisoimage.1.gz , then this issue would never happen.

       

      Expected behavior:

       

      # ls -ld /usr/share/man/man1/genisoimage.1.gz /usr/bin/genisoimage
      lrwxrwxrwx. 1 root root 37 Nov 13 19:15 /usr/bin/genisoimage -> /etc/alternatives/mkisofs-genisoimage
      lrwxrwxrwx. 1 root root 40 Nov 13 19:15 /usr/share/man/man1/genisoimage.1.gz -> /etc/alternatives/mkisofs-genisoimageman
      
      # alternatives --display cdrecord
      cdrecord - status is auto.
       link currently points to /usr/bin/xorrecord
      /usr/bin/xorrecord - priority 50
       follower cdrecord-cdrecordman: /usr/share/man/man1/xorrecord.1.gz
       follower cdrecord-wodim: /usr/bin/xorrecord
       follower cdrecord-wodimman: /usr/share/man/man1/xorrecord.1.gz
      Current `best' version is /usr/bin/xorrecord.
      
      # alternatives --display mkisofs
      mkisofs - status is auto.
       link currently points to /usr/bin/xorrisofs
      /usr/bin/xorrisofs - priority 50
       follower mkisofs-mkisofsman: /usr/share/man/man1/xorrisofs.1.gz
       follower mkisofs-genisoimage: /usr/bin/xorrisofs
       follower mkisofs-genisoimageman: /usr/share/man/man1/xorrisofs.1.gz
      Current `best' version is /usr/bin/xorrisofs.
      

       

      Business Impact / Additional info:

      Blocker for any ISO based deployments  (excluding discovery ) and many customers rely on Full Host image.

       

      Workaround:

       

      # /usr/sbin/alternatives --remove mkisofs /usr/bin/xorrisofs
      # alternatives --display mkisofs   ## no output should be displayed
      
      # mv /usr/share/man/man1/genisoimage.1.gz ~/
      # mv /usr/bin/genisoimage ~/
      
      # /usr/sbin/alternatives --install /usr/bin/mkisofs mkisofs /usr/bin/xorrisofs 50 \
        --slave /usr/share/man/man1/mkisofs.1.gz mkisofs-mkisofsman /usr/share/man/man1/xorrisofs.1.gz \
        --slave /usr/bin/genisoimage mkisofs-genisoimage /usr/bin/xorrisofs \
        --slave /usr/share/man/man1/genisoimage.1.gz mkisofs-genisoimageman /usr/share/man/man1/xorrisofs.1.gz
      
      # alternatives --display mkisofs
      mkisofs - status is auto.
       link currently points to /usr/bin/xorrisofs
      /usr/bin/xorrisofs - priority 50
       follower mkisofs-mkisofsman: /usr/share/man/man1/xorrisofs.1.gz
       follower mkisofs-genisoimage: /usr/bin/xorrisofs
       follower mkisofs-genisoimageman: /usr/share/man/man1/xorrisofs.1.gz
      Current `best' version is /usr/bin/xorrisofs.
      
      # genisoimage 
      xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.
      usage : genisoimage [commands]
              More is told by command -help
      

       

              Unassigned Unassigned
              rhn-support-saydas Sayan Das
              Votes:
              2 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated:
                Resolved: