Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Maqaalkan, waxaan ku tusi doonaa sida loo sameeyo Furan in lagu shaqeeyo qalabka shabakada, iyo sidoo kale in la muujiyo sida loo isticmaalo Boostada oo fudud RESTCONF codsiyada, qalabkan waa la xakameyn karaa. Kuma shaqayn doono qalabka, laakiin taa beddelkeeda waxaanu geyn doonaa shaybaaro yaryar oo macmal ah oo leh hal router oo isticmaalaya Vrnetlab dhammaaday Ubuntu 20.04 LTS.

Waxaan tusi doonaa goobaha faahfaahsan marka hore anigoo isticmaalaya tusaale ahaan router Juniper vMX 20.1R1.11, ka dibna waxaan barbar dhigeynaa goobta Cisco xRV9000 7.0.2.

Tusmo

  • Aqoon loo baahan yahay
  • Qayb ka mid ah 1: si kooban uga hadal Iftiinka Maalinta Furan (wixii ka dambeeya ODL), Boostada и Vrnetlab iyo sababta aan ugu baahanahay
  • Qayb ka mid ah 2: sharaxaadda shaybaadhka casriga ah
  • Qayb ka mid ah 3: habayn Furan
  • Qayb ka mid ah 4: habayn Vrnetlab
  • Qayb ka mid ah 5: iyadoo la isticmaalayo Boostada ku xidh router dalwad ah (Juniper vMX) Ku ODL
  • Qayb ka mid ah 6: hel oo beddel qaabeynta router adiga oo isticmaalaya Boostada и ODL
  • Qayb ka mid ah 7: ku dar Cisco xRV9000
  • gunaanad
  • PS
  • Buugaag

Aqoon loo baahan yahay

Si maqaalku aanu xaashi isu beddelin, waxaan meesha ka saaray tafaasiil farsamo (oo leh xidhiidho suugaaneed oo aad ka akhriyi karto).

Xiriirintan, waxaan ku siinayaa mowduucyo ay fiicnaan lahayd (laakiin ku dhawaad ​​aan loo baahnayn) inaad ogaato ka hor akhrinta:

Qaybta 1: aragti qaar

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

  • Meel furan oo SDN ah oo loogu talagalay maaraynta iyo habaynta dhammaan noocyada shabakadaha, oo ay taageerto Foundation Foundation
  • Java gudaha
  • Iyada oo ku saleysan Heerka Abstraction Service Model-Driven Service (MD-SAL)
  • Wuxuu adeegsadaa moodooyinka YANG si uu si toos ah ugu soo saaro RESTCONF APIs ee aaladaha shabakada

Qaybta ugu muhiimsan ee maaraynta shabakada Waa iyada oo aan kula xiriiri doono qalabka ku xiran. Lagu maamulay API u gaar ah.

Waxaad wax badan ka akhrin kartaa Opendaylight halkan.

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

  • Qalabka tijaabada API
  • Fudud oo sahlan in la isticmaalo interface

Xaaladeena, waxaan u xiisaynaynaa si ay ugu dirto codsiyada REST API OpenDaylight. Waxaad, dabcan, codsiyada u diri kartaa gacanta, laakiin gudaha Boostman-ka wax walba aad bay u cad yihiin oo si fiican ugu habboon ujeedooyinkayaga.

Kuwa doonaya inay qodaan: qalab badan oo tababar ah ayaa lagu qoray (tusaale ahaan).

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

  • Qalabka lagu geynayo router-ka farsamada ee Docker
  • Taageerada: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, iwm.
  • Ilaha furan

Qalab aad u xiiso badan balse yar oo la yaqaan. Xaaladeena, waxaan u isticmaali doonaa inaan ku socodsiino Juniper vMX iyo Cisco xRV9000 Ubuntu 20.04 LTS caadiga ah.

Waxaad wax badan oo ku saabsan ka akhrisan kartaa at bogga mashruuca.

Qaybta 2: Shaybaadhka

Tababarkan, waxaanu dejin doonaa nidaamkan soo socda:

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Sidee tani u shaqaysaa

  • Juniper vMX kacaa Docker weel (macnaha Vrnetlab) oo u shaqeeya sida router-ka ugu caansan.
  • ODL ku xiran router oo kuu ogolaanaya inaad xakameyso.
  • Boostada lagu bilaabay mishiin gaar ah oo aan u dirno amarro ODL: in la isku xidho/ka saaro router-ka, beddelo qaabaynta, iwm.

Faallo ku saabsan aaladda nidaamka

Juniper vMX и ODL Waxay u baahan yihiin dhaqaale aad u badan si ay u hawlgalaan xasilloon. Mid kaliya vMX wuxuu ku weydiinayaa 6 Gb ee RAM iyo 4 cores. Sidaa darteed, waxaa la go'aamiyay in dhammaan "miisaanka culus" loo wareejiyo mashiin gaar ah (Heulet Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Router-ka, dabcan, ma "duuulo", laakiin waxqabadku wuxuu ku filan yahay tijaabooyin yaryar.

Qeybta 3: Deji iftiinka maalinta furan

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Nooca hadda ee ODL wakhtiga qoraalkan waa Magnesium SR1

1) Ku rakib Java Fur JDK 11 ( si aad u faahfaahsan u rakibid halkan)

ubuntu:~$ sudo apt install default-jdk

2) Soo hel oo soo deji dhismihii ugu dambeeyay ODL halkan
3) Ka fur kaydka la soo dejiyay
4) U tag tusaha ka soo baxay
5) Daahfurka ./bin/karaf

Tallaabadan ODL waa in aan bilownaa oo waxaan ku heli doonaa nafteena console-ka (Port 8181 waxaa loo isticmaalaa gelitaanka dibadda, kaas oo aan isticmaali doono hadhow).

Marka xigta, rakib Tilmaamaha ODLloogu talagalay in lagu shaqeeyo borotokoolka NETCONF и RESTCONF. Si tan loo sameeyo gudaha konsole ODL waanu fulinaa:

opendaylight-user@root> feature:install odl-netconf-topology odl-restconf-all

Tani waa habaynta ugu fudud. ODL dhameystiray. (Wixii faahfaahin dheeraad ah, eeg halkan).

Qeybta 4: Dejinta Vrnetlab

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Diyaarinta nidaamka

Ka hor rakibidda Vrnetlab waxaad u baahan tahay inaad rakibto baakadaha looga baahan yahay hawlgalkeeda. Sida Docker, git, sshpass:

ubuntu:~$ sudo apt update
ubuntu:~$ sudo apt -y install python3-bs4 sshpass make
ubuntu:~$ sudo apt -y install git
ubuntu:~$ sudo apt install -y 
    apt-transport-https ca-certificates 
    curl gnupg-agent software-properties-common
ubuntu:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
ubuntu:~$ sudo add-apt-repository 
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
   $(lsb_release -cs) 
   stable"
ubuntu:~$ sudo apt update
ubuntu:~$ sudo apt install -y docker-ce docker-ce-cli containerd.io

Ku rakibida Vrnetlab

Si loo rakibo Vrnetlab ka xidho kaydka u dhigma ee github:

ubuntu:~$ cd ~
ubuntu:~$ git clone https://github.com/plajjan/vrnetlab.git

Tag hagaha vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Halkan waxaad ku arki kartaa dhammaan qoraallada loo baahan yahay si loo socodsiiyo. Fadlan la soco in hage u dhigma loo sameeyay nooc kasta oo router ah:

ubuntu:~/vrnetlab$ ls
CODE_OF_CONDUCT.md  config-engine-lite        openwrt           vr-bgp
CONTRIBUTING.md     csr                       routeros          vr-xcon
LICENSE             git-lfs-repo.sh           sros              vrnetlab.sh
Makefile            makefile-install.include  topology-machine  vrp
README.md           makefile-sanity.include   veos              vsr1000
ci-builder-image    makefile.include          vmx               xrv
common              nxos                      vqfx              xrv9k

Samee sawirka router-ka

Router kasta oo la taageeray Vrnetlab, waxa ay leedahay hab habayn u gaar ah. Goorma Juniper vMX Waxaan kaliya u baahanahay inaan ku dhejino .tgz archive-ka router (waxaad ka soo dejisan kartaa goobta rasmiga ah) tusaha vmx oo socodsii amarka make:

ubuntu:~$ cd ~/vrnetlab/vmx
ubuntu:~$ # Копируем в эту директорию .tgz архив с роутером
ubuntu:~$ sudo make

Dhisida muuqaal vMX waxay qaadan doontaa qiyaastii 10-20 daqiiqo. Waa waqtigii aad bixi lahayd qaxwo!

Waa maxay sababta aad u dheer, waxaad waydiisaa?

Tarjumida jawaab qoraaga su'aashan:

"Tani waa sababta oo ah markii ugu horeysay ee VCP (Control Plane) la bilaabo, waxay akhrinaysaa faylka qaabeynta kaas oo go'aaminaya in uu u socon doono VRR VCP ee vMX. Markii hore, bilawga waxaa la sameeyay intii lagu jiray bilowga Docker, laakiin tani waxay ka dhigan tahay in VCP Had iyo jeer dib ayaa loo bilaabay hal mar ka hor inta aan la helin router dalwaddii, taasoo keentay waqti dheer oo boot ah (qiyaastii 5 daqiiqo) Hadda socodka ugu horreeya ee VCP waxaa la sameeyaa inta lagu jiro dhismaha sawirka Docker, iyo maadaama dhismaha Docker aan la socon karin - Xulashada mudnaanta leh, tani waxay ka dhigan tahay in qemu uu shaqeeyo iyada oo aan la dardargelin qalabka KVM sidaas darteed dhismuhu wuxuu qaadanayaa waqti aad u dheer. Inta lagu jiro habkan wax badan oo logs ah ayaa soo baxa, markaa ugu yaraan waxaad arki kartaa waxa socda. Waxaan u maleynayaa in dhismo dheer uu yahay ma ahan mid cabsi leh sababtoo ah waxaan abuurnaa muuqaal hal mar, laakiin waxaan bilownay qaar badan."

Kadib waxaad arki kartaa sawirka routerkeena gudaha Docker:

ubuntu:~$ sudo docker image list
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vrnetlab/vr-vmx     20.1R1.11           b1b2369b453c        3 weeks ago         4.43GB
debian              stretch             614bb74b620e        7 weeks ago         101MB

Fur weelka vr-vmx

Waxaan ku bilaabaynaa amarka:

ubuntu:~$ sudo docker run -d --privileged --name jun01 b1b2369b453c

Marka xigta, waxaan arki karnaa macluumaadka ku saabsan weelasha firfircoon:

ubuntu:~$ sudo docker container list
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS                                                 NAMES
120f882c8712        b1b2369b453c        "/launch.py"        2 minutes ago       Up 2 minutes (unhealthy)   22/tcp, 830/tcp, 5000/tcp, 10000-10099/tcp, 161/udp   jun01

Ku xidhida router-ka

Ciwaanka IP-ga ee isku xirka shabakadda ee router-ka waxaa lagu heli karaa amarka soo socda:

ubuntu:~$ sudo docker inspect --format '{{.NetworkSettings.IPAddress}}' jun01
172.17.0.2

Asal ahaan, Vrnetlab ku abuuraa isticmaale router-ka vrnetlab/VR-netlab9.
Ku xidhidhiyaha ssh:

ubuntu:~$ ssh [email protected]
The authenticity of host '172.17.0.2 (172.17.0.2)' can't be established.
ECDSA key fingerprint is SHA256:g9Sfg/k5qGBTOX96WiCWyoJJO9FxjzXYspRoDPv+C0Y.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.17.0.2' (ECDSA) to the list of known hosts.
Password:
--- JUNOS 20.1R1.11 Kernel 64-bit  JNPR-11.0-20200219.fb120e7_buil
vrnetlab> show version
Model: vmx
Junos: 20.1R1.11

Tani waxay dhamaystiraysaa habaynta router.

Talooyinka rakibidda ee router-ka iibiyeyaasha kala duwan ayaa laga heli karaa at mashruuca github tusaha kala duwan.

Qeybta 5: Boostada - ku xir router-ka Opendaylight

Rakibaadda Boostada

Si aad u rakibto, kaliya soo deji codsiga halkan.

Ku xidhida router ODL

Aan abuurno gelin codsi:

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

  1. Xadhiga weydiinta:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Codsiga jirka (Tabaha Jirka):
    <node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
    <node-id>jun01</node-id>
    <host xmlns="urn:opendaylight:netconf-node-topology">172.17.0.2</host>
    <port xmlns="urn:opendaylight:netconf-node-topology">22</port>
    <username xmlns="urn:opendaylight:netconf-node-topology">vrnetlab</username>
    <password xmlns="urn:opendaylight:netconf-node-topology">VR-netlab9</password>
    <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>
    <schema-cache-directory xmlns="urn:opendaylight:netconf-node-topology">jun01_cache</schema-cache-directory>
    </node>
  3. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin. Tan waxaa loo baahan yahay si loo galo ODL:
    Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab
  4. Tabka Headers, waxaad u baahan tahay inaad ku darto laba madax:
    • Aqbal codsiga/xml
    • Codsiga Nooca-Content-ka/xml

Codsigayagii waa la sameeyay. Waxaan dirnaa. Haddii wax walba si sax ah loo habeeyey, markaa waa inaan soo celinaa heerka "201 la abuuray":

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Muxuu codsigani sameeyaa?

Waxaan abuurnaa noode gudaha ODL oo leh xuduudaha routerka dhabta ah ee aan rabno inaan galno.

xmlns="urn:TBD:params:xml:ns:yang:network-topology"
xmlns="urn:opendaylight:netconf-node-topology"

Kuwani waa meelo magacyo gudaha ah XML (XML magaca) ee ODL sida ay u abuurto nood.

Dheeraad ah, siday u kala horreeyaan, magaca router waa nood-id, cinwaanka router - ciidankii iyo wixii la mid ah.

Khadka ugu xiisaha badan waa kan ugu dambeeya. Schema-cache-directory abuuraa tusaha meesha dhammaan faylasha la soo dejiyo Qorshaha YANG router ku xiran. Waxaad ka heli kartaa gudaha $ODL_ROOT/cache/jun01_cache.

Hubinta isku xirka router-ka

Aan abuurno GET codsi:

  1. Xadhiga weydiinta:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin.

Waxaan dirnaa. Waa in la helaa xaalad ah "200 OK" iyo liiska dhammaan uu taageeray qalabku Qorshaha YANG:

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

comment: Si aad u aragto tan dambe, xaaladdeyda waxay ahayd lagama maarmaan in la sugo 10 daqiiqo ka dib fulinta gelinilaa dhammaan Qorshaha YANG soo dejiso ODL. Ilaa heerkan, marka la fulinayo tan GET weydiintu waxay soo bandhigi doontaa kuwan soo socda:

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Tirtir router-ka

Aan abuurno tirtirto codsi:

  1. Xadhiga weydiinta:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin.

Qeybta 6: Beddel qaabeynta router

Helitaanka qaabeynta

Aan abuurno GET codsi:

  1. Xadhiga weydiinta:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin.

Waxaan dirnaa. Waa in la helaa heerka "200 OK" iyo qaabeynta router:

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Samee qaabayn

Tusaale ahaan, aan abuurno qaabeynta soo socota oo aan wax ka beddelno:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Aan abuurno POST codsi:

  1. Xadhiga weydiinta:
    POST http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Codsiga jirka (Tabaha Jirka):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin.
  4. Tabka Headers, waxaad u baahan tahay inaad ku darto laba madax:
    • Aqbal codsiga/xml
    • Codsiga Nooca-Content-ka/xml

Dirista ka dib, waa inay helaan heerka "204 Ma jiraan wax"

Si aad u hubiso in qaabayntu isbedeshay, waxaad isticmaali kartaa waydiintii hore. Laakiin tusaale ahaan, waxaan abuuri doonaa mid kale oo soo bandhigi doona macluumaadka kaliya ee ku saabsan borotokoolka lagu habeeyay router-ka.

Aan abuurno GET codsi:

  1. Xadhiga weydiinta:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin.

Kadib fulinta codsiga, waxaan arki doonaa kuwan soo socda:

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Beddel qaabeynta

Aynu bedelno macluumaadka ku saabsan borotokoolka BGP. Ficilkeena kadib, waxay u ekaan doontaa sidan:

protocols {
    bgp {
        disable;
    }
}

Aan abuurno gelin codsi:

  1. Xadhiga weydiinta:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Codsiga jirka (Tabaha Jirka):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin.
  4. Tabka Headers, waxaad u baahan tahay inaad ku darto laba madax:
    • Aqbal codsiga/xml
    • Codsiga Nooca-Content-ka/xml

Isticmaalka kii hore GET codsi, waxaan aragnaa isbedelada:

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Tirtir qaabeynta

Aan abuurno tirtirto codsi:

  1. Xadhiga weydiinta:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin.

Marka loo yeero GET Codsiga macluumaadka ku saabsan borotokoolka, waxaan arki doonaa kuwan soo socda:

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Isku dar:

Si loo beddelo qaabeynta, muhiim maaha in loo diro hay'adda codsiga qaab ahaan XML. Tan waxa kale oo lagu samayn karaa qaabka JSON.

Si tan loo sameeyo, tusaale ahaan, weydiinta gelin si aad u bedesho qaabaynta, ku beddel hay'adda codsiga:

{
    "junos-conf-protocols:protocols": {
        "bgp": {
            "description" : "Changed in postman" 
        }
    }
}

Ha iloobin inaad u beddesho madaxyada tabka Headers inaad:

  • Aqbal codsiga/json
  • Nooca nuxurka codsiga/json

Dirista ka dib, waxaan heli doonaa natiijada soo socota (Waxaan eegnaa jawaabta anagoo adeegsanayna GET codsi):

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Qeybta 7: Ku darista Cisco xRV9000

Maxaan ka wada leenahay Juniper, haa Juniper? Aan ka hadalno Cisco!
Waxaan helay xRV9000 nooca 7.0.2 (bahal u baahan 8Gb RAM iyo 4 cores. Si xor ah uma heli karo, markaa la xidhiidh Cisco) - aan wadno.

Ku ordaya weel

Habka abuurista weelka Docker dhab ahaantii kama duwana Juniper. Sidoo kale, waxaan ku rideynaa faylka .qcow2 ee router-ka galka u dhigma magaciisa (xaaladdan, xrv9k) oo fulinta amarka make docker-image.

Dhowr daqiiqo ka dib, waxaan aragnaa in sawirka la sameeyay:

ubuntu:~$ sudo docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vrnetlab/vr-xrv9k   7.0.2               54debc7973fc        4 hours ago         1.7GB
vrnetlab/vr-vmx     20.1R1.11           b1b2369b453c        4 weeks ago         4.43GB
debian              stretch             614bb74b620e        7 weeks ago         101MB

Waxaan bilaabaynaa weelka:

ubuntu:~$ sudo docker run -d --privileged --name xrv01 54debc7973fc

Muddo ka dib, waxaan aragnaa in weelku bilaabmay:

ubuntu:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                 PORTS                                                      NAMES
058c5ecddae3        54debc7973fc        "/launch.py"        4 hours ago         Up 4 hours (healthy)   22/tcp, 830/tcp, 5000-5003/tcp, 10000-10099/tcp, 161/udp   xrv01

Ku xidh ssh:

ubuntu@ubuntu:~$ ssh [email protected]
Password:

RP/0/RP0/CPU0:ios#show version
Mon Jul  6 12:19:28.036 UTC
Cisco IOS XR Software, Version 7.0.2
Copyright (c) 2013-2020 by Cisco Systems, Inc.

Build Information:
 Built By     : ahoang
 Built On     : Fri Mar 13 22:27:54 PDT 2020
 Built Host   : iox-ucs-029
 Workspace    : /auto/srcarchive15/prod/7.0.2/xrv9k/ws
 Version      : 7.0.2
 Location     : /opt/cisco/XR/packages/
 Label        : 7.0.2

cisco IOS-XRv 9000 () processor
System uptime is 3 hours 22 minutes

Ku xidhida router-ka Opendaylight

Ku darista waxay u dhacdaa si gebi ahaanba la mid ah oo leh vMX. Waxaan kaliya u baahanahay inaan bedelno magacyada.
gelin codsi:
Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Wac muddo ka dib GET weydii si aad u hubiso in wax walba ay ku xiran yihiin:
Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Beddel qaabeynta

Aynu dejinno qaabaynta soo socota:

!
router ospf LAB
 mpls ldp auto-config
!

Aan abuurno POST codsi:

  1. Xadhiga weydiinta:
    POST http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. Codsiga jirka (Tabaha Jirka):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin.
  4. Tabka Headers, waxaad u baahan tahay inaad ku darto laba madax:
    • Aqbal codsiga/json
    • Nooca nuxurka codsiga/json

Ka dib marka la fuliyo, waa in ay helaan heerka "204 No Content".

Aynu eegno waxa aan helnay.
Si tan loo sameeyo, waxaan abuuri doonaa GET codsi:

  1. Xadhiga weydiinta:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin.

Ka dib fulinta, waa inaad aragto kuwan soo socda:

Automation ee adeegyada shabakada ama sida loo dhiso shaybaadhka casriga ah iyadoo la adeegsanayo OpenDaylight, Postman iyo Vrnetlab

Si meesha looga saaro isticmaalka qaabeynta tirtirto:

  1. Xadhiga weydiinta:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. Tabka Oggolaanshaha, waa inaad dejisaa cabbirka Basic Auth iyo login/password: admin/admin.

gunaanad

Wadar ahaan, sida aad dareentay, hababka isku xirka Cisco iyo Juniper ilaa OpenDaylight ma kala duwana - tani waxay furaysaa baaxad ballaadhan oo hal-abuurnimo ah. Laga bilaabo maamulka qaabeynta ee dhammaan qaybaha shabakada oo ku dhammaanaya abuurista siyaasadaha shabakadaada.
Tababarkan, waxaan ku bixiyay tusaalooyinka ugu fudud ee sida aad ula falgeli karto qalabka shabakada adoo isticmaalaya OpenDaylight. Shaki la'aan, su'aalaha tusaalooyinka kor ku xusan waxay noqon karaan kuwo aad u adag oo lagu dejiyo dhammaan adeegyada hal gujis ee jiirka - wax walba waxay ku xaddidan yihiin oo kaliya male-awaalkaaga *

In la sii wado ...

PS

Haddii aad si lama filaan ah u ogaatay waxaas oo dhan ama, liddi ku ah, aad soo martay oo aad u quusatay nafta ODL, markaa waxaan ku talinayaa inaad eegto horumarinta codsiyada maamulaha ODL. Waad bilaabi kartaa halkan.

Tijaabooyin guul leh!

Tixraacyada

  1. Vrnetlab: Ku daydo shabakadaha adoo isticmaalaya KVM iyo Docker /Brian Linkletter
  2. Buugga karinta ee maalinta furan / Mathieu Lemay, Alexis de Talhouet, Et al
  3. Barnaamijyada Shabakadda ee YANG/Benoît Claise, Loe Clarke, Jan Lindblad
  4. Barashada XML, Daabacaadda Labaad / Erik T. Ray
  5. DevOps wax ku ool ah / Jennifer Davis, Ryn Daniels

Source: www.habr.com

Add a comment