RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1993249 - Make volume removal with third-party drivers consistent with Docker behavior
Summary: Make volume removal with third-party drivers consistent with Docker behavior
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: podman
Version: 8.4
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: beta
: ---
Assignee: Jindrich Novy
QA Contact: Joy Pu
URL:
Whiteboard:
Depends On:
Blocks: 1186913 1934612
TreeView+ depends on / blocked
 
Reported: 2021-08-12 15:47 UTC by Robb Manes
Modified: 2022-09-21 07:39 UTC (History)
11 users (show)

Fixed In Version: podman-3.3.1-1.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-11-09 17:40:16 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github containers podman issues 11214 0 None None None 2021-08-12 15:47:23 UTC
Red Hat Issue Tracker RHELPLAN-93422 0 None None None 2021-08-12 15:49:33 UTC
Red Hat Product Errata RHSA-2021:4154 0 None None None 2021-11-09 17:40:54 UTC

Description Robb Manes 2021-08-12 15:47:23 UTC
Description of problem:
This problem is being tracked in https://github.com/containers/podman/issues/11214.

When using third-party volume drivers, if the volume driver returns an error when removing a volume (such as with podman volume rm) podman will remove the volume entry despite the error. This is different behavior than Docker or Moby, which instead returns the error and makes no changes to the volume.

The error message looks something like this:

# podman volume rm docvol1
Error: volume docvol1 could not be removed from plugin MYPLUGIN, but it has been removed from Podman: MYPLUGIN had some sort of error

Podman's behavior: https://github.com/containers/podman/blob/main/libpod/runtime_volume_linux.go#L286-L292

Moby's behavior: https://github.com/moby/moby/blob/master/volume/drivers/proxy.go#L71-L73

While it's probably good to clean this up, this is a difference in what some volume plugins expect to happen, so we've had volume driver providers reach out and ask for this behavior to be uniform across podman and Docker.


Version-Release number of selected component (if applicable):
podman-3.2.3-0.10.module+el8.4.0+11989+6676f7ad.x86_64

How reproducible:
Every time

Actual results:
Volume is removed from podman boltdb despite error.

Expected results:
Volume should not be removed in case of error to match Docker/Moby behavior.

Additional info:
Those looking for latest information on the state of fixing this bug should look to the above mentioned Github issue.

Comment 1 Matthew Heon 2021-08-12 15:48:44 UTC
I'll take this

Comment 2 Matthew Heon 2021-08-18 18:24:27 UTC
https://github.com/containers/podman/pull/11267 will fix this upstream.

I believe we still have time to land this before 3.3.0 final, so it should be in RHEL 8.5.0.

Comment 3 Tom Sweeney 2021-08-20 18:13:42 UTC
Just verified that this commit: https://github.com/containers/podman/commit/f0d0c48d2e38a6a34e687ef8c75caef30790bcdd has the fix in the v3.3 stream

Comment 15 Joy Pu 2021-09-01 16:56:47 UTC
Test with podman-3.3.1-7.module+el8.5.0+12442+516c7b38.x86_64 with a modified version of testvol. And it works as expected.
# podman volume rm testVolume1
Error: volume testVolume1 could not be removed from plugin testvol4: error on /VolumeDriver.Remove on volume testVolume1 in volume plugin testvol4: Raise error for testing
# podman volume ls
DRIVER      VOLUME NAME
testvol4    testVolume1

Comment 18 errata-xmlrpc 2021-11-09 17:40:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: container-tools:rhel8 security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:4154


Note You need to log in before you can comment on or make changes to this bug.