Skip to content

Diagram

classDiagram
  Site <|-- Router :belong

  class Site{
    +UUId name
    +String phoneNumber
    +String emailAddress
  }

  class Router{
    +int studentNumber
    +int averageMark
    +isEligibleToEnrol()
    +getSeminarsTaken()
  }

Node deployment

A node consists of one or more routers, a switch, and a terminal server. In general -- as laid out more extensively here (behind login) -- a PoP consists of:

  • One or two routers
  • One switch
  • One terminal server

Globally, the workflow for a new site is as follows:

  1. Deploy terminal server:
  2. Generate base configuration from GitLab
  3. Ship the device to its location
  4. Verify reachability and insert in LibreNMS
  5. Deploy PoP router in a 'core' fashion
  6. Rack it up and configure the hardware
  7. Connect the router to the terminal server via both a console connection, and FXP
  8. Deploy base configuration using GAP
  9. Deploy PoP switch
  10. Rack it up and configure the hardware
  11. Connect the switch to the terminal server via both a console connection, and FXP
  12. Deploy base configuration using GAP
  13. Deploy the PoP interconnect between router and switch
  14. Set up a physical connection between router and switch
  15. Deploy configuration using GAP
  16. Deploy IP trunks to connect the router to the rest of the network
  17. Set up a physical connection
  18. Deploy configuration using GAP
  19. Update the iBGP mesh to include the new router, promoting it to an edge router
  20. Deploy configuration using GAP
  21. Using GAP, insert the devices in LibreNMS

In the context of the automation platform, the PoP interconnects mentioned are modeled as separate objects.