[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: comments on draft-ietf-netconf-notification-01.txt



David B Harrington wrote:
Hi,


I don't understand why these comments were not
raised during the 4 years we were developing
a set of operations to manipulate XML data models.

Anyone who understands the power of arbitrarily
complex nested XML data knows that netconf is
quite a bit more powerful than SNMP + SMI.
It seems that some people want to give up on
data modeling before we even start.

Companies are implementing netconf because their
CLI is inappropriate for use as a programmatic API.
That doesn't mean they want to repeat all the
mistakes that were made in the CLI or SNMP.

Most of the features that have been declared so useful
by NMS developers on this list don't actually exist in
any NE products, because of the economics of SW engineering.
Mandating technology in an RFC isn't going change the
economics.

There is a big difference between an RPC like
<create-loopback-interface> (e.g., the agent picks the
interface instance identifier) which cannot be achieved any
other way, and RPCs that simply replicate the existing
functionality in the protocol for the perceived ease-of-use
by the NMS.



Andy


While I do not have a strong opinion, I do have a preference for a
_simple_ subscription mechanism as part of the protocol since I
believe having special verbs will make it more likely that
management
apps get to actually use the feature. The argument is clearly on the
irrational side of things how I believe many human programmers work
-
they usually tend prefer verbs over data structures and even purely
declarative approaches.


I am not an operator, so I cannot really state what operators would
prefer.
I am not a Netconf implenentor, so I cannot discuss implementation
issues.
I do not know XML or XSD very well, so cannot discuss
language-specific tradeoffs.
But I've heard complaints about SNMP for 13+ years, so I know about
that.
And I've been programming even longer, so I know about that.

One operator complaint is the data-centric rather than a task-based
approach of SNMP. People don't think in terms of "how should I
manipulate data sets to cause a side-effect to occur?", they think in
terms of "what do I need to do" to accomplish a task.

Programming languages migrated from binary to assembly to procedural
to object oriented designs.
Andy often complained about the peek-poke nature of SNMP. I associate
that approach with assembly language and its limited set of operations
that allowed one to peek/poke memory locations and registers.

I think a verb-based approach is associated with the more advanced
procedural style. I am of the impression that operators would prefer
to move from the antiquated peek-poke method of SNMP to a task-based
procedural approach (verb-based), akin to that used by CLI.
In a private email, somebody made this observation:
"In all my years of doing SNMP work, I never saw the
immediate uptake and commitment of real dollars to
an I-D, like I saw for netconf.  It's because dev-groups
all over were already migrating their CLI to XML, and all
doing it differently.  Netconf is all about CLI, not SNMP.
The SNMP people don't understand that yet. ;-)"

I think I understand that. If Netconf is all about CLI, then it
appears that support for a verb/task-based approach is called for,
rather than the data-centric peek-poke approach of SNMP.

Of course, with that decision comes the possibly-unconstrained growth
of verbs often found in CLIs.
But that's the price of progress, just as the unconstrained growth of
functions written in Fortran/Pascal/C/etc was the price one paid for
moving away from assembly language.

To be continued ...

dbh



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




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