Giter Club home page Giter Club logo

Comments (15)

rhatdan avatar rhatdan commented on August 11, 2024

I think it should just fail and not fall back to loop devices, If the user asks for storage we should give them storage or fail.

from container-storage-setup.

rhvgoyal avatar rhvgoyal commented on August 11, 2024

Well, docker-storage-setup will fail. But current docker is written in such a way that it has Wants= dependency on docker-storage-setup and not Requires= dependency.

We can change that but then on systems like fedora where installer consumes all disk space by default, docker will fail out of box. I think in the past we decided that we don't want it to fail out of box instead want it to use loopback devices and warn user about it so that user can fix the storage part.

from container-storage-setup.

rhvgoyal avatar rhvgoyal commented on August 11, 2024

May be we need to convert this into Requires= dependency so that if docker-storage-setup fails, docker fails too.

And provide an option where upon failure, user can edit /etc/sysconfig/docker-storage-setup and be able to start docker using loopback devices.

So out of box docker will fail if enough free space is not available to setup lvm thin pool. But there will be an easy way to override it and let user opt-in for loopback devices.

Will that work?

from container-storage-setup.

rhatdan avatar rhatdan commented on August 11, 2024

I just want to catch the time that if an admin set it up to run, we don't failover back to loopback.

from container-storage-setup.

rhvgoyal avatar rhvgoyal commented on August 11, 2024

Hmm..., so basically if user decided to override any of the defaults using /etc/sysconfig/docker-storage-setup, we don't want docker to start if docker-storage-setup fails?

Currently atomic specifies GROWPART=yes in /etc/sysconfig/docker-storage-setup. That means atomic's default will be not fallback to loop devices. Is that alright?

from container-storage-setup.

jeremyeder avatar jeremyeder commented on August 11, 2024

I thought we can't have docker fail out of the box...I thought we specifically did not want to require use of any brain cells.

from container-storage-setup.

rhvgoyal avatar rhvgoyal commented on August 11, 2024

I feel that if we provide user an easy way to opt-in for loop devices (if lvm thin pool setup failed), then it might be ok to fail docker out of box with appropriate error message.

This should not affect atomic product where we will have to make sure that our images have sufficient space free to create lvm thin pool out of box.

For other flavors where installer consumes all the disk, docker will fail out of box and then user can add more disk or opt-in to use loop devices.

I an provide another config option say "STORAGE_DRIVER_MODE=". For device mapper possible values will be "thin-pool" and "loopback". Default will be "thin-pool" and user can override it by

echo STORAGE_DRIVER_MODE="loopback" >> /etc/sysconfig/docker-storage-setup

from container-storage-setup.

rhatdan avatar rhatdan commented on August 11, 2024

How about we add a flag, that states

LOOPBACK_FALLBACK: True

And if user sets this to false, it fails.

I don't want docker to fail out of the box, but I also don't want docker to use loopback when the user does not intend.

from container-storage-setup.

jeremyeder avatar jeremyeder commented on August 11, 2024

We need to bring more folks into this discussion.

from container-storage-setup.

rhvgoyal avatar rhvgoyal commented on August 11, 2024

I think this patch series can go in as it is. What do to when storage-setup fails is a separate discussion and I will open a new issue to track that.

from container-storage-setup.

rhvgoyal avatar rhvgoyal commented on August 11, 2024

Ok, I opended issue #62 to discuss this issue.

from container-storage-setup.

rhatdan avatar rhatdan commented on August 11, 2024

@jeremyeder @rhvgoyal and I had a side meeting to discuss this.

I think for docker-1.8 release we might want to make docker require docker-storage-setup So we fail docker out of the box if storage is not setup. BUT we need systemctl status docker to give us enough information to make the admin know he needs to edit /etc/sysconfig/docker-storage-setup file to fix it. Then they could setup loopback or real storage.

The problem with this is handling upgrades. If someone was using docker prior to docker-1.8 on loopback this needs to continue working. We also need the migration script so people can get off of loopback and on to a different back end.

from container-storage-setup.

jeremyeder avatar jeremyeder commented on August 11, 2024

I understand; just want to make sure atomic/openshift guys are ok with this?
i did notice that the openshift installer script mentions docker-storage-setup but it is not a hard technical requirement.

from container-storage-setup.

rhatdan avatar rhatdan commented on August 11, 2024

Right, we will open this for discussion when we get to the Next docker-1.8 release.

from container-storage-setup.

rhvgoyal avatar rhvgoyal commented on August 11, 2024

@cgwalters

I have pushed patches again after taking care of review comments. I have added libdss.sh now but I have not added any test cases. That can come later.

from container-storage-setup.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.