Subject: comments on notification-07 draft

From: Martin Bjorklund <[email-masked]>
Date: Wed, 16 May 2007 11:27:46 +0200 (CEST)

Hi,

Here are some comments on the latest draft.  Some comments are the
same as before
(http://ops.ietf.org/lists/netconf/netconf.2007/msg00035.html).

  o  2.1.1 

     The missing-element's error-info is broken:

         Error-info: <startTime Description: An expected element is
         missing.

     I think that you should define an error-app-tag for the second
     error, i.e. replay asked for when it's not available.  

  o  2.1.1.1 

     create-subscription needs a xmlns attribute, e.g.

       <netconf:rpc message-id="101"
                    xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
         <create-subscription xmlns="urn:ietf:params:netconf:capability:notification:1.0">
         </create-subscription>
       </netconf:rpc>

  o  3.2.5.1

     The example shows how to get the <eventStreams> subtree.  But in
     this draft, you have added a top-level node 'netconf' to the
     schema.  Thus, the <get> request must be:

       <rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
         <get>
           <filter type="subtree">
            <netconf xmlns="urn:ietf:params:xml:ns:netmod:notification">
              <eventStreams/>
            </netconf>
          </filter>
        </get>
      </rpc>

     and similar for the reply.

   o  3.2.5.1

     In the rpc-reply example, none of the streams returned have the
     element 'replayLogStartTime', which according to the schema must
     be there.  Personally, I'd rather see the schema modified so that
     replayLogStartTime has minOccurs="0", and the description
     changed to:

         The start time of the log used to support the replay
         function. If replay is not supported, this element is not
         present.

   o  3.4

     The 'replayComplete' element is defined not as a top-level
     element, but as a child to 'netconf'.

   o  3.4

     I've pointed out before that the 'stream' element makes no sense
     within a named profile.  If you think it does, the text for
     create-subscription must be modified to allow for this case.

   o  3.6
  
     Why does this section talk about "multiple filters"?  In the
     schema for 'create-subscription', the description for the
     'filter' parameter says: 

         This is mutually exclusive with the named profile parameter.

     So when/how can multiple filters be specified?

   o  5.1

     I've also said before that this example doesn't make much sense.
     It also contains some XML errors.

     First of all, the <event> wrapper isn't mentioned in the text.
     Second, you have the structure:

         event/events/eventEntry

     What does that mean?  If a client receives a single notification,
     would it be an 'event'?  Or an 'eventEntry'?  Or maybe 'events'?

     I think the following would be more clear:

         Sample event list

                 <event>
                   <eventClass>fault</eventClass>
                   <reportingEntity>
                     <card>Ethernet0</card>
                   </reportingEntity>
                   <severity>major</severity>
                 </event>

                 <event>
                   <eventClass>fault</eventClass>
                   <reportingEntity>
                     <card>Ethernet2</card>
                   </reportingEntity>
                   <severity>critical</severity>
                 </event>

                 <event>
                   <eventClass>fault</eventClass>
                   <reportingEntity>
                     <card>ATM1</card>
                   </reportingEntity>
                   <severity>minor</severity>
                 </event>

                 <event>
                   <eventClass>state</eventClass>
                   <reportingEntity>
                     <card>Ethernet0</card>
                   </reportingEntity>
                   <operState>enabled</operState>
                 </event>

      And subtree filter:

        <netconf:rpc netconf:message-id="101"
                     xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
          <create-subscription
              xmlns="urn:ietf:params:netconf:capability:notification:1.0">
            <filter netconf:type="subtree">
              <event xmlns="http://example.com/event/1.0">
                <eventClass>fault</eventClass>
                <severity>critical</severity>
              </event>
              <event xmlns="http://example.com/event/1.0">
                <eventClass>fault</eventClass>
                <severity>major</severity>
              </event>
              <event xmlns="http://example.com/event/1.0">
                <eventClass>fault</eventClass>
                <severity>minor</severity>
              </event>
            </filter>
          </create-subscription>
        </netconf:rpc>

      And XPath filter:

        <netconf:rpc netconf:message-id="101"
                     xmlns:netconf="urn:ietf:params:xml:ns:netconf:base:1.0">
          <create-subscription
                xmlns="urn:ietf:params:netconf:capability:notification:1.0">
            <filter netconf:type="xpath"
              select="/event[(eventClass='fault' and
                    (severity='minor' or severity='major'
                     or severity='critical'))]"/>
        </create-subscription>
      </netconf:rpc>

     Note that all examples in 5.1 and 5.2 have gotten the namespace
     for <create-subscription> wrong.

--
to unsubscribe send a message to [email-masked] with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/netconf/>