Page MenuHomeDevCentral

FRRouting (FRR): Installation on routers and activation at boot
AcceptedPublic

Authored by yousra on Thu, Apr 9, 14:30.
Tags
None
Referenced Files
F25461300: D4055.id10587.diff
Tue, Apr 14, 13:19
F25458887: D4055.diff
Tue, Apr 14, 11:07
F25458092: D4055.id.diff
Tue, Apr 14, 10:27
F25456964: D4055.diff
Tue, Apr 14, 09:29
Unknown Object (File)
Mon, Apr 13, 05:27
Unknown Object (File)
Sun, Apr 12, 16:27
Unknown Object (File)
Sun, Apr 12, 10:42
Unknown Object (File)
Sat, Apr 11, 09:28

Details

Summary

FRRouting should be installed based on T2208, with OSPF support.

Ref T2303

Test Plan
  • salt 'router-002' state.apply roles/router
  • salt 'router-003' state.apply roles/router

Diff Detail

Repository
rOPS Nasqueron Operations
Lint
Lint Skipped
Unit
No Test Coverage
Branch
install-frr
Build Status
Buildable 6590
Build 6874: arc lint + arc unit

Event Timeline

yousra requested review of this revision.Thu, Apr 9, 14:30
yousra created this revision.
dereckson requested changes to this revision.Thu, Apr 9, 17:09

Let's create a new unit for OSPF and move those in roles/router/frrouting

I'd suggest to adhere to the conventions we used for the last units:

  • .software for pkg.installed
  • .config for later configuration
  • .service for the RC cuisine

For the service, start it, see _resources/templates/service/rc/service.sls for a template to do so

roles/router/carp/init.sls
44

(1) Package name seems to be dependent of OS we target, let's declare it in /map.jinja under a new frrouting key

(2) We can actually simplify that one, as by default, the state ID is the value passed implicitly to the name parameter:

{{ packages.frrouting }}:
  pkg.installed
48

Should be enclosed in a {% if services.manager == "rc" %} condition.

Requires an import:
{% from "map.jinja" import services with context %} (actually import packages, services, per previous comment)

This revision now requires changes to proceed.Thu, Apr 9, 17:09
yousra retitled this revision from Installation of package frr10 on routers to FRRouting (FRR): Installation on routers and activation at boot .Tue, Apr 14, 18:58
yousra edited the summary of this revision. (Show Details)
yousra retitled this revision from FRRouting (FRR): Installation on routers and activation at boot to FRRouting (FRR): Installation on routers and activation at boot.

Many changes:

  1. Created a new FRRouting unit under roles/router/frrouting
  2. Started structuring the unit FRRouting following conventions:
    • software for pkg.installed
    • config for configuration files
    • service for service management
  3. Moved file frr.rc from roles/router/carp/files to this new unit
  4. Added frrouting package mapping in map.jinja depending on the OS
  5. Simplified package installation using the state ID as name ({{ packages.frrouting }})
  6. Added proper import from map.jinja with packages and services (with context)
  7. Wrapped rc-specific configuration in a condition (services.manager == "rc")
This revision is now accepted and ready to land.Tue, Apr 14, 22:04

OK, ready to commit for me, with the understanding further config for our routes will go to config.sls.