<div dir="ltr">For 1. No, sounds good.<div>2. maybe both mean the same?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 9, 2017 at 5:14 PM, Raghavendra Talur <span dir="ltr"><<a href="mailto:rtalur@redhat.com" target="_blank">rtalur@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Fri, Mar 10, 2017 at 3:01 AM, Michael Adam <<a href="mailto:obnox@samba.org">obnox@samba.org</a>> wrote:<br>
> On 2017-03-09 at 16:17 -0500, Luis Pabon wrote:<br>
>> This looks great. Thanks for the state machine diagram.<br>
><br>
> Indeed!<br>
><br>
>> On Thu, Mar 9, 2017 at 11:06 AM, Raghavendra Talur <<a href="mailto:rtalur@redhat.com">rtalur@redhat.com</a>><br>
>> wrote:<br>
>><br>
>> > The PR now has the API changes requested.<br>
>> ><br>
>> > Before review, here is the current state diagram<br>
>> ><br>
>> ><br>
>> ><br>
>> > +-----------------+ disable/offline +------------------+<br>
>> > | |--------------------->| |<br>
>> > | | | Offline/Disabled |<br>
>> > | Online/Enabled |<---------------------| |<br>
>> > | | enable/online | |<br>
>> > +-----------------+ +------------------+<br>
>> > ^ ^ |<br>
>> > | | |remove<br>
>> > | offline| |<br>
>> > |add | |<br>
>> > | | |<br>
>> > | | |<br>
>> > | | v<br>
>> > +------------------+ +-------------------+<br>
>> > | | | |<br>
>> > | Deleted | | Failed/Removed |<br>
>> > | |<--------------------| |<br>
>> > | | delete | |<br>
>> > +------------------+ +-------------------+<br>
>> ><br>
>> ><br>
>> ><br>
>> > The current implementation *requires* the device to be in "Offline" state<br>
>> > before it can be removed. Some of the operations shown above aren't<br>
>> > implemented yet.<br>
><br>
> I was wondering if some of those should or can<br>
> be implemented at all:<br>
><br>
> * deleted ----[add]----> online<br>
> * failed/removed --[offline]--> offline/disabled<br>
><br>
> I assume that these are the ops not implemented (yet).<br>
</div></div>yes, that's right.<br>
<span class=""><br>
><br>
> I think remove should be a one-way operation.<br>
> And similar for deletion. Or is the 'deleted' state<br>
> something that is equivalent to a new disk not being<br>
> used at all in any volume?<br>
</span>yes, I considered it as a new disk which can be added.<br>
But, on testing I learnt: as the device is not completely cleaned up<br>
on a delete, heketi does not consider it as *new* and add fails. Needs<br>
a little work here.<br>
<br>
regarding *failed*-->*offline* state<br>
current status: not implemented<br>
I propose that we should implement it.<br>
<br>
I have more questions:<br>
1. Prasanth asked us to give cli aliases for enable/disable as<br>
online/offline. I would like to do it. Any objections?<br>
2. What should be the state name, *failed* or *removed*? In the code,<br>
it is failed everywhere. The operation is called *remove*, but the<br>
device info output has *failed*. We really need to choose one of them<br>
here and be consistent.<br>
<span class="HOEnZb"><font color="#888888"><br>
Raghavendra Talur<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
> Apart from these questions -- great!<br>
><br>
> Thanks - Michael<br>
</div></div></blockquote></div><br></div>