]> git.ipfire.org Git - thirdparty/bind9.git/commit
chg: dev: refactor view creation/configuration loops in dedicated functions
authorColin Vidal <colin@isc.org>
Wed, 24 Sep 2025 09:46:38 +0000 (11:46 +0200)
committerColin Vidal <colin@isc.org>
Wed, 24 Sep 2025 09:46:38 +0000 (11:46 +0200)
commitcb0807be2beda943c75a5348854d0bc061480f01
tree86a2aea10ee033f34b8df046438556aae8c60101
parent0ac744ee4de865b31047b3401f138acfad8d7829
parent17a2cbcbc5a8ca4b9b8168fb0dd3dd8ae39e4128
chg: dev: refactor view creation/configuration loops in dedicated functions

Refactor a bit of `apply_configuration` by extracting (into respective dedicated function) the logic to build the keystores list, the KASP list as well as creating the view/zones and configuring those. This is the next step of MR !10895 and !10901

While the code is extracted, some global variables has been changed into a function parameters which enable to have a clear view of the dependency of the function, typically, to know if it depends on local configuration object or runtime "production" object. The end goal (not in this MR, but later on) is to move as much as possible initialization logic outside of the exclusive mode.

As a first step, latest commits move the keystores list, KASP list and view/zones creation outside of the exclusive mode. (The view/zone configuration remain in exclusive mode for now, because of a dependency to the runtime "cachelist". This is the target of a next MR.

For the record; while moving the keystores list, KASP list and view/zone creation doesn't have a significant impact on the time the exclusive mode is taken (from my experiment on a 1M small zones instance); moving `configure_views` did have a _massive_ impact (basically, the time spend in the exclusive mode is then non calculable). Configuring views outside the exclusive mode needs more work, which will be done in future MRs.

See #4673

Merge branch 'colin/refactor-applyconfig' into 'main'

See merge request isc-projects/bind9!10910