Vivek Goyal <vgo...@redhat.com> writes: > On Tue, Apr 12, 2016 at 03:09:08PM +0300, Marius Vollmer wrote: > >> - Docker-storage-setup needs to run non-interactively, but I think it >> can't do that right now, and asks confirmation for various things. > > It already runs non-interactively. It is a service which runs on boot.
Yes, I noticed that, too. So any user-prompting from docker-storage-setup is a bug? I get a prompt from pvcreate sometimes, for example when the random data on the new partition has a filesystem signature at the beginning. With what I know now, this is probably unintended. Should I file an issue? Lvm likes to add confirmation prompts like this over time... :) Why does d-s-s run during boot, actually? Shouldn't people run it interactively after changing /e/s/d-s-s? Or does it only run on first boot? >> Would it be acceptable to add a "--force-wipe" option to d-s-s, and >> maybe others? I can do that at the same time as I write the code for >> the UI. > > So --force-wipe is a new functionality. What will it do? It would not do any safety checks while turning a block device into a physical volume, with the assumption that the user has already independently confirmed that all devices in DEVS are ok to be used for the docker storage pool, no matter what they currently contain. I now see that d-s-s refuses to touch a device that already has a partition table on it. The --force-wipe option would override this and write a new one. If you think that a --force-wipe option is not appropriate for d-s-s, Cockpit can wipe the devices itself. But I think the option is nicer. >> So I am thinking there could be something like >> >> # docker-storage-setup status >> /dev/vda: ok, shared with OS >> /dev/sda: ok >> /dev/sdb: Not yet set up! >> >> The Docker storage pool is not fully set up. Run >> "docker-storage-setup" to complete the set up. > > I think first what would be nice is to display current docker > configuration. Certainly. I will work first on what I need, of course, but I am hoping that others chime in and extend the status output with other useful things. > What does "shared with OS" mean? Does it mean, it is in same volume > group where rootfs is? Yes, pretty much, but I am already changing my mind on the details. This will all be properly documented once I have working code. Thinking out loud: I want to have three flags for each block device: "pool" if it holds any bits of the docker storage pool, "config" if it is listed in /e/s/d-s-s, and "other" if it holds any bits of other logical volumes. That would allow the UI to show the correct current state based on the "pool" flag. The human readable output might highlight devices that are "config" but not "pool", but I am not sure yet what the UI will do about them. Maybe nothing, maybe pre-select them in the "Additional storage" pane. I think a reliable "other" flag will be interesting for a potential "docker-storage-setup reset" operation. This would remove the current pool and create a new one, so that the user can meaningfully remove devices from DEVS again.