----- Original Message ----- From: "Shubhendu Tripathi" <shtri...@redhat.com> To: "Einav Cohen" <eco...@redhat.com>, "Alok Srivastava" <asriv...@redhat.com> Cc: de...@linode01.ovirt.org, "rhsc-dev" <rhsc-...@redhat.com> Sent: Thursday, January 1, 2015 11:30:41 PM Subject: Re: [ovirt-devel] Gluster Volume Snapshots - Feature review
On 01/01/2015 10:36 PM, Einav Cohen wrote: >> ----- Original Message ----- >> From: "Shubhendu Tripathi" <shtri...@redhat.com> >> Sent: Thursday, January 1, 2015 10:05:48 AM >> >> On 12/31/2014 11:42 PM, Einav Cohen wrote: >>> Thanks, Shubhendu. Additional comments: >>> >>>> ... >>>> Yes, attempt to create second snapshot schedule is actually an override >>>> option. Of course spot creation is allowed in addition to the scheduled. >>>> ... >>>> ... >>>> If the option Volumes -> Snapshots -> New selected, the dialog opens >>>> with pre-populated snapshot name prefix and Recurrence type selected as >>>> None by default. This effectively is one time snapshot creation. >>>> If this is first time and user wants to schedule the snapshot creation, >>>> he/she can change the recurrence type and provide details. Snapshot >>>> creation is scheduled in this case. >>>> Later, it user wants to edit the schedule, he/she needs to select option >>>> Volumes -> Snapshots -> Schedule (may be for this reason only I want to >>>> call it Edit Schedule). So effectively option Volumes -> Snapshots -> >>>> Schedule is meant for only re-scheduling the snapshot creation. If its >>>> not yet scheduled dialog opens with recurrence type selected as None. >>>> ... >>> From your latest responses, I conclude the following. >>> >>> via the "New" dialog, you can: >>> >>> (1) create a one-time snapshot >>> (2) create a new snapshot schedule >>> (3) override (and practically, edit) an existing snapshot schedule >>> >>> via the "Schedule" dialog, you can: >>> >>> (a) create a one-time snapshot (by selecting the 'None' recurrence) >>> (b) create a new snapshot schedule (by selecting something other than >>> 'None' in the recurrence field, given that no schedule exists yet) >>> (c) edit an existing snapshot schedule (which is what this dialog is >>> actually meant to do). >>> >>> I am not sure about (a), but it doesn't matter much for my point: "New" >>> and "Schedule" have the exact same functionality. To be more accurate: >>> "New" contains all of the needed functionality; "Schedule" is not really >>> needed. The only thing that "New" is potentially missing is showing the >>> values of the already-existing snapshot schedule, if one exists. >>> >>> I think that this may confuse to the user; I recommend to either >>> unite both of these actions/dialogs to a single action/dialog, or >>> separate completely some functionalists. >>> >>> So my recommendation is to do one of the following: >>> >>> (a) unite: >>> Have a single action ("Create / Schedule") which will display a >>> dialog very similar to the "New" dialog, with the option to see the >>> values of the already-existing snapshot schedule, if one exists. >>> In this case, I would actually recommend to go with something more >>> similar to option 2 in http://i.imgur.com/4j7hvRY.png, rather than >>> option 3 (so the separation between *creating new* *one-time* >>> snapshot and *editing an existing* *scheduled* snapshot is clearer). >>> see http://i.imgur.com/ZgCp9Tz.png for an updated suggestion. >>> >>> - or - >>> >>> (b) separate: >>> Have two completely separate actions: "Create Now" and "Schedule". >>> >>> - The "Create Now" dialog will look like the 'General' side-section >>> of the "New" dialog (i.e. without the "Schedule" side-section; >>> it will allow only one-time immediate snapshot creation. >>> >>> - The "Schedule" dialog will look like the "New" dialog (with both >>> 'General' and 'Schedule' side-sections) without the "None" recurrence, >>> and will allow only creating a new recurring snapshot schedule (if one >>> doesn't exist yet) or editing the existing schedule (in this case, the >>> dialog would be pre-populated with the values of the existing schedule). >>> >>> I am more in favor of (b) - it seems simpler and more user-friendly in >>> my view. >> Option (b) is something which we had started with, then at later stage >> it was discussed that scheduling as well should be in the flow of >> creation of snapshot so merged with New Snapshot option. After this as >> we need Edit option for snapshot schedule, so introduced Schedule option. >> >> But still, as you suggest I feel option (b) is no doubt a clearer and >> user friendly way. >> >> Alok, need a point of view from PMs on this. > Thanks, Shubhendu. > > @Alok (and all): > the main pain-point in the current design that I am trying to address is > the fact that in the 'New' dialog, you have the option to create a one- > time snapshot, and within the same dialog, with a very small (too small > IMO) change, you have the option to edit (override) an already-existing > schedule, without even realizing necessarily that you are editing > something (since you are in a 'New' dialog) and without seeing the values > of the object that you are editing. From a UX perspective, this may be > confusing and misleading. > > if it is imperative to combine the one-time creation functionality with > the scheduling functionality, you have option (a). > > here is another option (c) that will allow you to create a one-time > snapshot and *create* a new schedule in the same dialog. > it is also probably the closest option to the original design in the > wiki, so I encourage you to consider it: > > (c) Have two options, "New" and "Schedule", like today. > > - "New" will be *only* for creating new objects, not editing/overriding > existing ones. It will look very similar to "New" in the current design, > including the "None" recurrence that I have suggested before. > > * In case a schedule doesn't exist yet - "New" will have both the > 'General' and 'Schedule' sections, like today, allowing creating a one- > time snapshot as well as creating a new snapshot schedule. > > * In case a schedule already exists - "New" will have only the 'General' > side-section (the 'Schedule' side-section will not be displayed), allowing > only creation of new one-time snapshots. > > - "Schedule": > > * In case a schedule doesn't exist yet - two options: > > i. disable this button (i.e. force the user to create a new schedule > via "New"); in this case, I agree with Shubhendu on renaming the button to > "Edit Schedule". > > - or - > > ii. have the dialog look exactly like "New" today, without the "None" > recurrence option; so only new schedule can be created, not one-time > snapshots. One-time snapshots should be created only via "New". > > * In case a schedule already exists - the dialog will look like "New", > without the 'General' section (i.e. very similar to the mock-up of the > "Schedule" dialog in the ovirt wiki today), pre-populated with the current > values of the existing schedule. > > Your thoughts/comments are welcome. Thank you. So if we go ahead with above mentioned option (c) with "Edit Schedule" option it would be something as below. - Have two optiona "New" and "Edit Schedule" under Volumes -> Snapshots. - "New" will be *only* for creating new objects, not editing/overriding existing ones. * In case a schedule doesn't exist yet - "New" will have both the 'General' and 'Schedule' sections, like today, allowing creating a one- time snapshot as well as creating a new snapshot schedule. * In case a schedule already exists - "New" will have only the 'General' side-section (the 'Schedule' side-section will not be displayed), allowing only creation of new one-time snapshots. - "Edit Schedule": * In case a schedule doesn't exist yet - disable this button (i.e. force the user to create a new schedule via "New") * In case a schedule already exists - the dialog will look like "New", without the 'General' section (i.e. very similar to the mock-up of the "Schedule" dialog in the ovirt wiki today), pre-populated with the current values of the existing schedule. @Alok, need your confirmation. This option certainly looks clean to me personally but leave the final call to your descretion. Alok:@Shubhendu,Thanks for your time to explain these points in meeting on 08/01. This looks good. Regards, Shubhendu > >> >>> Your comments/thoughts are welcome. >>> >>> Thanks! >>> >>> ---- >>> Regards, >>> Einav >>> >>> ----- Original Message ----- >>>> From: "Shubhendu Tripathi" <shtri...@redhat.com> >>>> To: "Einav Cohen" <eco...@redhat.com> >>>> Cc: de...@linode01.ovirt.org, "rhsc-dev" <rhsc-...@redhat.com> >>>> Sent: Wednesday, December 31, 2014 12:56:44 AM >>>> Subject: Re: [ovirt-devel] Gluster Volume Snapshots - Feature review >>>> >>>> Hi Einav, >>>> >>>> Find the comments inline. >>>> >>>> Thanks and Regards, >>>> Shubhendu >>>> >>>> On 12/30/2014 11:13 PM, Einav Cohen wrote: >>>>> Thank you, Shubhendu! I have a few more comments: >>>>> >>>>>> Yes that's true for most of the cases. But having Options setting from >>>>>> sub-tab, not sure if that's correct. May be "New" is fine. >>>>> I think that if a user already got to the "Snapshots" sub-tab of a >>>>> specific Volume, it would seem strange that not all Snapshots-related >>>>> actions for that Volume are available from there - but I will leave it >>>>> to your discretion; I think that "New" is indeed the most important one >>>>> to have also in the sub-tab. >>>> We may have the New option available under sub tab as well. Setting >>>> configuration options would only be available in Volumes main tab. >>>> >>>>>> Once scheduled the only way to stop snapshot creation is to provide an >>>>>> end date. >>>>> let me try and understand what are the exact snapshot creation >>>>> capabilities. >>>>> consider the following use-cases (which may make absolutely no sense, >>>>> just giving these as examples in order to understand the capabilities): >>>>> >>>>> (1) let's say that I want to do two recurring snapshots schedules in >>>>> parallel for a single volume: one Monthly, and another one Weekly. >>>>> Can I do that? >>>> We can have only one schedule for a volume at a time. >>>> >>>>> I am assuming that I can't, i.e. there can only be one >>>>> recurring-snapshot- >>>>> creation schedule per volume (which you create via "New" and edit via >>>>> "Schedule") - is that correct? If so: are you blocking an attempt to >>>>> create a "New" recurring snapshot schedule when one already exists for >>>>> this Volume (e.g. disable the "New" button, fail a CanDoAction with a >>>>> message such as "Cannot create snapshot scheduling. A snapshot scheduling >>>>> already exists for this Volume", etc.) or allowing override of the >>>>> already- >>>>> existing schedule (with a proper warning)? >>>> Even if a volume snapshot creation is scheduled user can still opt for >>>> onetime spot snapshot creation and New would be available. >>>> >>>>> If my assumption is wrong, and I can have two (or more) recurring- >>>>> snapshot-creation schedules per volume: how do I *edit* these schedules? >>>>> what happens when I click on "Schedule"? which one of the two schedules >>>>> will I edit? The Weekly one? The Monthly one? >>>> As there is only one schedule for a volume at a time, so this is not >>>> valid scenario. Exiting single instance of schedule can be edited using >>>> the option Volumes -> Snapshots -> Schedule. May be if you suggest this >>>> option can be renamed to "Edit Schedule". >>>> >>>>> If I am comparing the terminology to the one of Calendar meeting schedule >>>>> (see http://i.imgur.com/xvf5w30.png): I don't have any "series" objects >>>>> that I can 'edit', I can see only "instances", and I can edit only one >>>>> "global" 'series' object via the "Schedule" button. >>>>> [again: if there can only be one recurring-snapshot-creation schedule per >>>>> volume, then the current design is OK, assuming the attempt to create a >>>>> second snapshot-schedule for a volume is properly blocked/overridden/...] >>>> Yes, attempt to create second snapshot schedule is actually an override >>>> option. Of course spot creation is allowed in addition to the scheduled. >>>> >>>>> (2) let's say that I want to do a weekly recurring snapshot scheduling >>>>> for >>>>> a certain volume. In addition to that weekly recurring snapshots, I want >>>>> to take a one-time snapshot of this volume right now. Can I do that? >>>> Yes, as discussed above stop one time creation in addition to the >>>> scheduled is allowed. >>>> >>>>> If so: then my suggestion [http://i.imgur.com/4j7hvRY.png, option 3] is >>>>> indeed valid; I am assuming that the user can create, per volume: one >>>>> recurring snapshot schedule + unlimited one-time snapshots. >>>> Yes. That's correct. >>>> >>>>> [If the user can create two (or more) recurring snapshot schedules - see >>>>> (1) above]. >>>>> need to make sure that the user is able to create a "New" snapshot with >>>>> the "Weekly" recurrence schedule, and then another "New" snapshot(s) with >>>>> the "None" recurrence schedule, which will create the one-time >>>>> snapshot(s) >>>>> immediately, and that the schedule of the Weekly snapshot can be edited >>>>> via the "Schedule" option. >>>> So it goes like this. Say a Weekly snapshot is scheduled for certain >>>> volume and later user wants to create single on-spot snapshot. For this >>>> he/she need to select the option Volumes -> Snapshots -> New and not >>>> Volumes -> Snapshots -> Schedule. By default the option None is selected >>>> as Recurrence type and it creates a one time snapshot. Still the >>>> schedule stands valid in the system and if the user wants to edit the >>>> schedule he/she need to select the option Volumes -> Snapshots -> >>>> Schedule. Hope this clarifies. >>>> >>>>> If not (i.e. the user can create only one recurring snapshot schedule, >>>>> and that's it - no additional recurring snapshot schedules, no one-time >>>>> immediate snapshots, etc.), then my suggestion is invalid, and a 'None' >>>>> recurrence is not needed. >>>> As said above, one time snapshot creation is still allowed in addition >>>> to the scheduled. (Using Volumes -> Snapshots -> New option) >>>> >>>>> In this case, just need to make sure that the 'Schedule' side-section of >>>>> the dialog will be pre-populated with the most common/reasonable >>>>> recurrence >>>>> schedule, in case the user will not touch it. >>>>> BTW, if this is indeed the case, then there is probably no need for both >>>>> 'New' and 'Schedule' buttons - only 'Schedule' is sufficient. >>>>> >>>>>> Accept. The snapshot create dialog itself can be used here. >>>>> Just need to make sure to change its title accordingly (to 'Schedule >>>>> Snapshot' or something similar; right now it says "New Snapshot" in >>>>> the wiki). >>>>> >>>>> I assume that this dialog can be used for: >>>>> >>>>> (a) creating a New snapshot schedule (which should look very similar >>>>> to the 'New Snapshot' dialog, maybe with some pre-populated values, >>>>> maybe without the 'None' option in the Recurrence drop-down). >>>> If the option Volumes -> Snapshots -> New selected, the dialog opens >>>> with pre-populated snapshot name prefix and Recurrence type selected as >>>> None by default. This effectively is one time snapshot creation. >>>> If this is first time and user wants to schedule the snapshot creation, >>>> he/she can change the recurrence type and provide details. Snapshot >>>> creation is scheduled in this case. >>>> Later, it user wants to edit the schedule, he/she needs to select option >>>> Volumes -> Snapshots -> Schedule (may be for this reason only I want to >>>> call it Edit Schedule). So effectively option Volumes -> Snapshots -> >>>> Schedule is meant for only re-scheduling the snapshot creation. If its >>>> not yet scheduled dialog opens with recurrence type selected as None. >>>> >>>>> - and/or - >>>>> >>>>> (b) editing the already-existing schedule (in this case, fields that >>>>> cannot be edited should be disabled). >>>> As above. >>>> >>>>> I hope I was clear - please let me know if you have any questions or >>>>> comments. >>>>> >>>>> Thanks again! >>>>> >>>>> ---- >>>>> Regards, >>>>> Einav >>>>> >>>>> ----- Original Message ----- >>>>>> From: "Shubhendu Tripathi" <shtri...@redhat.com> >>>>>> To: "Einav Cohen" <eco...@redhat.com> >>>>>> Cc: de...@linode01.ovirt.org, "rhsc-dev" <rhsc-...@redhat.com> >>>>>> Sent: Tuesday, December 30, 2014 7:09:51 AM >>>>>> Subject: Re: [ovirt-devel] Gluster Volume Snapshots - Feature review >>>>>> >>>>>> Thanks Einav for the detailed review and your comments. >>>>>> Find below the comment inline. >>>>>> >>>>>> Will update the wiki accordingly and circulate. >>>>>> >>>>>> Team, please provide your thoughts (if conflicting) on this. >>>>>> >>>>>> Thanks and Regards, >>>>>> Shubhendu >>>>>> >>>>>> On 12/30/2014 05:33 AM, Einav Cohen wrote: >>>>>>> Hi Shubhendu, >>>>>>> >>>>>>> First of all - very detailed wiki pages (I focused mainly on the >>>>>>> User Experience part) - nicely done. >>>>>>> >>>>>>> I have a couple of comments / suggestions regarding the GUI: >>>>>>> >>>>>>> Snapshot action-group: >>>>>>> >>>>>>> - from the wiki page: >>>>>>> """ >>>>>>> A new action-group "Snapshot" would be introduced under actions >>>>>>> for a volume. >>>>>>> """ >>>>>>> I assume that you will implement it similarly to the "Power Management" >>>>>>> action-group (on Hosts main tab) or the "Profiling" action-group (on >>>>>>> the Volumes tab), i.e. with a drop-down-like styling >>>>>>> [http://i.imgur.com/eWRg6o8.png]? >>>>>> Yes. That's correct. >>>>>> >>>>>>> - If the Snapshot-related actions are expected to be core/critical in >>>>>>> the Volumes-related workflows, it makes sense to put them in the main- >>>>>>> tab, but please consider adding them to the Snapshots sub-tab as well, >>>>>>> in order to be consistent with other similar oVirt workflows. >>>>>> Yes that's true for most of the cases. But having Options setting from >>>>>> sub-tab, not sure if that's correct. May be "New" is fine. >>>>>> >>>>>>> New Snapshot dialog -> Schedule section: >>>>>>> >>>>>>> - I suggest to implement the time-interval selection with a drop-down, >>>>>>> rather than a radio-button group; it is more consistent with e.g. >>>>>>> event-repeat scheduling in a calendar [http://i.imgur.com/y9Gn3wq.png], >>>>>>> it will save real-estate within the dialog and it will be more easily >>>>>>> readable for the user. >>>>>> That's a good suggestion. Will do this. >>>>>> >>>>>>> - to my understanding, the New Snapshot functionality doesn't have to >>>>>>> be recurrent; however, there isn't any way to "disable" the recurring >>>>>>> aspect. Here are some suggestions to how this should be added: >>>>>>> http://i.imgur.com/4j7hvRY.png >>>>>> Once scheduled the only way to stop snapshot creation is to provide an >>>>>> end date. >>>>>> >>>>>>> Option 3 is my personal favorite - it is the simplest, and is >>>>>>> consistent >>>>>>> with Calendear-scheduling UI. Option 1 is my least favorite, however it >>>>>>> is consistent with e.g. the "Enable Power Management" UI within the >>>>>>> "New >>>>>>> Host" dialog. >>>>>> Option-3 looks good to me as well. Should be doable I feel. >>>>>> >>>>>>> Snapshots -> Options: >>>>>>> >>>>>>> - I think that there are a couple of problematic issues with this >>>>>>> dialog: >>>>>>> >>>>>>> * the different functionality of this dialog when a Volume is >>>>>>> selected >>>>>>> vs. when no Volume is selected may be unclear to the user. >>>>>> Agree >>>>>> >>>>>>> >>>>>>> * the fact that we can update Cluster-related parameters (which >>>>>>> potentially affects *all* volumes in that Cluster) within a specific >>>>>>> Volume-context dialog is a bit risky - and we don't have anything >>>>>>> similar >>>>>>> to that anywhere in the application today IIRC. >>>>>>> >>>>>>> my recommendations: >>>>>>> >>>>>>> * have separate "Options - Cluster" and "Options - Volume" >>>>>>> actions; >>>>>>> "Options - Cluster" should always be enabled. >>>>>>> "Options - Volume" should be enabled only when a Volume is selected. >>>>>> Accept >>>>>> >>>>>>> * Seehttp://i.imgur.com/pfRpjrH.png for my suggestion for >>>>>>> "Cluster >>>>>>> Options" vs. "Volume Options". Note that from the "Volume Options" >>>>>>> dialog, you may allow editing the Cluster Options by clicking on the >>>>>>> link-button, which will either (a) open the "Cluster Options" dialog >>>>>>> on top or (b) allow editing the Cluster Values inline within the >>>>>>> already-open dialog - this should be accompanied with a clear note to >>>>>>> the user that he is editing Cluster-related parameters from the current >>>>>>> (Volume) context, which may affect *all* Volumes in that Cluster. >>>>>>> Also note that in my suggestion, the user can conveniently see both the >>>>>>> Volume values and the Cluster Values side-by-side at once, for >>>>>>> reference. >>>>>> Accept >>>>>> >>>>>>> Snapshots -> Schedule: >>>>>>> >>>>>>> - to my understanding, this should be very similar (or identical) to >>>>>>> the >>>>>>> New Snapshot functionality? if so, we may want to simply open the "New >>>>>>> Snapshot" dialog focused on the "Schedule" side-section (rather than >>>>>>> the >>>>>>> 'General' side-section, maybe already pre-populated with some values in >>>>>>> the 'General' side-section (which will still be editable by the user) >>>>>>> and >>>>>>> something already pre-selected in the (focused) "Schedule" section. >>>>>>> >>>>>>> please let me know whether you think these can/should be incorporated >>>>>>> into the design, and/or if you have any comments or questions. >>>>>> Accept. The snapshot create dialog itself can be used here. >>>>>> >>>>>>> thanks. >>>>>>> >>>>>>> ---- >>>>>>> Regards, >>>>>>> Einav >>>>>>> >>>>>>> ----- Original Message ----- >>>>>>>> From: "Shubhendu Tripathi"<shtri...@redhat.com> >>>>>>>> To:de...@linode01.ovirt.org,jhern...@redhat.com, "Michael >>>>>>>> Pasternak"<mpast...@redhat.com> >>>>>>>> Sent: Monday, November 10, 2014 1:52:40 AM >>>>>>>> Subject: [ovirt-devel] Gluster Volume Snapshots - Feature review >>>>>>>> >>>>>>>> Hi All, >>>>>>>> >>>>>>>> Please help us to review the design of Gluster Volume Snapshots in >>>>>>>> oVirt, >>>>>>>> >>>>>>>> Here are two design on wiki page >>>>>>>> >>>>>>>> General Feature Design >>>>>>>> http://www.ovirt.org/Features/GlusterVolumeSnapshots >>>>>>>> >>>>>>>> Detailed Design >>>>>>>> http://www.ovirt.org/Features/Design/GlusterVolumeSnapshots >>>>>>>> >>>>>>>> We target it in ovirt 3.6 release. >>>>>>>> >>>>>>>> Marked Juan/Michael specifically for REST review. >>>>>>>> >>>>>>>> Best Regards, >>>>>>>> Shubhendu Tripathi >>>>>>>> _______________________________________________ >>>>>>>> Devel mailing list >>>>>>>> Devel@ovirt.org >>>>>>>> http://lists.ovirt.org/mailman/listinfo/devel >>>>>>>> >> _______________________________________________ Devel mailing list Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel