Bug 1387934 - docker-storage-setup service deleted to break systemd ordering cycle
Summary: docker-storage-setup service deleted to break systemd ordering cycle
Alias: None
Product: Fedora
Classification: Fedora
Component: docker-storage-setup
Version: 25
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Andy Grimm
QA Contact: Fedora Extras Quality Assurance
: 1388000 (view as bug list)
Depends On:
TreeView+ depends on / blocked
Reported: 2016-10-23 22:53 UTC by Dusty Mabe
Modified: 2016-11-08 03:48 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2016-11-01 12:45:45 UTC
Type: Bug

Attachments (Terms of Use)

Description Dusty Mabe 2016-10-23 22:53:35 UTC
Description of problem:

There is an ordering issue with docker-storage setup that causes it to be deleted from the startup on Fedora 25 atomic host. The error looks like:

[fedora@cloudhost ~]$ journalctl -u docker-storage-setup.service
-- Logs begin at Fri 2016-10-21 18:40:36 UTC, end at Sun 2016-10-23 22:44:26 UTC. --
Oct 21 18:40:37 localhost.localdomain systemd[1]: docker-storage-setup.service: Job docker-storage-setup.service/start deleted to break ordering cycle starting with multi-user.target/start

Version-Release number of selected component (if applicable):
Cloud image from: 
[fedora@cloudhost ~]$ rpm-ostree status
State: idle
● fedora-atomic:fedora-atomic/25/x86_64/docker-host
       Version: 25.31 (2016-10-21 01:14:00)
        Commit: fe55d64c8d2f4caae628ff2e50d832ff0b66350e61d8989dc5b6a1b7ab0ed83f
        OSName: fedora-atomic
[fedora@cloudhost ~]$ 
[fedora@cloudhost ~]$ rpm -q docker 

How reproducible:

Steps to Reproduce:
1. Boot up cloud image 
2. systemctl status docker-storage-setup

Comment 1 Dusty Mabe 2016-10-23 22:53:50 UTC
Input from colin walters:
I think this is due to:

# grep After /usr/lib/systemd/system/docker-storage-setup.service
# grep ^After /usr/lib/systemd/system/cloud-final.service
After=network-online.target cloud-config.service rc-local.service multi-user.target

But docker.service wants docker-storage-setup.service, and
multi-user.target wants docker.service.

Hence we're trying to run d-s-s both before and after multi-user.target.

I think the fix here is going to be changing the After=cloud-final.service
in d-s-s to After=cloud-init-local.service or so.

The main requirement here from my perspective is that cloud node
users are able to configure d-s-s (and docker).  Specifically to do
things like enable overlayfs by default.

If changing it to cloud-init-local.service is sufficient to use `bootcmd`,
that may work.

Comment 2 Dusty Mabe 2016-10-23 23:18:17 UTC
Here is a user-data workaround that can be used to put in walters' suggested fix and then get the docker service up and running: 

  - sed s/After=cloud-final.service/After=cloud-init-local.service/ /usr/lib/systemd/system/docker-storage-setup.service > /etc/systemd/system/docker-storage-setup.service
  - systemctl daemon-reload
  - systemctl start --no-block docker.service

Comment 3 Dusty Mabe 2016-10-24 16:12:40 UTC
upstream PR: 


Comment 4 Dusty Mabe 2016-10-25 15:41:34 UTC
*** Bug 1388000 has been marked as a duplicate of this bug. ***

Comment 5 Dusty Mabe 2016-11-01 12:45:45 UTC
PR was merged and a new docker package with the update was pushed to stable in: 


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