👋 Hi, I’m Bjørnar Lintvedt
I’m a Senior Network Consultant at Bluetree, working at the intersection of networking and software development.
As mentioned in my first blog post, I’m preparing for the CCIE Automation lab exam — Cisco’s most advanced certification for network automation and programmability. I’m documenting the journey here with weekly, hands-on blog posts tied to the blueprint.
This week has been all about getting deeper into NETCONF and YANG – two cornerstones of modern network automation.
NETCONF and ncclient
NETCONF is a protocol that lets you communicate with network devices over XML. Instead of pushing raw CLI commands, you send structured data in XML.
To work with it in Python, I used the ncclient library:YANG
YANG is the data modeling language that defines what kind of data you can send with NETCONF.
Armed with this knowledge, I built a new Nautix service: Orchestration
🔹 Orchestration Service
This means I can now go from“devices in inventory” → to “execute NETCONF action” in one flow. Which brings me to a new automation script.
🔸 Run netconf job on all devices in inventory
A python Click tool that
Takes XML path, NETCONF operation method, username, and password as parameters
Look into my GitLab repository for more details — I’ve tried to comment the code as best as I can.
Since a new service is added, the Nautix diagram has also been updated:
NETCONF and YANG were abstract at first, but working hands-on with ncclient
and YANG Suite helped a lot.
Blueprint item 2.7 Create and use a role by utilizing Ansible to manage infrastructure, given support documentation2.7.a Loop control
2.7.b Conditionals
2.7.c Use of variables and templating
2.7.d Use of connection plug-ins such as network CLI, HTTPAPI, and NETCONF