[j-nsp] Netconf & namespaces

Tyler Christiansen tyler.christiansen at adap.tv
Thu Jun 12 12:48:12 EDT 2014


On Thu, Jun 12, 2014 at 9:16 AM, Phil Mayers <p.mayers at imperial.ac.uk>
wrote:

> On 12/06/14 16:38, Tyler Christiansen wrote:
>
>> What are you trying to accomplish?  It may be easier to use the Juniper
>>
>
> I am trying to integrate our new EX switches into our existing, extensive,
> automation and provisioning systems.
>
> I've already got it working with Junoscript, but as noted had a few
> problems (currently successfully being worked around) so took a look at
> Netconf, and found namespace issues.
>
> The fundamental question is: are namespaces used incorrectly all over the
> place in Netconf?


I honestly couldn't tell you--but it wouldn't surprise me.  Data formats
like XML aren't very good data formats.


>
>
>  Netconf Ruby gem or the Python junos-eznc module depending on your
>> background and goals.
>>
>
> I'd rather stab myself with a rusty fork than use Ruby.
>

I'd rather stab myself with a rusty fork than use Python.  :)  To each his
own, I suppose.


>
> I've looked at the PyEZ and ncclient code, and basically they seem to take
> the approach of just throwing away all namespace information. This seems
> icky to me, and make me wonder if Netconf is going to be another SOAP - so
> many implementation errors that "interop" ends up being a mess of special
> casing and workarounds.
>

Data formats are going to have this problem forever.  It's not specific to
NetConf or SOAP.  Standards in general have this problem--implementation
for a vendor's version of a standard starts, and then the standard changes
or is improved and the vendor doesn't move forward (or at least not as
quickly as we would like).


>
> In any event, our existing tooling uses Python & Twisted, so
> synchronous/blocking libraries don't integrate well.
>

If you're really into Python/Twisted, you may want to look at Trigger
<https://trigger.readthedocs.org/en/latest/> and see how they're solving
the issue.  They support a LOT of vendors, including Juniper and Cisco.

(Disclaimer: I work for an AOL property, but do not use Trigger)


>
> I'll look at the Ruby code to at least see what they do about namespaces;
> I bet "ignore them". Makes me wonder why we even bother with XML, sigh...
>

The Ruby code likely handles things in the same manner.  It's written by
the same people.

--tc


-- 
*Tyler Christiansen | Technical Operations*
tyler <http://adap.tv/>@adap.tv <http://adap.tv/> | www.adap.tv
*m :* 864.346.4095


More information about the juniper-nsp mailing list