Bug 1447536
Summary: | Installation failed due to docker.service restart failed | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Wenkai Shi <weshi> |
Component: | docker | Assignee: | Lokesh Mandvekar <lsm5> |
Status: | CLOSED ERRATA | QA Contact: | atomic-bugs <atomic-bugs> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 7.3 | CC: | amurdaca, aos-bugs, dma, ghuang, jhonce, jokerman, lsm5, lsu, mifiedle, mmccomas, santiago, sdodson, smilner, wmeng |
Target Milestone: | rc | Keywords: | Extras |
Target Release: | 7.3 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | docker-1.12.6-25.git62520c0.el7_3 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-05-26 14:52:11 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
Wenkai Shi
2017-05-03 06:33:50 UTC
This is because openshift-ansible set "--log-driver=journald" by default in /etc/sysconfig/docker which is conflicted with the setting in /etc/docker/daemon.json in docker-1.12.6-19. # grep "log-driver" /etc/docker/daemon.json /etc/sysconfig/docker /etc/docker/daemon.json: "log-driver": "journald", /etc/sysconfig/docker:#OPTIONS=' --selinux-enabled --log-driver=journald' Removed the setting in /etc/sysconfig/docker, docker can be restarted. Sorry, the output should be in this issue: # grep "log-driver" /etc/docker/daemon.json /etc/sysconfig/docker /etc/docker/daemon.json: "log-driver": "journald", /etc/sysconfig/docker:OPTIONS=' --selinux-enabled --log-driver=journald' Jhon, This looks like a file that's new to 1.12.6-19, is this a bug in docker? It'll be a big challenge for the installer to determine which release of docker within 1.12.6 needs the option in --log-driver=journald or not. -- Scott (In reply to Scott Dodson from comment #3) > Jhon, > > This looks like a file that's new to 1.12.6-19, is this a bug in docker? > It'll be a big challenge for the installer to determine which release of > docker within 1.12.6 needs the option in --log-driver=journald or not. > > -- > Scott Couple of things.. 1. Is it hard to include the release tag for docker in the installer? 2. I could move back the --log-driver option back to /etc/sysconfig/docker until openshift is in a safe enough position to use it from /etc/docker/daemon.json. Let me know. Is /etc/docker/daemon.json honored by all versions of docker? We could switch to using that, but keep in mind that we can only migrate to that when someone runs the installer, so if someone where to install docker-1.12.6-16 and then upgrade to docker-1.12.6-19 without using the installer they'd break their environment. (In reply to Scott Dodson from comment #6) > Is /etc/docker/daemon.json honored by all versions of docker? We could > switch to using that, but keep in mind that we can only migrate to that when > someone runs the installer, so if someone where to install docker-1.12.6-16 > and then upgrade to docker-1.12.6-19 without using the installer they'd > break their environment. I believe it is available in all of 1.12.x. Lokesh, Can you just make /etc/docker/daemon.json not include any options in the RPM? By including things there that get created by simply upgrading the package this is a regression. We'll start moving the installer to using /etc/dokcer/daemon.json rather than command line args. (In reply to Scott Dodson from comment #10) > Lokesh, > > Can you just make /etc/docker/daemon.json not include any options in the > RPM? By including things there that get created by simply upgrading the > package this is a regression. > > We'll start moving the installer to using /etc/dokcer/daemon.json rather > than command line args. Sure thing. Do you need this done for docker-latest as well? Or just docker? Just docker, we'll make sure that before we switch to docker-1.13 we've fully migrated to daemon.json so I don't think you need to do anything to docker-latest. docker-1.12.6-24.git62520c0.el7 ships an empty /etc/docker/daemon.json, resulting in: # systemctl status docker ● docker.service - Docker Application Container Engine ... Active: failed (Result: exit-code) since Wed 2017-05-10 15:47:33 EDT; 15s ago ... May 10 15:47:33 esm-rhel7-d12-3.localdomain dockerd-current[21473]: time="2017-05-10T15:47:33-04:00" level=fatal msg="unable to configure the Docker daemon with file /etc/docker/daemon.json: EOF\n" daemon.json looks to be an empty file. My guess is it needs to be valid json. I believe using {} should be sufficient. (In reply to Steve Milner from comment #16) > daemon.json looks to be an empty file. My guess is it needs to be valid > json. I believe using {} should be sufficient. Confirmed: # echo '{}' >| /etc/docker/daemon.json # systemctl start docker -> all ok docker-1.12.6-25.git62520c0.el7 - confirmed, looks good. I've filed bug 1450172 to address warning messages seen during upgrade. Per comment19 move to verified. 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://access.redhat.com/errata/RHBA-2017:1325 |