bgpcep.git
2 months agoBump upstreams 20/109920/23
Robert Varga [Tue, 23 Jan 2024 06:53:36 +0000 (07:53 +0100)]
Bump upstreams

Adopt:
- yangtools-13.0.1
- mdsal-13.0.0
- controller-9.0.0
- aaa-0.19.1
- netconf-7.0.0

Also convert a few classes to simpler constructs than
DataTreeChangeListener, as they typically just need the after-image of a
set of changes.

Change-Id: I23dbc8dcd123beaa57bdbd1256ad73cf7d284207
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 months agoUse a dedicated timer in programming-impl 12/110412/1
Robert Varga [Fri, 1 Mar 2024 13:22:37 +0000 (14:22 +0100)]
Use a dedicated timer in programming-impl

The global timer is going away. Use a dedicated timer instead.

Change-Id: I78a21dee2905f66ce04af9751a154b7cb7780fb9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 months agoRefactor BmpDispatcherUtil 11/110411/2
Robert Varga [Fri, 1 Mar 2024 10:44:33 +0000 (11:44 +0100)]
Refactor BmpDispatcherUtil

Rather than having a utility class and dealing with epoll/nio
bifurbication, promote BmpDispatcherUtil into a component.

Change-Id: I3e1506967d13e787cb9d9d2e8827646b1d9ba3d8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 months agoDeanonymize BGP threads 10/110410/1
Robert Varga [Fri, 1 Mar 2024 09:11:20 +0000 (10:11 +0100)]
Deanonymize BGP threads

Use thread factories to identify boss and worker threads.

Change-Id: Ibfe7bf6b869e94a2e243b11d61ecfba0e5ccc008
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 months agoDisconnect bgp-rib-impl from global event loop groups 03/110403/3
Robert Varga [Thu, 29 Feb 2024 13:49:53 +0000 (14:49 +0100)]
Disconnect bgp-rib-impl from global event loop groups

We are dancing around event loop group lifecycle based on epoll
availability. Since the global groups are going away anyway, extract
this complexity into an artifact.

Change-Id: Ifdc5404603c96a939659d13e339a7f83c268c2d0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 months agoBump versions to 0.21.0-SNAPSHOT 02/110402/1
Robert Varga [Thu, 29 Feb 2024 10:54:47 +0000 (11:54 +0100)]
Bump versions to 0.21.0-SNAPSHOT

This starts the Calcium release iteration.

Change-Id: I3d9d945cdcdf441fffd33bf3a3b368f63cbd5deb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump versions to 0.20.7-SNAPSHOT 70/110070/1
Robert Varga [Mon, 29 Jan 2024 09:38:04 +0000 (10:38 +0100)]
Bump versions to 0.20.7-SNAPSHOT

This starts the next development iteration.

Change-Id: I2dd96349eab91b9f94a89d804707ea1867a4f60d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRelease bgpcep v0.20.6
jenkins-releng [Tue, 23 Jan 2024 19:09:21 +0000 (19:09 +0000)]
Release bgpcep

3 months agoBump upstreams 19/109919/12
Robert Varga [Tue, 23 Jan 2024 06:16:05 +0000 (07:16 +0100)]
Bump upstreams

Adopt:
- odparent-13.0.10
- infrautils-6.0.5
- yangtools-11.0.5
- mdsal-12.0.4
- controller-8.0.4
- aaa-0.18.4
- netconf-6.0.6

Change-Id: Iada1a2c4d0ecfd4fad14430ec450190ffa8305fe
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoMigrate users of YangInstanceIdentifier.create() 23/109923/3
Robert Varga [Tue, 23 Jan 2024 08:28:38 +0000 (09:28 +0100)]
Migrate users of YangInstanceIdentifier.create()

Use of() instead. Also take advantage of the fact getPathArguments() has
been returning a List for quite some time.

Change-Id: Idfa5c98690be7127e8cc176bae9294ebaba365b0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoMigrate DataTreeCandidateNode methods 22/109922/2
Robert Varga [Tue, 23 Jan 2024 08:17:19 +0000 (09:17 +0100)]
Migrate DataTreeCandidateNode methods

We have a few users of deprecated methods, let's migrate them.

Change-Id: Ie57ca80e63ff1efd0d864f87ad5acb48306da16c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoMigrate users of NormalizedNode.getIdentifier() 21/109921/6
Robert Varga [Tue, 23 Jan 2024 07:28:58 +0000 (08:28 +0100)]
Migrate users of NormalizedNode.getIdentifier()

Use NormalizedNode.name() instead.

Change-Id: I3f566b3a24b87234a0c8344a98432be24977d197
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoEliminate OSGiTopologyDataChangeCounterDeployer 18/109918/3
Robert Varga [Tue, 23 Jan 2024 06:28:44 +0000 (07:28 +0100)]
Eliminate OSGiTopologyDataChangeCounterDeployer

Use constructor injection on TopologyDataChangeCounterDeployer to
eliminate the need for a separate class.

While we are here, also make sure to shutdown individual counters.

Change-Id: I8485968c1e44c0187ef03367cd998fd5e2301894
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoBump versions to 0.20.6-SNAPSHOT 56/108956/1
Robert Varga [Wed, 15 Nov 2023 08:23:06 +0000 (09:23 +0100)]
Bump versions to 0.20.6-SNAPSHOT

This starts the next development iteration.

Change-Id: I44480fd71d4ac3b00ee1820117cfa0e6e8ae0cbc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoRelease bgpcep v0.20.5
jenkins-releng [Tue, 14 Nov 2023 19:07:10 +0000 (19:07 +0000)]
Release bgpcep

5 months agoBump upstreams 54/108954/1
Robert Varga [Tue, 14 Nov 2023 16:51:05 +0000 (17:51 +0100)]
Bump upstreams

Adopt:
- odlparent-13.0.7
- infrautils-6.0.4
- yangtools-11.0.4
- mdsal-12.0.3
- controller-8.0.3
- aaa-0.18.3
- netconf-6.0.5

Change-Id: I1f8e4083f2c826c82e1455d3396f999b4fb27de4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoClean up dependencies 53/108953/2
Robert Varga [Tue, 14 Nov 2023 14:28:12 +0000 (15:28 +0100)]
Clean up dependencies

Propagate JDT annotation dependency, re-enabling dependency enforcement
where applicable.

Change-Id: I56e4e914c59392c553f3c62979f9e47ca15a8280
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoDo not use RpcService in pcep-tunnel-provider 03/108403/9
lubos-cicut [Fri, 13 Oct 2023 15:02:49 +0000 (17:02 +0200)]
Do not use RpcService in pcep-tunnel-provider

Migrated usage of RpcService to Rpc<?,?> for pcep-tunnel-provider.

JIRA: BGPCEP-1027
Change-Id: I93f829868681d66382b3d79595dc055720f08a37
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoDo not use RpcService in programming-impl 66/107866/17
lubos-cicut [Fri, 13 Oct 2023 15:10:55 +0000 (17:10 +0200)]
Do not use RpcService in programming-impl

Migrated usage of RpcService to Rpc<?,?> for programming-impl.

JIRA: BGPCEP-1027
Change-Id: Id5059bdb656b3f7427f72d6e9fc51c6e691382c3
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoDo not use RpcService in pcep-server-provider 02/108402/7
lubos-cicut [Fri, 13 Oct 2023 14:42:30 +0000 (16:42 +0200)]
Do not use RpcService in pcep-server-provider

Migrated usage of RpcService to Rpc<?,?> for pcep-server-provider.

JIRA: BGPCEP-1027
Change-Id: I143557b91d0d8f6a131cd2ec4a34136d5490bbbc
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
5 months agoDo not use RpcService in pcep-topology-provider 01/108401/7
lubos-cicut [Fri, 13 Oct 2023 14:41:32 +0000 (16:41 +0200)]
Do not use RpcService in pcep-topology-provider

Migrated usage of RpcService to Rpc<?,?> for pcep-topology-provider.

JIRA: BGPCEP-1027
Change-Id: If7b9733e71e60f34d459165a544e76b0490f9a73
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoBump maven-jxr-plugin to 3.3.1 36/108636/1
Robert Varga [Tue, 24 Oct 2023 15:45:12 +0000 (17:45 +0200)]
Bump maven-jxr-plugin to 3.3.1

** Improvement
    * [JXR-175] - Support Java 14 record as class type in cross reference
    * [JXR-176] - Remove dependency org.apache.commons:commons-lang3

** Dependency upgrade
    * [JXR-177] - Upgrade Plexus Utils to 3.5.0
    * [JXR-178] - Update parent pom to 39
    * [JXR-180] - commons-io to 2.14.0
    * [JXR-181] - Upgrade to Parent 40

Change-Id: I8597db703f83b3f66f0fdce48240ec731274a00f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoModernize concepts 36/108536/1
Robert Varga [Fri, 20 Oct 2023 12:34:34 +0000 (14:34 +0200)]
Modernize concepts

Use local variable type inference and migrate to JUnit5.

Change-Id: If80b8eb6b5c5ae49c248bcf8c4710c96b1cbc51f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoDo not use RpcService in bgp-rib-impl 00/108400/4
lubos-cicut [Fri, 13 Oct 2023 14:02:33 +0000 (16:02 +0200)]
Do not use RpcService in bgp-rib-impl

Migrated usage of RpcService to Rpc<?,?> for bgp-rib-impl.

JIRA: BGPCEP-1027
Change-Id: Ic0452314f060fdb9146873c5c2fc0912d6a608de
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoDo not use RpcService in algo-impl 98/108398/4
lubos-cicut [Fri, 13 Oct 2023 13:04:21 +0000 (15:04 +0200)]
Do not use RpcService in algo-impl

Migrate usage of RpcService to Rpc<?,?> for algo-impl. There is only a
single RPC, so this is simple.

JIRA: BGPCEP-1027
Change-Id: I570a7dd448ff66ffccf81c961d5630df5d6c479c
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoDo not use RpcService in bgp-benchmark-app 99/108399/4
lubos-cicut [Fri, 13 Oct 2023 13:49:15 +0000 (15:49 +0200)]
Do not use RpcService in bgp-benchmark-app

Migrated usage of RpcService to Rpc<?,?> for bgp-benchmark-app.

JIRA: BGPCEP-1027
Change-Id: I9db81fa5ea4bd12f3ab5037e361fbbeeb91520db
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
7 months agoBump versions to 0.20.5-SNAPSHOT 49/107949/1
Robert Varga [Fri, 22 Sep 2023 08:28:31 +0000 (10:28 +0200)]
Bump versions to 0.20.5-SNAPSHOT

This starts the next development iteration.

Change-Id: I0d7471fb20c20f7621358051b28428aaa33bc8de
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoRelease bgpcep v0.20.4
jenkins-releng [Thu, 21 Sep 2023 11:05:42 +0000 (11:05 +0000)]
Release bgpcep

7 months agoBump upstreams 29/107929/1
Robert Varga [Wed, 20 Sep 2023 16:10:24 +0000 (18:10 +0200)]
Bump upstreams

Adopt:
- yangtools-11.0.2
- mdsal-12.0.2
- controller-8.0.2
- aaa-0.18.2
- netconf-6.0.4

Change-Id: Ic6c4044a5943c134f46390fead508514d3275fc3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoBump versions to 0.20.4-SNAPSHOT 75/107775/1
Robert Varga [Sat, 9 Sep 2023 18:01:33 +0000 (20:01 +0200)]
Bump versions to 0.20.4-SNAPSHOT

This starts the next development iteration.

Change-Id: I96630d3a3572aefe1a149ccd97c1fdca520e57ce
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoRelease bgpcep v0.20.3
jenkins-releng [Fri, 8 Sep 2023 15:33:41 +0000 (15:33 +0000)]
Release bgpcep

7 months agoBump netconf to 6.0.3 65/107765/1
Robert Varga [Fri, 8 Sep 2023 12:55:49 +0000 (14:55 +0200)]
Bump netconf to 6.0.3

Fix a couple of regressions from upstream.

Change-Id: I0e70b6774e4c71b055663201fd0e1d644f960639
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoBump versions to 0.20.3-SNAPSHOT 66/107666/1
Robert Varga [Thu, 31 Aug 2023 22:21:41 +0000 (00:21 +0200)]
Bump versions to 0.20.3-SNAPSHOT

This starts the next development iteration.

Change-Id: I621f01d610e8af91152739dca6a8e564ff36a8a2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRelease bgpcep v0.20.2
jenkins-releng [Thu, 31 Aug 2023 19:52:01 +0000 (19:52 +0000)]
Release bgpcep

8 months agoBump versions to 0.20.2-SNAPSHOT 50/107650/1
Robert Varga [Thu, 31 Aug 2023 19:47:02 +0000 (21:47 +0200)]
Bump versions to 0.20.2-SNAPSHOT

This starts the next development iteration. Now for real.

Change-Id: I299e32851a0ead89b0a7ba75f81aa9cc26c3be2a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoBump upstreams 32/107632/3
Robert Varga [Thu, 31 Aug 2023 12:26:19 +0000 (14:26 +0200)]
Bump upstreams

Adopt:
- odparent-13.0.4
- infrautils-6.0.2
- yangtools-11.0.1
- mdsal-12.0.1
- controller-8.0.1
- aaa-0.18.1
- netconf-6.0.2

Change-Id: I6daeaf690318b135ca5b289d73a1753ec3b6df88
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoFix checkstyle 34/107634/1
Robert Varga [Thu, 31 Aug 2023 14:04:05 +0000 (16:04 +0200)]
Fix checkstyle

Upgraded checkstyle is finding a few violations, fix them up.

Change-Id: Iaa581a6616d2a46baaf49d960cdf7835192eee76
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoAdd sonarcloud badges to README.md 42/107142/6
Šimon Ukuš [Mon, 31 Jul 2023 09:06:46 +0000 (11:06 +0200)]
Add sonarcloud badges to README.md

Added coverage, reliability rating, technical debt and more badges.

JIRA: BGPCEP-1026
Change-Id: I27901fbb68259d07631bb414352e47ebdeb8deb6
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
8 months agoBump versions to 0.20.2-SNAPSHOT 06/107306/1
Robert Varga [Mon, 7 Aug 2023 15:34:54 +0000 (17:34 +0200)]
Bump versions to 0.20.2-SNAPSHOT

This starts the next development iteration.

Change-Id: I85dd2b104ebf0b504c069d22f9e1dece612c558d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoRelease bgpcep v0.20.1
jenkins-releng [Mon, 7 Aug 2023 12:17:31 +0000 (12:17 +0000)]
Release bgpcep

8 months agoBump netconf to 6.0.1 88/107288/1
Robert Varga [Mon, 7 Aug 2023 11:13:04 +0000 (13:13 +0200)]
Bump netconf to 6.0.1

Pick up the latest release.

Change-Id: I476fce48b6eb24bb35cc4420c52a178c1479698d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoAdd maven central and license badge to README.md 75/106975/3
Šimon Ukuš [Mon, 24 Jul 2023 09:21:16 +0000 (11:21 +0200)]
Add maven central and license badge to README.md

JIRA: BGPCEP-1026
Change-Id: If01526e2d20770dc966e954b34c3ce4fdb15267b
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
9 months agoUpdate contents of README.md 31/106931/4
Šimon Ukuš [Tue, 18 Jul 2023 11:12:14 +0000 (13:12 +0200)]
Update contents of README.md

The "directory organization" section is outdated and we are missing
a brief description of the project. Get rid of the outdated information,
add a general description.

JIRA: BGPCEP-1025
Change-Id: Icb6b3de8336938c111cdb3d0a5c18395d921797b
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
9 months agoUpdate syntax of README.md to be markdown 27/106927/5
Šimon Ukuš [Tue, 18 Jul 2023 11:08:07 +0000 (13:08 +0200)]
Update syntax of README.md to be markdown

The original syntax is reStructuredText, but we need markdown syntax,
since markdown is the standard for README files.

JIRA: BGPCEP-1025
Change-Id: Ia8901c1be7ec51a718eeab01421f66975bb602c1
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
9 months agoRename README to README.md 22/106922/6
Šimon Ukuš [Mon, 17 Jul 2023 13:54:55 +0000 (15:54 +0200)]
Rename README to README.md

The standard is that the README file is markdown.
Modify it accordingly.

JIRA: BGPCEP-1025
Change-Id: I399ec72c96b230d9f9f50050e96c10863361c748
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
10 months agoBump versions to 0.20.1-SNAPSHOT 23/106823/1
Robert Varga [Wed, 5 Jul 2023 19:45:17 +0000 (21:45 +0200)]
Bump versions to 0.20.1-SNAPSHOT

This starts the next development iteration.

Change-Id: I42a6c00124e6710182c6b5100eb90e6c7d829bc0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoRelease bgpcep v0.20.0
jenkins-releng [Wed, 5 Jul 2023 16:49:49 +0000 (16:49 +0000)]
Release bgpcep

10 months agoDo not use ListeningExecutorService 08/106808/4
Robert Varga [Tue, 4 Jul 2023 19:09:06 +0000 (21:09 +0200)]
Do not use ListeningExecutorService

We ignore return from submit() -- hence we can just use execute()
instead. Also drop a FIXME to terminate the ExecutorService, as it seems
to be just hanging.

Change-Id: I395e31bbaab8ad41d56e8a9a89839682af42127a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoDitch ListeningExecutorService 07/106807/4
Robert Varga [Tue, 4 Jul 2023 19:08:15 +0000 (21:08 +0200)]
Ditch ListeningExecutorService

We have Futures.submit() at our disposal, hence we can use plain
Executor/ExecutorService to manage our tasks.

Change-Id: I18c26b52603dc6cca11b8feb42f8ac0c6f62bf14
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoUse release netconf artifacts 15/106815/2
Robert Varga [Wed, 5 Jul 2023 14:28:08 +0000 (16:28 +0200)]
Use release netconf artifacts

Do not use snapshots, use released versions.

Change-Id: If5b5a4d51e6de116d8c1be2c9b8bfb9f5b5cdba2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoUse controller released artifacts 81/106781/1
Robert Varga [Sun, 2 Jul 2023 11:25:59 +0000 (13:25 +0200)]
Use controller released artifacts

Ditch snapshots, use the properly-released version.

Change-Id: Id973fa56452ccd51ab8de5cbb6b5aafb1d5363db
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoUse released mdsal artifacts 71/106771/2
Robert Varga [Fri, 30 Jun 2023 11:32:08 +0000 (13:32 +0200)]
Use released mdsal artifacts

Use proper mdsal-12.0.0 release artifacts.

Change-Id: I6906dd764df0a8c8af035cd43e9d8b453a374e17
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoBump jxr-maven-plugin to 3.3.0 72/106772/1
Robert Varga [Fri, 30 Jun 2023 11:33:37 +0000 (13:33 +0200)]
Bump jxr-maven-plugin to 3.3.0

https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317527&version=12351480

Change-Id: I74e2534509afe23d4a9e41aa72a35c172cc2c9b4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoUpdate restconf links in documentation 09/106309/9
tobias.pobocik [Thu, 1 Jun 2023 10:42:52 +0000 (12:42 +0200)]
Update restconf links in documentation

In order to reflect that bierman restconf is no more available,
fix all documentation files under docs.

JIRA: BGPCEP-1024
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
Change-Id: If843d498506d73813a5efbc1bc2994f24b55caec

10 months agoConsolidate feature repositories 55/106755/3
Robert Varga [Thu, 29 Jun 2023 15:46:10 +0000 (17:46 +0200)]
Consolidate feature repositories

We should only have features-bgpcep, not a separate repository for each
set of features. This squashes the definition and separates
odl-bgpcep-bgp-benchmark into features-bgpcep-testing.

Change-Id: Icac6cb1a52af016e7631d6c486f84b5a1d2447be
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoRename features-bgpcep-extras to features-bgpcep-testing 54/106754/2
Robert Varga [Thu, 29 Jun 2023 15:33:35 +0000 (17:33 +0200)]
Rename features-bgpcep-extras to features-bgpcep-testing

This feature repository includes additionally only data-change-counter,
which is only used in testing. Rename the repository accordingly.

Change-Id: I7a204499c04ca98b12278778f971fdec3515019e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoFlatten features/ hierarchy 49/106749/1
Robert Varga [Thu, 29 Jun 2023 08:29:10 +0000 (10:29 +0200)]
Flatten features/ hierarchy

The hierarchy is needlessly complex, flatten it before we start making
sense of the features themselves.

Change-Id: Ia8b4c4aaf2c71f4e14471294c1ea7a5f7df72889
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoEliminate individual artifacts 33/106733/1
Robert Varga [Wed, 28 Jun 2023 08:43:07 +0000 (10:43 +0200)]
Eliminate individual artifacts

We really should have only bgpcep-artifacts, fold individual
directories' artifacts pom.xmls into the main one.

Change-Id: I3f9fffae2438c00bac4af484d16310b868106a64
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoBump upstreams 44/106544/19
Robert Varga [Tue, 20 Jun 2023 00:12:41 +0000 (02:12 +0200)]
Bump upstreams

Adopt:
- odlparent-13.0.3
- infrautils-6.0.1
- yangtools-11.0.0
- mdsal-12.0.0-SNAPSHOT
- controller-8.0.0-SNAPSHOT
- aaa-0.18.0-SNAPSHOT
- netconf-6.0.0-SNAPSHOT

Change-Id: I439e4c3d5f920d324e242d5b9cd2eae564704c4f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoRemove RibSupportUtils 57/106657/2
Robert Varga [Fri, 23 Jun 2023 14:16:51 +0000 (16:16 +0200)]
Remove RibSupportUtils

ApplicationPeer is the last holdout of reflection-based transcoding,
convert it to pick up the DOM tablesKey from RIBSupport and remove
RibSupportUtils.

JIRA: BGPCEP-1016
Change-Id: Ie567ecd5ff5189538a2c5a98d1cacfe8e7c83796
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoDo not use RibSupportUtils in SynchronizationAndExceptionTest 55/106655/2
Robert Varga [Fri, 23 Jun 2023 14:05:28 +0000 (16:05 +0200)]
Do not use RibSupportUtils in SynchronizationAndExceptionTest

We can just hard-code the expected identifier.

JIRA: BGPCEP-1016
Change-Id: I59880bd2e9404ac54e300ec59846e8744306f93c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoDo not use RibSupportUtils in PeerTest 54/106654/1
Robert Varga [Fri, 23 Jun 2023 14:01:54 +0000 (16:01 +0200)]
Do not use RibSupportUtils in PeerTest

Use a plain constant instead of relying on reflection. Also centralize
references to AFI/SAFI QNames.

JIRA: BGPCEP-1016
Change-Id: Ibb4e18ee7f83229386a483a912c0ce49e1ffca0e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoDo not use RibSupportUtils in AdjRibOutListener 53/106653/1
Robert Varga [Fri, 23 Jun 2023 11:40:09 +0000 (13:40 +0200)]
Do not use RibSupportUtils in AdjRibOutListener

RIBSupport provides all the information we need, there is no need to
pass TablesKey in or to transcode it separately.

JIRA: BGPCEP-1016
Change-Id: I82e8bac5dffd238e5365d48bdf7a2a1e056af213
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoDo not use RibSupportUtils in AdjRibInWriter 49/106649/2
Robert Varga [Fri, 23 Jun 2023 10:49:16 +0000 (12:49 +0200)]
Do not use RibSupportUtils in AdjRibInWriter

RIBSupport has everything we need, there is no point in using
RibSupportUtils for this task.

JIRA: BGPCEP-1016
Change-Id: If692d5b1d84d7596f8af3c13930f420bed901fd3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoUse SendReceive.getName() 47/106647/1
Robert Varga [Fri, 23 Jun 2023 09:33:40 +0000 (11:33 +0200)]
Use SendReceive.getName()

We are playing dirty tricks here in reversing the enum member class
name. This is completely unnecessary, as getName() is guaranteed to give
us exactly what we need.

Change-Id: I22548fd273a0682afd64865e6251cc895bca9e6f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoHide RibSupportUtils 45/106645/2
Robert Varga [Fri, 23 Jun 2023 09:20:04 +0000 (11:20 +0200)]
Hide RibSupportUtils

We do not want to leak this utility to the outside world. Also remove
unused methods.

JIRA: BGPCEP-1016
Change-Id: I7f52d9e51dd1ef37468363e8bcd9dcf50c374167
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoClean up AdjRibsInWriterTest a bit 46/106646/1
Robert Varga [Fri, 23 Jun 2023 09:30:10 +0000 (11:30 +0200)]
Clean up AdjRibsInWriterTest a bit

Use Set.of()/Map.of() instead of mutable collections.

Change-Id: I230d7bb98f39e4c23d011a5fa946d7feb93a87d6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoDo not use BindingReflections in AbstractRIBSupportTest 44/106644/1
Robert Varga [Fri, 23 Jun 2023 09:14:48 +0000 (11:14 +0200)]
Do not use BindingReflections in AbstractRIBSupportTest

We can make a direct reference to Routes.QNAME and also
use AbstractRIBSupport's routeQname() method to side-step the need for
lookups.

JIRA: BGPCEP-1016
Change-Id: I54204866d365fc6732bbb52ddb826c5da89e8602
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoMove RibSupportUtils 40/106640/3
Robert Varga [Thu, 22 Jun 2023 18:51:49 +0000 (20:51 +0200)]
Move RibSupportUtils

This class is only used in bgp-rib-impl, move it there.

JIRA: BGPCEP-1016
Change-Id: Ifd2780e402c63a2c4c1f455edd22a9e4e24a447e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoClean up RibSupport registration 33/106633/4
Robert Varga [Thu, 22 Jun 2023 18:12:18 +0000 (20:12 +0200)]
Clean up RibSupport registration

The RIBSupport integration shows a number of cases of accidental
duplicity with the evolution over the years. At the end of the day, each
RIBSupport knows to what AFI/SAFI it is bound -- on both Binding and DOM
layers.

Use that information to simplify interactions, improving ergonomics
across the board, as well as ditching a source of Binding->DOM identity
translation.

JIRA: BGPCEP-1016
Change-Id: I19377f25cf6adb1a9ddc170913961f948c10938c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoDo not use BindingReflections in bmp-impl 30/106630/1
Robert Varga [Thu, 22 Jun 2023 15:28:06 +0000 (17:28 +0200)]
Do not use BindingReflections in bmp-impl

There is just no point in needing to translate binding to dom -- we have
the QName readily available or we can get it from codecs we have near
by.

JIRA: BGPCEP-1016
Change-Id: I1a89e4aea49d99f8c255a77227941e1fabea7246
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoDo not use BindingReflections in AbstractRIBSupport 28/106628/2
Robert Varga [Thu, 22 Jun 2023 13:28:34 +0000 (15:28 +0200)]
Do not use BindingReflections in AbstractRIBSupport

The details of this class are specialized in a hand-coded manner,
require user to inject QNames statically.

JIRA: BGPCEP-1016
Change-Id: I780dfcf7780bd2b00ec00b97da8ccd4be968f422
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoBump versions to 0.20.0-SNAPSHOT 29/106629/1
Robert Varga [Thu, 22 Jun 2023 15:04:52 +0000 (17:04 +0200)]
Bump versions to 0.20.0-SNAPSHOT

This starts the next major development iteration.

Change-Id: I4976bb3615903c0c47983aa7f644fd11e44d293b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoUse BindingReflections.getQName() 27/106627/1
Robert Varga [Thu, 22 Jun 2023 13:04:47 +0000 (15:04 +0200)]
Use BindingReflections.getQName()

We have a purpose-defined method for extracting the QName from a
BaseIdentity instance. Use that instead of the broad findQName().

JIRA: BGPCEP-1016
Change-Id: I90e60fb337d63844be56ba1e8b208714e4822113
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoDo not use BindingReflections in RibSupportUtilsTest 26/106626/1
Robert Varga [Thu, 22 Jun 2023 13:12:34 +0000 (15:12 +0200)]
Do not use BindingReflections in RibSupportUtilsTest

Use plain literals instead of programmatic methods to assert values
being present.

Change-Id: Iac26789f767d4ab9374ade0468b4f7730bf1aedd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoEliminate AsPathSegmentParser 41/105641/3
Robert Varga [Mon, 24 Apr 2023 09:30:18 +0000 (11:30 +0200)]
Eliminate AsPathSegmentParser

This is just a utility class, which we can integrate into
AsPathAttributeParser. This allows us to eliminate a few checks in
parsing path and a switch dispatch in serialization path.

Change-Id: Ib7058d32a37339531e2ccb8874c1e3914b57fd72
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoEliminate RouteDistinguisherBuilder 34/105634/2
Robert Varga [Sun, 23 Apr 2023 22:23:54 +0000 (00:23 +0200)]
Eliminate RouteDistinguisherBuilder

This class is in a legacy place and its testing interactions with
RouteDistinguisherUtil are weird.

Integrate getDefaultInstance() into RouteDistringuisherUtil, adjusting
tests to properly perform assertions.

Also clean up API surface, so that things do not get confused.

Change-Id: I01d53086d8b7d49709a0da2d4cf287d62bf614c2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoImprove CMulticastUtil 33/105633/2
Robert Varga [Sun, 23 Apr 2023 21:25:46 +0000 (23:25 +0200)]
Improve CMulticastUtil

Use builder fluently to maximize bytecode density.

Change-Id: Ic50ed4bd49fb161159baea75ee46dab368895f77
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoImprove RouteDistinguisherUtil 32/105632/2
Robert Varga [Sun, 23 Apr 2023 21:23:06 +0000 (23:23 +0200)]
Improve RouteDistinguisherUtil

Do not muck with NormalizedNodes.findNode(), as we have the same
functionlity directly available.

Eliminate RDType -- it is a noble idea, but all we really need is just
valid constants. This improves both paths, as the arguments are now
known compile-time constants.

Finally improve nullness annotations, eliminating the need for a
requireNonNull() in flowspec.

Change-Id: I176db96b783649de166797ee84bf919e68a57196
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoFix yang-data-tree-api dependency 31/105631/3
Robert Varga [Sun, 23 Apr 2023 20:34:48 +0000 (22:34 +0200)]
Fix yang-data-tree-api dependency

We pull in yang-data-tree-api through bgp-rib-spi, which we expect
all extensions to depend on. Relegating it to scope=test does the wrong
thing, breaking build at least in Eclipse.

While we are at it, fix dependencies for all extensions.

Change-Id: I9464632de0a22d04b1b63df1d669a1676d68bfa3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoSanitize flowspec serialization 30/105630/2
Robert Varga [Sun, 23 Apr 2023 19:35:02 +0000 (21:35 +0200)]
Sanitize flowspec serialization

We have a rather useless indirection in serializeNlri, which deals with
variadic arguments between plain and l3vpn NLRIs. Refactor the
interation by keeping only the basic in AbstractFlowspecNlriParser and
providing archetype-specific serialization methods.

Change-Id: Ifce9fcdd3380d77288f8f7b615aa0b2c966b2369
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoSanitize flowspec parsing 29/105629/2
Robert Varga [Sun, 23 Apr 2023 17:26:19 +0000 (19:26 +0200)]
Sanitize flowspec parsing

Flowspec support performs a rather ugly indirection through Object[] to
deal with the fact that base and L3VPN routes have different structure.

The problem core issue here is lack of proper specialization, where
AbstractFlowspec{NlriParser,RIBSupport} really cater to plain Ipv4/Ipv6
supports -- and thus there is no simple-specific meeting point.

Introduce AbstractFlowspecIp{NlriParser,RIBSupport} to act as proper
specialization, which allows us to structure the code correctly.

This patch deals with the parsing path, leaving the serialization path
to a follow-up.

Change-Id: Ifdc3241c9f87c06eec112550103e67b26973c80f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoBump versions to 0.19.6-SNAPSHOT 28/105628/1
Robert Varga [Sun, 23 Apr 2023 15:58:10 +0000 (17:58 +0200)]
Bump versions to 0.19.6-SNAPSHOT

This starts the next development iteration.

Change-Id: I4216964d5fc7e4cffd075f0068c2f4ecdceb2b85
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoBump upstreams 06/105606/7
Robert Varga [Sat, 22 Apr 2023 17:35:16 +0000 (19:35 +0200)]
Bump upstreams

Adopt:
- odlparent-12.0.5
- infrautils-5.0.4
- yangtools-10.0.6
- mdsal-11.0.9
- controller-7.0.6
- aaa-0.17.8
- netconf-5.0.6

Change-Id: I54b8b946b2b5149cfaecdc5d287df8654649d91d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoConvert users of Optional.get() 05/105605/7
Robert Varga [Sat, 22 Apr 2023 17:42:01 +0000 (19:42 +0200)]
Convert users of Optional.get()

Upgraded modernized plugin is flagging callers of Optional.get(). This
is a good opportunity to inspect how exactly we use Optionals.

It turns out we can improve things significantly by taking advantage of
improved interfaces in yang.data.api: using childByArg()/getChildByArg()
we can:
- remove explicit calls to verifyNotNull()
- remove duplicate lookups of nodes
- remove Optional.ifPresent() indirection

Change-Id: If1f898f3e12e730e8084cca9689f94949c53c852
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMigrate tests away from Optional.get() 09/105609/1
Robert Varga [Sun, 23 Apr 2023 09:21:55 +0000 (11:21 +0200)]
Migrate tests away from Optional.get()

Upgraded modernizer plugin is flagging these violations, migrate to
alternatives.

Change-Id: I4f99b5cd6910819b8b50deda35d1b97445ecde2d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoReduce Mockito workaround 87/105487/1
Robert Varga [Tue, 18 Apr 2023 16:21:24 +0000 (18:21 +0200)]
Reduce Mockito workaround

The problem is use of inline mockmaker, this patch minimizes the
workaround to the affected test.

Change-Id: I8156c9487fd280c1d556f620d4a6209a5beaf400
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 203458fc3cad709bcf785b540bfca56bed33a34a)

12 months agoMove future declaration 82/105382/1
Robert Varga [Tue, 11 Apr 2023 17:20:16 +0000 (19:20 +0200)]
Move future declaration

Co-locate declaration and initialization.

Change-Id: I7b6cfe4c4e2a4556c1ba61ccd8d1b0cd77adaf57
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoUse instanceof patterns in BGPPeer 81/105381/1
Robert Varga [Tue, 11 Apr 2023 17:15:54 +0000 (19:15 +0200)]
Use instanceof patterns in BGPPeer

Reduce the risk of mismatched casts by using an explicit pattern.

Change-Id: I238585f6dc29456dc56853a511533cbbd8b8816e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMake BGPPeer.addPathTableMaps immutable 80/105380/1
Robert Varga [Tue, 11 Apr 2023 17:14:56 +0000 (19:14 +0200)]
Make BGPPeer.addPathTableMaps immutable

This is field is always immutable, make that contract explicit.

Change-Id: I5388b25297c7a45894d53d119e7aab44198d9d65
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoBump versions to 0.19.5-SNAPSHOT 41/105341/1
Robert Varga [Mon, 10 Apr 2023 19:05:30 +0000 (21:05 +0200)]
Bump versions to 0.19.5-SNAPSHOT

This starts the next development iteration.

Change-Id: I8d547581bc9c4e8c3a9b443d1716043b2133edc1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse ArgumentMatchers.anyList() 07/105207/1
Robert Varga [Tue, 4 Apr 2023 07:18:59 +0000 (09:18 +0200)]
Use ArgumentMatchers.anyList()

This is type-safe alternative, use it to remove a warning.

Change-Id: I5b7b7355410ecb84bfdf82fe1115b625cc16c048
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse Uint32.saturatedOf() 17/105117/1
Robert Varga [Fri, 31 Mar 2023 14:39:13 +0000 (16:39 +0200)]
Use Uint32.saturatedOf()

We are receiving a splat when the sum ends up being negative. While the
underlying cause needs to be investigated, we also should be properly
defensive. Uint32.saturatedOf() catches negative values and squashes
them to 0.

JIRA: BGPCEP-1021
Change-Id: Ia376305aa677ebd05a41629c5083f8829891615f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit cc71ea45a8e373d50b063a61966245c5e90d4aa8)

13 months agoFix session shutdown race 14/105114/1
Robert Varga [Fri, 31 Mar 2023 11:05:26 +0000 (13:05 +0200)]
Fix session shutdown race

We must not shut down the underlying transaction chain before we have
cleared all possible interactions with it.

JIRA: BGPCEP-1020
Change-Id: Iad2836827eb0b7781152cc5d8dc1997547482596
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoBump versions to 0.19.4-SNAPSHOT 47/105047/1
Robert Varga [Mon, 27 Mar 2023 18:24:58 +0000 (20:24 +0200)]
Bump versions to 0.19.4-SNAPSHOT

This starts the next development iteration.

Change-Id: I75582c0190d3b379a19a6a4391f07e3b6b8345a4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoBump upstreams 46/105046/1
Robert Varga [Mon, 27 Mar 2023 18:23:53 +0000 (20:23 +0200)]
Bump upstreams

Adopt:
- aaa-0.17.7
- netconf-5.0.4

Change-Id: I0f9431f53063c4eb67c8e17e88b52e55f67362e1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoRemove superfluous throws 68/104768/1
Robert Varga [Mon, 6 Mar 2023 10:13:32 +0000 (11:13 +0100)]
Remove superfluous throws

We are only closing a Registration, really. Make sure we preserve that
contract to remove the need to throw Exceptions.

Change-Id: I1e106c857c3adab572d09ef925a3c74d50247be6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump versions to 0.19.3-SNAPSHOT 50/104750/1
Robert Varga [Fri, 3 Mar 2023 11:35:48 +0000 (12:35 +0100)]
Bump versions to 0.19.3-SNAPSHOT

This starts the next development iteration.

Change-Id: Ifb377ddc85ec9344e1fdadc2e648a597273bc384
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump upstreams 47/104747/2
Robert Varga [Fri, 3 Mar 2023 01:35:53 +0000 (02:35 +0100)]
Bump upstreams

Adopt:
- odlparent-12.0.3
- infrautils-5.0.3
- yangtools-10.0.4
- mdsal-11.0.7
- controller-7.0.4
- aaa-0.17.6
- netconf-5.0.3

Change-Id: Ia2ae6366ccc691bd7d41ac31d138b870b447193a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump versions to 0.19.2-SNAPSHOT 96/104396/1
Robert Varga [Wed, 15 Feb 2023 09:35:06 +0000 (10:35 +0100)]
Bump versions to 0.19.2-SNAPSHOT

This starts the next development iteration.

Change-Id: I5ea9d36bb33ec8f14a501c49c518410261236fd0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>