Bug 1388585

Summary: yum update to Red Hat docker 1.12 omits docker-storage EnvironmentFile entry from systemd unit
Product: Red Hat Enterprise Linux 7 Reporter: Mike Fiedler <mifiedle>
Component: dockerAssignee: Lokesh Mandvekar <lsm5>
Status: CLOSED ERRATA QA Contact: atomic-bugs <atomic-bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.3CC: amurdaca, ekuric, jeder, lfriedma, lsm5, lsu, santiago
Target Milestone: rcKeywords: Extras
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: aos-scalability-34
Fixed In Version: docker-1.12.1-7.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-17 20:43:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mike Fiedler 2016-10-25 17:36:19 UTC
Description of problem:

Starting from a Red Hat docker 1.10.3 system configured for devicemapper graph driver storage, running a yum update to 1.12.2-5.el7 results in a systemd service definition which no longer points to, or migrates, the existing /etc/sysconfig/docker-storage environment file which contains the docker storage options required to successfully start the docker service/daemon after the upgrade.

The user must currently manually re-add /etc/sysconfig/docker-storage to the service file (or copy the storage options to /etc/sysconfig/docker)

If this is not done, the docker service will not start


Version-Release number of selected component (if applicable):  docker 1.12.2-5.el7

How reproducible: always


Steps to Reproduce:
1.  Install red hat docker 1.10.3
2.  Configure for devicemapper storage with docker-storage-setup.  Verify with docker info
3.  Install 1.12.2-5 with yum update docker docker-common docker-selinux docker-rhel-push-plugin
4.  systemctl start docker

Actual results:

Docker fails to start - docker-storage configuration is not active in the systemd service file

Expected results:


Docker starts with pre-existing storage configuration active

Comment 1 Mike Fiedler 2016-10-25 17:38:39 UTC
The following lines in the "before" docker.service file

EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network


become this in the "after" file:

EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker

Comment 4 Luwen Su 2016-11-13 10:38:40 UTC
Live update from 1.10.3 to 1.12.3-4, the docker service is always alive, move to verified

# cat /etc/sysconfig/docker-storage-setup 
WIPE_SIGNATURES=true
DEVS=/dev/sdb
VG=docker-test

# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.10.3
Storage Driver: devicemapper
 Pool Name: docker--test-docker--pool

#yum update
....
# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.12.3
Storage Driver: devicemapper
 Pool Name: docker--test-docker--pool

Comment 5 Jeremy Eder 2016-11-16 15:31:50 UTC
*** Bug 1395721 has been marked as a duplicate of this bug. ***

Comment 7 errata-xmlrpc 2017-01-17 20:43:38 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, 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://rhn.redhat.com/errata/RHSA-2017-0116.html