Bug 1402548 - Docker storage setup packaging seems to be wrong
Summary: Docker storage setup packaging seems to be wrong
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: docker
Version: 24
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Antonio Murdaca
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-12-07 19:24 UTC by Vivek Goyal
Modified: 2016-12-16 22:22 UTC (History)
14 users (show)

Fixed In Version: docker-1.10.3-55.gite03ddb8.fc24
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-12-16 22:22:47 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Vivek Goyal 2016-12-07 19:24:49 UTC
Description of problem:

Packaging of docker-storage-setup seems to be wrong. Looks like /usr/bin/docker-storage-setup is older while /usr/lib/docker-storage-setup/dss-child-read-write is newer.

And this breaks docker-storage-setup.


Version-Release number of selected component (if applicable):

docker-1.10.3

How reproducible:

Always

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Antonio Murdaca 2016-12-07 19:27:06 UTC
Vivek can you provide the correct versions you're expecting to have installed with docker-1.10.3? Like which commit exactly.

Comment 2 Vivek Goyal 2016-12-07 19:28:21 UTC
To be specific, following commit had changed both the files. But we are seeing changes only in one file and other file does not have the corresponding changes.

commit ba0dcf3f02bee36f188164517911b20f8798a160
Author: Vivek Goyal <vgoyal>
Date:   Wed Nov 2 09:23:15 2016 -0400

    Create temporary mount in child process mount namespace

Comment 3 Vivek Goyal 2016-12-07 19:28:58 UTC
Version     : 1.10.3
Release     : 54.gite03ddb8.fc24

Comment 4 Vivek Goyal 2016-12-07 19:31:38 UTC
Antonio, wait a second. may be my observation is not right. We faced this on Shishir's system and I am not seeing it on my system. Let me figure out why this discrepancy is there.

Comment 5 Vivek Goyal 2016-12-07 19:35:00 UTC
Shishir, I installed docker rpm on my F24 VM and I did not face this issue.

I am not sure why did you face this issue. Did you ever install newer /usr/lib/docker-storage-setup/dss-child-read-write on your system?

I know that you removed docker package and installed it fresh. And that should have take care of it.

So not sure what's going on.

Comment 6 Vivek Goyal 2016-12-07 19:40:10 UTC
Ok, one problem I see is that /usr/lib/docker-storage-setup/dss-child-read-write did not even get installed on my system after docker installation.

I suspect that Shishir might have copied it manually on his system and that will explain the difference.

So core of the problem is that /usr/lib/docker-storage-setup/dss-child-read-write did not get installed on system while /usr/lib/docker-storage-setup is looking for that file.

unshare -m /usr/lib/docker-storage-setup/dss-child-read-write $PIPE1 $PIPE2 &

Comment 7 Vivek Goyal 2016-12-07 19:45:23 UTC
Side effect of this is that deferred deletion does not get enabled by default, despite the fact that kernel supports it.

Comment 8 Antonio Murdaca 2016-12-07 19:46:23 UTC
Are you sure that that file should be installed with the commit of dss shipped with F24? This will become an update for F24 otherwise. 

I'll explain better. It could be that that file is missing because the dss shipped with Docker in F24 doesn't have that file. You could check the dss commit in the spec file for instance.

Otherwise I'll fix this by updating Docker in F24 (I wouldn't do this anymore for F24 but if it's necessary that's fine)

Comment 9 Vivek Goyal 2016-12-07 19:55:19 UTC
Antonio, This file is present in upstream commit.

I did "fedpkg prep" and then opened docker-storage-setup-ba0dcf3.tar.gz and it has dss-child-read-write.sh file.

So it is a packaging issue and requires adding this file in docker.spec.

Comment 10 smahajan@redhat.com 2016-12-07 19:59:59 UTC
I think this file (/usr/lib/docker-storage-setup/dss-child-read-write) was never part of the rpm install. I had build docker-storage-setup from the source, hence I got this file. and when I did rpm install of docker {docker-storage-setup}, /usr/lib/docker-storage-setup/docker-storage-setup was overwritten with the rpm version, however dss-child-read-write was never installed as part of the rpm install.

Just to double check, I did a `rpm remove docker` and `/usr/lib/docker-storage-setup/dss-child-read-write` was not removed {since it was not part of the install, `rpm remove` didn't cleaned it}.

Shishir

Comment 11 Antonio Murdaca 2016-12-07 21:07:41 UTC
Vivek, the commit used in the spec for F24 is:

ba0dcf3f02bee36f188164517911b20f8798a160

The spec file already use "make install" to install this.

If you're getting a different /usr/bin/docker-storage-setup there must be something wrong in the repo or the commit used because, as said, the spec uses the Makefile.

Comment 12 Antonio Murdaca 2016-12-07 21:11:12 UTC
Specifically at that exact commit, I can see in the Makefile the following:

 13 .PHONY: install
 14 install:
 15
 16         install -D -m 755 docker-storage-setup.sh ${BINDIR}/docker-storage-setup


So, I would say it's very unlikely that the spec is messing something

Comment 13 Antonio Murdaca 2016-12-07 21:15:22 UTC
(In reply to Vivek Goyal from comment #6)
> Ok, one problem I see is that
> /usr/lib/docker-storage-setup/dss-child-read-write did not even get
> installed on my system after docker installation.
> 
> I suspect that Shishir might have copied it manually on his system and that
> will explain the difference.
> 
> So core of the problem is that
> /usr/lib/docker-storage-setup/dss-child-read-write did not get installed on
> system while /usr/lib/docker-storage-setup is looking for that file.
> 
> unshare -m /usr/lib/docker-storage-setup/dss-child-read-write $PIPE1 $PIPE2 &

On F25:

22:14:49 [~/koding/docker-storage-setup] ‹ba0dcf3› rpm -qf /usr/lib/docker-storage-setup/dss-child-read-write
docker-1.12.3-12.git97974ae.fc25.x86_64

I'll try on F24 as well but the spec hasn't changed anything between F24 and F25 wrt docker-storage-setup...

Comment 14 Antonio Murdaca 2016-12-07 21:16:58 UTC
(In reply to Vivek Goyal from comment #9)
> Antonio, This file is present in upstream commit.
> 
> I did "fedpkg prep" and then opened docker-storage-setup-ba0dcf3.tar.gz and
> it has dss-child-read-write.sh file.
> 
> So it is a packaging issue and requires adding this file in docker.spec.

this file is rightly included from what I can see on F24 spec:

 758 %dir %{dss_libdir}
 759 %{dss_libdir}/*

That means that everything under /usr/lib/docker-storage-setup/* gets included (because "make install" installed stuff under that...)

Comment 15 Antonio Murdaca 2016-12-07 21:25:04 UTC
I see what's happening, I'm releasing an update (we did not release an update to include the fixed dss installation via make install...)

Comment 16 Fedora Update System 2016-12-07 21:25:39 UTC
docker-1.10.3-55.gite03ddb8.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-6e972cb2cf

Comment 17 smahajan@redhat.com 2016-12-07 22:15:27 UTC
@runcom, 

sh-4.3# docker version
Client:
 Version:         1.10.3
 API version:     1.22
 Package version: docker-common-1.10.3-54.gite03ddb8.fc24.x86_64
 Go version:      go1.6.3
 Git commit:      e03ddb8/1.10.3
 Built:           
 OS/Arch:         linux/amd64

Server:
 Version:         1.10.3
 API version:     1.22
 Package version: docker-common-1.10.3-54.gite03ddb8.fc24.x86_64
 Go version:      go1.6.3
 Git commit:      e03ddb8/1.10.3
 Built:           
 OS/Arch:         linux/amd64


Shishir

Comment 18 Antonio Murdaca 2016-12-07 22:17:16 UTC
Shishir, alright, please install https://bodhi.fedoraproject.org/updates/FEDORA-2016-6e972cb2cf as soon as it's in updates-testing - I'm testing it right now.

Comment 19 Antonio Murdaca 2016-12-07 22:26:08 UTC
I can confirm the update I did in https://bodhi.fedoraproject.org/updates/FEDORA-2016-6e972cb2cf fixes this issue:

[root@fedora ~]# rpm -qf /usr/lib/docker-storage-setup/dss-child-read-write
docker-1.10.3-55.gite03ddb8.fc24.x86_64

Vivek please test it out and give karma if it's ok.
Thanks guys.

Comment 20 Fedora Update System 2016-12-08 19:23:36 UTC
docker-1.10.3-55.gite03ddb8.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-6e972cb2cf

Comment 21 Fedora Update System 2016-12-16 22:22:47 UTC
docker-1.10.3-55.gite03ddb8.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.


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