[Nsi-wg] Version 0 question

Henrik Thostrup Jensen htj at nordu.net
Fri May 24 04:29:45 EDT 2013


On Thu, 23 May 2013, John MacAuley wrote:

> I was closing off the WSDL documentation last night when I stumbled upon 
> something I think we need to clarify.  The agreement so far as I 
> understand it is that when the initial reservation sequence is in 
> progress any queries to of that schedule will return version 0 with no 
> associated criteria.

I thought we agreed, that query would only show the latest committed 
version, and that this would also remove a lot of "specialness" of version 
0.

Furthermore I believe agreed that a query for a non-committed initial 
version, would only show the shell, but I can see the problem with this.


> Here is the XSD segment in question (I have expanded the element group 
> in line for readability):
> 
>     <xsd:complexType name="QuerySummaryResultType">
>         <xsd:sequence>
>             <xsd:element name="connectionId"        type="tns:ConnectionIdType" />
>             <xsd:element name="globalReservationId" type="tns:GlobalReservationIdType" minOccurs="0" />
>             <xsd:element name="description"         type="xsd:string" minOccurs="0" />
>             <xsd:element name="criteria"            type="tns:ReservationConfirmCriteriaType"
> minOccurs="0" maxOccurs="unbounded" />
>             <xsd:element name="requesterNSA"       type="ftypes:NsaIdType" />
>             <xsd:element name="connectionStates"   type="tns:ConnectionStatesType" />
>             <xsd:element name="children"           type="tns:ChildSummaryListType" minOccurs="0" />
>         </xsd:sequence>
>     </xsd:complexType>
> 
> So in the case of a query of a version 0 reservation I have a bit of an issue based on the current
> structural layout:



> 1. The "criteria" element was made optional to allow for version 0 and no committed criteria.  The
> version attribute is in the criteria element (see below), so it will not be available for version 0 in
> the current form.  Are we okay with that?

I don't see the problem with that. In fact, I think it plays rather well, 
with the "don't show non-committed resources". IMO the problem is more 
with what to show in connectionStates and children (though the latter can 
be left out).

> If we agree then when querying a version 0 reservation there will be no 
> version number.

I think this is good. I don't care much for the special version number 0.

> 2. The "connectionStates" element is not optional, however, there is an "unknown" state in each SM to
> allow for this initial undefined state.  Are we okay with this as well?

Hmm. I think the current mantra is that the PSM and LSM (and maybe 
dataPlaneStatus as well), does not exist until a connection has actually 
been committed. However that could also be a special state (and I'd 
strongly prefer that over unknown, as it makes it clear what is going on).

I am also unsure of what to put in dataPlaneStatus version and 
versionConsistent before activation and after teardown, as those values 
don't really make any sense when the data plane is down.

> 3. The "children" element that models the child NSA connections associated with this reservation would
> not be present for version 0, however, I only model the current version of the child connection
> information.  Did we agree that this should be versioned as well and tracked for each reservation
> version made available?

In theory the children could be different for each version. If we want to 
allow for re-routing/changes after the initial version it has to be moved 
into ReservationConfirmCriteriaType (which would probably have to 
deplicated or grouped out somehow, but I'll leave that to you). IMHO we 
should do this, but I am not sure if we actually decided on anything.

> Finally, we will need to clearly document this somewhere in the core of the document.  In the initial
> version 0 case we would have something like this (minimal):
>
> <reservation>
> <connectionId>connid-000001</connectionId>
> <requesterNSA>urn:ogf:network:netherlight.net:2012:nsa</requesterNSA>
> <connectionStates>
> <reservationState>ReserveHeld</reservationState>
> < provisionState>Unknown</provisionState >
> <lifecycleState>Unknown</lifecycleState>
> <dataPlaneStatus>
> <active>false</active>
> <version>0</version>
> <versionConsistent>true</versionConsistent >
> </dataPlaneStatus >
> </connectionStates>
> </reservation>

I think some other values (which actually state what is going on) in 
provisionState and lifecycleState would be good. I cannot help thinking 
that the PSM and LSM actually need an initial state, that transits into 
their current initial state after the first commit.

I dislike the notion of having a version and versionConsistent info on a 
data plane that isn't active. It does not make sense IMO.


     Best regards, Henrik

  Henrik Thostrup Jensen <htj at nordu.net>
  Software Developer, NORDUnet


More information about the nsi-wg mailing list