Include ODL's BGP to HC minimal distro 31/6631/8
authorMarek Gradzki <mgradzki@cisco.com>
Fri, 31 Mar 2017 09:24:24 +0000 (11:24 +0200)
committerMarek Gradzki <mgradzki@cisco.com>
Fri, 26 May 2017 11:05:06 +0000 (13:05 +0200)
commit46589c652a58b1cd56dab268b59d96bc20b5dd1f
tree502d68e9deeff2f0d08a41feb43df830b23ca6dd
parent9cb05be1e97448550b60ff694c0c33dcbea702fb
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 <mgradzki@cisco.com>
27 files changed:
common/honeycomb-parent/pom.xml
infra/bgp_postman_collection.json [new file with mode: 0644]
infra/data-impl/pom.xml
infra/minimal-distribution/pom.xml
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/Main.java
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BGPDispatcherImplProvider.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BGPExtensionConsumerContextProvider.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BGPPeerRegistryProvider.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BgpExtensionsModule.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BgpModule.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BgpNettyThreadGroupProvider.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BgpRIBProvider.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BgpReaderFactoryProvider.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BgpReadersModule.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BgpServerProvider.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BgpWriterFactoryProvider.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/BgpWritersModule.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/bgp/RIBExtensionConsumerContextProvider.java [new file with mode: 0644]
infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/cfgattrs/HoneycombConfiguration.java
infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/bgp-peers.json [new file with mode: 0644]
infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/honeycomb.json
infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/logback.xml
infra/minimal-distribution/src/test/java/io/fd/honeycomb/infra/distro/BaseMinimalDistributionTest.java
infra/minimal-distribution/src/test/resources/bgp-peers.json [new file with mode: 0644]
infra/minimal-distribution/src/test/resources/honeycomb.json
infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/write/BindingBrokerWriter.java [new file with mode: 0644]
infra/translate-utils/src/test/java/io/fd/honeycomb/translate/util/write/BindingBrokerWriterTest.java [new file with mode: 0644]