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

Image mode: The dir /var/lib and /var/log is not created when updating system in image mode

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • rhel-10.2
    • rhel-9.6
    • nginx
    • nginx-1.26.3-2.el10
    • No
    • Important
    • 1
    • rhel-stacks-web-servers
    • ssg_core_services
    • 0
    • False
    • False
    • Hide

      None

      Show
      None
    • No
    • _WS-Refined_
    • Requested
    • None
    • Unspecified Release Note Type - Unknown
    • Unspecified
    • Unspecified
    • Unspecified
    • All
    • None

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

      Installing nginx on a machine already deployed in image-mode.

      More details about the root cause and possible solutions: https://bootc-dev.github.io/bootc/filesystem.html#var

      What is the impact of this issue to you?

      nginx does not start

      Please provide the package NVR for which the bug is seen:

      2:1.26.3-1.el10
      or any recent nginx

      How reproducible is this bug?:

      always

      Steps to reproduce

      1. Run a machine in Image Mode. For example there are images used by testing-farm.

      $ tmt run provision -h virtual --image http://images.osci.redhat.com/RHEL-10.1-image-mode-x86_64.qcow2 login

      .... snip

      bash-5.2# bootc status 
      ● Booted image: images.paas.redhat.com/testingfarm/rhel-bootc:10.1
              Digest: sha256:007ea1cbc9f4899e554f4c422ee6be40c6fc6a54a633fae6e3abf771820b2029 (amd64)
             Version: 10.1 (2025-05-15T21:45:31Z)
      bash-5.2# 

      2 .Prepare a Containerfile and build it

      bash-5.2# cat Containerfile 
      FROM images.paas.redhat.com/testingfarm/rhel-bootc:10.1
      RUN dnf -y install nginx && dnf -y clean all
      bash-5.2#
      bash-5.2# podman build -t localhost/test .
      STEP 1/2: FROM images.paas.redhat.com/testingfarm/rhel-bootc:10.1
      Trying to pull images.paas.redhat.com/testingfarm/rhel-bootc:10.1...
      Getting image source signatures
      ....Running transaction
        Preparing        :                                                        1/1 
        Running scriptlet: nginx-filesystem-2:1.26.3-1.el10.noarch                1/4 
        Installing       : nginx-filesystem-2:1.26.3-1.el10.noarch                1/4 
        Installing       : nginx-core-2:1.26.3-1.el10.x86_64                      2/4 
        Installing       : redhat-logos-httpd-100.0-4.el10.noarch                 3/4 
        Installing       : nginx-2:1.26.3-1.el10.x86_64                           4/4 
        Running scriptlet: nginx-2:1.26.3-1.el10.x86_64                           4/4 
      Installed products updated.Installed:
        nginx-2:1.26.3-1.el10.x86_64                                                  
        nginx-core-2:1.26.3-1.el10.x86_64                                             
        nginx-filesystem-2:1.26.3-1.el10.noarch                                       
        redhat-logos-httpd-100.0-4.el10.noarch                                        Complete!
      41 files removed
      COMMIT localhost/test
      --> 6fa68e051b89
      Successfully tagged localhost/test:latest
      6fa68e051b895763dcdd0c26346ed806cb3b1f9a89acf66d400b46795e92b336

       

      3. Switch to the new version and reboot so the new image is appliedbash-5.2# bootc switch --transport containers-storage localhost/test
      layers already present: 0; layers needed: 68 (1.7 GB)
      Fetched layers: 1.55 GiB in 11 seconds (143.09 MiB/s)                                                                                         Deploying: done (2 seconds)                                                                                                               Queued for next boot: ostree-unverified-image:containers-storage:localhost/test
        Version: 10.1
        Digest: sha256:ae16d0deffa4b95ebe604f3feb1e48f9b318a52e93aa37cf00554a3c7696fc9d
      bash-5.2# reboot 
      {{...}}

       

      4. Check the nginx package installation

      $ tmt run --last login
      ...bash-5.2# bootc status
      ● Booted image: containers-storage:localhost/test
              Digest: sha256:ae16d0deffa4b95ebe604f3feb1e48f9b318a52e93aa37cf00554a3c7696fc9d (amd64)
             Version: 10.1 (2025-05-20T11:59:07Z)  Rollback image: images.paas.redhat.com/testingfarm/rhel-bootc:10.1
                Digest: sha256:007ea1cbc9f4899e554f4c422ee6be40c6fc6a54a633fae6e3abf771820b2029 (amd64)
               Version: 10.1 (2025-05-15T21:45:31Z)
      bash-5.2# 
      bash-5.2# rpm -qa nginx*
      nginx-filesystem-1.26.3-1.el10.noarch
      nginx-core-1.26.3-1.el10.x86_64
      nginx-1.26.3-1.el10.x86_64
      bash-5.2# for i in `rpm -ql nginx-filesystem`; do ls -d $i >/dev/null; done
      bash-5.2# 
      bash-5.2# for i in `rpm -ql nginx-core`; do ls -d $i >/dev/null; done
      ls: cannot access '/var/lib/nginx': No such file or directory
      ls: cannot access '/var/lib/nginx/tmp': No such file or directory
      ls: cannot access '/var/log/nginx': No such file or directory
      ls: cannot access '/var/log/nginx/access.log': No such file or directory
      ls: cannot access '/var/log/nginx/error.log': No such file or directory
      bash-5.2# 

      Expected results

      /var/lib/ dirs and files are created and the service can be started

      Note

      I have not tested but I expect that when the nginx package is created during the initial image creation all files and dirs are created as expected. The issue is present only when the existing image is updated.

              luhliari@redhat.com Lubos Uhliarik
              pkis@redhat.com Patrik Kis
              Lubos Uhliarik Lubos Uhliarik
              Iveta Kyralova Iveta Kyralova
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated: