Fix(eos_designs): Avoid in-place updates of network services impacting PyAVD #3544
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change Summary
Avoid in-place updates of network services impacting PyAVD.
When running PyAVD with multi-threading the parallel processes in-place updated the network services data, causing some threads to get incomplete data.
This change shallow copies the data structured to avoid affecting other devices.
I have not seen any performance impact in my tests, but I would expect a slight penalty.
Also tested by @emilarista who found the issue using PyAVD and Nornir.
Checklist
User Checklist
Repository Checklist