On Tue, Nov 18, 2014 at 11:57:43AM +0100, Michele Tartara wrote: > On Mon, Nov 17, 2014 at 11:29 AM, 'Aaron Karper' via ganeti-devel > <[email protected]> wrote: > > For many users the change from uniform disk templates would make their > > lifes more difficult. Therefore we want to be externally compatible as > > far as possible. > > > > Signed-off-by: Aaron Karper <[email protected]> > > --- > > doc/design-disks.rst | 26 ++++++++++++++++++++++++++ > > 1 file changed, 26 insertions(+) > > > > diff --git a/doc/design-disks.rst b/doc/design-disks.rst > > index 18fb75c..b5d0fab 100644 > > --- a/doc/design-disks.rst > > +++ b/doc/design-disks.rst > > @@ -169,6 +169,32 @@ with the instance's disk objects. So in the backend we > > will only have to > > replace the ``disks`` slot with ``disks_info``. > > > > > > +Supporting the old interface > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +The current interface is designed with a uniform disk type in mind and > > +this interface should still be supported to not break tools and > > +workflows downstream. > > + > > +The behaviour is fully compatible for instances with constantly > > +attached, uniform disks. > > + > > +Whenever an operation operates on an instance, the operation will only > > +consider the disks attached. If the operation is specific to a disk > > +type, it will only consider disks with that type and ignore the rest > > +(but throw an error as before if no disk of that type is attached). > > I'm not entirely sure about this. If the operation is specific to a > disk type, should it operate only on disks of that type, or should it > operate on the instance only if all the disks attached to that > instance are of the given type, and error out otherwise? > Which approch would be less surprising to the user? >
You're probably right, the user would be more confused if the instance is for example "half-backed-up" or something similar. commit c1f3ebd5cb5ecde5e737c5fad3231b0c0b16cc5e Author: Aaron Karper <[email protected]> Date: Tue Nov 18 16:44:01 2014 +0100 Harsher errors diff --git a/doc/design-disks.rst b/doc/design-disks.rst index b5d0fab..e55fa1f 100644 --- a/doc/design-disks.rst +++ b/doc/design-disks.rst @@ -181,8 +181,8 @@ attached, uniform disks. Whenever an operation operates on an instance, the operation will only consider the disks attached. If the operation is specific to a disk -type, it will only consider disks with that type and ignore the rest -(but throw an error as before if no disk of that type is attached). +type, it will throw an error if any disks of a type not supported are +attached. When setting the disk template of an instance, we convert all currently attached disks to that template. This means that all disk types > > + > > +When setting the disk template of an instance, we convert all currently > > +attached disks to that template. This means that all disk types > > +currently attached must be convertible to the new template. > > + > > +Since the disk template as a configuration value is going away, it needs > > +to be replaced for queries. If the instance has no disks, the > > +disk_template will be 'diskless', if it has disks of a single type, its > > +disk_template will be that type, and if it has disks of multiple types, > > +the new disk template 'mixed' will be returned. > > + > > + > > Eliminating the disk template from the instance > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > -- > > 2.1.0.rc2.206.gedb03e5 > > > > Thanks, > Michele > > -- > Google Germany GmbH > Dienerstr. 12 > 80331 München > > Registergericht und -nummer: Hamburg, HRB 86891 > Sitz der Gesellschaft: Hamburg > Geschäftsführer: Graham Law, Christine Elizabeth Flores -- Google Germany GmbH Dienerstr. 12 80331 München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores
