nautobot-app-golden-config
nautobot-app-golden-config copied to clipboard
Job Atomic Transaction fully in Nautobot Jobs
Environment
- Python version: 3.8
- Nautobot version: 1.4.1
- nautobot-golden-config version: 1.2.2
Steps to Reproduce
- Run a job
Expected Behavior
The job should be able to run without keeping all of the transactions queued up to the point that the job cannot run.
Observed Behavior
Since everything is ran in the run
method runs everything in atomic mode
- Connect to each device
- Save to local file
- Git add -A, git commit -m "$current date update"
- git push
- atomic save
Potential Solution
- Connect to each device
- Save to local file
- Git add -A, git commit -m "$current date update"
- git push
- Run a git data sync job
- We can look to optimize this job to run transactionally
Potential idea for workflows: non-atomic workflow elements, thus you could declare which of the steps are atomic vs non-atomic.
Possibly related to https://github.com/nautobot/nautobot/issues/1991