Senior Network Engineer focused on networking, security, and automation.
![<span id="hs_cos_wrapper_name" class="hs_cos_wrapper hs_cos_wrapper_meta_field hs_cos_wrapper_type_text" style="" data-hs-cos-general-type="meta_field" data-hs-cos-type="text" >[My journey to CCIE Automation #1] Intro + building a Python CLI app</span>](https://sicra.no/hs-fs/hubfs/two_guys_working_on_a_computer.jpg?width=1024&height=576&name=two_guys_working_on_a_computer.jpg)
(This article was originally published on Bluetree.no. Following the merger of Sicra and Bluetree, content from Bluetree has now been migrated to Sicra.)
Hi, I’m Bjørnar Lintvedt
I’m a Senior Network Consultant at Bluetree, working at the intersection of networking and software development.
I completed my bachelor’s degree in programming back in 2010, but early in my career I was pulled into the world of networking — and it stuck. From 2010 to 2016, I worked hands-on with network design and operations, while also building automation tools like an in-house network testing system.
Since 2016, I’ve helped clients design and operate network infrastructure while developing a custom network operations platform internally at Bluetree. That mix of infrastructure and code is what I truly enjoy.
Now, I’m pursuing the CCIE Automation certification — Cisco’s most advanced certification for network automation and programmability — and I’m sharing the journey here through hands-on blog posts like this one.
A study plan from June through November
Aiming for 10–15 hours of weekly study — though with two small kids at home, it may vary!
Weekly focus on theory, labs, and review
Following the excellent on-demand training from ccie-automation.com — thanks Andreas Baekdahl !
Deltar i en studiegruppe
Writing about my technical journey isn’t something I usually do — but I’m genuinely excited to try.
This is a way to stay motivated, hold myself accountable, reflect, and hopefully connect with others on a similar path.
I’ll share detailed blog posts each week here at bluetree.no, including:
Key topics and how I study them
Ideas for applying the tech
What works — and what doesn’t
Progress updates and lessons learned
In my journey toward the CCIE Automation lab exam, I’m taking a hands-on approach:
For each blueprint topic I study, I aim to build a real tool or script that’s useful in the everyday life of a network engineer.
This time, I focused on Blueprint item 2.2: Build, manage, and operate a Python-based CLI application to use a REST API. As the project evolved, it ended up touching multiple blueprint topics — and became a genuinely useful tool in its own right.
I’ve also set up a GitLab repository where I’ll publish all my study-related code:
Link to my Github repository on CCIE Automation can be found here >
The goal was to build a CLI tool that connects to Cisco Catalyst Center, retrieves physical topology data, and visualizes it in seconds.
Here is the links to the main script and Catalyst API class.
1. Created a main click group that will hold object state for network nodes and links.
2. First click command will authenticate with Catalyst Center, do API call to get physical topology, parse the data to pyvis friendly format and then store the data back to the shared context/object.



3. The second click command will get the shared object for nodes and link, and output the topology either as raw json or a pyvis topology drawing.
4. The output in all it's glory:
As you can see in this example output, not all network devices were connected to each other, but anyway looks nice I think!
Example usage: python3 network_topology.py catcenter -ip <ip_address> -u <username> -p <password> output -t <drawing | json>
Blueprint Items Touched
| Blueprint item | Description |
| 2.2 | Build, manage, and operate a Python-based CLI application to use a REST API |
| 2.3.a | Consume and use a new REST API, given the documentation |
| 3.1 | Create, modify, and troubleshoot scripts by using Python libraries and SDK documentation to automate against APIs (ACI, AppDynamics, Catalyst Center, FDM, Intersight, IOS XE, Meraki, NSO, Webex) |
It’s interesting how quickly a single project can connect with multiple areas of the blueprint — making this both practical and exam-relevant.
Click was intuitive to use and offered built-in argument parsing, help text, and structure.
Catalyst Center’s API returned more data than I needed — parsing and reshaping the response was key (No pun intended).
pyvis made it fun to visualize the data interactively – I feel this can be used for a lot of fun in the coming months!
It was fun seeing how quickly multiple blueprint items were touched — not sure if every week will be like this, but it’s motivating!
Next time, I’ll continue in the same spirit and explore:
Blueprint item 2.1: Build, manage, and operate a Python-based REST API with a web application framework (endpoints, HTTP request and response, OpenAPI specification).
[My journey to CCIE Automation #2] Inventory REST API and microservices architecture
[My journey to CCIE Automation #3] Orchestration API and NETCONF
[My journey to CCIE Automation #4] Automating network discovery and reports with Python and Ansible
[My journey to CCIE Automation #7] Exploring Model-Driven Telemetry for real-time network insights
[My journey to CCIE Automation #8] Exploring ThousandEyes and automating Enterprise Agent deployment
[My journey to CCIE Automation #9] Applying OWASP Secure Coding Practices
[My journey to CCIE Automation #10] From Docker Compose to Kubernetes



