Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

I lenei tusiga o le a ou taʻu atu ia te oe le auala e faʻapipiʻi ai malamalama tatala mo le galue ma meafaigaluega fesoʻotaʻiga, ma o le a faʻaalia foi le faʻaogaina Falemeli ma faigofie RESTCONF talosaga, e mafai ona pulea lenei meafaigaluega. Matou te le galulue faʻatasi ma meafaigaluega, ae o le a matou faʻapipiʻiina ni tamaʻi suʻesuʻega faʻataʻitaʻi faʻatasi ai ma se router e tasi e faʻaaogaina Vrnetlab ua uma Ubuntu 20.04 LTS.

O le a ou faʻaalia muamua le seti faʻamatalaga e faʻaaoga ai le faʻataʻitaʻiga o se router Juniper vMX 20.1R1.11, ona tatou faatusatusa lea i le faatulagaga Cisco xRV9000 7.0.2.

Mataupu

  • Manaomia le malamalama
  • 1 vaega: talanoaina puupuu OpenDaylight (o loʻo taʻua mulimuli ane o ODL), Falemeli и Vrnetlab ma aisea tatou te manaomia ai
  • 2 vaega: faʻamatalaga o le fale suʻesuʻe virtual
  • 3 vaega: fetuutuunai malamalama tatala
  • 4 vaega: fetuutuunai Vrnetlab
  • 5 vaega: e ala i le faaaogaina Falemeli fa'afeso'ota'i se telefoni feavea'i (Juniper vMX) I ODL
  • 6 vaega: maua ma sui le faʻaogaina o le router faʻaoga Falemeli и ODL
  • 7 vaega: fa'aopoopo Cisco xRV9000
  • iʻuga
  • SALA
  • Tusitala

Manaomia le malamalama

Ina ia taofia le tala mai le liu i se laupepa, na ou aveesea nisi faʻamatalaga faʻapitoa (faatasi ai ma fesoʻotaʻiga i tusitusiga e mafai ona e faitau ai e uiga ia i latou).

I lenei tulaga, ou te fautua atu ia te oe autu e lelei (ae toetoe lava a le manaʻomia) e te iloa aʻo leʻi faitau:

Vaega 1: o se manatu itiiti

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

  • Se fa'avae SDN tatala mo le fa'afoeina ma le fa'autometi ituaiga uma o feso'otaiga, lagolagoina e Linux Foundation
  • Java i totonu
  • Fa'avae ile Fa'ata'ita'iga-Driven Service Abstraction Level (MD-SAL)
  • Fa'aaogā fa'ata'ita'iga YANG e otometi ona fai RESTCONF API mo masini feso'ota'iga

O le module autu mo le puleaina o fesoʻotaʻiga. E ala atu i ai o le a tatou fesootai ai ma masini fesootai. Puleaina e ala i lana lava API.

E mafai ona e faitau atili e uiga i OpenDaylight iinei.

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

  • API Su'ega Meafaigaluega
  • Faigofie ma faigofie ona fa'aoga fa'aoga

I la matou tulaga, matou te fiafia i ai o se auala mo le auina atu o talosaga REST i le OpenDaylight API. E mafai, ioe, auina atu talosaga ma le lima, ae i le Postman mea uma e foliga manino ma e atoatoa mo tatou faamoemoega.

Mo i latou e fia suʻesuʻe i ai: tele mea faʻaleaʻoaʻoga ua tusia i luga (mo se faʻataʻitaʻiga).

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

  • O se meafaigaluega mo le faʻapipiʻiina o masini komepiuta i Docker
  • Lagolago: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, ma isi.
  • Open Source

O se mea faigaluega sili ona manaia, ae le iloa. I la matou tulaga, faatasi ai ma lana fesoasoani matou te faʻatautaia Juniper vMX ma Cisco xRV9000 i luga ole Ubuntu 20.04 LTS masani.

E mafai ona e faitau atili e uiga ia te ia i itulau o galuega faatino.

Vaega 2: galuega su'esu'e

I lenei aʻoaʻoga o le a matou faʻatulagaina le faiga lea:

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

E faapefea e lenei galuega

  • Juniper vMX tula'i i Docker pusa (e ala Vrnetlab) ma galue e pei o le telefoni feaveaʻi masani.
  • ODL feso'ota'i i le router ma fa'atagaina oe e pulea.
  • Falemeli faʻalauiloa i luga o se masini ese ma e ala mai ai matou te auina atu ai faʻatonuga ODL: mo le faʻafesoʻotaʻi / aveese se router, suia le faʻatulagaina, ma isi.

Fa'amatalaga i le mamanu faiga

Juniper vMX и ODL e manaʻomia le tele o punaoa mo latou faʻagaioiga mautu. Na'o le tasi vMX Talosaga 6 GB o le RAM ma 4 cores. O le mea lea, na tonu ai e ave uma "mamafa mamafa" i se masini ese (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). O le router, ioe, e le "lele" i luga, ae o loʻo lava le faʻatinoga mo faʻataʻitaʻiga laiti.

Vaega 3: Fa'atulaga OpenDaylight

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

O le lomiga o loʻo iai nei o le ODL i le taimi o le tusitusi o le Magnesium SR1

1) Fa'apipi'i Java OpenJDK 11 (mo nisi faʻapipiʻi faʻapipiʻi iinei)

ubuntu:~$ sudo apt install default-jdk

2) Su'e ma la'u mai le faufale fou ODL mai iinei
3) Tatala le fa'amaumauga na sii mai
4) Alu i le lisi e maua ai
5) Fa'alauiloa ./bin/karaf

I lenei laasaga ODL e tatau ona amata ma o le a tatou maua i tatou lava i totonu o le faʻamafanafanaga (Mo le avanoa i fafo, ua faʻaaogaina le taulaga 8181, lea o le a tatou faʻaaogaina mulimuli ane).

Sosoo ai matou fa'apipi'i ODL Features, ua fuafuaina e galulue faatasi ma protocols NETCONF и RESTCONF. Ina ia faia lenei mea i le console ODL fai:

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

O le seti aupito faigofie lea ODL mae'a. (Mo nisi faʻamatalaga e mafai ona e faitau iinei).

Vaega 4: Faʻatulagaina Vrnetlab

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

Sauniuniga faiga

Ae le i faʻapipiʻiina Vrnetlab e tatau ona e faʻapipiʻi afifi e manaʻomia e galue ai. Pei o le 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

Fa'apipi'i Vrnetlab

Mo faapipiiina Vrnetlab faʻapipiʻi le fale teu oloa mai le github:

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

Alu i le lisi vrnetlab:

ubuntu:~$ cd ~/vrnetlab

O iinei e mafai ona e vaʻai i faʻamaumauga uma e manaʻomia e taʻavale ai. Faamolemole ia matau o ituaiga ta'itasi uma o le router ua faia se fa'atonuga talafeagai:

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

Fausia se ata o le router

O router uma e lagolagoina Vrnetlab, e iai lana lava fa'atulagaga fa'atulagaina tulaga ese. O afea Juniper vMX Pau lava le mea e tatau ona matou faia o le tuʻuina atu o le .tgz archive ma le router (e mafai ona e sii maia mai nofoaga aloaia) i le vmx directory ma faʻatino le poloaiga make:

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

Fausia le ata vMX e tusa ma le 10-20 minute. Ua oo i le taimi e alu ai e fai sina kofe!

Aisea ua umi ai, e te fesili ai?

Faaliliuga faʻailoga tali a le tusitala i lenei fesili:

"E mafua ona o le taimi muamua e amata ai le VCP (Control Plane), e faitau se faila seti e iloa ai pe o le a tamoʻe o se VRR VCP i le vMX. I le taimi muamua, o lenei amataga na faia i le taimi o le amataga o Docker, ae o lona uiga o le VCP na toe amataina i le tasi taimi. aʻo leʻi maua le telefoni feaveaʻi, e mafua ai se taimi umi o le taʻavale (pe a ma le 5 minute) O le taimi nei o le VCP muamua na faia i le taimi o le fausiaina o ata Docker, ma talu ai e le mafai ona taʻavale le Docker build i le --privileged option, o lona uiga o le qemu. e aunoa ma le fa'avavevave o meafaigaluega KVM ma e umi se taimi e fau ai. Tele ogalaau o lo'o fa'atinoina i le faagasologa o lenei faiga, o lea e mafai ai ona e va'ai i le mea o lo'o tupu. , ae faʻalauiloa le tele."

Mulimuli ane e mafai ona e vaʻai i le ata o le matou router i totonu 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

Tatala le pusa vr-vmx

Matou te tatalaina i le poloaiga:

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

O le isi mea e mafai ona tatou vaʻai i faʻamatalaga e uiga i koneteina o loʻo galue:

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

Feso'ota'i i le router

O le tuatusi IP o le fesoʻotaʻiga fesoʻotaiga a le router e mafai ona maua i le poloaiga lenei:

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

Fa'atonu, Vrnetlab faia se tagata fa'aoga i luga o le router vrnetlab/VR-netlab9.
Feso'ota'i fa'aoga 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

Ole mea lea e fa'auma ai le fa'atulagaina ole router.

Fautuaga fa'apipi'i mo 'auala mai fa'atau 'ese'ese e mafai ona maua ile poloketi github i totonu o fa'amaumauga talafeagai.

Vaega 5: Lemeli - faʻafesoʻotaʻi le router i OpenDaylight

Fa'apipi'i le Falemeli

Ina ia faʻapipiʻi, naʻo le downloadina o le talosaga mai iinei.

Faʻafesoʻotaʻi le router i le ODL

Tatou fatu tuʻu talosaga:

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

  1. Manoa fesili:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Talosaga tino (Tapa Tino):
    <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. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin. E mana'omia lenei mea e maua ai le ODL:
    Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab
  4. I luga o le Headers tab e te manaʻomia e faʻaopoopo ai ulutala e lua:
    • Talia le talosaga/xml
    • Fa'aoga-ituaiga talosaga/xml

Ua maea la matou talosaga. Matou te auina atu. Afai na faʻatulaga saʻo mea uma, e tatau ona tatou toe faʻafoʻi le tulaga "201 Created":

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

O le a le mea e fai e lenei talosaga?

Matou te faia se node i totonu ODL fa'atasi ai ma tapula'a o le router moni tatou te fia maua.

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

O igoa ia i totonu XML (XML igoa avanoa) mo ODL e tusa ai ma le mea e faia ai le node.

E le gata i lea, e tusa ai ma le igoa o le router node-id, tuatusi o le router - matai ma isi.

Ole laina pito sili ona manaia ole laina mulimuli. Schema-cache-directory faia se lisi e la'u uma ai faila YANG Fuafuaga feso'ota'i router. E mafai ona e mauaina i latou i totonu $ODL_ROOT/cache/jun01_cache.

Siaki le so'oga o le router

Tatou fatu MAUA talosaga:

  1. Manoa fesili:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin.

Matou te auina atu. E tatau ona maua se tulaga "200 OK" ma se lisi o masini lagolago uma YANG Fuafuaga:

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

manatu: Ina ia vaʻai i le mea mulimuli, i loʻu tulaga sa tatau ona faʻatali pe a ma le 10 minute pe a uma le faʻatinoga tuʻupau lava lena mo le taimi nei YANG fuafuaga o le a la'u i luga ODL. E oʻo mai i le taimi nei, pe a faia lenei mea MAUA ole fesili ole a fa'aalia mea nei:

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

Aveese le router

Tatou fatu aveese talosaga:

  1. Manoa fesili:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin.

Vaega 6: Suia le faatulagaga router

Mauaina o le faatulagaga

Tatou fatu MAUA talosaga:

  1. Manoa fesili:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin.

Matou te auina atu. E tatau ona maua le tulaga "200 OK" ma le faatulagaga o le router:

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

Fausia se fa'atulagaga

Mo se faʻataʻitaʻiga, seʻi o tatou fatuina le faʻatulagaga lea ma suia:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Tatou fatu POST talosaga:

  1. Manoa fesili:
    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. Talosaga tino (Tapa Tino):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin.
  4. I luga o le Headers tab e te manaʻomia e faʻaopoopo ai ulutala e lua:
    • Talia le talosaga/xml
    • Fa'aoga-ituaiga talosaga/xml

A maeʻa ona tuʻuina atu e tatau ona e mauaina le tulaga "204 No Content"

E mafai ona e fa'aogaina le fesili muamua e fa'amaonia ai ua suia le fa'atulagaga. Ae mo le faʻataʻitaʻiga, o le a matou faia se isi mea e faʻaalia ai naʻo faʻamatalaga e uiga i faʻasalalauga faʻapipiʻi i luga o le router.

Tatou fatu MAUA talosaga:

  1. Manoa fesili:
    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. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin.

A maeʻa le faʻatinoina o le talosaga, o le a tatou vaʻai i mea nei:

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

Suia le faatulagaga

Sei o tatou suia le faʻamatalaga e uiga i le BGP protocol. A maeʻa a tatou gaioiga o le a faʻapea:

protocols {
    bgp {
        disable;
    }
}

Tatou fatu tuʻu talosaga:

  1. Manoa fesili:
    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. Talosaga tino (Tapa Tino):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin.
  4. I luga o le Headers tab e te manaʻomia e faʻaopoopo ai ulutala e lua:
    • Talia le talosaga/xml
    • Fa'aoga-ituaiga talosaga/xml

Faʻaaogaina muamua MAUA talosaga, matou te vaʻai i suiga:

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

Ta'e le seti

Tatou fatu aveese talosaga:

  1. Manoa fesili:
    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. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin.

Ina ua valaauina MAUA talosaga ma faʻamatalaga e uiga i protocols o le a matou vaʻai i mea nei:

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

Faʻaopoopoga:

Ina ia suia le faʻatulagaga, e le manaʻomia le tuʻuina atu o le tino talosaga i le faatulagaga XML. E mafai foi ona faia lenei mea i le faatulagaga JSON.

Ina ia faia lenei mea, mo se faʻataʻitaʻiga, i le talosaga tuʻu ina ia suia le faatulagaga, sui le tino talosaga i:

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

Aua nei galo e sui ulutala i luga o le Headers tab i:

  • Talia le talosaga/json
  • Content-Type application/json

A maeʻa ona tuʻuina atu matou te maua le faʻaiʻuga o loʻo mulimuli mai (Matou te vaʻavaʻai i le tali e faʻaaoga ai MAUA talosaga):

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

Vaega 7: Faʻaopoopo Cisco xRV9000

O le a lo tatou uiga uma e uiga ia Juniper, ioe e uiga ia Juniper? Sei o tatou talanoa e uiga ia Cisco!
Na ou mauaina le xRV9000 version 7.0.2 (se manu feʻai e manaʻomia le 8Gb RAM ma 4 cores. E le maua fua, faʻafesoʻotaʻi Cisco) - tatou fa'alauiloa.

Ta'avale se koneteina

O le faagasologa o le fatuina o se pusa Docker e toetoe lava a leai se eseesega mai Juniper. I se tulaga talitutusa, matou te tuʻuina le faila .qcow2 ma le router i totonu o le lisi e fetaui ma lona igoa (i lenei tulaga xrv9k) ma faʻatino le poloaiga make docker-image.

A maeʻa ni nai minute matou te vaʻai ua faia le ata:

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

Se'i tatou fa'alauiloa le koneteina:

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

Ina ua mavae sina taimi, matou te iloa ua amata le koneteina:

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

Fesoʻotaʻi e ala ile 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

Fa'afeso'ota'i le alalaupapa ile OpenDaylight

Faʻaopoopo e tupu i se auala tutusa atoatoa i le vMX. Na'o lou mana'omia e sui igoa.
tuʻu talosaga:
Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

A mavae sina taimi matou te valaau atu ai MAUA talosaga e siaki pe o feso'ota'i mea uma:
Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

Suia le faatulagaga

Sei o tatou setiina le faatulagaga lenei:

!
router ospf LAB
 mpls ldp auto-config
!

Tatou fatu POST talosaga:

  1. Manoa fesili:
    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. Talosaga tino (Tapa Tino):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin.
  4. I luga o le Headers tab e te manaʻomia e faʻaopoopo ai ulutala e lua:
    • Talia le talosaga/json
    • Content-Type application/json

A maeʻa lona faʻataunuʻuina, e tatau ona e mauaina le tulaga "204 Leai se Content".

Sei o tatou siaki mea na tatou maua.
Mo lenei mea o le a tatou fatuina MAUA talosaga:

  1. Manoa fesili:
    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. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin.

A maeʻa le faʻatinoga e tatau ona e vaʻai i mea nei:

Otometi o 'au'aunaga feso'ota'iga po'o le auala e fausia ai se falesu'esu'e fa'apitoa e fa'aaoga ai le OpenDaylight, Postman ma Vrnetlab

Ina ia tape le faʻaoga faʻaoga aveese:

  1. Manoa fesili:
    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. I luga o le Fa'atagaga tab e tatau ona e setiina le parakalafa Basic Auth ma saini/password: admin/admin.

iʻuga

I le aotelega, e pei ona e matauina, o faiga mo le faʻafesoʻotaʻi Cisco ma Juniper i OpenDaylight e leai se eseesega - o lenei mea e tatalaina ai se lautele lautele mo le fatufatuaʻi. Amata i le puleaina o fa'atonuga o vaega uma o feso'ota'iga ma fa'ai'u i le faia o au lava faiga fa'avae feso'ota'iga.
I lenei aʻoaʻoga na ou tuʻuina atu ai faʻataʻitaʻiga faigofie o le auala e mafai ai ona e fegalegaleai ma meafaigaluega fesoʻotaʻiga e faʻaaoga ai OpenDaylight. E aunoa ma se masalosalo, o talosaga mai faʻataʻitaʻiga o loʻo i luga e mafai ona sili atu ona faigata ma e mafai ona faʻatulagaina auaunaga uma i le kiliki e tasi o le isumu - o mea uma e faʻamapulaʻa naʻo ou mafaufauga *

Ia toe faauau…

SALA

Afai ua faʻafuaseʻi ona e iloa uma nei mea poʻo, i se isi itu, ua e alu i ai ma ua goto le ODL i lou agaga, ona ou fautuaina lea e vaʻai i le atinaʻeina o talosaga i luga o le ODL controller. E mafai ona e amata mai iinei.

Fiafia fa'ata'ita'iga!

Faʻaaliga

  1. Vrnetlab: Faʻataʻitaʻi fesoʻotaʻiga e faʻaaoga ai KVM ma Docker /Brian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, Et al
  3. Fesootaiga Polokalama ma YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Aoaoina XML, Lomiga Lua / Erik T. Ray
  5. Lelei DevOps / Jennifer Davis, Ryn Daniels

puna: www.habr.com

Faaopoopo i ai se faamatalaga