рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдпрд╕ рд▓реЗрдЦрдорд╛, рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрд╕рд░реА рд╕реЗрдЯ рдЕрдк рдЧрд░реНрдиреЗ рднрдиреЗрд░ рджреЗрдЦрд╛рдЙрдиреЗрдЫреБ рдЦреБрд▓рд╛ рджрд┐рдирдХреЛ рдкреНрд░рдХрд╛рд╢ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди, рд░ рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдкрдирд┐ рджреЗрдЦрд╛рдЙрдиреБрд╣реЛрд╕реН рд╣реБрд▓рд╛рдХреА рд░ рд╕рд░рд▓ RESTCONF рдЕрдиреБрд░реЛрдз, рдпреЛ рдЙрдкрдХрд░рдг рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рд╣рд╛рдореА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджреИрдиреМрдВ, рддрд░ рдпрд╕рдХреЛ рд╕рдЯреНрдЯрд╛рдорд╛ рд╣рд╛рдореА рдПрдЙрдЯреИ рд░рд╛рдЙрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рд╛рдирд╛ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВред Vrnetlab рдорд╛рдерд┐ Ubuntu 20.04 LTS.

рдо рд░рд╛рдЙрдЯрд░рдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡рд┐рд╕реНрддреГрдд рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рджреЗрдЦрд╛рдЙрдиреЗрдЫреБ рдЬреБрдирд┐рдкрд░ vMX 20.1R1.11, рд░ рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рд╕реЗрдЯрд┐рдЩрд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрдЫреМрдВ рд╕рд┐рд╕реНрдХреЛ xRV9000 7.0.2.

рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ

  • рдЖрд╡рд╢реНрдпрдХ рдЬреНрдЮрд╛рди
  • 1 рднрд╛рдЧ: рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЪрд░реНрдЪрд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН OpenDaylight (рдпрд╕рдкрдЫрд┐ ODL), рд╣реБрд▓рд╛рдХреА ╨╕ Vrnetlab рд░ рд╣рд╛рдореАрд▓рд╛рдИ рдХрд┐рди рдЪрд╛рд╣рд┐рдиреНрдЫ
  • 2 рднрд╛рдЧ: рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛рдХреЛ рд╡рд┐рд╡рд░рдг
  • 3 рднрд╛рдЧ: рдЕрдиреБрдХреВрд▓рди рдЦреБрд▓рд╛ рджрд┐рдирдХреЛ рдкреНрд░рдХрд╛рд╢
  • 4 рднрд╛рдЧ: рдЕрдиреБрдХреВрд▓рди Vrnetlab
  • 5 рднрд╛рдЧ: рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣реБрд▓рд╛рдХреА рднрд░реНрдЪреБрдЕрд▓ рд░рд╛рдЙрдЯрд░ рдЬрдбрд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдЬреБрдирд┐рдкрд░ vMX) рд▓рд╛рдИ ODL
  • 6 рднрд╛рдЧ: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд░рд╛рдЙрдЯрд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╣реБрд▓рд╛рдХреА ╨╕ ODL
  • 7 рднрд╛рдЧ: Cisco xRV9000 рдердкреНрдиреБрд╣реЛрд╕реН
  • рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛
  • PS
  • рдмрд┐рдмреНрд▓рд┐рдпреЛрдЧреНрд░рд╛рдлреА

рдЖрд╡рд╢реНрдпрдХ рдЬреНрдЮрд╛рди

рд▓реЗрдЦрд▓рд╛рдИ рдкрд╛рдирд╛рдорд╛ рдкрд░рд┐рдгрдд рдирдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдореИрд▓реЗ рдХреЗрд╣реА рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рд╡рд┐рд╡рд░рдгрд╣рд░реВ (рд╕рд╛рд╣рд┐рддреНрдпрдХрд╛ рд▓рд┐рдЩреНрдХрд╣рд░реВ рдЬрд╣рд╛рдБ рддрдкрд╛рдЗрдБ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ) рдЫреЛрдбреЗрдХреЛ рдЫреБред

рдпрд╕ рд╕рдореНрдмрдиреНрдзрдорд╛, рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╢реАрд░реНрд╖рдХрд╣рд░реВ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджрдЫреБ рдЬреБрди рдкрдвреНрдиреБ рдЕрдШрд┐ рдЬрд╛рдиреНрди рд░рд╛рдореНрд░реЛ (рддрд░ рд▓рдЧрднрдЧ рдЖрд╡рд╢реНрдпрдХ рдЫреИрди) рд╣реБрдиреЗрдЫ:

рднрд╛рдЧ рез: рдХреЗрд╣реА рд╕рд┐рджреНрдзрд╛рдиреНрдд

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

  • рд╕рдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рд╕рдЮреНрдЬрд╛рд▓рд╣рд░реВ рдкреНрд░рдмрдиреНрдз рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЦреБрд▓рд╛ SDN рдкреНрд▓реЗрдЯрдлрд░реНрдо, рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд▓рд┐рдирдХреНрд╕ рдлрд╛рдЙрдиреНрдбреЗрд╢рди
  • рдЬрд╛рднрд╛ рднрд┐рддреНрд░
  • рдореЛрдбреЗрд▓-рд╕рдВрдЪрд╛рд▓рд┐рдд рд╕реЗрд╡рд╛ рдПрдмреНрд╕реНрдЯреНрд░реЗрдХреНрд╢рди рд╕реНрддрд░ (MD-SAL) рдорд╛ рдЖрдзрд╛рд░рд┐рдд
  • рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ RESTCONF API рд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди YANG рдореЛрдбреЗрд▓рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ

рдиреЗрдЯрд╡рд░реНрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рд▓рд╛рдЧрд┐ рдореБрдЦреНрдп рдореЛрдбреНрдпреБрд▓ред рдпрд╕рдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ рд╣рд╛рдореА рдЬрдбрд╛рди рднрдПрдХрд╛ рдЙрдкрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрдиреЗрдЫреМрдВред рдЖрдлреНрдиреИ API рдорд╛рд░реНрдлрдд рд╡реНрдпрд╡рд╕реНрдерд┐рддред

рддрдкрд╛рдИрдВ OpenDaylight рдмрд╛рд░реЗ рдердк рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпрд╣рд╛рдБ.

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

  • API рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг
  • рд╕рд░рд▓ рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЗрдиреНрдЯрд░рдлреЗрд╕

рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ OpenDaylight API рдорд╛ REST рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкрдард╛рдЙрдиреЗ рдорд╛рдзреНрдпрдордХреЛ рд░реВрдкрдорд╛ рд░реБрдЪрд┐ рд░рд╛рдЦреНрдЫреМрдВред рддрдкрд╛рдИрд▓реЗ, рдЕрд╡рд╢реНрдп рдкрдирд┐, рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкрдард╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдкреЛрд╕реНрдЯрдореНрдпрд╛рдирдорд╛ рд╕рдмреИ рдХреБрд░рд╛ рдзреЗрд░реИ рд╕реНрдкрд╖реНрдЯ рджреЗрдЦрд┐рдиреНрдЫ рд░ рд╣рд╛рдореНрд░реЛ рдЙрджреНрджреЗрд╢реНрдпрд╣рд░реВ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕реВрдЯ рдЧрд░реНрджрдЫред

рдЦрдиреНрди рдЪрд╛рд╣рдиреЗрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐: рдпрд╕рдорд╛ рдзреЗрд░реИ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╛рдордЧреНрд░реА рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐).

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

  • рдбрдХрд░рдорд╛ рднрд░реНрдЪреБрдЕрд▓ рд░рд╛рдЙрдЯрд░рд╣рд░реВ рдбрд┐рдкреНрд▓реЛрдЗ рдЧрд░реНрдиреЗ рдЙрдкрдХрд░рдг
  • рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ: рд╕рд┐рд╕реНрдХреЛ XRv, рдЬреБрдирд┐рдкрд░ vMX, Arista vEOS, Nokia VSR, рдЖрджрд┐ред
  • рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд

рдПрдХ рдзреЗрд░реИ рд░реЛрдЪрдХ рддрд░ рдХрдо рдЬреНрдЮрд╛рдд рдЙрдкрдХрд░рдгред рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдЬреБрдирд┐рдкрд░ vMX рд░ Cisco xRV9000 рд▓рд╛рдИ рдирд┐рдпрдорд┐рдд Ubuntu 20.04 LTS рдорд╛ рдЪрд▓рд╛рдЙрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВред

рддрдкрд╛рдИрдВ рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреГрд╖реНрда.

рднрд╛рдЧ реи: рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛

рдпрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓рдорд╛, рд╣рд╛рдореА рдирд┐рдореНрди рдкреНрд░рдгрд╛рд▓реА рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗрдЫреМрдВ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдпреЛ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ

  • рдЬреБрдирд┐рдкрд░ vMX рдорд╛ рдЙрдареНрдЫ рдбрдХрд░ рдХрдиреНрдЯреЗрдирд░ (рдорд╛рдзреНрдпрдо рджреНрд╡рд╛рд░рд╛ Vrnetlab) рд░ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╛рдорд╛рдиреНрдп рднрд░реНрдЪреБрдЕрд▓ рд░рд╛рдЙрдЯрд░рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрджрдЫред
  • ODL рд░рд╛рдЙрдЯрд░рдорд╛ рдЬрдбрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпрд╕рд▓рд╛рдИ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • рд╣реБрд▓рд╛рдХреА рдЫреБрдЯреНрдЯреИ рдореЗрд╕рд┐рдирдорд╛ рд▓рдиреНрдЪ рдЧрд░рд┐рдпреЛ рд░ рдпрд╕рдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ рд╣рд╛рдореА рдЖрджреЗрд╢рд╣рд░реВ рдкрдард╛рдЙрдБрдЫреМрдВ ODL: рд░рд╛рдЙрдЯрд░ рдЬрдбрд╛рди / рд╣рдЯрд╛рдЙрди, рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди, рдЖрджрд┐ред

рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдЙрдкрдХрд░рдгрдорд╛ рдЯрд┐рдкреНрдкрдгреА

рдЬреБрдирд┐рдкрд░ vMX ╨╕ ODL рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реНрдерд┐рд░ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рд╕реНрд░реЛрддрд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫред рдПрдХ рдорд╛рддреНрд░ vMX 6 рдЬреАрдмреА RAM рд░ 4 рдХреЛрд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕реЛрдзреНрдЫред рддрд╕рд░реНрде, рд╕рдмреИ "рд╣реЗрд╡реАрд╡реЗрдЯреНрд╕" рд▓рд╛рдИ рдЫреБрдЯреНрдЯреИ рдореЗрд╕рд┐рдирдорд╛ рд╕рд╛рд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░рд┐рдпреЛ (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS)ред рд░рд╛рдЙрдЯрд░, рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдпрд╕рдорд╛ "рдЙрдбрд╛рди" рдЧрд░реНрджреИрди, рддрд░ рдкреНрд░рджрд░реНрд╢рди рд╕рд╛рдирд╛ рдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдЫред

рднрд╛рдЧ рей: OpenDaylight рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдпреЛ рд▓реЗрдЦрдирдХреЛ рд╕рдордпрдорд╛ ODL рдХреЛ рд╣рд╛рд▓рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдореНрдпрд╛рдЧреНрдиреЗрд╕рд┐рдпрдо SR1 рд╣реЛ

1) рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬрд╛рднрд╛ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН JDK 11 (рдердк рд╡рд┐рд╕реНрддреГрдд рд╕реНрдерд╛рдкрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдпрд╣рд╛рдБ)

ubuntu:~$ sudo apt install default-jdk

2) рдирд╡реАрдирддрдо рдирд┐рд░реНрдорд╛рдг рдЦреЛрдЬреНрдиреБрд╣реЛрд╕реН рд░ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН ODL рдпрд╣рд╛рдБ рджреЗрдЦрд┐
3) рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рд╕рдВрдЧреНрд░рд╣ рдЕрдирдЬрд┐рдк рдЧрд░реНрдиреБрд╣реЛрд╕реН
4) рдирддрд┐рдЬрд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН
5) рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН ./bin/karaf

рдпрд╕ рдЪрд░рдгрдорд╛ ODL рд╕реБрд░реБ рдЧрд░реНрдиреБрдкрд░реНрдЫ рд░ рд╣рд╛рдореА рдЖрдлреИрд▓рд╛рдИ рдХрдиреНрд╕реЛрд▓рдорд╛ рднреЗрдЯреНрдЯрд╛рдЙрдиреЗрдЫреМрдВ (рдкреЛрд░реНрдЯ 8181 рдмрд╛рд╣рд┐рд░рдмрд╛рдЯ рдкрд╣реБрдБрдЪрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЬреБрди рд╣рд╛рдореА рдкрдЫрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВ)ред

рдЕрд░реНрдХреЛ, рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН ODL рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдкреНрд░реЛрдЯреЛрдХрд▓ рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди NETCONF ╨╕ RESTCONFред рдХрдиреНрд╕реЛрд▓рдорд╛ рдпреЛ рдЧрд░реНрди ODL рд╣рд╛рдореА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдЫреМрдВ:

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

рдпреЛ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд░рд▓ рд╕реЗрдЯрдЕрдк рд╣реЛред ODL рдкреВрд░рд╛ рднрдпреЛред (рдердк рд╡рд┐рд╡рд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН рдпрд╣рд╛рдБ).

рднрд╛рдЧ рек: Vrnetlab рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдкреНрд░рдгрд╛рд▓реА рддрдпрд╛рд░реА

рд╕реНрдерд╛рдкрдирд╛ рдЕрдШрд┐ Vrnetlab рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЬрд╕реНрддреИ рдбрдХрд░, рдЬрд╛рдиреБрд╣реЛрд╕реН, 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

Vrnetlab рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИ

рд╕реНрдерд╛рдкрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ Vrnetlab github рдмрд╛рдЯ рд╕рдореНрдмрдиреНрдзрд┐рдд рднрдгреНрдбрд╛рд░ рдХреНрд▓реЛрди рдЧрд░реНрдиреБрд╣реЛрд╕реН:

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

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН vrnetlab:

ubuntu:~$ cd ~/vrnetlab

рдпрд╣рд╛рдБ рддрдкрд╛рдИрдБрд▓реЗ рдЪрд▓рд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рд╕рдмреИ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рд╣реЗрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░рдХреЛ рд░рд╛рдЙрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдмрдиреНрдзрд┐рдд рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдЗрдПрдХреЛ рдЫ:

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

рд░рд╛рдЙрдЯрд░рдХреЛ рдЫрд╡рд┐ рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН

рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЙрдЯрд░ рд╕рдорд░реНрдерд┐рдд рдЫ Vrnetlab, рдпрд╕рдХреЛ рдЖрдлреНрдиреИ рдЕрджреНрд╡рд┐рддреАрдп рд╕реЗрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЫред рдХрд╣рд┐рд▓реЗ рдЬреБрдирд┐рдкрд░ vMX рд╣рд╛рдореАрд▓реЗ рднрд░реНрдЦрд░реИ рд░рд╛рдЙрдЯрд░рд╕рдБрдЧ .tgz рдЕрднрд┐рд▓реЗрдЦ рдЕрдкрд▓реЛрдб рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ (рддрдкрд╛рдИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ) vmx рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН рд░ рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН make:

ubuntu:~$ cd ~/vrnetlab/vmx
ubuntu:~$ # ╨Ъ╨╛╨┐╨╕╤А╤Г╨╡╨╝ ╨▓ ╤Н╤В╤Г ╨┤╨╕╤А╨╡╨║╤В╨╛╤А╨╕╤О .tgz ╨░╤А╤Е╨╕╨▓ ╤Б ╤А╨╛╤Г╤В╨╡╤А╨╛╨╝
ubuntu:~$ sudo make

рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджреИ vMX рд▓рдЧрднрдЧ 10-20 рдорд┐рдиреЗрдЯ рд▓рд╛рдЧреНрдиреЗрдЫред рдпреЛ рдХреЗрд╣рд┐ рдХрдлреА рд▓рд┐рди рдЬрд╛рдиреЗ рд╕рдордп рд╣реЛ!

рдХрд┐рди рдпрддрд┐ рд▓рд╛рдореЛ, рддрдкрд╛рдИрдВ рд╕реЛрдзреНрдиреБрд╣реБрдиреНрдЫ?

рдЕрдиреБрд╡рд╛рдж ╨╛╤В╨▓╨╡╤В╨░ рдпрд╕ рдкреНрд░рд╢реНрдирдХреЛ рд▓реЗрдЦрдХ:

"рдпреЛ рдХрд┐рдирднрдиреЗ рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ VCP (рдХрдиреНрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди) рд╕реБрд░реБ рднрдПрдХреЛ рдЫ, рдпрд╕рд▓реЗ рдХрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓ рдкрдвреНрдЫ рдЬрд╕рд▓реЗ рдпреЛ vMX рдорд╛ VRR VCP рдХреЛ рд░реВрдкрдорд╛ рдЪрд▓реНрдЫ рдХрд┐ рд╣реБрдБрджреИрди рднрдиреЗрд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫред рдкрд╣рд┐рд▓реЗ, рдпреЛ рд▓рдиреНрдЪ рдбрдХрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдХреЛ рд╕рдордпрдорд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рддрд░ рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реЛ рдХрд┐ VCP рднрд░реНрдЪреБрдЕрд▓ рд░рд╛рдЙрдЯрд░ рдЙрдкрд▓рдмреНрдз рд╣реБрдиреБ рдЕрдШрд┐ рд╕рдзреИрдВ рдПрдХ рдкрдЯрдХ рдкреБрди: рд╕реБрд░реБ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓рд╛рдореЛ рдмреБрдЯ рд╕рдордп (рд▓рдЧрднрдЧ 5 рдорд┐рдиреЗрдЯ) рдЕрдм VCP рдХреЛ рдкрд╣рд┐рд▓реЛ рд░рди рдбрдХрд░ рдЫрд╡рд┐рдХреЛ рдирд┐рд░реНрдорд╛рдгрдХреЛ рдХреНрд░рдордорд╛ рдЧрд░рд┐рдиреНрдЫ, рд░ рдбрдХрд░ рдмрд┐рд▓реНрдб -рд╕рдБрдЧ рдЪрд▓рд╛рдЙрди рд╕рдХрд┐рдБрджреИрдиред -рдкреНрд░рд┐рднрд┐рд▓реЗрдЬреНрдб рд╡рд┐рдХрд▓реНрдк, рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реЛ рдХрд┐ qemu рд▓реЗ KVM рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдПрдХреНрд╕реЗрд▓реЗрд░реЗрд╢рди рдмрд┐рдирд╛ рдХрд╛рдо рдЧрд░реНрдЫ рд░ рдпрд╕рд░реА рдирд┐рд░реНрдорд╛рдгрд▓реЗ рдзреЗрд░реИ рд╕рдордп рд▓рд┐рдиреНрдЫред рдпрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдХреНрд░рдордорд╛, рдзреЗрд░реИ рд▓рдЧрд╣рд░реВ рдЖрдЙрдЯрдкреБрдЯ рд╣реБрдиреНрдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рдХрдореНрддрд┐рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рдХреЗ рднрдЗрд░рд╣реЗрдХреЛ рдЫ рднрдиреЗрд░ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ рд▓рд╛рдореЛ рдирд┐рд░реНрдорд╛рдг рддреНрдпрддрд┐ рдбрд░рд▓рд╛рдЧреНрджреЛ рдЫреИрди рдХрд┐рдирднрдиреЗ рд╣рд╛рдореА рдПрдХ рдкрдЯрдХ рдЫрд╡рд┐ рдмрдирд╛рдЙрдБрдЫреМрдВ, рддрд░ рд╣рд╛рдореА рдзреЗрд░реИ рд▓рдиреНрдЪ рдЧрд░реНрдЫреМрдВред"

рддрдкрд╛рдИрдВрд▓реЗ рд╣рд╛рдореНрд░реЛ рд░рд╛рдЙрдЯрд░рдХреЛ рдЫрд╡рд┐ рд╣реЗрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдкрдЫрд┐ рдбрдХрд░:

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

vr-vmx рдХрдиреНрдЯреЗрдирд░ рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд╣рд╛рдореА рдЖрджреЗрд╢рдХреЛ рд╕рд╛рде рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВ:

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

рдЕрд░реНрдХреЛ, рд╣рд╛рдореА рд╕рдХреНрд░рд┐рдп рдХрдиреНрдЯреЗрдирд░рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рд╣реЗрд░реНрди рд╕рдХреНрдЫреМрдВ:

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

рд░рд╛рдЙрдЯрд░рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджреИ

рд░рд╛рдЙрдЯрд░рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕рдХреЛ рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛ рдирд┐рдореНрди рдЖрджреЗрд╢рдХреЛ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:

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

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд, Vrnetlab рд░рд╛рдЙрдЯрд░рдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ vrnetlab/VR-netlab9.
рд╕рдВрдЧ рдЬрдбрд╛рди рдЧрд░реНрджреИ 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

рдпрд╕рд▓реЗ рд░рд╛рдЙрдЯрд░ рд╕реЗрдЯрдЕрдк рдкреВрд░рд╛ рдЧрд░реНрджрдЫред

рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХреНрд░реЗрддрд╛рд╣рд░реВрдХреЛ рд░рд╛рдЙрдЯрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдерд╛рдкрдирд╛ рд╕рд┐рдлрд╛рд░рд┐рд╕рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫ github рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдореНрдмрдиреНрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рд╣рд░реВрдорд╛ред

рднрд╛рдЧ 5: рдкреЛрд╕реНрдЯрдореНрдпрд╛рди - рд░рд╛рдЙрдЯрд░рд▓рд╛рдИ OpenDaylight рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдкреЛрд╕реНрдЯрдореНрдпрд╛рди рд╕реНрдерд╛рдкрдирд╛

рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди, рдХреЗрд╡рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН рдпрд╣рд╛рдБ рджреЗрдЦрд┐.

рд░рд╛рдЙрдЯрд░рд▓рд╛рдИ ODL рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджреИ

рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рд░рд╛рдЦреНрдиреБ рдЕрдиреБрд░реЛрдз:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. рдЕрдиреБрд░реЛрдз рдореБрдЦреНрдп рднрд╛рдЧ (рд╢рд░реАрд░ рдЯреНрдпрд╛рдм):
    <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. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред рдпреЛ ODL рдкрд╣реБрдБрдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
    рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ
  4. рд╣реЗрдбрд░ рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рджреБрдИ рд╣реЗрдбрд░рд╣рд░реВ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
    • рдЖрд╡реЗрджрди рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН/xml
    • рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ/xml

рд╣рд╛рдореНрд░реЛ рдЕрдиреБрд░реЛрдз рдЧрд░рд┐рдПрдХреЛ рдЫред рд╣рд╛рдореА рдкрдард╛рдЙрдБрдЫреМрдВред рдпрджрд┐ рд╕рдмреИ рдХреБрд░рд╛ рд╕рд╣реА рд░реВрдкрдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рднрдиреЗ, рд╣рд╛рдореАрд▓реЗ рд╕реНрдерд┐рддрд┐ "201 рд╕рд┐рд░реНрдЬрдирд╛" рдлрд░реНрдХрд╛рдЙрдиреБ рдкрд░реНрдЫ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдпреЛ рдЕрдиреБрд░реЛрдзрд▓реЗ рдХреЗ рдЧрд░реНрдЫ?

рд╣рд╛рдореА рднрд┐рддреНрд░ рдиреЛрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВ ODL рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд╛рдЙрдЯрд░рдХреЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрд╕рдБрдЧ рд╣рд╛рдореА рдкрд╣реБрдБрдЪ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВред

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

рдпреА рдЖрдиреНрддрд░рд┐рдХ рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВ рд╣реБрдиреН XML (XML рдирд╛рдо рд╕реНрдерд╛рди) рдХреЛ рд▓рд╛рдЧрд┐ ODL рдЬрд╕ рдЕрдиреБрд╕рд╛рд░ рдпрд╕рд▓реЗ рдиреЛрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫред

рдпрд╕рдмрд╛рд╣реЗрдХ, рдХреНрд░рдорд╢рдГ рд░рд╛рдЙрдЯрд░рдХреЛ рдирд╛рдо рд╣реЛ рдиреЛрдб-рдЖрдИрдбреА, рд░рд╛рдЙрдЯрд░ рдареЗрдЧрд╛рдирд╛ - рдкрд╛рд╣реБрдирд╛ рд░ рдпрддрд┐ред

рд╕рдмреИрднрдиреНрджрд╛ рд░реЛрдЪрдХ рд▓рд╛рдЗрди рдЕрдиреНрддрд┐рдо рдПрдХ рд╣реЛред рдпреЛрдЬрдирд╛-рдХреНрдпрд╛рд╕-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ рдЬрд╣рд╛рдБ рд╕рдмреИ рдлрд╛рдЗрд▓рд╣рд░реВ рдбрд╛рдЙрдирд▓реЛрдб рд╣реБрдиреНрдЫрдиреН рдпрд╛рдЩ рдпреЛрдЬрдирд╛ рдЬреЛрдбрд┐рдПрдХреЛ рд░рд╛рдЙрдЯрд░ред рддрдкрд╛рдИрдВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ $ODL_ROOT/cache/jun01_cache.

рд░рд╛рдЙрдЯрд░ рдЬрдбрд╛рди рдЬрд╛рдБрдЪ рдЧрд░реНрджреИ

рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрд░реЛрдз:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред

рд╣рд╛рдореА рдкрдард╛рдЙрдБрдЫреМрдВред "200 OK" рдХреЛ рд╕реНрдерд┐рддрд┐ рд░ рдпрдиреНрддреНрд░рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рдмреИрдХреЛ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрдкрд░реНрдЫ рдпрд╛рдЩ рдпреЛрдЬрдирд╛:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдЯрд┐рдкреНрдкрдгреА: рдкрдЫрд┐рд▓реНрд▓реЛ рд╣реЗрд░реНрди, рдореЗрд░реЛ рдорд╛рдорд▓рд╛ рдорд╛ рдпреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрдЫрд┐ рд▓рдЧрднрдЧ 10 рдорд┐рдиреЗрдЯ рдкрд░реНрдЦрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛ рд░рд╛рдЦреНрдиреБрд╕рдмреИ рд╕рдореНрдо рдпрд╛рдЩ рдпреЛрдЬрдирд╛ рдЕрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН ODLред рдпрд╕ рдмрд┐рдиреНрджреБ рд╕рдореНрдо, рдпреЛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрд╛ рдкреНрд░рд╛рдкреНрдд рдХреНрд╡реЗрд░реА рдирд┐рдореНрди рдкреНрд░рджрд░реНрд╢рди рд╣реБрдиреЗрдЫ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рд░рд╛рдЙрдЯрд░ рдореЗрдЯрд╛рдЙрдиреБрд╣реЛрд╕реН

рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рдореЗрдЯрд╛рдЙрди рдЕрдиреБрд░реЛрдз:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред

рднрд╛рдЧ 6: рд░рд╛рдЙрдЯрд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИ

рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрд░реЛрдз:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред

рд╣рд╛рдореА рдкрдард╛рдЙрдБрдЫреМрдВред рд╕реНрдерд┐рддрд┐ "200 OK" рд░ рд░рд╛рдЙрдЯрд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрдкрд░реНрдЫ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛, рдирд┐рдореНрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рд░ рдпрд╕рд▓рд╛рдИ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реМрдВ:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    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. рдЕрдиреБрд░реЛрдз рдореБрдЦреНрдп рднрд╛рдЧ (рд╢рд░реАрд░ рдЯреНрдпрд╛рдм):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред
  4. рд╣реЗрдбрд░ рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рджреБрдИ рд╣реЗрдбрд░рд╣рд░реВ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
    • рдЖрд╡реЗрджрди рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН/xml
    • рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ/xml

рдкрдард╛рдП рдкрдЫрд┐, рддрд┐рдиреАрд╣рд░реВрд▓реЗ "204 рдХреБрдиреИ рд╕рд╛рдордЧреНрд░реА рдЫреИрди" рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрдкрд░реНрдЫред

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЫ рднрдиреА рдЬрд╛рдБрдЪ рдЧрд░реНрди, рддрдкрд╛рдЗрдБ рдЕрдШрд┐рд▓реНрд▓реЛ рдХреНрд╡реЗрд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрд░ рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдЕрд░реНрдХреЛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВ рдЬрд╕рд▓реЗ рд░рд╛рдЙрдЯрд░рдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХрд╛ рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдорд╛рддреНрд░ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗрдЫред

рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрд░реЛрдз:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    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. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред

рдЕрдиреБрд░реЛрдз рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реЗрдкрдЫрд┐, рд╣рд╛рдореА рдирд┐рдореНрди рджреЗрдЦреНрдиреЗрдЫреМрдВ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

BGP рдкреНрд░реЛрдЯреЛрдХрд▓ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реМрдВред рд╣рд╛рдореНрд░реЛ рдХрд╛рд░реНрдпрд╣рд░реВ рдкрдЫрд┐, рдпреЛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

protocols {
    bgp {
        disable;
    }
}

рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рд░рд╛рдЦреНрдиреБ рдЕрдиреБрд░реЛрдз:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    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. рдЕрдиреБрд░реЛрдз рдореБрдЦреНрдп рднрд╛рдЧ (рд╢рд░реАрд░ рдЯреНрдпрд╛рдм):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред
  4. рд╣реЗрдбрд░ рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рджреБрдИ рд╣реЗрдбрд░рд╣рд░реВ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
    • рдЖрд╡реЗрджрди рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН/xml
    • рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ/xml

рдЕрдШрд┐рд▓реНрд▓реЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрд░реЛрдз, рд╣рд╛рдореА рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рджреЗрдЦреНрдЫреМрдВ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдореЗрдЯрд╛рдЙрдиреБрд╣реЛрд╕реН

рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рдореЗрдЯрд╛рдЙрди рдЕрдиреБрд░реЛрдз:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    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. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред

рдмреЛрд▓рд╛рдЙрдБрджрд╛ рдкреНрд░рд╛рдкреНрдд рдкреНрд░реЛрдЯреЛрдХрд▓ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧ рдЕрдиреБрд░реЛрдз, рд╣рд╛рдореА рдирд┐рдореНрди рджреЗрдЦреНрдиреЗрдЫреМрдВ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдердк:

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдврд╛рдБрдЪрд╛рдорд╛ рдЕрдиреБрд░реЛрдз рдореБрдЦреНрдп рднрд╛рдЧ рдкрдард╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди XMLред рдпреЛ рдврд╛рдБрдЪрд╛рдорд╛ рдкрдирд┐ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ JSON.

рдпреЛ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА, рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдкреНрд░рд╢реНрди рдорд╛ рд░рд╛рдЦреНрдиреБ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдЕрдиреБрд░реЛрдзрдХреЛ рд╢рд░реАрд░ рдмрджрд▓реНрдиреБрд╣реЛрд╕реН:

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

рд╣реЗрдбрд░ рдЯреНрдпрд╛рдмрдорд╛ рд╣реЗрдбрд░рд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдирдмрд┐рд░реНрд╕рдиреБрд╣реЛрд╕реН:

  • рдЖрд╡реЗрджрди рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН/json
  • рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ/json

рдкрдард╛рдПрдкрдЫрд┐, рд╣рд╛рдореАрд▓реЗ рдирд┐рдореНрди рдирддрд┐рдЬрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗрдЫреМрдВ (рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЬрд╡рд╛рдл рд╣реЗрд░реНрдЫреМрдВ рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрд░реЛрдз):

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рднрд╛рдЧ 7: Cisco xRV9000 рдердкреНрджреИ

рд╣рд╛рдореА рдЬреБрдирд┐рдкрд░рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реЛ, рд╣реЛ рдЬреБрдирд┐рдкрд░? рд╕рд┐рд╕реНрдХреЛрдХреЛ рдХреБрд░рд╛ рдЧрд░реМрдВ!
рдореИрд▓реЗ xRV9000 рд╕рдВрд╕реНрдХрд░рдг 7.0.2 рдлреЗрд▓рд╛ рдкрд╛рд░реЗ (рдПрдХ рдЬрдирд╛рд╡рд░ рдЬрд╕рд▓рд╛рдИ 8Gb RAM рд░ 4 рдХреЛрд░ рдЪрд╛рд╣рд┐рдиреНрдЫред рдпреЛ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛ рдЙрдкрд▓рдмреНрдз рдЫреИрди, рддреНрдпрд╕реИрд▓реЗ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╕рд┐рд╕реНрдХреЛ) - рдпрд╕рд▓рд╛рдИ рдЪрд▓рд╛рдЙрди рджрд┐рдиреБрд╣реЛрд╕реНред

рдХрдиреНрдЯреЗрдирд░ рдЪрд▓рд╛рдЙрдБрджреИ

рдбрдХрд░ рдХрдиреНрдЯреЗрдирд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдкрдорд╛ рдЬреБрдирд┐рдкрд░рдмрд╛рдЯ рдлрд░рдХ рдЫреИрдиред рддреНрдпрд╕реИ рдЧрд░реА, рд╣рд╛рдореА рд░рд╛рдЙрдЯрд░рд╕рдБрдЧ .qcow2 рдлрд╛рдЗрд▓рд▓рд╛рдИ рдпрд╕рдХреЛ рдирд╛рдорд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЫреЛрдбреНрдЫреМрдВ (рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, xrv9k) рд░ рдЖрджреЗрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред make docker-image.

рдХреЗрд╣рд┐ рдорд┐рдиреЗрдЯ рдкрдЫрд┐, рд╣рд╛рдореА рджреЗрдЦреНрдЫреМрдВ рдХрд┐ рдЫрд╡рд┐ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ:

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

рд╣рд╛рдореА рдХрдиреНрдЯреЗрдирд░ рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВ:

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

рдХреЗрд╣рд┐ рд╕рдордп рдкрдЫрд┐, рд╣рд╛рдореА рд╣реЗрд░реНрдЫреМрдВ рдХрд┐ рдХрдиреНрдЯреЗрдирд░ рд╕реБрд░реБ рднрдПрдХреЛ рдЫ:

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

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

рд░рд╛рдЙрдЯрд░рд▓рд╛рдИ OpenDaylight рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджреИ

рдердкреНрдиреБ vMX рд╕рдБрдЧ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕рдорд╛рди рд░реВрдкрдорд╛ рд╣реБрдиреНрдЫред рд╣рд╛рдореАрд▓реЗ рдирд╛рдо рдорд╛рддреНрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрдкрд░реНрдЫред
рд░рд╛рдЦреНрдиреБ рдЕрдиреБрд░реЛрдз:
рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдХреЗрд╣рд┐ рдмреЗрд░ рдкрдЫрд┐ рдлреЛрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рдкреНрд░рд╛рдкреНрдд рд╕рдмреИ рдХреБрд░рд╛ рдЬреЛрдбрд┐рдПрдХреЛ рдЫ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдХреНрд╡реЗрд░реА:
рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдирд┐рдореНрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕реЗрдЯ рдЕрдк рдЧрд░реМрдВ:

!
router ospf LAB
 mpls ldp auto-config
!

рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    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. рдЕрдиреБрд░реЛрдз рдореБрдЦреНрдп рднрд╛рдЧ (рд╢рд░реАрд░ рдЯреНрдпрд╛рдм):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред
  4. рд╣реЗрдбрд░ рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рджреБрдИ рд╣реЗрдбрд░рд╣рд░реВ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
    • рдЖрд╡реЗрджрди рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН/json
    • рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ/json

рдпрд╕рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрдЫрд┐, рддрд┐рдиреАрд╣рд░реВрд▓реЗ "204 рдХреБрдиреИ рд╕рд╛рдордЧреНрд░реА" рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрдкрд░реНрдЫред

рд╣рд╛рдореАрд▓реЗ рдХреЗ рдкрд╛рдпреМрдВ рдЬрд╛рдБрдЪ рдЧрд░реМрдВред
рдпреЛ рдЧрд░реНрди, рд╣рд╛рдореА рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВ рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрд░реЛрдз:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    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. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрдЫрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдирд┐рдореНрди рджреЗрдЦреНрдиреБрдкрд░реНрдЫ:

рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд╛ OpenDaylight, Postman рд░ Vrnetlab рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╣рдЯрд╛рдЙрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдореЗрдЯрд╛рдЙрди:

  1. рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдЩ:
    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. рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЯреНрдпрд╛рдмрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ Basic Auth рд░ рд▓рдЧрдЗрди/рдкрд╛рд╕рд╡рд░реНрдб: admin/adminред

рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛

рдХреБрд▓рдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдпрд╛рдж рдЧрд░реНрдиреБрднрдПрдХреЛ рд╣реБрди рд╕рдХреНрдЫ, рд╕рд┐рд╕реНрдХреЛ рд░ рдЬреБрдирд┐рдкрд░рд▓рд╛рдИ рдУрдкрдирдбреЗрд▓рд╛рдЗрдЯрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдлрд░рдХ рдЫреИрдирдиреН - рдпрд╕рд▓реЗ рд░рдЪрдирд╛рддреНрдордХрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдлрд░рд╛рдХрд┐рд▓реЛ рджрд╛рдпрд░рд╛ рдЦреЛрд▓реНрдЫред рд╕рдмреИ рдиреЗрдЯрд╡рд░реНрдХ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдБрджреИ рд░ рддрдкрд╛рдИрдВрдХреЛ рдЖрдлреНрдиреИ рд╕рдЮреНрдЬрд╛рд▓ рдиреАрддрд┐рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрд░ рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫред
рдпрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓рдорд╛, рдореИрд▓реЗ рдУрдкрдирдбреЗрд▓рд╛рдЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рдХрд╕рд░реА рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рднрдиреНрдиреЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рджрд┐рдПрдХреЛ рдЫреБред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдорд╛рдерд┐рдХрд╛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдмрд╛рдЯ рдкреНрд░рд╢реНрдирд╣рд░реВ рдзреЗрд░реИ рдЬрдЯрд┐рд▓ рдмрдирд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ рд░ рдорд╛рдЙрд╕рдХреЛ рдПрдХ рдХреНрд▓рд┐рдХрдорд╛ рд╕рдореНрдкреВрд░реНрдг рд╕реЗрд╡рд╛рд╣рд░реВ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ - рд╕рдмреИ рдХреБрд░рд╛ рдХреЗрд╡рд▓ рддрдкрд╛рдИрдВрдХреЛ рдХрд▓реНрдкрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдЫ *

рдлреЗрд░рд┐ рдЬрд╛рд░реА рд░рд╛рдЦреМрдВрд▓рд╛тАж

PS

рдпрджрд┐ рддрдкрд╛рдИрд▓рд╛рдИ рдЕрдЪрд╛рдирдХ рдпреЛ рд╕рдмреИ рдерд╛рд╣рд╛ рдЫ рд╡рд╛, рдпрд╕рдХреЛ рд╡рд┐рдкрд░рд┐рдд, ODL рдХреЛ рдЖрддреНрдорд╛рдорд╛ рдЧрдПрд░ рдбреБрдмреНрдиреБрднрдпреЛ рднрдиреЗ, рдо ODL рдирд┐рдпрдиреНрддреНрд░рдХрдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдЦреЛрдЬреНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреБред рддрдкрд╛рдИрдВ рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпрд╣рд╛рдБ рджреЗрдЦрд┐.

рд╕рдлрд▓ рдкреНрд░рдпреЛрдЧрд╣рд░реВ!

рд╕рдиреНрджрд░реНрдн

  1. Vrnetlab: KVM рд░ Docker рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдиреЗрдЯрд╡рд░реНрдХрд╣рд░реВ рдЕрдиреБрдХрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН / рдмреНрд░рд╛рдпрди рд▓рд┐рдВрдХрд▓реЗрдЯрд░
  2. OpenDaylight рдХреБрдХрдмреБрдХ / Mathieu Lemay, Alexis de Talhouet, Et al
  3. YANG / Benoit Claise, Loe Clarke, Jan Lindblad рд╕рдБрдЧ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд┐рд▓рд┐рдЯреА
  4. XML рд╕рд┐рдХреНрджреИ, рджреЛрд╕реНрд░реЛ рд╕рдВрд╕реНрдХрд░рдг / рдПрд░рд┐рдХ рдЯреА. рд░реЗ
  5. рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА DevOps / рдЬреЗрдирд┐рдлрд░ рдбреЗрд╡рд┐рд╕, Ryn рдбреЗрдирд┐рдпрд▓

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди