From 46589c652a58b1cd56dab268b59d96bc20b5dd1f Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Fri, 31 Mar 2017 11:24:24 +0200 Subject: Include ODL's BGP to HC minimal distro Features: - static bgp instance - static peer registry (both remote & app peers supported) - bgp operational state exposed via RESTCONF/NETCONF - bgp-inet support - postman collection with examples TODOs: - make bgp disabled by default in honeycomb.json (probably bgp should be build using profile or allow to filter yangs loaded by SchemaCtx, otherwise footprint will grow) - update asciidocs for infra module - SPI for VPP integration: - allow RIB changes listeners - or writers (that can reject changes) to mirror netconf/restconf design - expose bgp server & peer cfg via netconf/restconf (currently read from json files) - test support for all BGP extensions (flowspec BGP needs additional care) - make bgp extensions fully configurable (probably requires changes in ODL) Testing 1) start hc distro: ./infra/minimal-distribution/target/minimal-distribution-1.17.07-SNAPSHOT-hc/minimal-distribution-1.17.07-SNAPSHOT/honeycomb 2) run bgp-testtool: java -jar ./target/bgp-testtool-0.6.3-Boron-SR3-executable.jar -ra 127.0.0.1:1790 -la 127.0.0.2:17900 -pr 2 -ll DEBUG --active true -as 65000 -mp true then GET http://localhost:8183/restconf/operational/bgp-rib:bgp-rib Change-Id: I156d6a1c79174279db8c8936c40ac1f28e14794c Signed-off-by: Marek Gradzki --- .../config/bgp-peers.json | 48 ++++++++++++++++++++++ .../config/honeycomb.json | 12 +++++- .../honeycomb-minimal-resources/config/logback.xml | 4 +- 3 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/bgp-peers.json (limited to 'infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources') diff --git a/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/bgp-peers.json b/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/bgp-peers.json new file mode 100644 index 000000000..6de2065b8 --- /dev/null +++ b/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/bgp-peers.json @@ -0,0 +1,48 @@ +{ + "bgp-openconfig-extensions:neighbors": { + "neighbor": [ + { + "neighbor-address": "10.25.1.9", + "config": { + "peer-group": "application-peers" + }, + "afi-safis": { + "afi-safi": [ + { + "afi-safi-name": "openconfig-bgp-types:IPV4-UNICAST", + "receive": true, + "send-max": 0 + } + ] + } + }, + { + "neighbor-address": "127.0.0.2", + "config": { + "peer-type": "INTERNAL" + }, + "timers": { + "config": { + "connect-retry": 10, + "hold-time": 90 + } + }, + "transport": { + "config": { + "remote-port": 17900, + "passive-mode": false + } + }, + "afi-safis": { + "afi-safi": [ + { + "afi-safi-name": "openconfig-bgp-types:IPV4-UNICAST", + "receive": true, + "send-max": 0 + } + ] + } + } + ] + } +} \ No newline at end of file diff --git a/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/honeycomb.json b/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/honeycomb.json index 1199f85bc..95ab71292 100644 --- a/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/honeycomb.json +++ b/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/honeycomb.json @@ -1,8 +1,8 @@ { - "persist-context": "true", + "persist-context": "false", "persisted-context-path": "/var/lib/honeycomb/persist/context/data.json", "persisted-context-restoration-type": "Merge", - "persist-config": "true", + "persist-config": "false", "persisted-config-path": "/var/lib/honeycomb/persist/config/data.json", "persisted-config-restoration-type": "Merge", @@ -37,6 +37,14 @@ "netconf-ssh-binding-port": 2831, "netconf-notification-stream-name": "honeycomb", + "bgp-enabled": "true", + "bgp-binding-address": "127.0.0.1", + "bgp-port": 1790, + "bgp-as-number": 65000, + "bgp-receive-multiple-paths": "true", + "bgp-send-max-paths": 0, + "bgp-netty-threads": 2, + "username": "admin", "password": "admin" } \ No newline at end of file diff --git a/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/logback.xml b/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/logback.xml index 6dd4d4fc0..02e801d00 100644 --- a/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/logback.xml +++ b/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/logback.xml @@ -6,10 +6,10 @@ - /var/log/honeycomb/honeycomb.log + honeycomb.log - /var/log/honeycomb/logs/honeycomb.%d.log.zip + logs/honeycomb.%d.log.zip 1 -- cgit 1.2.3-korg