----- Original Message -----
From: "Shubhendu Tripathi" <shtripat(a)redhat.com>
To: "Einav Cohen" <ecohen(a)redhat.com>, "Alok Srivastava"
<asrivast(a)redhat.com>
Cc: devel(a)linode01.ovirt.org, "rhsc-dev" <rhsc-dev(a)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" <shtripat(a)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" <shtripat(a)redhat.com>
>>> To: "Einav Cohen" <ecohen(a)redhat.com>
>>> Cc: devel(a)linode01.ovirt.org, "rhsc-dev"
<rhsc-dev(a)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" <shtripat(a)redhat.com>
>>>>> To: "Einav Cohen" <ecohen(a)redhat.com>
>>>>> Cc: devel(a)linode01.ovirt.org, "rhsc-dev"
<rhsc-dev(a)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"<shtripat(a)redhat.com>
>>>>>>> To:devel@linode01.ovirt.org,jhernand@redhat.com,
"Michael
>>>>>>> Pasternak"<mpastern(a)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(a)ovirt.org
>>>>>>>
http://lists.ovirt.org/mailman/listinfo/devel
>>>>>>>
>