Uploaded image for project: 'Container Tools'
  1. Container Tools
  2. RUN-2844

[containers/common] Setting CONTAINERS_STORAGE_CONF ignores ALL configuration

XMLWordPrintable

    • 3
    • False
    • Hide

      None

      Show
      None
    • False
    • rhel-container-tools

      [2992261559] Upstream Reporter: Hielke Walinga
      Upstream issue status: Closed
      Upstream description:

      Issue Description

      Setting CONTAINERS_STORAGE_CONF makes podman ignore ALL configuration file and just uses the defaults.

      Steps to reproduce the issue

      ? cat ~/.config/containers/storage.conf
      [storage]
      driver = "overlay"
      graphroot = "/home/hielke/podman-config"
      runroot = "/home/hielke/podman-config"
      
       
      ? podman info | grep Root
        graphRoot: /home/hielke/podman-config
        graphRootAllocated: 1146214653952
        graphRootUsed: 762670075904
        runRoot: /home/hielke/podman-config
      
      ? cat ~/storage.conf                   
      [storage]
      driver = "overlay"
      graphroot = "/home/hielke/podman-test"
      runroot = "/home/hielke/podman-test"
      
      
      ? export CONTAINERS_STORAGE_CONF=/home/hielke/storage.conf
      
      ? podman info | grep Root
        graphRoot: /home/hielke/.local/share/containers/storage
        graphRootAllocated: 1146214653952
        graphRootUsed: 762670051328
        runRoot: /run/user/1000/containers

      Describe the results you received

      I got default graphroot and runroot values, even ~/.config/containers/storage.conf got ignored when setting CONTAINERS_STORAGE_CONF.

      Describe the results you expected

      When setting CONTAINERS_STORAGE_CONF I hope to receive on podman info the settings from CONTAINERS_STORAGE_CONF, ie /home/hielke/podman-test

      podman info output

      Apt: 
      
      host:   arch: amd64
        buildahVersion: 1.28.2
        cgroupControllers: []
        cgroupManager: cgroupfs
        cgroupVersion: v1
        conmon:     package: conmon_2.1.6+ds1-1_amd64
          path: /usr/bin/conmon
          version: 'conmon version 2.1.6, commit: unknown'
        cpuUtilization:     idlePercent: 42.69
          systemPercent: 15.41
          userPercent: 41.9
        cpus: 4
        distribution:     codename: bookworm
          distribution: debian
          version: "12"
        eventLogger: file
        hostname: mx
        idMappings:     gidmap:     - container_id: 0
            host_id: 1000
            size: 1
          - container_id: 1
            host_id: 100000
            size: 65536
          uidmap:     - container_id: 0
            host_id: 1000
            size: 1
          - container_id: 1
            host_id: 100000
            size: 65536
        kernel: 6.1.0-10-amd64
        linkmode: dynamic
        logDriver: k8s-file
        memFree: 223055872
        memTotal: 16627392512
        networkBackend: netavark
        ociRuntime:     name: crun
          package: crun_1.8.1-1+deb12u1_amd64
          path: /usr/bin/crun
          version: |-
            crun version 1.8.1
            commit: f8a096be060b22ccd3d5f3ebe44108517fbf6c30
            rundir: /run/user/1000/crun
            spec: 1.0.0
            +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
        os: linux
        remoteSocket:     path: /run/user/1000/podman/podman.sock
        security:     apparmorEnabled: false
          capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
          rootless: true
          seccompEnabled: true
          seccompProfilePath: /usr/share/containers/seccomp.json
          selinuxEnabled: false
        serviceIsRemote: false
        slirp4netns:     executable: /usr/bin/slirp4netns
          package: slirp4netns_1.2.0-1_amd64
          version: |-
            slirp4netns version 1.2.0
            commit: 656041d45cfca7a4176f6b7eed9e4fe6c11e8383
            libslirp: 4.7.0
            SLIRP_CONFIG_VERSION_MAX: 4
            libseccomp: 2.5.4
        swapFree: 33963347968
        swapTotal: 38571864064
        uptime: 23h 41m 42.00s (Approximately 0.96 days)
      plugins:   authorization: null
        log:   - k8s-file
        - none
        - passthrough
        - journald
        network:   - bridge
        - macvlan
        volume:   - local
      registries:   search:   - docker.io
        - quay.io
        - ghcr.io
      store:   configFile: /home/hielke/storage.conf
        containerStore:     number: 0
          paused: 0
          running: 0
          stopped: 0
        graphDriverName: overlay
        graphOptions: {}
        graphRoot: /home/hielke/.local/share/containers/storage
        graphRootAllocated: 1146214653952
        graphRootUsed: 762669854720
        graphStatus:     Backing Filesystem: extfs
          Native Overlay Diff: "true"
          Supports d_type: "true"
          Using metacopy: "false"
        imageCopyTmpDir: /var/tmp
        imageStore:     number: 135
        runRoot: /run/user/1000/containers
        volumePath: /home/hielke/.local/share/containers/storage/volumes
      version:   APIVersion: 4.3.1
        Built: 0
        BuiltTime: Thu Jan  1 01:00:00 1970
        GitCommit: ""
        GoVersion: go1.19.8
        Os: linux
        OsArch: linux/amd64
        Version: 4.3.1
      
      
      linuxbrew: 
      
      host:   arch: amd64
        buildahVersion: 1.39.4
        cgroupControllers: []
        cgroupManager: cgroupfs
        cgroupVersion: v1
        conmon:     package: conmon_2.1.6+ds1-1_amd64
          path: /usr/bin/conmon
          version: 'conmon version 2.1.6, commit: unknown'
        cpuUtilization:     idlePercent: 42.67
          systemPercent: 15.4
          userPercent: 41.92
        cpus: 4
        databaseBackend: boltdb
        distribution:     codename: bookworm
          distribution: debian
          version: "12"
        eventLogger: file
        freeLocks: 1978
        hostname: mx
        idMappings:     gidmap:     - container_id: 0
            host_id: 1000
            size: 1
          - container_id: 1
            host_id: 100000
            size: 65536
          uidmap:     - container_id: 0
            host_id: 1000
            size: 1
          - container_id: 1
            host_id: 100000
            size: 65536
        kernel: 6.1.0-10-amd64
        linkmode: dynamic
        logDriver: k8s-file
        memFree: 212373504
        memTotal: 16627392512
        networkBackend: netavark
        networkBackendInfo:     backend: netavark
          dns:       package: Unknown
            path: /home/hielke/.linuxbrew/opt/podman/libexec/podman/aardvark-dns
            version: aardvark-dns 1.13.1
          package: Unknown
          path: /home/hielke/.linuxbrew/opt/podman/libexec/podman/netavark
          version: netavark 1.13.1
        ociRuntime:     name: crun
          package: crun_1.8.1-1+deb12u1_amd64
          path: /usr/bin/crun
          version: |-
            crun version 1.8.1
            commit: f8a096be060b22ccd3d5f3ebe44108517fbf6c30
            rundir: /run/user/1000/crun
            spec: 1.0.0
            +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
        os: linux
        pasta:     executable: /usr/bin/pasta
          package: passt_0.0~git20230309.7c7625d-1_amd64
          version: |
            pasta unknown version
            Copyright Red Hat
            GNU Affero GPL version 3 or later <https://www.gnu.org/licenses/agpl-3.0.html>
            This is free software: you are free to change and redistribute it.
            There is NO WARRANTY, to the extent permitted by law.
        remoteSocket:     exists: true
          path: /run/user/1000/podman/podman.sock
        rootlessNetworkCmd: pasta
        security:     apparmorEnabled: false
          capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
          rootless: true
          seccompEnabled: true
          seccompProfilePath: /usr/share/containers/seccomp.json
          selinuxEnabled: false
        serviceIsRemote: false
        slirp4netns:     executable: /usr/bin/slirp4netns
          package: slirp4netns_1.2.0-1_amd64
          version: |-
            slirp4netns version 1.2.0
            commit: 656041d45cfca7a4176f6b7eed9e4fe6c11e8383
            libslirp: 4.7.0
            SLIRP_CONFIG_VERSION_MAX: 4
            libseccomp: 2.5.4
        swapFree: 33891258368
        swapTotal: 38571864064
        uptime: 23h 41m 2.00s (Approximately 0.96 days)
        variant: ""
      plugins:   authorization: null
        log:   - k8s-file
        - none
        - passthrough
        - journald
        network:   - bridge
        - macvlan
        - ipvlan
        volume:   - local
      registries:   search:   - docker.io
      store:   configFile: /home/hielke/storage.conf
        containerStore:     number: 0
          paused: 0
          running: 0
          stopped: 0
        graphDriverName: overlay
        graphOptions: {}
        graphRoot: /home/hielke/.local/share/containers/storage
        graphRootAllocated: 1146214653952
        graphRootUsed: 762669846528
        graphStatus:     Backing Filesystem: extfs
          Native Overlay Diff: "true"
          Supports d_type: "true"
          Supports shifting: "false"
          Supports volatile: "true"
          Using metacopy: "false"
        imageCopyTmpDir: /var/tmp
        imageStore:     number: 135
        runRoot: /run/user/1000/containers
        transientStore: false
        volumePath: /home/hielke/.local/share/containers/storage/volumes
      version:   APIVersion: 5.4.2
        BuildOrigin: brew
        Built: 1743601389
        BuiltTime: Wed Apr  2 15:43:09 2025
        GitCommit: ""
        GoVersion: go1.24.2
        Os: linux
        OsArch: linux/amd64
        Version: 5.4.2
      

      Podman in a container

      No

      Privileged Or Rootless

      Rootless

      Upstream Latest Release

      Yes

      Additional environment details

      No response

      Additional information

      Issue present when running apt provided 4.3.1 and linuxbrew installed 5.4.2

      NOTA BENE: If running root, setting CONTAINERS_STORAGE_CONF behaves as expected.


      Upstream URL: https://github.com/containers/common/issues/2419

              Unassigned Unassigned
              upstream-sync Upstream Sync
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: