Sicra Header Logo
  • Karriere
  • Om oss
  • Folk
NorskEnglish
Kontakt oss
  1. Kunnskap
  2. Innsikter
  3. Blogg
Blogg
28.08.2025
min tid å lese

[Min reise mot CCIE Automation #3] Orchestration API og NETCONF

I blogg #3 av CCIE Automation-reisen står NETCONF og YANG i fokus. Jeg bygger et Orchestration API og et Python-basert CLI-verktøy som gjør det mulig å kjøre NETCONF-jobber mot alle enheter i inventory i én samlet flyt.

<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" >[Min reise mot CCIE Automation #3] Orchestration API og NETCONF</span>
bilde
Bjørnar LintvedtSenior Network Engineer

Senior Network Engineer med fokus på nettverk, sikkerhet og automasjon.

(Denne artikkelen var tidligere en del av Bluetree.no. Siden Sicra og Bluetree har slått seg sammen, er nå innhold fra Bluetree overført til Sicra.)

[Min reise mot CCIE Automation #3] Orchestration API og NETCONF er del av en pågående serie om min reise mot CCIE Automation. I forrige innlegg bygget jeg et Inventory REST API som grunnlag for videre automatisering. Denne gangen går jeg videre med NETCONF og bygger et Orchestration API for å utføre jobber mot enheter i inventory.

Blogg #3

Denne gangen har handlet om å gå dypere inn i NETCONF og YANG – to hjørnesteiner i moderne nettverksautomatisering.

NETCONF og ncclient

NETCONF er en protokoll som lar deg kommunisere med nettverksenheter via XML. I stedet for å sende rå CLI-kommandoer, sender du strukturert data i XML.

For å jobbe med NETCONF i Python brukte jeg ncclient-biblioteket:

  • Det etablerer en NETCONF-sesjon mot enheten
  • Lar deg utføre operasjoner som get, get-config og edit-config
  • Bruker XML-payloads for å pushe eller hente konfigurasjon og tilstand
YANG

YANG er datamodelleringsspråket som definerer hvilken type data du kan sende med NETCONF.

  • Det beskriver enhetskonfigurasjon og tilstand på en strukturert måte.

  • Jeg gjorde meg kjent med Cisco Yang Suite, som er et verktøy som gjør det litt enklere å forstå hvordan YANG fungerer.

  • For å få tilgang til spesifikke deler av modellen bruker man ofte XPath-spørringer. Tenk på det som GPS-koordinater inne i XML-treet – i stedet for å grave deg gjennom tusenvis av linjer med konfigurasjon, kan du bare spørre:
    «Gi meg interface-beskrivelsen for GigabitEthernet0/0/0»

Orchestration-tjeneste og automatiseringsskript

Med denne kunnskapen på plass bygget jeg en ny Nautix-tjeneste: Orchestration

Orchestration Service
  • En Flask-applikasjon som eksponerer et Orchestration API.

  • API-endepunkter for å opprette og liste jobber

  • Jobber lagres i en database og trigges umiddelbart til å utføre en NETCONF-operasjon med ncclient

Dette betyr at jeg nå kan gå fra «enheter i inventory» til «utføre NETCONF-handling» i én flyt. Det leder videre til et nytt automatiseringsskript.

Kjør NETCONF-jobb på alle enheter i inventory

Et Python-basert Click-verktøy som:

  • Tar XML-sti, NETCONF-operasjonsmetode, brukernavn og passord som parametere

  • Henter alle enheter fra Inventory API-et

  • Oppretter jobber i Orchestration API-et

    Som pusher XML-konfigurasjon eller henter data

  • Viser resultatene

Se GitLab-repositoriet mitt for flere detaljer – jeg har forsøkt å kommentere koden så godt jeg kan.

Oppdatering av tjenestesamspill

Siden en ny tjeneste er lagt til, er Nautix-diagrammet også oppdatert.

image-png-Aug-29-2025-12-11-03-6176-AM

Refleksjoner #3

  • NETCONF og YANG var abstrakt i starten, men praktisk arbeid med ncclient og YANG Suite hjalp mye.

  • Det er helt sikkert mange forbedringer som kan gjøres. Men jeg har begrenset tid, så dette er «best effort».

Hva skjer videre

I blogg #4 vil jeg fokusere på å jobbe med Ansible:

Blueprint item 2.7 Opprette og bruke en rolle ved hjelp av Ansible for å administrere infrastruktur, basert på tilgjengelig dokumentasjon
2.7.a Løkkekontroll
2.7.b Betingelser
2.7.c Bruk av variabler og templating
2.7.d Bruk av tilkoblingsplug-ins som network CLI, HTTPAPI og NETCONF

Nyttige lenker

  • GitLab Repo – Min CCIE Automation kode
  • ncclient dokumentasjon
  • YANG dokumentasjon

Bloggserie

  • [Min reise mot CCIE Automation #1] Introduksjon + bygging av en Python CLI-applikasjon

  • [Min reise mot CCIE Automation #2] Inventory REST API og mikrotjenestearkitektur

  • [Min reise mot CCIE Automation #4] Automatisering av nettverksoppdagelse og rapporter med Python og Ansible

  • [Min reise mot CCIE Automation #5] Bygging av nettverkspipelines for pålitelige endringer med pyATS og GitLab CI

  • [Min reise mot CCIE Automation #6] Automatisering av Cisco ACI-utrulling med Terraform, Vault og GitLab CI

  • [Min reise mot CCIE Automation #7] Utforsking av Model-Driven Telemetry for sanntidsinnsikt i nettverket

  • [Min reise mot CCIE Automation #8] Utforsking av ThousandEyes og automatisering av Enterprise Agent-utrulling

  • [Min reise mot CCIE Automation #9] Anvendelse av OWASP Secure Coding Practices

  • [Min reise mot CCIE Automation #10] Fra Docker Compose til Kubernetes

Trenger du bistand?

Vi tar gjerne en uforpliktende prat. 
Kontakt oss

Les mer

Cybertrusselbildet 2026: Innsikt fra Arctic Wolf sin trusselrapport
Blogg

Cybertrusselbildet 2026: Innsikt fra Arctic Wolf sin trusselrapport

Arctic Wolf Threat Report 2026: Ransomware er fortsatt trussel nummer én.
IAM for dummies
Blogg

IAM for dummies

En enkel og praktisk innføring i IAM og hvorfor riktig tilgang er avgjørende.
Hvordan redusere kostnad i Microsoft Sentinel og Defender XDR
Blogg

Hvordan redusere kostnad i Microsoft Sentinel og Defender XDR

Kostnader og valg for logging i Microsoft Sentinel og Defender XDR.
Sicras sikkerhetstriangel: Helhetlig IT- og OT-sikkerhet gjennom ledelse, overvåkning og ekspertise
Blogg

Sicras sikkerhetstriangel: Helhetlig IT- og OT-sikkerhet gjennom ledelse, overvåkning og ekspertise

Sicras sikkerhetstriangel gir helhetlig sikkerhet på tvers av IT, OT og ledelse.

Hold deg oppdatert
Motta siste nytt fra Sicra

Linker
BærekraftFAQPartnereSertifiseringerKarrierePresse
Kontakt
Tel: +47 648 08 488
E-post: firmapost@sicra.no

Posthuset, Biskop Gunnerus' gate 14A, 0185 Oslo

Følg oss på LinkedIn
Sertifiseringer
iso27001-white
ISO 27001
miljofyrtarnlogo-hvit-rgb
Miljøfyrtårn
Sicra Footer Logo
Sicra © 2025
Personvern