nautobot 2.4.4__py3-none-any.whl → 2.4.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nautobot might be problematic. Click here for more details.

Files changed (42) hide show
  1. nautobot/__init__.py +19 -3
  2. nautobot/core/celery/__init__.py +5 -3
  3. nautobot/core/jobs/__init__.py +3 -2
  4. nautobot/core/testing/__init__.py +2 -0
  5. nautobot/core/testing/mixins.py +9 -0
  6. nautobot/core/tests/test_jobs.py +26 -27
  7. nautobot/dcim/tests/test_jobs.py +4 -6
  8. nautobot/extras/choices.py +8 -3
  9. nautobot/extras/jobs.py +181 -103
  10. nautobot/extras/management/utils.py +13 -2
  11. nautobot/extras/models/datasources.py +4 -1
  12. nautobot/extras/models/jobs.py +20 -17
  13. nautobot/extras/tables.py +25 -29
  14. nautobot/extras/test_jobs/atomic_transaction.py +6 -6
  15. nautobot/extras/test_jobs/fail.py +75 -1
  16. nautobot/extras/tests/test_api.py +1 -1
  17. nautobot/extras/tests/test_datasources.py +64 -54
  18. nautobot/extras/tests/test_jobs.py +69 -62
  19. nautobot/extras/tests/test_models.py +1 -1
  20. nautobot/extras/tests/test_relationships.py +5 -5
  21. nautobot/extras/views.py +7 -1
  22. nautobot/ipam/forms.py +15 -0
  23. nautobot/ipam/querysets.py +6 -0
  24. nautobot/ipam/templates/ipam/rir.html +1 -43
  25. nautobot/ipam/tests/test_models.py +16 -0
  26. nautobot/ipam/urls.py +1 -21
  27. nautobot/ipam/views.py +24 -41
  28. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +43 -5
  29. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +35 -0
  30. nautobot/project-static/docs/development/jobs/index.html +27 -14
  31. nautobot/project-static/docs/objects.inv +0 -0
  32. nautobot/project-static/docs/release-notes/version-2.4.html +183 -0
  33. nautobot/project-static/docs/requirements.txt +1 -1
  34. nautobot/project-static/docs/search/search_index.json +1 -1
  35. nautobot/project-static/docs/sitemap.xml +290 -290
  36. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  37. {nautobot-2.4.4.dist-info → nautobot-2.4.5.dist-info}/METADATA +3 -3
  38. {nautobot-2.4.4.dist-info → nautobot-2.4.5.dist-info}/RECORD +42 -42
  39. {nautobot-2.4.4.dist-info → nautobot-2.4.5.dist-info}/LICENSE.txt +0 -0
  40. {nautobot-2.4.4.dist-info → nautobot-2.4.5.dist-info}/NOTICE +0 -0
  41. {nautobot-2.4.4.dist-info → nautobot-2.4.5.dist-info}/WHEEL +0 -0
  42. {nautobot-2.4.4.dist-info → nautobot-2.4.5.dist-info}/entry_points.txt +0 -0
@@ -8761,6 +8761,75 @@
8761
8761
  </ul>
8762
8762
  </nav>
8763
8763
 
8764
+ </li>
8765
+
8766
+ <li class="md-nav__item">
8767
+ <a href="#v245-2025-03-10" class="md-nav__link">
8768
+ <span class="md-ellipsis">
8769
+ v2.4.5 (2025-03-10)
8770
+ </span>
8771
+ </a>
8772
+
8773
+ <nav class="md-nav" aria-label="v2.4.5 (2025-03-10)">
8774
+ <ul class="md-nav__list">
8775
+
8776
+ <li class="md-nav__item">
8777
+ <a href="#security-in-v245" class="md-nav__link">
8778
+ <span class="md-ellipsis">
8779
+ Security in v2.4.5
8780
+ </span>
8781
+ </a>
8782
+
8783
+ </li>
8784
+
8785
+ <li class="md-nav__item">
8786
+ <a href="#added-in-v245" class="md-nav__link">
8787
+ <span class="md-ellipsis">
8788
+ Added in v2.4.5
8789
+ </span>
8790
+ </a>
8791
+
8792
+ </li>
8793
+
8794
+ <li class="md-nav__item">
8795
+ <a href="#changed-in-v245" class="md-nav__link">
8796
+ <span class="md-ellipsis">
8797
+ Changed in v2.4.5
8798
+ </span>
8799
+ </a>
8800
+
8801
+ </li>
8802
+
8803
+ <li class="md-nav__item">
8804
+ <a href="#removed-in-v245" class="md-nav__link">
8805
+ <span class="md-ellipsis">
8806
+ Removed in v2.4.5
8807
+ </span>
8808
+ </a>
8809
+
8810
+ </li>
8811
+
8812
+ <li class="md-nav__item">
8813
+ <a href="#fixed-in-v245" class="md-nav__link">
8814
+ <span class="md-ellipsis">
8815
+ Fixed in v2.4.5
8816
+ </span>
8817
+ </a>
8818
+
8819
+ </li>
8820
+
8821
+ <li class="md-nav__item">
8822
+ <a href="#housekeeping-in-v245" class="md-nav__link">
8823
+ <span class="md-ellipsis">
8824
+ Housekeeping in v2.4.5
8825
+ </span>
8826
+ </a>
8827
+
8828
+ </li>
8829
+
8830
+ </ul>
8831
+ </nav>
8832
+
8764
8833
  </li>
8765
8834
 
8766
8835
  <li class="md-nav__item">
@@ -9996,6 +10065,75 @@
9996
10065
  </ul>
9997
10066
  </nav>
9998
10067
 
10068
+ </li>
10069
+
10070
+ <li class="md-nav__item">
10071
+ <a href="#v245-2025-03-10" class="md-nav__link">
10072
+ <span class="md-ellipsis">
10073
+ v2.4.5 (2025-03-10)
10074
+ </span>
10075
+ </a>
10076
+
10077
+ <nav class="md-nav" aria-label="v2.4.5 (2025-03-10)">
10078
+ <ul class="md-nav__list">
10079
+
10080
+ <li class="md-nav__item">
10081
+ <a href="#security-in-v245" class="md-nav__link">
10082
+ <span class="md-ellipsis">
10083
+ Security in v2.4.5
10084
+ </span>
10085
+ </a>
10086
+
10087
+ </li>
10088
+
10089
+ <li class="md-nav__item">
10090
+ <a href="#added-in-v245" class="md-nav__link">
10091
+ <span class="md-ellipsis">
10092
+ Added in v2.4.5
10093
+ </span>
10094
+ </a>
10095
+
10096
+ </li>
10097
+
10098
+ <li class="md-nav__item">
10099
+ <a href="#changed-in-v245" class="md-nav__link">
10100
+ <span class="md-ellipsis">
10101
+ Changed in v2.4.5
10102
+ </span>
10103
+ </a>
10104
+
10105
+ </li>
10106
+
10107
+ <li class="md-nav__item">
10108
+ <a href="#removed-in-v245" class="md-nav__link">
10109
+ <span class="md-ellipsis">
10110
+ Removed in v2.4.5
10111
+ </span>
10112
+ </a>
10113
+
10114
+ </li>
10115
+
10116
+ <li class="md-nav__item">
10117
+ <a href="#fixed-in-v245" class="md-nav__link">
10118
+ <span class="md-ellipsis">
10119
+ Fixed in v2.4.5
10120
+ </span>
10121
+ </a>
10122
+
10123
+ </li>
10124
+
10125
+ <li class="md-nav__item">
10126
+ <a href="#housekeeping-in-v245" class="md-nav__link">
10127
+ <span class="md-ellipsis">
10128
+ Housekeeping in v2.4.5
10129
+ </span>
10130
+ </a>
10131
+
10132
+ </li>
10133
+
10134
+ </ul>
10135
+ </nav>
10136
+
9999
10137
  </li>
10000
10138
 
10001
10139
  <li class="md-nav__item">
@@ -10473,6 +10611,16 @@
10473
10611
  <p>Jobs can now log <code>success</code> messages as a new logging level which will be appropriately labeled and colorized in Job Result views.</p>
10474
10612
  <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">success</span><span class="p">(</span><span class="s2">&quot;All data is valid.&quot;</span><span class="p">)</span>
10475
10613
  </code></pre></div>
10614
+ <details class="version-added">
10615
+ <summary>Added in version 2.4.5</summary>
10616
+ </details>
10617
+ <p>In Nautobot v2.4.5 and later, Jobs can now log <code>failure</code> messages as well:</p>
10618
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">failure</span><span class="p">(</span><span class="s2">&quot;Something went wrong.&quot;</span><span class="p">)</span>
10619
+ </code></pre></div>
10620
+ <p>In Nautobot v2.4.5 and later, Jobs can also mark their result as failed without raising an uncaught exception by calling the new <code>Job.fail(message)</code> API:</p>
10621
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="bp">self</span><span class="o">.</span><span class="n">fail</span><span class="p">(</span><span class="s2">&quot;Something went wrong, and we&#39;ll fail in the end, but we can continue for now.&quot;</span><span class="p">)</span>
10622
+ <a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="bp">self</span><span class="o">.</span><span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Continuing...&quot;</span><span class="p">)</span>
10623
+ </code></pre></div>
10476
10624
  <h4 id="kubernetes-job-execution-and-job-queue-data-model-experimental">Kubernetes Job Execution and Job Queue Data Model (Experimental)<a class="headerlink" href="#kubernetes-job-execution-and-job-queue-data-model-experimental" title="Permanent link">&para;</a></h4>
10477
10625
  <p><em>Please note that this functionality is considered Experimental in the v2.4.0 release and is subject to change in the future.</em></p>
10478
10626
  <p>When running in a Kubernetes (k8s) deployment, such as with Nautobot's <a href="https://docs.nautobot.com/projects/helm-charts/en/stable/">Helm chart</a>, Nautobot now supports an alternative method of running Nautobot Jobs - instead of (or in addition to) running one or more Celery Workers as long-lived persistent pods, Nautobot can dispatch Nautobot Jobs to be executed as short-lived <a href="https://kubernetes.io/docs/concepts/workloads/controllers/job/">Kubernetes Job</a> pods.</p>
@@ -10519,6 +10667,41 @@
10519
10667
 
10520
10668
  <!-- towncrier release notes start -->
10521
10669
 
10670
+ <h2 id="v245-2025-03-10">v2.4.5 (2025-03-10)<a class="headerlink" href="#v245-2025-03-10" title="Permanent link">&para;</a></h2>
10671
+ <h3 id="security-in-v245">Security in v2.4.5<a class="headerlink" href="#security-in-v245" title="Permanent link">&para;</a></h3>
10672
+ <ul>
10673
+ <li><a href="https://github.com/nautobot/nautobot/issues/6983">#6983</a> - Updated dependency <code>Jinja2</code> to <code>~3.1.6</code> to address <code>CVE-2025-27516</code>.</li>
10674
+ <li><a href="https://github.com/nautobot/nautobot/issues/7000">#7000</a> - Updated dependency <code>Django</code> to <code>~4.2.20</code> to address <code>CVE-2025-26699</code>.</li>
10675
+ </ul>
10676
+ <h3 id="added-in-v245">Added in v2.4.5<a class="headerlink" href="#added-in-v245" title="Permanent link">&para;</a></h3>
10677
+ <ul>
10678
+ <li><a href="https://github.com/nautobot/nautobot/issues/6384">#6384</a> - Added <code>Job.logger.failure()</code> API for Job logging, using custom <code>FAILURE</code> log level (between <code>WARNING</code> and <code>ERROR</code>).</li>
10679
+ <li><a href="https://github.com/nautobot/nautobot/issues/6384">#6384</a> - Added <code>Job.fail()</code> API, which can be used to fail a Job more gracefully than by raising an uncaught exception.</li>
10680
+ <li><a href="https://github.com/nautobot/nautobot/issues/6384">#6384</a> - Added <code>NautobotTestCaseMixin.assertJobResultStatus()</code> testing helper API.</li>
10681
+ <li><a href="https://github.com/nautobot/nautobot/issues/7001">#7001</a> - Added bulk-edit support for the RIR model.</li>
10682
+ </ul>
10683
+ <h3 id="changed-in-v245">Changed in v2.4.5<a class="headerlink" href="#changed-in-v245" title="Permanent link">&para;</a></h3>
10684
+ <ul>
10685
+ <li><a href="https://github.com/nautobot/nautobot/issues/6384">#6384</a> - Changed output of <code>nautobot-server runjob</code> command to include the traceback (if any) and count of <code>success</code>/<code>failure</code> log messages.</li>
10686
+ </ul>
10687
+ <h3 id="removed-in-v245">Removed in v2.4.5<a class="headerlink" href="#removed-in-v245" title="Permanent link">&para;</a></h3>
10688
+ <ul>
10689
+ <li><a href="https://github.com/nautobot/nautobot/issues/6384">#6384</a> - Removed the (undocumented) requirement for Jobs that implement a custom <code>before_start()</code> or <code>after_return()</code> method to call <code>super()</code> for the Job to execute successfully.</li>
10690
+ </ul>
10691
+ <h3 id="fixed-in-v245">Fixed in v2.4.5<a class="headerlink" href="#fixed-in-v245" title="Permanent link">&para;</a></h3>
10692
+ <ul>
10693
+ <li><a href="https://github.com/nautobot/nautobot/issues/6384">#6384</a> - Fixed rendering of "actions" column in the JobResult table view.</li>
10694
+ <li><a href="https://github.com/nautobot/nautobot/issues/6384">#6384</a> - Fixed incorrect <code>stacklevel</code> default value in Job <code>logger.success()</code> API.</li>
10695
+ <li><a href="https://github.com/nautobot/nautobot/issues/6906">#6906</a> - <code>GitRepository.clone_to_directory</code> now uses configured Secrets for Repository to prepare correct <code>from_url</code>.</li>
10696
+ <li><a href="https://github.com/nautobot/nautobot/issues/6972">#6972</a> - Fixed IPAddress get_or_create not working with the address argument.</li>
10697
+ </ul>
10698
+ <h3 id="housekeeping-in-v245">Housekeeping in v2.4.5<a class="headerlink" href="#housekeeping-in-v245" title="Permanent link">&para;</a></h3>
10699
+ <ul>
10700
+ <li><a href="https://github.com/nautobot/nautobot/issues/6384">#6384</a> - Added <code>init: true</code> to development <code>docker-compose.yml</code> to avoid failed health-checks from remaining as zombie processes.</li>
10701
+ <li><a href="https://github.com/nautobot/nautobot/issues/6384">#6384</a> - Added <code>ExampleFailingJob</code> to example app to demonstrate the two different ways to fail a Job.</li>
10702
+ <li><a href="https://github.com/nautobot/nautobot/issues/6971">#6971</a> - Fixed invoke commands requiring pyyaml.</li>
10703
+ <li><a href="https://github.com/nautobot/nautobot/issues/7001">#7001</a> - Refactored RIR model related UI views to use <code>NautobotUIViewSet</code> and <code>UI component framework</code>.</li>
10704
+ </ul>
10522
10705
  <h2 id="v244-2025-03-03">v2.4.4 (2025-03-03)<a class="headerlink" href="#v244-2025-03-03" title="Permanent link">&para;</a></h2>
10523
10706
  <h3 id="added-in-v244">Added in v2.4.4<a class="headerlink" href="#added-in-v244" title="Permanent link">&para;</a></h3>
10524
10707
  <ul>
@@ -1,4 +1,4 @@
1
- Jinja2==3.1.5
1
+ Jinja2==3.1.6
2
2
  Markdown==3.6
3
3
  markdown-data-tables==1.0.0
4
4
  markdown-version-annotations==1.0.1