Skip to content
Snippets Groups Projects
overview.md 1.76 KiB

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:
    1. Generate base configuration from GitLab
    2. Ship the device to its location
    3. Verify reachability and insert in LibreNMS
  2. Deploy PoP router in a 'core' fashion
    1. Rack it up and configure the hardware
    2. Connect the router to the terminal server via both a console connection, and FXP
    3. Deploy base configuration using GAP
  3. Deploy PoP switch
    1. Rack it up and configure the hardware
    2. Connect the switch to the terminal server via both a console connection, and FXP
    3. Deploy base configuration using GAP
  4. Deploy the PoP interconnect between router and switch
    1. Set up a physical connection between router and switch
    2. Deploy configuration using GAP
  5. Deploy IP trunks to connect the router to the rest of the network
    1. Set up a physical connection
    2. Deploy configuration using GAP
  6. Update the iBGP mesh to include the new router, promoting it to an edge router
    1. Deploy configuration using GAP
    2. Using GAP, insert the devices in LibreNMS

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