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

[containers/podman] CLI UX Consistency Pruning Volumes

XMLWordPrintable

    • 5
    • False
    • Hide

      None

      Show
      None
    • False
    • Not Selected
    • rhel-container-tools
    • RUN 285

      [2669136618] Upstream Reporter: Jonathan Steffan
      Upstream issue status: Open
      Upstream description:

      Issue Description

      Inconsistency for the CLI UX which makes documentation harder and muscle memory more expensive. Adding a simple compatibility option would bring the two UX for volume management closer together.

      Steps to reproduce the issue

      Steps to reproduce the issue

      1. docker volume prune -a (and podman volume prune -a

      Describe the results you received

      jon@dahome:~$ docker volume prune -a
      Error: unknown shorthand flag: 'a' in -a
      See 'podman volume prune --help'

      Describe the results you expected

      To maintain a compatible UX for the CLI, we should support -a for the volume prune. The default behaviors between docker and podman are different and we should unify them more.

      In Docker CE you need to pass -a to do a proper dangling volume cleanup. In Podman it does the right thing.

      We should add -a as compatibility so both docker volume prune -a and podman volume prune -a work.

      podman info output

      jon@dahome:~$ podman version
      Client:       Podman Engine
      Version:      5.3.0
      API Version:  5.3.0
      Go Version:   go1.22.7
      Built:        Tue Nov 12 17:00:00 2024
      OS/Arch:      linux/amd64
      jon@dahome:~$ podman info
      host:   arch: amd64
        buildahVersion: 1.38.0
        cgroupControllers:   - cpu
        - io
        - memory
        - pids
        cgroupManager: systemd
        cgroupVersion: v2
        conmon:     package: conmon-2.1.12-2.fc40.x86_64
          path: /usr/bin/conmon
          version: 'conmon version 2.1.12, commit: '
        cpuUtilization:     idlePercent: 93.91
          systemPercent: 1.33
          userPercent: 4.76
        cpus: 24
        databaseBackend: sqlite
        distribution:     distribution: fedora
          variant: workstation
          version: "40"
        eventLogger: journald
        freeLocks: 2047
        hostname: dahome.damaestro.us
        idMappings:     gidmap:     - container_id: 0
            host_id: 1000
            size: 1
          - container_id: 1
            host_id: 524288
            size: 65536
          uidmap:     - container_id: 0
            host_id: 1000
            size: 1
          - container_id: 1
            host_id: 524288
            size: 65536
        kernel: 6.11.8-200.fc40.x86_64
        linkmode: dynamic
        logDriver: journald
        memFree: 48293961728
        memTotal: 67290427392
        networkBackend: netavark
        networkBackendInfo:     backend: netavark
          dns:       package: aardvark-dns-1.13.1-1.fc40.x86_64
            path: /usr/libexec/podman/aardvark-dns
            version: aardvark-dns 1.13.1
          package: netavark-1.13.0-1.fc40.x86_64
          path: /usr/libexec/podman/netavark
          version: netavark 1.13.0
        ociRuntime:     name: crun
          package: crun-1.18.2-1.fc40.x86_64
          path: /usr/bin/crun
          version: |-
            crun version 1.18.2
            commit: 00ab38af875ddd0d1a8226addda52e1de18339b5
            rundir: /run/user/1000/crun
            spec: 1.0.0
            +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
        os: linux
        pasta:     executable: /usr/bin/pasta
          package: passt-0^20241030.gee7d0b6-1.fc40.x86_64
          version: |
            pasta 0^20241030.gee7d0b6-1.fc40.x86_64
            Copyright Red Hat
            GNU General Public License, version 2 or later
              <https://www.gnu.org/licenses/old-licenses/gpl-2.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: true
        serviceIsRemote: false
        slirp4netns:     executable: ""
          package: ""
          version: ""
        swapFree: 8589930496
        swapTotal: 8589930496
        uptime: 0h 46m 42.00s
        variant: ""
      plugins:   authorization: null
        log:   - k8s-file
        - none
        - passthrough
        - journald
        network:   - bridge
        - macvlan
        - ipvlan
        volume:   - local
      registries:   search:   - registry.fedoraproject.org
        - registry.access.redhat.com
        - docker.io
      store:   configFile: /home/jon/.config/containers/storage.conf
        containerStore:     number: 0
          paused: 0
          running: 0
          stopped: 0
        graphDriverName: overlay
        graphOptions: {}
        graphRoot: /home/jon/.local/share/containers/storage
        graphRootAllocated: 998483427328
        graphRootUsed: 76022562816
        graphStatus:     Backing Filesystem: btrfs
          Native Overlay Diff: "true"
          Supports d_type: "true"
          Supports shifting: "false"
          Supports volatile: "true"
          Using metacopy: "false"
        imageCopyTmpDir: /var/tmp
        imageStore:     number: 19
        runRoot: /run/user/1000/containers
        transientStore: false
        volumePath: /home/jon/.local/share/containers/storage/volumes
      version:   APIVersion: 5.3.0
        Built: 1731456000
        BuiltTime: Tue Nov 12 17:00:00 2024
        GitCommit: ""
        GoVersion: go1.22.7
        Os: linux
        OsArch: linux/amd64
        Version: 5.3.0
      
      jon@dahome:~$ rpm -q podman
      podman-5.3.0-1.fc40.x86_64
      

      Podman in a container

      No

      Privileged Or Rootless

      Rootless

      Upstream Latest Release

      Yes

      Additional environment details

      No response

      Additional information

      No response


      Upstream URL: https://github.com/containers/podman/issues/24597

              jrodak Jan Rodák
              upstream-sync Upstream Sync
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: