Comments (15)
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.
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.
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.
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.
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.
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.
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.
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.
We need to bring more folks into this discussion.
from container-storage-setup.
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.
Ok, I opended issue #62 to discuss this issue.
from container-storage-setup.
@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.
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.
Right, we will open this for discussion when we get to the Next docker-1.8 release.
from container-storage-setup.
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)
- still some docker-storage-setup* files present HOT 6
- One bad config is not ignored HOT 9
- get_docker_storage_options() should be generalized for inputfile case too HOT 3
- `/var/lib/containers` conflicts with system containers HOT 6
- NVMe Device Configuration HOT 5
- Add support for Docker daemon "-g" start up option to point to LVM-direct mount HOT 17
- Fix selinux file labels when set CONTAINER_ROOT_LV_MOUNT_PATH to a directory other than /var/lib/docker HOT 3
- "atomic storage reset" fails if /var/lib/docker is mounted HOT 6
- support `ROOT_SIZE=100%FREE`
- docker-storage-setup.service not found HOT 27
- Attempted to use RAID0, fails partition check HOT 1
- container-storage-setup fails when updating Atomic Host OS on existing system HOT 26
- should setting `CONTAINER_ROOT_LV_MOUNT_PATH` also update docker to not point at `/var/lib/docker` ? HOT 4
- Overlay2 not supported on CentOS-Atomic-Host-7.1804+
- On aws with nvme the script always adds after reboot wrong disk on lvm HOT 1
- Docker Storage Setup Not Configuring Docker HOT 4
- fstype is checked at wrong folder lever HOT 2
- Crypt devices unsupported HOT 1
- Failed mount does not lead to startup error
- "container-storage-setup create" does not create SystemD's mount unit file
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from container-storage-setup.