Subject: [netconf] Multiple servers and endpoint

From: Balázs Lengyel <[email-masked]>
Date: Tue, 3 Sep 2019 11:55:09 +0000

Hello Kent,

In some client models you have multiple remote servers defined and multiple
endpoints for each server. I would like to clarify the desired behavior for
these. 

E.g. netconf-client-grouping {

the end-point description states: 

                 "A user-ordered list of endpoints that the NETCONF
                  client will attempt to connect to in the specified
                  sequence.  Defining more than one enables
                  high-availability."

As I understand this means the client will try to connect to the first
endpoint. If that fails it tries the next one. Correct?

For servers the description states: 

"List of NETCONF servers the NETCONF client is to
              initiate connections to in parallel."

What does parallel men here? 

*	Will it try to connect all, and abort all connection attempts after
the first succeeds?
*	Try to send the same information to multiple servers?
*	Try to do some load-sharing between multiple servers?

Regards Balazs

-- 

Balazs Lengyel                    Senior Specialist
Ericsson Hungary Ltd. 

Mobile: +36-70-330-7909              email: [email-masked]

---

From: Kent Watsen <[email-masked]>
Date: Tue, 3 Sep 2019 13:46:11 +0000

> On Sep 3, 2019, at 7:55 AM, Balázs Lengyel <[email-masked]> wrote:
> 
> Hello Kent,
> In some client models you have multiple remote servers defined and multiple endpoints for each server. I would like to clarify the desired behavior for these. 
> As I understand this means the client will try to connect to the first endpoint. If that fails it tries the next one. Correct?

Correct.  That is the intention behind it being user-ordered.

> Will it try to connect all, and abort all connection attempts after the first succeeds?
> Try to send the same information to multiple servers?
> Try to do some load-sharing between multiple servers?

The intention is that these are, e.g., distinct applications the client wishes to establish a connection with. For instance, a firewall might want to connect to a cloud-based deep-inspection engine as well as a cloud-based spam-analyzer.  For each application then, there may be a user-ordered list of "endpoints" for high-availability.

The word "parallel" may be overstated, as it doesn't matter if the implementation actually connects in parallel or not, especially in context of each connection being long-lived (periodic or persistent), the sequence of the initial connections loses its meaning.  Perhaps the text should instead say "maintain parallel or simultaneous connections with"?

Thanks,
Kent