10 karma · joined November 1, 2016
I personally and currently believe we need more context-specific language features for network management than what is available out of the box in Thrift. E.g. I think having the concepts of "configuration", "state data", "rpcs" as first class entities in the language itself is of great value. On the other hand, I can see the value of tool reuse in shops that have invested heavily in Thrift (or grpc/protocol buffers).
I also don't think we need the type of middle-code that you mention, and that's just the side effect of immature implementations. Always avoid intermediary steps if at all possible.
But I happen to personally think that a datalog- or lisp-based policy language for YANG-modelled data sources would be a very interesting concept.
I meant to say "easily readable in it's native encoding". I.e. Looking at the source in your favourite text editor.
In my mind, there were two major things that influenced the final decision. First; we wanted it to be easily readable by humans first and foremost, as schemas are written once but read many times. Second; it needed to be able to separate between configuration and state data, and describe Remote Procedure Calls (RPCs) and notifications.
1. https://tools.ietf.org/html/rfc6241 2. https://tools.ietf.org/html/draft-ietf-netconf-restconf-18)