On 18:38 Jun 22, Marc Koderer wrote: > > Am 20.06.2015 um 01:59 schrieb John Griffith <john.griffi...@gmail.com>: > > * The BaseVD represents the functionality we require from all drivers. > > Yep > > > > * The additional ABC classes represent features that are not required yet. > > * These are represented by classes because some features require a > > bundle of methods for it to be fulfilled. Consistency group is an > > example. [2] > > > > Sure, I suppose that's fine for things like CG and Replication. Although > > I would think that if somebody implemented something optional like CG's > > that they should be able to figure out they need all of the "cg" methods, > > it's kinda like that warning on ladders to not stand on the very top rung. > > By the way, maybe we should discuss the state of "optional API methods" at > > the mid-cycle. > > > > * Any driver that wishes to mark their driver as supporting a > > non-required feature inherits this feature and fulfills the required > > methods. > > > > Yeah... ok, I guess. > > > > * After communication is done on said feature being required, there > > would be time for driver maintainers to begin supporting it. > > * Eventually that feature would disappear from it's own class and be > > put in the BaseVD. Anybody not supporting it would have a broken > > driver, a broken CI, and eventually removed from the release. > > > > Sure, I guess my question is what's the real value in this intermediate > > step. The bulk of these are things that I'd argue shouldn't be optional > > anyway (snapshots, transfers, manage, extend, retype and even migrate). > > Snapshots in particular I find surprising to be considered as "optional“. > > Reducing the number of classes/optional functions sounds good to me. > I think it’s quite valuable to discuss what are the mandatory functions > of a cinder driver. Before ABC nobody really cared because all drivers simply > raised an run-time exception :)
If Marc is fine with this, I see no harm in us trying out John's proposal of using decorators in the volume driver class. -- Mike Perez __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev