Subject: Re: [Netconf] 4741bis - multiple namespaces

From: Martin Bjorklund <[email-masked]>
Date: Mon, 09 Nov 2009 13:52:45 +0100 (CET)

Hi,

http://trac.tools.ietf.org/wg/netconf/trac/wiki/Issues_4741bis#issue-006

This was discussed at the last IETF session (in Stockholm).  The
consensus in the room was to remove the paragraph:

Martin Bjorklund <[email-masked]> wrote:
> Hi,
> 
> Section 7.1 says:
> 
>      If the configuration is available in multiple formats, such as
>      XML and text, an XML namespace can be used to specify which
>      format is desired.  In the following example, the client uses a
>      specific element (<config-text>) in a specific namespace to
>      indicate to the server the desire to receive the configuration in
>      an alternative format.  The server may support any number of
>      distinct formats or views into the configuration data, with the
>      client using the <filter> parameter to select between them.
> 
> It looks like namespaces are used for two different purposes;
> different data models and different formats.  This leads to some
> questions:
> 
>   Can the same be achieved with XPath? 
> 
>   If no filter is specified, what should the server return - *all*
>   namespaces (mulitple data models, multiple formats), or all
>   namespaces for *some* format?  How would you get all data for the
>   text format?
> 
> IMO this feature looks broken.
>   
> 
> Does anyone implement this?  Can we remove this paragraph?

Unless anyone objects, I will now remove it.

/martin

---

From: Phil Shafer <[email-masked]>
Date: Mon, 9 Nov 2009 10:31:57 -0500

>Unless anyone objects, I will now remove it.

I object.  The intent is to return all nodes associated with a given
namespace.  For example, if a data model defines five "top-level"
containers, I want to get all five containers with out getting other
data.  Similarly, if the data model is just text, there's no element
to filter on, so we need a mechanism for retrieving that data.

The XPath equivalent would be "prefix:*" or "*" with prefix's
namespace as the current namespace.

Thanks,
 Phil

---

From: Martin Bjorklund <[email-masked]>
Date: Mon, 09 Nov 2009 17:15:37 +0100 (CET)

Phil Shafer <[email-masked]> wrote:
> data.

Hmm... what does this have to do with the paragraph about multiple
formats?  What you ask for is covered by the text on subtree
filtering.

> Similarly, if the data model is just text, there's no element

Well, the paragraph indicates that even in the text case, there has to
be an XML element (<config-text> in the example).

My concern is that the paragraph seems to indicate that NETCONF has
the ability to select which format to use - XML or text - for a given
data model.  But what the example really does is just normal subtree
filter on two different elements in two different namespaces.

The paragraph also talks about different views of the data.  This is
an interesting topic.  For example, I think we want to support the
case that a device implements a native data model (acme-foo.yang), and
a standard model (ietf-foo.yang).  The standard model might be just a
transform into - or different view of - the native data model.  [I
realize that this has been discussed before on the ML...].  Now, when
you do a <get-config> w/o any filters, what do you get?

/martin

---

From: Andy Bierman <[email-masked]>
Date: Mon, 09 Nov 2009 08:16:49 -0800

>> Does anyone implement this?  Can we remove this paragraph?

I think the text above is a bug.
There is only 1 format -- XML.
Each YANG module defines content in a different XML namespace.

The text above is nonsense, and may confuse people
into thinking YANG modules have different namespace URIs
for different retrieval formats.

> Unless anyone objects, I will now remove it.

Andy

---

From: Phil Shafer <[email-masked]>
Date: Mon, 9 Nov 2009 13:13:58 -0500

>formats?  What you ask for is covered by the text on subtree

Same mechanism, being able to fetch based on namespace, not element
name.

>you do a <get-config> w/o any filters, what do you get?

For JUNOS, you'll get the native stuff.  If you want ietf-foo, you'll
need to provide the namespace for that module as your filter.  I'll
use that namespace to trigger my translation into that data model..

Thanks,
 Phil

---

From: Andy Bierman <[email-masked]>
Date: Mon, 09 Nov 2009 11:29:25 -0800

> Same mechanism, being able to fetch based on namespace, not element

But subtree filtering has no way to specify 'any element in this namespace'.
The charter says we are keeping backward compatibility with RFC 4741
implementations.

Since this is already supported in XPath, it is
not really needed in subtree filtering.

I prefer to finish 4741bis ASAP, and stop adding new features.

Andy