On Wed, Sep 23, 2015 at 9:33 AM, Mykola Golub <mgolub@xxxxxxxxxxxx> wrote: > On Tue, Sep 22, 2015 at 01:32:49PM -0400, Jason Dillaman wrote: > >> > > * rbd mirror pool enable <pool-name> >> > > This will, by default, ensure that all images created in this >> > > pool have exclusive lock, journaling, and mirroring feature bits >> > > enabled. >> > > >> > > * rbd mirror pool disable <pool-name> >> > > This will clear the default image features for new images in this >> > > pool. >> > >> > Will 'rbd mirror pool enable|disable' change behaviour only for newly >> > created images in the pool or will enable|disable mirroring for >> > existent images too? >> >> Since the goal is to set default pool behavior, it would only apply >> to newly created images. You can enable/disable on specific images >> using the 'rbd mirror image enable/disable' commands. > > In this case the commands look a little confusing to me, as from their > names I would rather think they enable/disable mirror for existent > images too. Also, I don't see a command to check what current > behaviour is. And, I suppose it would be useful if we could configure > other default features for a pool (exclusive-lock, object-map, ...) > Also, I am not sure we should specify <pool-name> this way, as it is > not consistent with other rbd commands. By default rbd operates on > 'rbd' pool, which can be changed by --pool option. So what do you > think if we have something similar to 'rbd feature' commands? > > rbd [--pool <pool>] default-feature enable <feature> > rbd [--pool <pool>] default-feature disable <feature> > rbd [--pool <pool>] default-feature show [<feature>] > > (If <feature> is not specified in the last command, all features are > shown). I haven't read the discussion in full, so feel free to ignore, but I'd much rather have rbd create create images with the same set of features enabled no matter which pool it's pointed to. I'm not clear on what exactly a pool policy is. If it's just a set of feature bits to enable at create time, I don't think it's worth introducing at all. If it's a set feature bits + a set of mirroring related options, I think it should just be a set of those options. Then, rbd create --enable-mirroring could be a way to create an image with mirroring enabled. My point is a plain old "rbd create foo" shouldn't depend an any new pool-level metadata. It's not that hard to remember which features you want for which pools and rbd create shortcuts like --enable-object-map and --enable-mirroring would hide feature bit dependencies and save typing. --enable-mirroring would also serve as a ticket to go look at new metadata and pull out any mirroring related defaults. Thanks, Ilya -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html