Subject: [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

From: "Eric Voit (evoit)" <[email-masked]>
Date: Wed, 14 Oct 2015 03:37:01 +0000

There are a couple new drafts posted in NETCONF:

(1)  Subscribing to YANG datastore push updates
http://www.ietf.org/id/draft-clemm-netconf-yang-push-02.txt
As per earlier NETCONF discussions<http://www.ietf.org/mail-archive/web/netconf/current/msg10432.html> we are expecting this draft to become draft-ietf-netconf-yang-push in the coming days (once the NETCONF charter is approved).  Look for an OpenDaylight client in the Beryllium release (Feb).

(2) Restconf subscription and HTTP push for YANG datastores
http://www.ietf.org/id/draft-voit-restconf-yang-push-00.txt
Extends draft-clemm-netconf-yang-push in the following ways:

*     proposes Restconf subscription and push mechanisms to continuously stream information from YANG datastores over HTTP

*     provides a mechanism to support static subscriptions so that an operator can stream updates over HTTP without Restconf

*     provides YANG model extensions to leverage HTTP/2 so that individual subscriptions can get custom treatment via their own HTTP streams.

Thanks for your interest, and we look forward to the discussions!

- Alexander Clemm, Eric Voit, Alberto Gonzalez Prieto, Ambika Prasad Tripathy, & Einar Nilsen-Nygaard

---

From: "Alexander Clemm (alex)" <[email-masked]>
Date: Thu, 15 Oct 2015 20:56:34 +0000

Hello all,

below we noted that "draft-clemm-netconf-yang-push" would become "draft-ietf-netconf-yang-push-00" this week.   Just as an FYI, the WG draft is now posted:
https://datatracker.ietf.org/doc/draft-ietf-netconf-yang-push/

Kind regards
--- Alex

From: Eric Voit (evoit)
Sent: Tuesday, October 13, 2015 8:37 PM
To: [email-masked]
Cc: Alexander Clemm (alex) <[email-masked]>; Alberto Gonzalez Prieto (albertgo) <[email-masked]>; Ambika Prasad Tripathy (ambtripa) <[email-masked]>; Einar Nilsen-Nygaard (einarnn) <[email-masked]>
Subject: New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

---

From: "Susan Hares" <[email-masked]>
Date: Tue, 27 Oct 2015 14:52:04 -0400

NETCONF: 

These drafts is important to the I2RS pub/sub.   Is the RESTCONF draft going
to be adopted (draft-voit-restconf-yang-push-00.txt)? 

It would be really helpful.  

Sue Hares 

I2RS WG chair 

From: Netconf [mailto:[email-masked]] On Behalf Of Eric Voit
(evoit)
Sent: Tuesday, October 13, 2015 11:37 PM
To: [email-masked]
Subject: [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

As per earlier NETCONF discussions
<http://www.ietf.org/mail-archive/web/netconf/current/msg10432.html>  we are
expecting this draft to become draft-ietf-netconf-yang-push in the coming
days (once the NETCONF charter is approved).  Look for an OpenDaylight
client in the Beryllium release (Feb).  

.     proposes Restconf subscription and push mechanisms to continuously
stream information from YANG datastores over HTTP 

.     provides a mechanism to support static subscriptions so that an
operator can stream updates over HTTP without Restconf

.     provides YANG model extensions to leverage HTTP/2 so that individual
subscriptions can get custom treatment via their own HTTP streams.  

- Alexander Clemm, Eric Voit, Alberto Gonzalez Prieto, Ambika Prasad
Tripathy, & Einar Nilsen-Nygaard

---

From: "Ersue, Mehmet (Nokia - DE/Munich)" <[email-masked]>
Date: Tue, 27 Oct 2015 19:21:15 +0000

Hi Sue,

whether draft-voit-restconf-yang-push can be seen as covered by the current charter needs to be discussed in IETF 94.
I can imagine the result is positive.

Whether we go for a merged or an additional draft is more or less a matter of practical thinking.

Cheers,
Mehmet

From: Netconf [mailto:[email-masked]] On Behalf Of EXT Susan Hares
Sent: Tuesday, October 27, 2015 7:52 PM
To: 'Eric Voit (evoit)' <[email-masked]>; [email-masked]
Cc: 'Alia Atlas' <[email-masked]>
Subject: Re: [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

NETCONF:

These drafts is important to the I2RS pub/sub.   Is the RESTCONF draft going to be adopted (draft-voit-restconf-yang-push-00.txt)?

Sue Hares
I2RS WG chair

From: Netconf [mailto:[email-masked]] On Behalf Of Eric Voit (evoit)
Sent: Tuesday, October 13, 2015 11:37 PM
To: [email-masked]<mailto:[email-masked]>
Subject: [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

---

From: Kent Watsen <[email-masked]>
Date: Tue, 27 Oct 2015 19:22:29 +0000

I think it important that whatever we do in NETCONF we can also do in RESTCONF.   To that end, I support the WG defining "yang-push” for both protocols.

Actually, I’m a little surprised that we’re discussing this.  Maybe it’s just me, but when the WG adopted draft-ietf-netconf-yang-push, I thought that it would cover both protocols eventually.   Perhaps that a separate draft has been produced is another surprise here - do we really need another draft?

Kent

From: Netconf <[email-masked]<mailto:[email-masked]>> on behalf of Susan Hares <[email-masked]<mailto:[email-masked]>>
Date: Tuesday, October 27, 2015 at 2:52 PM
To: "'Eric Voit (evoit)'" <[email-masked]<mailto:[email-masked]>>, "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
Cc: 'Alia Atlas' <[email-masked]<mailto:[email-masked]>>
Subject: Re: [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

NETCONF:

Sue Hares
I2RS WG chair

·     proposes Restconf subscription and push mechanisms to continuously stream information from YANG datastores over HTTP

·     provides a mechanism to support static subscriptions so that an operator can stream updates over HTTP without Restconf

·     provides YANG model extensions to leverage HTTP/2 so that individual subscriptions can get custom treatment via their own HTTP streams.

---

From: "Ersue, Mehmet (Nokia - DE/Munich)" <[email-masked]>
Date: Tue, 27 Oct 2015 19:33:12 +0000

If there are two drafts they need to be finalized and go to WGLC together.
As such the question is valid.

What is the overlapping part?
Do we need 2 drafts?

Mehmet

From: Netconf [mailto:[email-masked]] On Behalf Of EXT Kent Watsen
Sent: Tuesday, October 27, 2015 8:22 PM
To: Susan Hares <[email-masked]>; 'Eric Voit (evoit)' <[email-masked]>; [email-masked]
Cc: 'Alia Atlas' <[email-masked]>
Subject: Re: [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

Kent

NETCONF:

Sue Hares
I2RS WG chair

---

From: Andy Bierman <[email-masked]>
Date: Tue, 27 Oct 2015 12:50:31 -0700

Hi,

I support the feature in general as an optional addition to NETCONF or
RESTCONF.
I was looking at the details a bit, and I don't think it covers all YANG
operations
(such as insert, move, delete).

I am implementing a datastore replication protocol based on deltas
represented with YANG Patch.  This looks much more efficient in practice
than sending complete updates of resource representations to the client,
especially for delete, insert, and move.  You basically end up with PUT
instead of PATCH, with all the inefficiencies that involves.

I think the subscription and push control in the yang-push draft is great,
but the messages on the wire should be more efficient.

Andy

On Tue, Oct 27, 2015 at 12:22 PM, Kent Watsen <[email-masked]> wrote:

>
> I think it important that whatever we do in NETCONF we can also do in
> RESTCONF.   To that end, I support the WG defining "yang-push” for both
> protocols.
>
> Actually, I’m a little surprised that we’re discussing this.  Maybe it’s
> just me, but when the WG adopted draft-ietf-netconf-yang-push, I thought
> that it would cover both protocols eventually.   Perhaps that a separate
> draft has been produced is another surprise here - do we really need
> another draft?
>
> Kent
>
> From: Netconf <[email-masked]> on behalf of Susan Hares <
> [email-masked]>
> To: "'Eric Voit (evoit)'" <[email-masked]>, "[email-masked]" <
> [email-masked]>
> These drafts is important to the I2RS pub/sub.   Is the RESTCONF draft
> going to be adopted (draft-voit-restconf-yang-push-00.txt)?
>
>
>
> *From:* Netconf [mailto:[email-masked]
> <[email-masked]>] *On Behalf Of *Eric Voit (evoit)
> *Sent:* Tuesday, October 13, 2015 11:37 PM
> *To:* [email-masked]
> *Subject:* [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2
>
>
>
> <http://www.ietf.org/mail-archive/web/netconf/current/msg10432.html> we
> are expecting this draft to become draft-ietf-netconf-yang-push in the
> coming days (once the NETCONF charter is approved).  Look for an
> OpenDaylight client in the Beryllium release (Feb).
>
>
>
> ·     proposes Restconf subscription and push mechanisms to continuously
> ·     provides a mechanism to support static subscriptions so that an
> ·     provides YANG model extensions to leverage HTTP/2 so that
> individual subscriptions can get custom treatment via their own HTTP
> streams.
>
>
>
> _______________________________________________
> Netconf mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/netconf
>
>

---

From: "Alberto Gonzalez Prieto (albertgo)" <[email-masked]>
Date: Tue, 27 Oct 2015 19:51:00 +0000

Thanks Kent,

On 1 vs 2 drafts.
I am open to discuss a merge of the two drafts, and I will be happy to listen to the WG opinions and discuss them.
To start the discussion, let me state some reasons why the authors tend to prefer keeping them separate:

  1.  Keep modularity.  If using a single document, would compliance require supporting both netconf and restconf?  This should not be the case, and it might become a hurdle for adoption. Also additional extensions are likely (e.g., other transports and encoding), and keeping different flavors/extension in different modules would facilitate that. Alternatively, should the definition of extensions result in revisions of a common document?
  2.  Limit the complexity of docs. This may facilitate newcomers learning the technology.

Thanks,

Alberto

From: Netconf <[email-masked]<mailto:[email-masked]>> on behalf of Kent Watsen <[email-masked]<mailto:[email-masked]>>
Date: Tuesday, October 27, 2015 at 12:22 PM
To: Susan Hares <[email-masked]<mailto:[email-masked]>>, "Eric Voit (evoit)" <[email-masked]<mailto:[email-masked]>>, "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
Cc: 'Alia Atlas' <[email-masked]<mailto:[email-masked]>>
Subject: Re: [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

I think it important that whatever we do in NETCONF we can also do in RESTCONF.   To that end, I support the WG defining "yang-push" for both protocols.

Actually, I'm a little surprised that we're discussing this.  Maybe it's just me, but when the WG adopted draft-ietf-netconf-yang-push, I thought that it would cover both protocols eventually.   Perhaps that a separate draft has been produced is another surprise here - do we really need another draft?

Kent

NETCONF:

Sue Hares
I2RS WG chair

---

From: "Alberto Gonzalez Prieto (albertgo)" <[email-masked]>
Date: Wed, 28 Oct 2015 09:16:57 +0000

Thanks for the input Andy.

In the NETCONF draft, for on-change updates, we consider the operations in RFC6241 for edit-config, including merge, and delete.
(when using json encoding, the changes are encoded based on yang-patch)
Does that address the PUT/PATCH inefficiencies you mention?

FWIW, we do not explicitly include yang:insert from RFC6020. It makes sense to me including it since not using would lead to inefficiencies, as you correctly point out.
It also makes sense to me adding "move" to the list of operations in on-change updates.  Thanks for bringing this up.

For periodic updates, the updates contain a snapshot of the current state. That is analogous to a PUT. The rationale was that to compute the deltas, we would need (a potentially sizable) per-subscription state.
E.g., a subscription for fast-changing oper data subtrees with a large number of descendants. Such data may not be versioned and its incremental deltas may not be tracked. In such cases, the state to keep would be a replica of the snapshot used for the last update.

Thanks,

Alberto

From: Netconf <[email-masked]<mailto:[email-masked]>> on behalf of Andy Bierman <[email-masked]<mailto:[email-masked]>>
Date: Tuesday, October 27, 2015 at 12:50 PM
To: Kent Watsen <[email-masked]<mailto:[email-masked]>>
Cc: "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>, Alia Atlas <[email-masked]<mailto:[email-masked]>>
Subject: Re: [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

Hi,

I support the feature in general as an optional addition to NETCONF or RESTCONF.
I was looking at the details a bit, and I don't think it covers all YANG operations
(such as insert, move, delete).

Andy

On Tue, Oct 27, 2015 at 12:22 PM, Kent Watsen <[email-masked]<mailto:[email-masked]>> wrote:

Kent

NETCONF:

Sue Hares
I2RS WG chair

_______________________________________________
Netconf mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/netconf

---

From: "Alberto Gonzalez Prieto (albertgo)" <[email-masked]>
Date: Wed, 28 Oct 2015 09:38:03 +0000

Thanks Mehmet,

On the overlap. The idea is using the NETCONF draft as the base document and the RESTCONF one referring to it,  so that the overlap is minimal. Examples of this show in section III of the RESTCONF draft, and also in the augmentation of the base (NETCONF draft) model in the RESTCONF draft.
On the 1 vs. 2 drafts, for your reference, I paste below my response to Kent's very same question

Thanks,

Alberto

Thanks Kent,

On 1 vs 2 drafts.

Thanks,

Alberto

From: Netconf <[email-masked]<mailto:[email-masked]>> on behalf of "Ersue, Mehmet (Nokia - DE/Munich)" <[email-masked]<mailto:[email-masked]>>
Date: Tuesday, October 27, 2015 at 12:33 PM
To: EXT Kent Watsen <[email-masked]<mailto:[email-masked]>>, Susan Hares <[email-masked]<mailto:[email-masked]>>, "Eric Voit (evoit)" <[email-masked]<mailto:[email-masked]>>, "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
Cc: 'Alia Atlas' <[email-masked]<mailto:[email-masked]>>
Subject: Re: [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

Mehmet

To: Susan Hares <[email-masked]<mailto:[email-masked]>>; 'Eric Voit (evoit)' <[email-masked]<mailto:[email-masked]>>; [email-masked]<mailto:[email-masked]>

Kent

NETCONF:

Sue Hares
I2RS WG chair

---

From: Andy Bierman <[email-masked]>
Date: Wed, 28 Oct 2015 12:03:43 -0700

Hi,

The issue wrt/ PUT vs. PATCH is really a matter of context
and priorities.  If you delete 1 interface out of 100,000, and you
need to send the updated parent container, instead of just
sending "delete interface X", the message could be 10,000
times bigger on-the-wire.  The internal processing could be much
higher (e.g., compare 99,999 interfaces to the saved values
to determine there were no changes).  If efficiency is of
no concern, then updating the parent resource is probably OK.

Andy

On Wed, Oct 28, 2015 at 2:16 AM, Alberto Gonzalez Prieto (albertgo) <
[email-masked]> wrote:

> In the NETCONF draft, for on-change updates, we consider the operations
> in RFC6241 for edit-config, including merge, and delete.
> FWIW, we do not explicitly include yang:insert from RFC6020. It makes
> sense to me including it since not using would lead to inefficiencies, as
> you correctly point out.
> It also makes sense to me adding “move” to the list of operations in
> on-change updates.  Thanks for bringing this up.
>
>
> For periodic updates, the updates contain a snapshot of the current state.
> That is analogous to a PUT. The rationale was that to compute the deltas,
> we would need (a potentially sizable) per-subscription state.
> E.g., a subscription for fast-changing oper data subtrees with a large
> number of descendants. Such data may not be versioned and its incremental
> deltas may not be tracked. In such cases, the state to keep would be a
> replica of the snapshot used for the last update.
>
> Thanks,
>
> Alberto
>
>
> From: Netconf <[email-masked]> on behalf of Andy Bierman <
> [email-masked]>
> To: Kent Watsen <[email-masked]>
> Cc: "[email-masked]" <[email-masked]>, Alia Atlas <[email-masked]>

---

From: "Alberto Gonzalez Prieto (albertgo)" <[email-masked]>
Date: Wed, 28 Oct 2015 23:07:54 +0000

Thanks Andy,

Agreed.

For the example below, using a periodic subscription on the list of interfaces would result in ~100k entries.
Alternatively, using an on-change subscription would result in a single entry on the wire (I.e., just the config delta).
How efficient the delta computation (on the publisher) would be is implementation-specific.
A publisher implementation has the option of not accepting/supporting on-change subscriptions. A reason for not accepting an on-change subscription is a high  computational cost for serving it.
That is, there are trade-offs that publishers can control wrt computational cost, space requirements, generated traffic.

Thanks,

Alberto

From: Andy Bierman <[email-masked]<mailto:[email-masked]>>
Date: Wednesday, October 28, 2015 at 12:03 PM
To: Alberto Gonzalez Prieto <[email-masked]<mailto:[email-masked]>>
Cc: Kent Watsen <[email-masked]<mailto:[email-masked]>>, "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>, Alia Atlas <[email-masked]<mailto:[email-masked]>>
Subject: Re: [Netconf] New YANG PubSub drafts for NETCONF, RESTCONF, HTTP/2

Hi,

Andy

On Wed, Oct 28, 2015 at 2:16 AM, Alberto Gonzalez Prieto (albertgo) <[email-masked]<mailto:[email-masked]>> wrote:
Thanks for the input Andy.

FWIW, we do not explicitly include yang:insert from RFC6020. It makes sense to me including it since not using would lead to inefficiencies, as you correctly point out.
It also makes sense to me adding “move” to the list of operations in on-change updates.  Thanks for bringing this up.

Thanks,

Alberto

Hi,

Andy

Kent

NETCONF:

Sue Hares
I2RS WG chair