Build #3,718

FreeRangeRouting Protocol Suite

Build: #3718 was successful Changes by Donald Sharp

Build result summary

Details

Completed
Duration
123 minutes
Labels
version=frr-7_4-dev-2672-g32e3ca2bcgit=https_//github_com/frrouting/frr_gitbuildurl=https_//ci1_netdef_org/browse/frr-frr-3718branch=master
Revision
32e3ca2bccc3bbef1a95ba57a73fdd39ad7f13b1 32e3ca2bccc3bbef1a95ba57a73fdd39ad7f13b1
Total tests
9677
Successful since
#3716 ()

Tests

Code commits

Author Commit Message Commit date
Donald Sharp Donald Sharp 32e3ca2bccc3bbef1a95ba57a73fdd39ad7f13b1 32e3ca2bccc3bbef1a95ba57a73fdd39ad7f13b1 Merge pull request #7103 from opensourcerouting/sysrepo-fixes
lib: sysrepo plugin fixes
Renato Westphal Renato Westphal bbeaa0333c28c1fbe73f81ff44f1ce27adda3789 m bbeaa0333c28c1fbe73f81ff44f1ce27adda3789 lib: simplify handling of the sysrepo startup configuration
In the new Sysrepo, all SR_EV_ENABLED notifications are followed by
SR_EV_DONE notifications (assuming no errors occur), so there's no
need to special case the SR_EV_ENABLED event anymore (e.g. do full
transactions in one step).

While here, add a few more guarded debug messages to facilitate
troubleshooting.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Renato Westphal Renato Westphal 7dac19f7de94ab562d6075314ae3c0eb1604ba2f m 7dac19f7de94ab562d6075314ae3c0eb1604ba2f lib: fix handling of deleted nodes in the sysrepo plugin
Make the sysrepo plugin ignore the deletion of configuration
nodes that don't exist anymore instead of logging an error and
rejecting the changes. This is necessary because Sysrepo delivers
delete notifications for all nodes of a deleted data tree instead
of delivering a single delete notification of the top-level subtree
node (which would suffice for the northbound layer).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Renato Westphal Renato Westphal 88e635ee6397b93a3263dbe7951f637ae4936e39 m 88e635ee6397b93a3263dbe7951f637ae4936e39 lib: postpone the sysrepo plugin initialization
From Sysrepo's documentation:
"Note: do not use fork() after creating a connection. Sysrepo
internally stores PID of every created connection and this way a
mismatch of PID and connection is created".

Introduce a new "frr_very_late_init" hook in libfrr that is only
called after the daemon is forked (when the '-d' option is used)
and after the configuration is read. This way we can initialize
the sysrepo plugin correctly even when the daemon is daemonized,
and after the Sysrepo CLI commands are processed (only "debug
northbound client sysrepo" for now).

Fixes #7062

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>

Jira issues

IssueDescriptionStatus
Unknown Issue TypeFRR-7Could not obtain issue details from Jira