Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support bulk operations #34

Open
lampwins opened this issue Feb 12, 2022 · 3 comments
Open

Support bulk operations #34

lampwins opened this issue Feb 12, 2022 · 3 comments
Labels
status: action required This issue requires additional information to be actionable status: internal review Internal discussion is required to move forward with issue type: enhancement New feature or request type: feature Introduction of substantial new functionality to the application

Comments

@lampwins
Copy link
Member

Environment

  • Nautobot version: 1.2.5
  • nautobot-ssot version: 1.1.0

Proposed Functionality

As a Tools Integrator, I want the SSoT plugin to support bulk operations within the nautobot ORM (or other target systems which support like functionality) so that jobs that deal with a lot of data can operate more performantly.

Use Case

I have several use cases which involve full inventory syncs between systems involving upwards of 75k+ objects. The run time of these jobs is currently measured in hours due to the serial nature of processing objects after the diff is calculated.

There is a tradeoff in nautobot concerning bulk ORM operations (bulk_create, bulk_update, etc) in terms of change logging and other signally, but in my case, I am willing to accept those downsides to be able to process the SSoT sync with better performance.

@glennmatthews
Copy link
Contributor

To some extent it may be possible to implement this by implementing deferred create/update/delete operations and using the DiffSync sync_complete callback to perform the requisite bulk operations. See https://blog.networktocode.com/post/advanced-ssot-app/ for some simple examples.

@jdrew82 jdrew82 added status: action required This issue requires additional information to be actionable status: internal review Internal discussion is required to move forward with issue type: enhancement New feature or request type: major feature labels Sep 22, 2022
@chadell
Copy link
Contributor

chadell commented Dec 13, 2022

@lampwins @glennmatthews are there any plans in Nautobot Core to support ORM bulk operations while updating the changelog?

@glennmatthews
Copy link
Contributor

Non-trivial to support since by design ORM bulk operations do not trigger signals.

@smk4664 smk4664 added type: feature Introduction of substantial new functionality to the application and removed type: major feature labels Feb 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: action required This issue requires additional information to be actionable status: internal review Internal discussion is required to move forward with issue type: enhancement New feature or request type: feature Introduction of substantial new functionality to the application
Projects
None yet
Development

No branches or pull requests

5 participants