Correct Bugs in Path Manager 05/100205/4
authorOlivier Dugeon <olivier.dugeon@orange.com>
Mon, 21 Mar 2022 13:53:16 +0000 (14:53 +0100)
committerOlivier Dugeon <olivier.dugeon@orange.com>
Wed, 23 Mar 2022 16:35:38 +0000 (17:35 +0100)
commit462aec855c5bb8afe31f0c9b34b2196a69e5bcd1
tree9d1e46c5d07fbcc4eb36fbec7bf3ea09dd1e3afe
parentd30a851fd43d377626a721c13f981d4d7da61a29
Correct Bugs in Path Manager

Some major bugs are corrected with this patch:
- METRIC Object is not sent to PCC during creation or Update
  due to a redundant setting in yang model. The patch suppress
  the 'routing-method' and deduce the type of metric from what
  metric has been set in constraint (like for Algorithm)
- After closing ODL, previous updated configuration on delegated
  LSP are considered as Initiated LSP letting the possibility
  to delete LSP while it is not initiated. The patch overwrites
  the LSP type with one provided by the PcReport if there is
  mismatch between Initiated type
- Saved Managed TE Path are not applied to PCCi at startup.
  Indeed, saved configuration are read before the Graph is
  available. Thus, no valid paths are computed and Managed TE
  Paths are marked with NO_PATH. Give a chance to compute a
  valid path when PCC goes in SYNC to validate configured LSP
  and thus applied modification on PCC.
- Change the HashMap of Managed TE Node to store the TE Managed
  Path to a ConcurrentHashMap. This is mandatory when removing
  the Managed TE Node in order to safetly loop other all Managed
  TE Paths attached to this Managed TE Node.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Change-Id: Ie737cafe7938e6ec0886c75d9f76f9f00f7163a9
docs/pcep/pcep-user-guide-pce-server.rst
pcep/server/server-api/src/main/yang/pcep-server.yang
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/ManagedTeNode.java
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/ManagedTePath.java
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PathComputationImpl.java
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PathManagerListener.java
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PathManagerProvider.java
pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PcepTopologyListener.java