[BGPCEP-983] PCEPTopologyDeployerImpl restarts topologies on any update Created: 29/Sep/21 Updated: 21/Nov/21 Resolved: 21/Nov/21 |
|
| Status: | Resolved |
| Project: | bgpcep |
| Component/s: | PCEP |
| Affects Version/s: | Aluminium, Silicon, 0.16.7 |
| Fix Version/s: | 0.16.11 |
| Type: | Bug | Priority: | High |
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | pt | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Description |
|
Our CSIT test suite has started failing on: which may be caused by slow EOS, but is nevertheless problematic. Essentially any configuration update to a PCEP topology results in it being dropped and recreated from scratch without ever attempting to update its configuration. |
| Comments |
| Comment by Robert Varga [ 29/Sep/21 ] |
|
This essentially needs refactoring of https://github.com/opendaylight/bgpcep/blob/master/pcep/topology/topology-provider/src/main/java/org/opendaylight/bgpcep/pcep/topology/provider/config/PCEPTopologyDeployerImpl.java#L66-L94 so that there remains the core difference between 'create a topology' and 'update a topology' – the latter should not be touching EOS at all. |
| Comment by Robert Varga [ 29/Sep/21 ] |
|
So even for simple things like a device's password update: 11:53:18.791 INFO PUT Request : url=http://10.30.170.73:8181/restconf/config/network-topology:network-topology/topology/pcep-topology/node/10.30.171.119
path_url=/restconf/config/network-topology:network-topology/topology/pcep-topology/node/10.30.171.119
headers={'User-Agent': 'python-requests/2.19.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Content-Length': '249', 'Authorization': 'Basic YWRtaW46YWRtaW4='}
body=<node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
<node-id>10.30.171.119</node-id>
<session-config xmlns="urn:opendaylight:params:xml:ns:yang:topology:pcep:config">
<password>changeme</password>
</session-config>
</node>
11:53:18.791 INFO PUT Response : url=http://10.30.170.73:8181/restconf/config/network-topology:network-topology/topology/pcep-topology/node/10.30.171.119
status=201, reason=Created
body=None
ends up with the topology disappearing and later appearing: 2021-09-29T09:53:18,786 | INFO | opendaylight-cluster-data-notification-dispatcher-36 | PCEPTopologyDeployerImpl | 255 - org.opendaylight.bgpcep.pcep-topology-provider - 0.16.7 | Updating Topology Uri{_value=pcep-topology}
2021-09-29T09:53:18,786 | INFO | opendaylight-cluster-data-notification-dispatcher-36 | PCEPTopologyDeployerImpl | 255 - org.opendaylight.bgpcep.pcep-topology-provider - 0.16.7 | Removing Topology Uri{_value=pcep-topology}
2021-09-29T09:53:18,787 | INFO | opendaylight-cluster-data-notification-dispatcher-36 | PCEPTopologyProviderBean | 255 - org.opendaylight.bgpcep.pcep-topology-provider - 0.16.7 | Close PCEP Topology Provider Singleton Service pcep-topology-service-group
2021-09-29T09:53:18,788 | INFO | opendaylight-cluster-data-notification-dispatcher-36 | PCEPTopologyProviderBean | 255 - org.opendaylight.bgpcep.pcep-topology-provider - 0.16.7 | Close PCEP Topology Provider Singleton Service pcep-topology-service-group
2021-09-29T09:53:18,788 | DEBUG | CommitFutures-11 | ServerSessionManager | 255 - org.opendaylight.bgpcep.pcep-topology-provider - 0.16.7 | Topology KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology, path=[org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology[key=TopologyKey{_topologyId=Uri{_value=pcep-topology}}]]} removed
2021-09-29T09:53:18,789 | INFO | opendaylight-cluster-data-notification-dispatcher-36 | ProgrammingServiceImpl | 261 - org.opendaylight.bgpcep.programming-impl - 0.16.7 | Closing Instruction Queue service pcep-topology-service-group
2021-09-29T09:53:18,789 | INFO | opendaylight-cluster-data-notification-dispatcher-36 | PCEPTopologyDeployerImpl | 255 - org.opendaylight.bgpcep.pcep-topology-provider - 0.16.7 | Creating Topology Uri{_value=pcep-topology}
2021-09-29T09:53:18,790 | TRACE | opendaylight-cluster-data-notification-dispatcher-36 | PCEPTopologyDeployerImpl | 255 - org.opendaylight.bgpcep.pcep-topology-provider - 0.16.7 | Topology Topology{node={NodeKey{_nodeId=Uri{_value=43.43.43.43}}=Node{nodeId=Uri{_value=43.43.43.43}, augmentation=[PcepNodeConfig{sessionConfig=SessionConfig{password=Rfc2385Key{_value=topsecret}, augmentation=[PcepNodeSyncConfig{speakerEntityIdValue=[1, 2, 3, 4]}]}}]}, NodeKey{_nodeId=Uri{_value=10.30.170.73}}=Node{nodeId=Uri{_value=10.30.170.73}, augmentation=[PcepNodeConfig{sessionConfig=SessionConfig{augmentation=[PcepNodeSyncConfig{speakerEntityIdValue=[1, 2, 3, 4]}]}}]}, NodeKey{_nodeId=Uri{_value=10.30.171.119}}=Node{nodeId=Uri{_value=10.30.171.119}, augmentation=[PcepNodeConfig{sessionConfig=SessionConfig{password=Rfc2385Key{_value=changeme}, augmentation=[]}}]}}, topologyId=Uri{_value=pcep-topology}, topologyTypes=TopologyTypes{augmentation=[TopologyTypes1{topologyPcep=TopologyPcep{augmentation=[]}}]}, augmentation=[PcepTopologyTypeConfig{sessionConfig=SessionConfig{deadTimerValue=120, keepAliveTimerValue=30, listenAddress=IpAddressNoZone{_ipv4AddressNoZone=Ipv4Address{_value=0.0.0.0}}, listenPort=PortNumber{_value=4189}, rpcTimeout=30, augmentation=[]}}]}.
2021-09-29T09:53:18,790 | INFO | opendaylight-cluster-data-notification-dispatcher-36 | DefaultInstructionSchedulerFactory | 261 - org.opendaylight.bgpcep.programming-impl - 0.16.7 | Creating Instruction Scheduler pcep-topology.
2021-09-29T09:53:18,790 | INFO | opendaylight-cluster-data-notification-dispatcher-36 | ProgrammingServiceImpl | 261 - org.opendaylight.bgpcep.programming-impl - 0.16.7 | Creating Programming Service pcep-topology-service-group.
2021-09-29T09:53:18,791 | INFO | opendaylight-cluster-data-notification-dispatcher-36 | PCEPTopologyProviderBean | 255 - org.opendaylight.bgpcep.pcep-topology-provider - 0.16.7 | PCEP Topology Provider service pcep-topology-service-group registered
2021-09-29T09:53:19,505 | INFO | opendaylight-cluster-data-akka.actor.default-dispatcher-30 | ContextChainHolderImpl | 413 - org.opendaylight.openflowplugin.impl - 0.13.0 | Entity ownership change received for node : EntityOwnershipChange [entity=Entity [type=org.opendaylight.mdsal.AsyncServiceCloseEntityType, id=KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.core.general.entity.rev150930.Entity, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.core.general.entity.rev150930.Entity[key=EntityKey{_name=pcep-topology-service-group}]]}], state=LOCAL_OWNERSHIP_LOST_NO_OWNER [wasOwner=true, isOwner=false, hasOwner=false], inJeopardy=false]
2021-09-29T09:53:21,239 | DEBUG | pcep-topology-stats-timer | TopologyStatsProviderImpl | 257 - org.opendaylight.bgpcep.pcep-topology-stats - 0.16.7 | Successfully committed Topology stats update
2021-09-29T09:53:21,585 | INFO | opendaylight-cluster-data-akka.actor.default-dispatcher-14 | ProgrammingServiceImpl | 261 - org.opendaylight.bgpcep.programming-impl - 0.16.7 | Instruction Queue service pcep-topology-service-group instantiated
2021-09-29T09:53:21,585 | INFO | opendaylight-cluster-data-akka.actor.default-dispatcher-15 | ContextChainHolderImpl | 413 - org.opendaylight.openflowplugin.impl - 0.13.0 | Entity ownership change received for node : EntityOwnershipChange [entity=Entity [type=org.opendaylight.mdsal.AsyncServiceCloseEntityType, id=KeyedInstanceIdentifier{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.core.general.entity.rev150930.Entity, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.core.general.entity.rev150930.Entity[key=EntityKey{_name=pcep-topology-service-group}]]}], state=LOCAL_OWNERSHIP_GRANTED [wasOwner=false, isOwner=true, hasOwner=true], inJeopardy=false]
2021-09-29T09:53:21,587 | INFO | opendaylight-cluster-data-akka.actor.default-dispatcher-14 | PCEPTopologyProviderBean | 255 - org.opendaylight.bgpcep.pcep-topology-provider - 0.16.7 | PCEP Topology Provider Singleton Service pcep-topology-service-group instantiated
2021-09-29T09:53:21,590 | INFO | opendaylight-cluster-data-akka.actor.default-dispatcher-14 | ServerSessionManager | 255 - org.opendaylight.bgpcep.pcep-topology-provider - 0.16.7 | PCEP Topology pcep-topology created successfully.
|