Re: [storm] SPC-2 reserve/release: Proposed text - version 4

"Black, David" <david.black@emc.com> Wed, 26 September 2012 15:47 UTC

Return-Path: <david.black@emc.com>
X-Original-To: storm@ietfa.amsl.com
Delivered-To: storm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3BA8D21F84FA for <storm@ietfa.amsl.com>; Wed, 26 Sep 2012 08:47:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JUwDQkmcI2NB for <storm@ietfa.amsl.com>; Wed, 26 Sep 2012 08:47:26 -0700 (PDT)
Received: from mexforward.lss.emc.com (hop-nat-141.emc.com [168.159.213.141]) by ietfa.amsl.com (Postfix) with ESMTP id 4A15721F84E4 for <storm@ietf.org>; Wed, 26 Sep 2012 08:47:25 -0700 (PDT)
Received: from hop04-l1d11-si01.isus.emc.com (HOP04-L1D11-SI01.isus.emc.com [10.254.111.54]) by mexforward.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id q8QFlMbR003350 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 26 Sep 2012 11:47:25 -0400
Received: from mailhub.lss.emc.com (mailhubhoprd04.lss.emc.com [10.254.222.226]) by hop04-l1d11-si01.isus.emc.com (RSA Interceptor); Wed, 26 Sep 2012 11:46:51 -0400
Received: from mxhub29.corp.emc.com (mxhub29.corp.emc.com [128.222.70.169]) by mailhub.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id q8QFjAPx022087; Wed, 26 Sep 2012 11:46:51 -0400
Received: from mx15a.corp.emc.com ([169.254.1.83]) by mxhub29.corp.emc.com ([128.222.70.169]) with mapi; Wed, 26 Sep 2012 11:46:40 -0400
From: "Black, David" <david.black@emc.com>
To: "Knight, Frederick" <Frederick.Knight@netapp.com>, "storm@ietf.org" <storm@ietf.org>
Date: Wed, 26 Sep 2012 11:46:38 -0400
Thread-Topic: SPC-2 reserve/release: Proposed text - version 4
Thread-Index: Ac2bNKguGPJW+zTbTTC2uDGdWEV2OAAGl/vwAAGNYXAAA3tHQAAIrqHwABYKaSAAA1Dz0AADSX6QAAFXeRA=
Message-ID: <8D3D17ACE214DC429325B2B98F3AE7120DE796DB@MX15A.corp.emc.com>
References: <8D3D17ACE214DC429325B2B98F3AE7120DE79578@MX15A.corp.emc.com> <E160851FCED17643AE5F53B5D4D0783A451DBBB6@BL2PRD0610MB361.namprd06.prod.outlook.com> <FFEE311F0EC80C4EA64EC8757CAD0CD208EA63C2@SACEXCMBX04-PRD.hq.netapp.com> <8D3D17ACE214DC429325B2B98F3AE7120DE7969E@MX15A.corp.emc.com> <FFEE311F0EC80C4EA64EC8757CAD0CD208EA6857@SACEXCMBX04-PRD.hq.netapp.com>
In-Reply-To: <FFEE311F0EC80C4EA64EC8757CAD0CD208EA6857@SACEXCMBX04-PRD.hq.netapp.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-EMM-MHVC: 1
Subject: Re: [storm] SPC-2 reserve/release: Proposed text - version 4
X-BeenThere: storm@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Storage Maintenance WG <storm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/storm>, <mailto:storm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/storm>
List-Post: <mailto:storm@ietf.org>
List-Help: <mailto:storm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/storm>, <mailto:storm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 26 Sep 2012 15:47:28 -0000

That text looks good to me, but I have one more minor change ...
... I'd prefer to put the second paragraph at the end of 4.4.3.1,
as it applies to all nexus state not just reservations:

      The specific Unit Attention condition that results from session
      re-establishment indicates whether or not nexus state was preserved,
      see Section 6.3.4 of [SAM4].

Thanks,
--David


> -----Original Message-----
> From: Knight, Frederick [mailto:Frederick.Knight@netapp.com]
> Sent: Wednesday, September 26, 2012 11:40 AM
> To: Black, David; storm@ietf.org
> Subject: RE: SPC-2 reserve/release: Proposed text - version 4
>
> Yes, I think we've got it.  Since I can't define "an extended period of time",
> here's my take:
>
>   - When connection failure causes the iSCSI session to fail, and
>       the session is not reinstated or continued, target retention
>       of that session's reserve/release reservation state
>       may require an initiator to issue a
>       reset (e.g., LOGICAL UNIT RESET, see section 11.5) in order
>       to remove that reservation state.
>
>      The specific Unit Attention condition that results from session
>      re-establishment indicates whether or not nexus state was preserved,
>      see Section 6.3.4 of [SAM4].
>
> Along with:
> > OLD
> >   That is, it should perform session recovery as
> >   described in Chapter 6.
> > NEW
> >   That is, it should recover the session via connection
> >   reinstatement as described in Section 6.3.4.
> > END
>
>       Fred
>
>
> -----Original Message-----
> From: Black, David [mailto:david.black@emc.com]
> Sent: Wednesday, September 26, 2012 10:51 AM
> To: Knight, Frederick; storm@ietf.org
> Subject: RE: SPC-2 reserve/release: Proposed text - version 4
>
> Fred,
>
> > I don't see anywhere that these timers are associated with any SCSI
> > state, or with the RESERVE state.  Attempting to tie RESERVE state to
> > these timers is a NEW requirement.  Our goal here was specifically to
> > NOT create any new requirements.
>
> I think you have a point that this is too specific.  What if we just delete
> mention of those timers?  The bullet in question could then simply say:
>
>   - When connection failure causes the iSCSI session to fail, and
>       the session is not reinstated or continued, target retention
>       of that session's reserve/release reservation state for an
>       extended period of time may require the initiator to issue a
>       reset (e.g., LOGICAL UNIT RESET, see section 11.5) in order
>       to remove that reservation state.
>
> That captures the primary concern that I wanted to alert implementers to.
>
> > We do not want to impact existing iSCSI implementations.  Could we
> > associate the action that occurred with the observable behavior the
> > host sees?  I don't like putting SCSI layer stuff in a transport layer
> > spec, but it should just be informative.
>
> The text that follows explicitly lists the SCSI ASC/Q values (e.g., 29/07, in
> hex).  That's something I'd prefer to avoid, e.g., as T10 could easily add
> additional ASC/Q values that are relevant to this situation.
>
> As an alternative, I suggest that we state the principle and point to SAM-4
> for the details, e.g., add the following text to the end of 4.4.3.1:
>
>    The specific Unit Attention condition that results from session
>    re-establishment indicates whether or not nexus state was preserved,
>    see Section 6.3.4 of [SAM4].
>
> Would that be ok?
>
> Thanks,
> --David
>
> > -----Original Message-----
> > From: Knight, Frederick [mailto:Frederick.Knight@netapp.com]
> > Sent: Wednesday, September 26, 2012 8:39 AM
> > To: Mallikarjun Chadalapaka; Black, David; storm@ietf.org
> > Subject: RE: SPC-2 reserve/release: Proposed text - version 4
> >
> > I'm concerned about this new link between Time2Wait and RESERVE state.
> > Such a link has not previously existed.  I don't think we should
> > create such a linkage.
> >
> > Section 4.6.3.3 includes:
> > .... In addition, the Logout Response indicates how long the target
> > will continue to hold resources for recovery (e.g., command execution
> > that continues on a new connection)....
> >
> > This and many other places where Time2Wait and Time2Retain are
> > discussed, the points all have to do with command continuation; no
> > mention of I_T state, or RESERVE state, or mode pages, or anything else.
> >
> > Section 7.5 says:
> > .... Time2Wait is the initial "respite time" before attempting an
> > explicit/implicit Logout for the CID in question or task reassignment
> > for the affected tasks (if any)....
> >
> > Or, task reassignment of affected tasks; with no mention of I_T state.
> >
> > Section 7.6 ties the termination of tasks to the Time2Wait /
> > Time2Retain timers.  Section 11.14.5 makes the same statements about
> > the task termination linkage to those timers.
> >
> > Section 11.15.3 says those timers are "...the minimum amount of time,
> > in seconds, to wait before attempting task reassignment.".
> >
> > Section 8.3 defines Session State.  And there is one sentence that I
> > can find in all 345 pages that associates that session state with
> > these timers.  It is in section 11.15.4 where it says: If it is the
> > last connection of a session, the whole session state is discarded after
> Time2Retain.
> >
> > I don't see anywhere that these timers are associated with any SCSI
> > state, or with the RESERVE state.  Attempting to tie RESERVE state to
> > these timers is a NEW requirement.  Our goal here was specifically to
> > NOT create any new requirements.
> >
> > We do not want to impact existing iSCSI implementations.  Could we
> > associate the action that occurred with the observable behavior the
> > host sees?  I don't like putting SCSI layer stuff in a transport layer
> > spec, but it should just be informative.  Something like:
> >
> > If the initiator receives a UA: 29/00 or 29/01 or 29/04 then the
> > RESERVE state has been lost.  (Maybe 29/04 belongs in a RESERVE state
> unknown list).
> >
> > If the initiator receives a UA: 29/07 then the RESERVE state has been
> > preserved.
> >
> > I didn't list 29/02 or 29/03 or 29/05 or 29/06 since I view those as
> > Parallel SCSI specific.  We can debate which items belong in which
> > list, but would this kind of observable behavior approach be better
> > than a new requirement?  FYI - I didn't invent this; I copied it from
> > SAM-5r11 (sub-clause 6.3.4) where it states it as a requirement on the
> > target -  that when an I_T NEXUS LOSS event occurs, if the state is
> > retained, 29/07 is returned, and if the state is not retained, then 29/01 is
> returned.
> >
> > We also don't want to create any new requirement now in this
> > consolidated draft that conflicts with this SAM-5 text, since we will
> > eventually have to comply with SAM-5 and its follow-ons.
> >
> > Another approach would be to ignore this for the consolidated draft,
> > and force it into the iSCSI-SAM draft - which references SAM-4 and
> > SAM-5 where I_T Nexus loss is already defined and the above text already
> exists.
> >
> >       Fred
> >
> > -----Original Message-----
> > From: storm-bounces@ietf.org [mailto:storm-bounces@ietf.org] On Behalf
> > Of Mallikarjun Chadalapaka
> > Sent: Tuesday, September 25, 2012 9:39 PM
> > To: Black, David; storm@ietf.org
> > Subject: Re: [storm] SPC-2 reserve/release: Proposed text - version 4
> >
> > Looks good to me overall. Two minor comments:
> >
> > 1) For 4.4.3.1, I have replaced the current sentence with the
> > following one (instead of the proposed):
> >
> > That is, it should reinstate the session via iSCSI session
> > reinstatement (Section 6.3.5) or continue via session continuation (Section
> 6.3.6).
> >
> > 2) For proposed new text, I have tweaked the version 4 sentence below,
> > keeping the existing implementations in view:
> >
> > VERSION 4:
> > The Time2Wait and Time2Retain
> >       timeout values (see Section 7.55) apply to retention of
> reserve/release
> >       reservation state after iSCSI session failure because that state
> >       is part of the I_T Nexus state.
> >
> > VERSION 5:
> > Instead, implementations are strongly encouraged to apply the
> >       Time2Wait and Time2Retain timeout values (see Section 7.5)
> >       to manage retention of reserve/release reservation state after
> >      iSCSI session failure because that state is part of the I_T nexus
> state.
> >
> >
> > Thanks.
> >
> > Mallikarjun
> >
> >
> > -----Original Message-----
> > From: storm-bounces@ietf.org [mailto:storm-bounces@ietf.org] On Behalf
> > Of Black, David
> > Sent: Tuesday, September 25, 2012 2:39 PM
> > To: storm@ietf.org
> > Subject: [storm] FW: SPC-2 reserve/release: Proposed text - version 4
> >
> > version 4 changes:
> >
> > More changes for Mallikarjun's comments, mostly a rewrite of the first
> > additional caveat bullet.  I've chosen not to reference Annex B of
> > SPC-4 as that seems a bit far afield for a SCSI transport standard like
> iSCSI.
> >
> > version 3 changes:
> >
> > Responding to Mallikarjun's comments (plus some more edits) -
> >
> > > 1) IMHO, opening sentence of "I_T nexus state includes reservation state"
> > > is a little too broad,
> >
> > I removed that sentence, removed I_T Nexus from new section title and
> > tweaked the persistent reservation text to talk about state in general
> > as opposed to I_T Nexus state in particular.
> >
> > > 2) Hard reset is not an LU reset - it is either an iSCSI Target Warm
> > > Reset, or (more likely) an iSCSI Target Cold Reset. In either case,
> > > any of the three resets should clear the reserve/release state.
> >
> > I removed the word "hard" - as you noted, an LU reset is sufficient to
> > remove a reserve/release reservation.
> >
> > > 3) Should use Time2Retain+Time2Wait, not Default Time2Wait
> >
> > Brilliant minds think alike - I got to that one in version 2 ;-).
> >
> > > 4) Session recovery does not necessarily preserve the I_T nexus
> > > state (recovery may not occur within Time2Wait+Time2Retain, and may
> > > not use the same ISID when it occurs), but session reinstatement and
> > > session continuation certainly should.
> >
> > I changed "session recovery" to "session reinstatement".
> >
> > > 5) Should articulate the underlying linkage between Time2Retain (an
> > > iSCSI concept), and the reserve/release state (a SCSI state).
> >
> > I believe I also got to that one in version 2.
> >
> > version 2 changes:
> >
> > I moved a paragraph break in response to Ralph's comments, and rewrote
> > the first additional consideration to reference the connection timeout
> > values in general.  I also found some minor problems that need
> > correction in Section
> > 4.6.3.3 (see end of this message).
> >
> > --- version 4 follows ---
> >
> > <WG chair hat off>
> >
> > Here's an initial attempt to propose text to deal with the reserve/
> > release topic in the consolidated iSCSI draft.  Please comment,
> > correct, suggest edits, etc.
> >
> > The new text would be a new section 4.4.3.2 that would follow 4.4.3.1:
> >
> > 4.4.3.1. I_T Nexus State
> >
> >   Certain nexus relationships contain an explicit state (e.g.,
> >   initiator-specific mode pages) that may need to be preserved by
> >   the device server [SAM2] in a logical unit through changes or
> >   failures in the iSCSI layer (e.g., session failures). In order for
> >   that state to be restored, the iSCSI initiator should reestablish
> >   its session (re-login) to the same Target Portal Group using the
> >   previous ISID. That is, it should perform session recovery as
> >   described in Chapter 6. This is because the SCSI initiator port
> >   identifier and the SCSI target port identifier (or relative target
> >   port) form the datum that the SCSI logical unit device server uses
> >   to identify the I_T nexus.
> >
> > -------------------------------
> >
> > First, for clarity, the following change should be made in the above
> > 4.4.3.1 text to better identify the recovery mechanism:
> >
> > OLD
> >   That is, it should perform session recovery as
> >   described in Chapter 6.
> > NEW
> >   That is, it should recover the session via connection
> >   reinstatement as described in Section 6.3.4.
> > END
> >
> > I believe that a lower-case "should" remains appropriate for this text.
> >
> > -----------------------------------
> >
> > NEW TEXT (second draft):
> >
> > 4.4.3.2. Reservations
> >
> >   There are two reservation management methods defined in the SCSI
> >   standards, reserve/release reservations, based on the RESERVE and
> >   RELEASE commands [SPC2], and persistent reservations, based on the
> >   PERSISTENT RESERVE IN and PERSISTENT RESERVE OUT commands [SPC3].
> >   Reserve/release reservations are obsolete [SPC3] and SHOULD NOT be
> >   used; persistent reservations SHOULD be used instead.
> >
> >   State for persistent reservations is required to persist
> >   through changes and failures at the iSCSI layer that result in
> >   I_T Nexus failures, see [SPC3] for details and specific requirements.
> >
> >   In contrast, [SPC2] does not specify detailed persistence
> >   requirements for reserve/release reservation state after an I_T
> >   Nexus failure.  Nonetheless, when reserve/release reservations are
> >   supported by an iSCSI target, the preferred implementation approach
> >   is to preserve reserve/release reservation state as part of the
> >   I_T Nexus state for iSCSI session reinstatement (see Section 6.3.5)
> >   or session continuation (see Section 6.3.6).
> >
> >   Two additional caveats apply to reserve/release reservations:
> >
> >   - When connection failure causes the iSCSI session to fail, and
> >       the session is not reinstated or continued, target retention
> >       of that session's reserve/release reservation state for an
> >       extended period of time may require the initiator to issue a
> >       reset (e.g., LOGICAL UNIT RESET, see section 11.5) in order
> >       to remove that reservation state.  The Time2Wait and Time2Retain
> >       timeout values (see Section 7.55) apply to retention of
> reserve/release
> >       reservation state after iSCSI session failure because that state
> >       is part of the I_T Nexus state.  The need for resets in this
> >       scenario may be reduced by suitable selection of values for
> >       these two timeouts.
> >
> >   - Reserve/release reservations may not behave as expected when
> >       persistent reservations are also used on the same logical unit;
> >       see the discussion of "Exceptions to SPC-2 RESERVE and RELEASE
> >       behavior" in [SPC4].
> >
> > -----------------------
> >
> > Reference impacts: both [SPC2] and [SPC3] need to be normative
> > references, but [SPC4] can be an informative reference.
> >
> > -------------------------
> >
> > I deliberately used "the preferred iSCSI implementation approach"
> > wording for reserve/release reservation state preservation
> > requirements, as
> > SPC-2 is vague on this topic and I'm rather uncomfortable with placing
> > a requirement as strong as a "SHOULD" on an obsolete mechanism that "SHOULD
> NOT"
> > be used.
> >
> > ---------------
> >
> > New problem in Section 4.6.3.3 - in this text:
> >
> >    The Logout response indicates that the connection or session
> >    cleanup is completed and no other responses will arrive on the
> >    connection (if received on the logging out connection). In
> >    addition, the Logout Response indicates how long the target will
> >    continue to hold resources for recovery (e.g., command execution
> >    that continues on a new connection) in the text key Time2Retain
> >    and how long the initiator must wait before proceeding with
> >    recovery in the text key Time2Wait.
> >
> > Time2Wait and Time2Retain are not text keys - they're binary fields in
> > the Logout Response PDU.  Two changes are in order:
> >       - "text key Time2Retain" -> "Time2Retain field"
> >       - "text key Time2Wait" -> "Time2Wait field"
> >
> > Thanks,
> > --David
> > ----------------------------------------------------
> > David L. Black, Distinguished Engineer EMC Corporation, 176 South St.,
> > Hopkinton, MA  01748
> > +1 (508) 293-7953              FAX: +1 (508) 293-7786
> > david.black@emc.com        Mobile: +1 (978) 394-7754
> > ----------------------------------------------------
> >
> > _______________________________________________
> > storm mailing list
> > storm@ietf.org
> > https://www.ietf.org/mailman/listinfo/storm
> >
> > _______________________________________________
> > storm mailing list
> > storm@ietf.org
> > https://www.ietf.org/mailman/listinfo/storm
> >
> > _______________________________________________
> > storm mailing list
> > storm@ietf.org
> > https://www.ietf.org/mailman/listinfo/storm
> >
> > _______________________________________________
> > storm mailing list
> > storm@ietf.org
> > https://www.ietf.org/mailman/listinfo/storm
> >
> >
> > _______________________________________________
> > storm mailing list
> > storm@ietf.org
> > https://www.ietf.org/mailman/listinfo/storm
>