nautobot 2.4.2__py3-none-any.whl → 2.4.4__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.
- nautobot/apps/filters.py +2 -0
- nautobot/circuits/filters.py +1 -1
- nautobot/circuits/templates/circuits/inc/circuit_termination.html +1 -1
- nautobot/circuits/tests/integration/test_circuit.py +135 -0
- nautobot/circuits/tests/test_models.py +5 -3
- nautobot/circuits/views.py +4 -1
- nautobot/cloud/api/views.py +3 -3
- nautobot/cloud/filters.py +3 -6
- nautobot/cloud/tests/test_filters.py +21 -0
- nautobot/core/admin.py +2 -0
- nautobot/core/constants.py +0 -1
- nautobot/core/forms/__init__.py +2 -0
- nautobot/core/forms/forms.py +2 -1
- nautobot/core/forms/widgets.py +8 -0
- nautobot/core/jobs/__init__.py +2 -1
- nautobot/core/management/commands/generate_performance_test_endpoints.py +271 -0
- nautobot/core/models/utils.py +6 -1
- nautobot/core/templates/generic/object_bulk_delete.html +1 -1
- nautobot/core/templates/generic/object_bulk_edit.html +1 -1
- nautobot/core/templates/generic/object_bulk_import.html +1 -1
- nautobot/core/templates/generic/object_create.html +5 -0
- nautobot/core/templates/generic/object_delete.html +1 -1
- nautobot/core/templates/generic/object_detail.html +1 -1
- nautobot/core/templates/generic/object_edit.html +1 -1
- nautobot/core/templates/inc/javascript.html +3 -0
- nautobot/core/templates/widgets/clearable_file.html +5 -0
- nautobot/core/templatetags/helpers.py +3 -3
- nautobot/core/templatetags/ui_framework.py +20 -4
- nautobot/core/testing/forms.py +1 -1
- nautobot/core/testing/integration.py +37 -7
- nautobot/core/tests/test_api.py +1 -1
- nautobot/core/tests/test_commands.py +31 -0
- nautobot/core/tests/test_graphql.py +3 -3
- nautobot/core/tests/test_jobs.py +4 -1
- nautobot/core/tests/test_utils.py +17 -2
- nautobot/core/ui/object_detail.py +1 -1
- nautobot/core/utils/lookup.py +12 -1
- nautobot/core/views/generic.py +9 -1
- nautobot/core/views/mixins.py +9 -1
- nautobot/dcim/api/serializers.py +36 -0
- nautobot/dcim/api/views.py +12 -11
- nautobot/dcim/elevations.py +17 -4
- nautobot/dcim/factory.py +9 -1
- nautobot/dcim/filters/__init__.py +27 -1
- nautobot/dcim/forms.py +16 -7
- nautobot/dcim/models/devices.py +12 -7
- nautobot/dcim/signals.py +26 -0
- nautobot/dcim/templates/dcim/cable_trace.html +4 -4
- nautobot/dcim/templates/dcim/consoleport.html +14 -4
- nautobot/dcim/templates/dcim/consoleserverport.html +14 -4
- nautobot/dcim/templates/dcim/device/lldp_neighbors.html +3 -3
- nautobot/dcim/templates/dcim/frontport.html +7 -2
- nautobot/dcim/templates/dcim/interface.html +9 -4
- nautobot/dcim/templates/dcim/powerfeed.html +8 -3
- nautobot/dcim/templates/dcim/poweroutlet.html +14 -4
- nautobot/dcim/templates/dcim/powerport.html +14 -4
- nautobot/dcim/templates/dcim/rearport.html +7 -2
- nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +0 -62
- nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +6 -0
- nautobot/dcim/tests/integration/test_fileinputpicker.py +87 -0
- nautobot/dcim/tests/test_api.py +176 -0
- nautobot/dcim/tests/test_filters.py +56 -3
- nautobot/dcim/tests/test_models.py +41 -1
- nautobot/dcim/views.py +24 -14
- nautobot/extras/api/mixins.py +1 -1
- nautobot/extras/api/views.py +4 -4
- nautobot/extras/filters/__init__.py +4 -0
- nautobot/extras/forms/forms.py +4 -0
- nautobot/extras/jobs.py +8 -1
- nautobot/extras/models/datasources.py +7 -3
- nautobot/extras/plugins/__init__.py +26 -1
- nautobot/extras/templates/extras/inc/jobresult.html +12 -13
- nautobot/extras/templates/extras/job.html +1 -0
- nautobot/extras/templates/extras/objectchange.html +28 -12
- nautobot/extras/tests/test_api.py +16 -15
- nautobot/extras/tests/test_dynamicgroups.py +14 -0
- nautobot/extras/tests/test_filters.py +2 -0
- nautobot/extras/tests/test_plugins.py +32 -1
- nautobot/extras/tests/test_views.py +209 -11
- nautobot/extras/utils.py +30 -0
- nautobot/extras/views.py +32 -14
- nautobot/ipam/api/serializers.py +7 -8
- nautobot/ipam/api/views.py +5 -5
- nautobot/ipam/factory.py +27 -8
- nautobot/ipam/filters.py +67 -29
- nautobot/ipam/formfields.py +51 -0
- nautobot/ipam/forms.py +15 -7
- nautobot/ipam/migrations/0051_added_optional_vrf_relationship_to_vdc.py +41 -0
- nautobot/ipam/models.py +63 -5
- nautobot/ipam/tables.py +21 -7
- nautobot/ipam/tests/test_api.py +107 -66
- nautobot/ipam/tests/test_filters.py +145 -5
- nautobot/ipam/tests/test_views.py +15 -2
- nautobot/project-static/bootstrap-filestyle-1.2.3/bootstrap-filestyle.min.js +11 -0
- nautobot/project-static/css/base.css +11 -0
- nautobot/project-static/css/dark.css +2 -1
- nautobot/project-static/docs/apps/index.html +1 -1
- nautobot/project-static/docs/apps/nautobot-apps.html +1 -1
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +62 -0
- nautobot/project-static/docs/development/apps/api/configuration-view.html +0 -3
- nautobot/project-static/docs/development/apps/api/models/graphql.html +9 -13
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +94 -1
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +2 -5
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +0 -3
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +0 -3
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +0 -3
- nautobot/project-static/docs/development/apps/api/prometheus.html +0 -3
- nautobot/project-static/docs/development/apps/api/setup.html +1 -1
- nautobot/project-static/docs/development/apps/api/testing.html +0 -6
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +0 -3
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +0 -3
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +0 -3
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +0 -3
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +1 -7
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +0 -7
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +0 -4
- nautobot/project-static/docs/development/apps/api/views/notes.html +0 -3
- nautobot/project-static/docs/development/apps/index.html +2 -35
- nautobot/project-static/docs/development/apps/migration/code-updates.html +7 -6
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +2 -2
- nautobot/project-static/docs/development/apps/migration/from-v1.html +3 -3
- nautobot/project-static/docs/development/core/application-registry.html +0 -6
- nautobot/project-static/docs/development/core/best-practices.html +1 -28
- nautobot/project-static/docs/development/core/bootstrap-ui.html +1 -1
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +65 -11
- nautobot/project-static/docs/development/core/getting-started.html +14 -18
- nautobot/project-static/docs/development/core/homepage.html +0 -3
- nautobot/project-static/docs/development/core/index.html +1 -1
- nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +3 -3
- nautobot/project-static/docs/development/core/model-checklist.html +1 -1
- nautobot/project-static/docs/development/core/navigation-menu.html +1 -1
- nautobot/project-static/docs/development/core/release-checklist.html +1 -1
- nautobot/project-static/docs/development/core/settings.html +1 -1
- nautobot/project-static/docs/development/core/style-guide.html +4 -9
- nautobot/project-static/docs/development/core/templates.html +0 -3
- nautobot/project-static/docs/development/core/testing.html +0 -9
- nautobot/project-static/docs/development/jobs/index.html +11 -30
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +3 -2
- nautobot/project-static/docs/index.html +3 -2
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +2 -20
- nautobot/project-static/docs/release-notes/version-1.0.html +2 -2
- nautobot/project-static/docs/release-notes/version-1.1.html +2 -2
- nautobot/project-static/docs/release-notes/version-1.2.html +3 -3
- nautobot/project-static/docs/release-notes/version-1.3.html +1 -1
- nautobot/project-static/docs/release-notes/version-1.4.html +17 -17
- nautobot/project-static/docs/release-notes/version-1.5.html +8 -8
- nautobot/project-static/docs/release-notes/version-1.6.html +4 -4
- nautobot/project-static/docs/release-notes/version-2.0.html +10 -10
- nautobot/project-static/docs/release-notes/version-2.1.html +7 -7
- nautobot/project-static/docs/release-notes/version-2.2.html +1 -1
- nautobot/project-static/docs/release-notes/version-2.3.html +4 -4
- nautobot/project-static/docs/release-notes/version-2.4.html +379 -0
- nautobot/project-static/docs/requirements.txt +1 -1
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +290 -290
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +3 -3
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +4 -4
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +1 -1
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +3 -13
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +5 -5
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +3 -18
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +1 -1
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +4 -4
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +15 -15
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +2 -2
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +1 -1
- nautobot/project-static/docs/user-guide/administration/installation/index.html +0 -16
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +1 -1
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +7 -10
- nautobot/project-static/docs/user-guide/administration/installation/services.html +1 -12
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +3 -3
- nautobot/project-static/docs/user-guide/administration/security/index.html +1 -1
- nautobot/project-static/docs/user-guide/administration/security/notices.html +1 -0
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +5 -35
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +1 -1
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/tables/v2-code-location-changes.yaml +1 -1
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +12 -9
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +0 -3
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +0 -3
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +1 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +0 -3
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +0 -3
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +1 -7
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +0 -6
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +0 -3
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +0 -8
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +15 -15
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +1 -1
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +0 -6
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +3 -15
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +1 -27
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +0 -8
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +3 -6
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +0 -8
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +0 -7
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +2 -2
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +6 -6
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +0 -14
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +1 -10
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +0 -14
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +0 -19
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +3 -9
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +0 -8
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +0 -4
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +1 -13
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +0 -5
- nautobot/project-static/js/dropdown.js +28 -0
- nautobot/project-static/js/editor.js +292 -0
- nautobot/project-static/monaco-editor-0.52.2/README.md +81 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/base/worker/workerMain.js +31 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/basic-languages/xml/xml.js +10 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/basic-languages/yaml/yaml.js +10 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/editor/editor.main.css +8 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/editor/editor.main.js +798 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/language/json/jsonMode.js +19 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/language/json/jsonWorker.js +42 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/loader.js +11 -0
- nautobot/tenancy/filters/__init__.py +3 -5
- nautobot/tenancy/forms.py +9 -0
- nautobot/tenancy/templates/tenancy/tenant_create.html +21 -0
- nautobot/tenancy/templates/tenancy/tenant_edit.html +2 -21
- nautobot/tenancy/templates/tenancy/tenantgroup.html +2 -44
- nautobot/tenancy/templates/tenancy/tenantgroup_retrieve.html +1 -0
- nautobot/tenancy/tests/test_filters.py +10 -0
- nautobot/tenancy/tests/test_views.py +5 -1
- nautobot/tenancy/urls.py +7 -79
- nautobot/tenancy/views.py +51 -80
- nautobot/virtualization/views.py +0 -1
- nautobot/wireless/api/serializers.py +6 -1
- nautobot/wireless/api/views.py +3 -3
- nautobot/wireless/tables.py +9 -4
- nautobot/wireless/tests/test_api.py +5 -9
- {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/METADATA +9 -9
- {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/RECORD +267 -246
- {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/NOTICE +0 -0
- {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/WHEEL +0 -0
- {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/entry_points.txt +0 -0
|
@@ -10100,9 +10100,6 @@ The checkbox to enable dryrun when executing a Job is unchecked by default in th
|
|
|
10100
10100
|
<p>Default: <code>[]</code></p>
|
|
10101
10101
|
<p>A list of strings (field names) representing the order your Job <a href="#variables">variables</a> should be rendered as form fields in the Job submission UI. If not defined, the variables will be listed in order of their definition in the code. If variables are defined on a parent class and no field order is defined, the parent class variables will appear before the subclass variables.</p>
|
|
10102
10102
|
<h4 id="has_sensitive_variables"><code>has_sensitive_variables</code><a class="headerlink" href="#has_sensitive_variables" title="Permanent link">¶</a></h4>
|
|
10103
|
-
<details class="version-added">
|
|
10104
|
-
<summary>Added in version 1.3.10</summary>
|
|
10105
|
-
</details>
|
|
10106
10103
|
<p>Default: <code>True</code></p>
|
|
10107
10104
|
<p>Unless set to False, it prevents the Job's input parameters from being saved to the database. This defaults to True so as to protect against inadvertent database exposure of input parameters that may include sensitive data such as passwords or other user credentials. Review whether each Job's inputs contain any such variables before setting this to False; if a Job <em>does</em> contain sensitive inputs, if possible you should consider whether the Job could be re-implemented using Nautobot's <a href="../../user-guide/platform-functionality/secret.html"><code>Secrets</code></a> feature as a way to ensure that the sensitive data is not directly provided as a Job variable at all.</p>
|
|
10108
10105
|
<p>Important notes about Jobs with sensitive variables:</p>
|
|
@@ -10138,9 +10135,6 @@ A Boolean that if set to <code>True</code> prevents the job from running twice s
|
|
|
10138
10135
|
<li>A checkbox on the job run form makes it possible to force the singleton lock to be overridden. This makes it possible to recover from failure scenarios such as the original singleton job being stopped before it can unset the lock.</li>
|
|
10139
10136
|
</ul>
|
|
10140
10137
|
<h4 id="read_only"><code>read_only</code><a class="headerlink" href="#read_only" title="Permanent link">¶</a></h4>
|
|
10141
|
-
<details class="version-added">
|
|
10142
|
-
<summary>Added in version 1.1.0</summary>
|
|
10143
|
-
</details>
|
|
10144
10138
|
<details class="version-changed">
|
|
10145
10139
|
<summary>Changed in version 2.0.0 — No automatic functionality</summary>
|
|
10146
10140
|
<p>The <code>read_only</code> flag no longer changes the behavior of Nautobot core and is up to the Job author to decide whether their Job should be considered read only.</p>
|
|
@@ -10148,9 +10142,6 @@ A Boolean that if set to <code>True</code> prevents the job from running twice s
|
|
|
10148
10142
|
<p>Default: <code>False</code></p>
|
|
10149
10143
|
<p>A boolean that can be set by the Job author to indicate that the Job does not make any changes to the environment. What behavior makes each Job "read only" is up to the individual Job author to decide. Note that user input may still be optionally collected with read-only Jobs via Job variables, as described below.</p>
|
|
10150
10144
|
<h4 id="soft_time_limit"><code>soft_time_limit</code><a class="headerlink" href="#soft_time_limit" title="Permanent link">¶</a></h4>
|
|
10151
|
-
<details class="version-added">
|
|
10152
|
-
<summary>Added in version 1.3.0</summary>
|
|
10153
|
-
</details>
|
|
10154
10145
|
<p>An int or float value, in seconds, which can be used to override the default <a href="../../user-guide/administration/configuration/settings.html#celery_task_soft_time_limit">soft time limit</a> for a Job task to complete.</p>
|
|
10155
10146
|
<p>The <code>celery.exceptions.SoftTimeLimitExceeded</code> exception will be raised when this soft time limit is exceeded. The Job task can catch this to clean up before the <a href="../../user-guide/administration/configuration/settings.html#celery_task_time_limit">hard time limit</a> (10 minutes by default) is reached:</p>
|
|
10156
10147
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="kn">from</span> <span class="nn">celery.exceptions</span> <span class="kn">import</span> <span class="n">SoftTimeLimitExceeded</span>
|
|
@@ -10171,9 +10162,6 @@ A Boolean that if set to <code>True</code> prevents the job from running twice s
|
|
|
10171
10162
|
<a id="__codelineno-7-16" name="__codelineno-7-16" href="#__codelineno-7-16"></a> <span class="n">cleanup_in_a_hurry</span><span class="p">()</span>
|
|
10172
10163
|
</code></pre></div>
|
|
10173
10164
|
<h4 id="task_queues"><code>task_queues</code><a class="headerlink" href="#task_queues" title="Permanent link">¶</a></h4>
|
|
10174
|
-
<details class="version-added">
|
|
10175
|
-
<summary>Added in version 1.5.0</summary>
|
|
10176
|
-
</details>
|
|
10177
10165
|
<p>Default: <code>[]</code></p>
|
|
10178
10166
|
<p>A list of Job Queue names that the Job can be routed to. An empty list will default to only allowing the user to select the <a href="../../user-guide/administration/configuration/settings.html#celery_task_default_queue">default Celery queue</a> (<code>default</code> unless changed by an administrator). The queue specified in the Job's <code>default_job_queue</code> will be used if a queue is not specified in a Job run API call.</p>
|
|
10179
10167
|
<details class="version-changed">
|
|
@@ -10185,9 +10173,6 @@ A Boolean that if set to <code>True</code> prevents the job from running twice s
|
|
|
10185
10173
|
<p>A worker must be listening on the requested queue or the Job will not run. See the documentation on <a href="../../user-guide/administration/guides/celery-queues.html">task queues</a> for more information.</p>
|
|
10186
10174
|
</div>
|
|
10187
10175
|
<h4 id="template_name"><code>template_name</code><a class="headerlink" href="#template_name" title="Permanent link">¶</a></h4>
|
|
10188
|
-
<details class="version-added">
|
|
10189
|
-
<summary>Added in version 1.4.0</summary>
|
|
10190
|
-
</details>
|
|
10191
10176
|
<p>A path relative to the Job source code containing a Django template which provides additional code to customize the Job's submission form. This template should extend the existing Job template, <code>extras/job.html</code>, otherwise the base form and functionality may not be available.</p>
|
|
10192
10177
|
<p>A template can provide additional JavaScript, CSS, or even display HTML. A good starting template would be:</p>
|
|
10193
10178
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>{% extends 'extras/job.html' %}
|
|
@@ -10211,9 +10196,6 @@ A Boolean that if set to <code>True</code> prevents the job from running twice s
|
|
|
10211
10196
|
</details>
|
|
10212
10197
|
<p>For another example checkout <a href="https://github.com/nautobot/nautobot/blob/main/examples/example_app/example_app/templates/example_app/example_with_custom_template.html">the template used in the Example App</a> in the GitHub repo.</p>
|
|
10213
10198
|
<h4 id="time_limit"><code>time_limit</code><a class="headerlink" href="#time_limit" title="Permanent link">¶</a></h4>
|
|
10214
|
-
<details class="version-added">
|
|
10215
|
-
<summary>Added in version 1.3.0</summary>
|
|
10216
|
-
</details>
|
|
10217
10199
|
<p>An int or float value, in seconds, which can be used to override the
|
|
10218
10200
|
default <a href="../../user-guide/administration/configuration/settings.html#celery_task_time_limit">hard time limit</a> (10 minutes by default) for a Job task to complete.</p>
|
|
10219
10201
|
<p>Unlike the <code>soft_time_limit</code> above, no exceptions are raised when a <code>time_limit</code> is exceeded. The task will just terminate silently:</p>
|
|
@@ -10427,6 +10409,7 @@ Another example of using the nested reference would be to access <a href="../../
|
|
|
10427
10409
|
<li><code>skip_db_logging</code> - Log the message to the console but not to the database</li>
|
|
10428
10410
|
</ul>
|
|
10429
10411
|
<p>If a <code>grouping</code> is not provided it will default to the function name that logged the message. The <code>object</code> will default to <code>None</code>.</p>
|
|
10412
|
+
<!-- pyml disable-num-lines 10 proper-names -->
|
|
10430
10413
|
<div class="admonition example">
|
|
10431
10414
|
<p class="admonition-title">Example</p>
|
|
10432
10415
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="kn">from</span> <span class="nn">nautobot.apps.jobs</span> <span class="kn">import</span> <span class="n">Job</span>
|
|
@@ -10437,6 +10420,7 @@ Another example of using the nested reference would be to access <a href="../../
|
|
|
10437
10420
|
</code></pre></div>
|
|
10438
10421
|
</div>
|
|
10439
10422
|
<p>To skip writing a log entry to the database, set the <code>skip_db_logging</code> key in the "extra" kwarg to <code>True</code> when calling the log function. The output will still be written to the console.</p>
|
|
10423
|
+
<!-- pyml disable-num-lines 10 proper-names -->
|
|
10440
10424
|
<div class="admonition example">
|
|
10441
10425
|
<p class="admonition-title">Example</p>
|
|
10442
10426
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="kn">from</span> <span class="nn">nautobot.apps.jobs</span> <span class="kn">import</span> <span class="n">Job</span>
|
|
@@ -10447,10 +10431,10 @@ Another example of using the nested reference would be to access <a href="../../
|
|
|
10447
10431
|
</code></pre></div>
|
|
10448
10432
|
</div>
|
|
10449
10433
|
<p>Markdown rendering is supported for log messages, as well as <a href="../../user-guide/platform-functionality/template-filters.html#render_markdown">a limited subset of HTML</a>.</p>
|
|
10450
|
-
<
|
|
10451
|
-
<
|
|
10434
|
+
<div class="admonition warning">
|
|
10435
|
+
<p class="admonition-title">Warning</p>
|
|
10452
10436
|
<p>As a security measure, the <code>message</code> passed to any of these methods will be passed through the <code>nautobot.core.utils.logging.sanitize()</code> function in an attempt to strip out information such as usernames/passwords that should not be saved to the logs. This is of course best-effort only, and Job authors should take pains to ensure that such information is not passed to the logging APIs in the first place. The set of redaction rules used by the <code>sanitize()</code> function can be configured as <a href="../../user-guide/administration/configuration/settings.html#sanitizer_patterns"><code>settings.SANITIZER_PATTERNS</code></a>.</p>
|
|
10453
|
-
</
|
|
10437
|
+
</div>
|
|
10454
10438
|
<details class="version-changed">
|
|
10455
10439
|
<summary>Changed in version 2.0.0 — Significant API changes</summary>
|
|
10456
10440
|
<p>The Job class logging functions (example: <code>self.log(message)</code>, <code>self.log_success(obj=None, message=message)</code>, etc) have been removed. Also, the convenience method to mark a Job as failed, <code>log_failure()</code>, has been removed. To replace the functionality of this method, you can log an error message with <code>self.logger.error()</code> and then raise an exception to fail the Job. Note that it is no longer possible to manually set the Job Result status as failed without raising an exception in the Job.</p>
|
|
@@ -10510,11 +10494,6 @@ Another example of using the nested reference would be to access <a href="../../
|
|
|
10510
10494
|
<h2 id="testing-jobs">Testing Jobs<a class="headerlink" href="#testing-jobs" title="Permanent link">¶</a></h2>
|
|
10511
10495
|
<p>Jobs are Python code and can be tested as such, usually via <a href="https://docs.djangoproject.com/en/stable/topics/testing/">Django unit-test features</a>. That said, there are a few useful tricks specific to testing Jobs.</p>
|
|
10512
10496
|
<p>While individual methods within your Job can and should be tested in isolation, you'll likely also want to test the entire execution of the Job.</p>
|
|
10513
|
-
<details class="version-added">
|
|
10514
|
-
<summary>Added in version 1.3.3</summary>
|
|
10515
|
-
<p>Entire Job execution testing was only introduced in 1.3.3 and newer.
|
|
10516
|
-
However the import paths used in the examples requires 1.5.2 and newer.</p>
|
|
10517
|
-
</details>
|
|
10518
10497
|
<p>The simplest way to test the entire execution of Jobs is via calling the <code>nautobot.apps.testing.run_job_for_testing()</code> method, which is a helper wrapper around the <code>JobResult.enqueue_job</code> function used to execute a Job via Nautobot's Celery worker process.</p>
|
|
10519
10498
|
<p>Because of the way <code>run_job_for_testing</code> and more specifically Celery tasks work, which is somewhat complex behind the scenes, you need to inherit from <code>nautobot.apps.testing.TransactionTestCase</code> instead of <code>django.test.TestCase</code> (Refer to the <a href="https://docs.djangoproject.com/en/stable/topics/testing/tools/#provided-test-case-classes">Django documentation</a> if you're interested in the differences between these classes - <code>TransactionTestCase</code> from Nautobot is a small wrapper around Django's <code>TransactionTestCase</code>).</p>
|
|
10520
10499
|
<p>When using <code>TransactionTestCase</code> (whether from Django or from Nautobot) each tests runs on a completely empty database. Furthermore, Nautobot requires new Jobs to be enabled before they can run. Therefore, we need to make sure the Job is enabled before each run which <code>run_job_for_testing</code> handles for us.</p>
|
|
@@ -10526,7 +10505,7 @@ However the import paths used in the examples requires 1.5.2 and newer.</p>
|
|
|
10526
10505
|
<a id="__codelineno-24-5" name="__codelineno-24-5" href="#__codelineno-24-5"></a><span class="k">class</span> <span class="nc">MyJobTestCase</span><span class="p">(</span><span class="n">TransactionTestCase</span><span class="p">):</span>
|
|
10527
10506
|
<a id="__codelineno-24-6" name="__codelineno-24-6" href="#__codelineno-24-6"></a> <span class="k">def</span> <span class="nf">test_my_job</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
10528
10507
|
<a id="__codelineno-24-7" name="__codelineno-24-7" href="#__codelineno-24-7"></a> <span class="c1"># Testing of Job "MyJob" in file "my_job_file.py" in $JOBS_ROOT</span>
|
|
10529
|
-
<a id="__codelineno-24-8" name="__codelineno-24-8" href="#__codelineno-24-8"></a> <span class="n">job</span> <span class="o">=</span> <span class="n">Job</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">job_class_name</span><span class="o">=</span><span class="s2">"MyJob"</span><span class="p">,</span> <span class="n">module_name</span><span class="o">=</span><span class="s2">"my_job_file"</span><span class="p"
|
|
10508
|
+
<a id="__codelineno-24-8" name="__codelineno-24-8" href="#__codelineno-24-8"></a> <span class="n">job</span> <span class="o">=</span> <span class="n">Job</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">job_class_name</span><span class="o">=</span><span class="s2">"MyJob"</span><span class="p">,</span> <span class="n">module_name</span><span class="o">=</span><span class="s2">"my_job_file"</span><span class="p">)</span>
|
|
10530
10509
|
<a id="__codelineno-24-9" name="__codelineno-24-9" href="#__codelineno-24-9"></a> <span class="c1"># or, job = Job.objects.get_for_class_path("local/my_job_file/MyJob")</span>
|
|
10531
10510
|
<a id="__codelineno-24-10" name="__codelineno-24-10" href="#__codelineno-24-10"></a> <span class="n">job_result</span> <span class="o">=</span> <span class="n">run_job_for_testing</span><span class="p">(</span><span class="n">job</span><span class="p">,</span> <span class="n">var1</span><span class="o">=</span><span class="s2">"abc"</span><span class="p">,</span> <span class="n">var2</span><span class="o">=</span><span class="mi">123</span><span class="p">)</span>
|
|
10532
10511
|
<a id="__codelineno-24-11" name="__codelineno-24-11" href="#__codelineno-24-11"></a>
|
|
@@ -10535,14 +10514,16 @@ However the import paths used in the examples requires 1.5.2 and newer.</p>
|
|
|
10535
10514
|
<a id="__codelineno-24-14" name="__codelineno-24-14" href="#__codelineno-24-14"></a> <span class="k">for</span> <span class="n">log_entry</span> <span class="ow">in</span> <span class="n">log_entries</span><span class="p">:</span>
|
|
10536
10515
|
<a id="__codelineno-24-15" name="__codelineno-24-15" href="#__codelineno-24-15"></a> <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">log_entry</span><span class="o">.</span><span class="n">message</span><span class="p">,</span> <span class="s2">"..."</span><span class="p">)</span>
|
|
10537
10516
|
</code></pre></div>
|
|
10517
|
+
<p>The test files should be placed under the <code>tests</code> folder in the app's directory or under JOBS_ROOT. The test can be run via <code>nautobot-server test [path to test in dotted directory format]</code> or <code>pytest [path to test in slash directory format]</code>.</p>
|
|
10518
|
+
<div class="admonition tip">
|
|
10519
|
+
<p class="admonition-title">Tip</p>
|
|
10520
|
+
<p>For running tests directly in the JOBS_ROOT, make sure the <code>JOBS_ROOT</code> environment variable is set.</p>
|
|
10521
|
+
</div>
|
|
10538
10522
|
<div class="admonition tip">
|
|
10539
10523
|
<p class="admonition-title">Tip</p>
|
|
10540
10524
|
<p>For more advanced examples refer to the Nautobot source code, specifically <code>nautobot/extras/tests/test_jobs.py</code>.</p>
|
|
10541
10525
|
</div>
|
|
10542
10526
|
<h2 id="debugging-job-performance">Debugging Job Performance<a class="headerlink" href="#debugging-job-performance" title="Permanent link">¶</a></h2>
|
|
10543
|
-
<details class="version-added">
|
|
10544
|
-
<summary>Added in version 1.5.17</summary>
|
|
10545
|
-
</details>
|
|
10546
10527
|
<p>Debugging the performance of Nautobot Jobs can be tricky, because they are executed in the worker context. In order to gain extra visibility, <a href="https://docs.python.org/3/library/profile.html">cProfile</a> can be used to profile the Job execution.</p>
|
|
10547
10528
|
<p>The 'profile' form field on Jobs is automatically available when the <code>DEBUG</code> settings is <code>True</code>. When you select that checkbox, a profiling report in the pstats format will be written to the file system of the environment where the Job runs. Normally, this is on the file system of the worker process, but if you are using the <code>nautobot-server runjob</code> command with <code>--local</code>, it will end up in the file system of the web application itself. The path of the written file will be logged in the Job.</p>
|
|
10548
10529
|
<div class="admonition note">
|
|
@@ -9518,10 +9518,10 @@
|
|
|
9518
9518
|
<li><a href="#test_-and-post_run-methods"><code>self.test_*</code> and <code>self.post_run()</code> methods were removed</a></li>
|
|
9519
9519
|
<li><a href="#read-only-meta-attribute"><code>read_only</code> no longer changes the behavior of Nautobot core</a></li>
|
|
9520
9520
|
<li><a href="#tracking-job-state"><code>self.job_result</code> should no longer be modified or saved from within a Job</a></li>
|
|
9521
|
-
<li><a href="#job-registration">Jobs must be registered in the
|
|
9521
|
+
<li><a href="#job-registration">Jobs must be registered in the Celery task registry</a></li>
|
|
9522
9522
|
<li><a href="#tracking-job-state"><code>self.failed</code> removed</a></li>
|
|
9523
9523
|
<li><a href="#job-logging">The job logging methods have been renamed and their signature changed</a></li>
|
|
9524
|
-
<li><a href="#request-property">The <code>request</code> property has been changed to a
|
|
9524
|
+
<li><a href="#request-property">The <code>request</code> property has been changed to a Celery request instead of a Django request</a></li>
|
|
9525
9525
|
</ul>
|
|
9526
9526
|
<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">¶</a></h2>
|
|
9527
9527
|
<p>Some fundamental changes were made to Jobs in Nautobot v2.0. This document outlines the changes that were made and how to migrate your existing Jobs to work in Nautobot v2.0. For more information about the changes made to the Job class and Job model in Nautobot v2.0 see the <a href="../../../user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html#job-changes">Upgrading From Nautobot v1</a> documentation.</p>
|
|
@@ -9575,6 +9575,7 @@
|
|
|
9575
9575
|
</div>
|
|
9576
9576
|
<h3 id="database-transaction-handling">Database Transaction Handling<a class="headerlink" href="#database-transaction-handling" title="Permanent link">¶</a></h3>
|
|
9577
9577
|
<p>Jobs no longer run in a single atomic <a href="https://docs.djangoproject.com/en/stable/topics/db/transactions/">database transaction</a> by default. If a Job needs to run in a database transaction, you can use the <code>@transaction.atomic</code> decorator on the <code>run()</code> method or wrap parts of your Job code in the <code>with transaction.atomic()</code> context manager.</p>
|
|
9578
|
+
<!-- pyml disable-num-lines 10 proper-names -->
|
|
9578
9579
|
<div class="admonition example">
|
|
9579
9580
|
<p class="admonition-title">Example</p>
|
|
9580
9581
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="kn">from</span> <span class="nn">django.db</span> <span class="kn">import</span> <span class="n">transaction</span>
|
|
@@ -9183,12 +9183,13 @@
|
|
|
9183
9183
|
|
|
9184
9184
|
|
|
9185
9185
|
<h1 id="nautobot">Nautobot<a class="headerlink" href="#nautobot" title="Permanent link">¶</a></h1>
|
|
9186
|
-
<!-- pyml disable-num-lines
|
|
9186
|
+
<!-- pyml disable-num-lines 5 no-inline-html,proper-names -->
|
|
9187
9187
|
<figure>
|
|
9188
9188
|
<img alt="Nautobot Logo" src="assets/nautobot_logo.svg" title="Welcome" width="400" />
|
|
9189
9189
|
</figure>
|
|
9190
9190
|
<h2 id="what-is-nautobot">What is Nautobot?<a class="headerlink" href="#what-is-nautobot" title="Permanent link">¶</a></h2>
|
|
9191
9191
|
<p>Nautobot is an open source Network Source of Truth and Network Automation Platform built as a web application atop the <a href="https://www.djangoproject.com/">Django</a> Python framework with a <a href="https://www.postgresql.org/">PostgreSQL</a> or <a href="https://www.mysql.com">MySQL</a> database.</p>
|
|
9192
|
+
<!-- pyml disable-next-line proper-names -->
|
|
9192
9193
|
<p>Try out a live demo at <a href="https://demo.nautobot.com">https://demo.nautobot.com</a></p>
|
|
9193
9194
|
<h2 id="key-use-cases">Key Use Cases<a class="headerlink" href="#key-use-cases" title="Permanent link">¶</a></h2>
|
|
9194
9195
|
<p>Nautobot enables three (3) key use cases.</p>
|
|
@@ -9204,7 +9205,7 @@
|
|
|
9204
9205
|
</li>
|
|
9205
9206
|
</ol>
|
|
9206
9207
|
<h2 id="getting-started">Getting Started<a class="headerlink" href="#getting-started" title="Permanent link">¶</a></h2>
|
|
9207
|
-
<!-- pyml disable-num-lines 30 no-inline-html -->
|
|
9208
|
+
<!-- pyml disable-num-lines 30 no-inline-html,proper-names -->
|
|
9208
9209
|
<div class="grid cards">
|
|
9209
9210
|
<ul>
|
|
9210
9211
|
<li>
|
|
Binary file
|
|
@@ -9248,7 +9248,7 @@
|
|
|
9248
9248
|
<h1 id="application-stack">Application Stack<a class="headerlink" href="#application-stack" title="Permanent link">¶</a></h1>
|
|
9249
9249
|
<p>Nautobot is built on the <a href="https://djangoproject.com/">Django</a> Python Web framework and requires either a <a href="https://www.postgresql.org/">PostgreSQL</a> or <a href="https://www.mysql.com">MySQL</a> database backend. It runs as a WSGI service behind your choice of HTTP server.</p>
|
|
9250
9250
|
<h2 id="components">Components<a class="headerlink" href="#components" title="Permanent link">¶</a></h2>
|
|
9251
|
-
<!-- pyml disable-num-lines 9 no-inline-html -->
|
|
9251
|
+
<!-- pyml disable-num-lines 9 no-inline-html,proper-names -->
|
|
9252
9252
|
<table>
|
|
9253
9253
|
<thead>
|
|
9254
9254
|
<tr>
|
|
@@ -9293,26 +9293,8 @@
|
|
|
9293
9293
|
<h2 id="getting-started">Getting Started<a class="headerlink" href="#getting-started" title="Permanent link">¶</a></h2>
|
|
9294
9294
|
<p>See the <a href="../user-guide/administration/installation/index.html">installation guide</a> for help getting Nautobot up and running quickly.</p>
|
|
9295
9295
|
<h2 id="dependency-history">Dependency History<a class="headerlink" href="#dependency-history" title="Permanent link">¶</a></h2>
|
|
9296
|
-
<details class="version-added">
|
|
9297
|
-
<summary>Added in version 1.1.0 — MySQL support</summary>
|
|
9298
|
-
<p>MySQL support was added.</p>
|
|
9299
|
-
</details>
|
|
9300
|
-
<details class="version-changed">
|
|
9301
|
-
<summary>Changed in version 1.3.0 — Python 3.6, Python 3.10</summary>
|
|
9302
|
-
<ul>
|
|
9303
|
-
<li>Python 3.6 support was removed.</li>
|
|
9304
|
-
<li>Python 3.10 support was added.</li>
|
|
9305
|
-
</ul>
|
|
9306
|
-
</details>
|
|
9307
|
-
<details class="version-changed">
|
|
9308
|
-
<summary>Changed in version 1.6.0 — Python 3.7, Python 3.11</summary>
|
|
9309
|
-
<ul>
|
|
9310
|
-
<li>Python 3.7 support was removed.</li>
|
|
9311
|
-
<li>Python 3.11 support was added.</li>
|
|
9312
|
-
</ul>
|
|
9313
|
-
</details>
|
|
9314
9296
|
<details class="version-removed">
|
|
9315
|
-
<summary>Removed in version 2.0.0 — django-rq and django-cacheops</summary>
|
|
9297
|
+
<summary>Removed in version 2.0.0 — <code>django-rq</code> and <code>django-cacheops</code></summary>
|
|
9316
9298
|
<ul>
|
|
9317
9299
|
<li><code>django-rq</code> support was removed.</li>
|
|
9318
9300
|
<li><code>django-cacheops</code> usage was removed and replaced with Django's native caching features.</li>
|
|
@@ -10781,7 +10781,7 @@
|
|
|
10781
10781
|
<p>Plugins can now define additional Django apps that they require and these dependencies will be automatically enabled when the plugin is activated.</p>
|
|
10782
10782
|
<p>Nautobot now allows and encourages plugins to make use of the generic view classes and page templates provided in <code>nautobot.core.views.generic</code> and <code>nautobot/core/templates/generic/</code> respectively.</p>
|
|
10783
10783
|
<h4 id="single-sign-on-social-authentication-support">Single Sign-On / Social Authentication Support<a class="headerlink" href="#single-sign-on-social-authentication-support" title="Permanent link">¶</a></h4>
|
|
10784
|
-
<p>Nautobot now supports single sign on as an authentication option using OAuth2, OpenID, SAML, and others, using the <a href="https://python-social-auth.readthedocs.io/en/latest/">social-auth-app-django</a> module. For more details please refer to the guide on <a href="../user-guide/administration/configuration/authentication/sso.html">SSO authentication</a>.</p>
|
|
10784
|
+
<p>Nautobot now supports single sign on as an authentication option using OAuth2, OpenID, SAML, and others, using the <a href="https://python-social-auth.readthedocs.io/en/latest/"><code>social-auth-app-django</code></a> module. For more details please refer to the guide on <a href="../user-guide/administration/configuration/authentication/sso.html">SSO authentication</a>.</p>
|
|
10785
10785
|
<h4 id="user-defined-relationships">User-Defined Relationships<a class="headerlink" href="#user-defined-relationships" title="Permanent link">¶</a></h4>
|
|
10786
10786
|
<p>User-Defined, or "custom", <a href="../user-guide/platform-functionality/relationship.html">relationships</a> allow users to create their own relationships between models in Nautobot to best suit the needs of their specific network design.</p>
|
|
10787
10787
|
<p>For example, a VLAN is mapped to a Site by default. After a VLAN is created today, you then assign that VLAN to an Interface on a Device. This Device should be within the initial mapped Site. However, many networks today have different requirements and relationships for VLANs (and many other models): VLANs may be limited to racks in Layer 3 DC fabrics; VLANs may be mapped to multiple buildings in a campus; they may span sites. Relationships allow you to express these additional requirements and relationships without requiring code changes to Nautobot itself. Other use cases include circuits, ASNs, or IP addressing -- just to name a few -- allowing users to define the exact relationships required for their network.</p>
|
|
@@ -11059,7 +11059,7 @@
|
|
|
11059
11059
|
<li><a href="https://github.com/nautobot/nautobot/issues/83">#83</a> - Custom user model added; UserConfig model merged into User model</li>
|
|
11060
11060
|
<li><a href="https://github.com/nautobot/nautobot/issues/98">#98</a> - Simplify MultipleContentTypeField boilerplate</li>
|
|
11061
11061
|
<li><a href="https://github.com/nautobot/nautobot/pull/128">#128</a> - Overview of usage for the <code>nautobot-netbox-importer</code> plugin could be mistaken for full instructions</li>
|
|
11062
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/122">#122</a> - Improved installation flow for creating nautobot user and virtualenv</li>
|
|
11062
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/122">#122</a> - Improved installation flow for creating <code>nautobot</code> user and virtualenv</li>
|
|
11063
11063
|
<li><a href="https://github.com/nautobot/nautobot/pull/131">#131</a> - Replaced PostgreSQL-specific ArrayField with a more generic JSONArrayField</li>
|
|
11064
11064
|
<li><a href="https://github.com/nautobot/nautobot/issues/137">#137</a> - Explicitly disallow Custom Field Name Changes</li>
|
|
11065
11065
|
<li><a href="https://github.com/nautobot/nautobot/pull/142">#142</a> - Converted various config validation checks into proper Django checks</li>
|
|
@@ -10394,7 +10394,7 @@
|
|
|
10394
10394
|
<p>Plugins can now define custom Jinja2 filters to be used when rendering templates defined within computed fields or custom links. To register your own filters, you may add a <code>jinja_filters.py</code> to your plugin and any filters defined there will be automatically registered and globally usable.</p>
|
|
10395
10395
|
<p>Please see the <a href="../development/apps/api/platform-features/jinja2-filters.html">plugin development documentation on including Jinja2 filters</a> to get started.</p>
|
|
10396
10396
|
<h4 id="read-only-jobs-200">Read Only Jobs (<a href="https://github.com/nautobot/nautobot/issues/200">#200</a>)<a class="headerlink" href="#read-only-jobs-200" title="Permanent link">¶</a></h4>
|
|
10397
|
-
<p>Jobs may be optionally marked as read only by setting the <code>read_only = True</code> meta attribute. This prevents the job from making any changes to
|
|
10397
|
+
<p>Jobs may be optionally marked as read only by setting the <code>read_only = True</code> meta attribute. This prevents the job from making any changes to Nautobot data and suppresses certain log messages. Read only jobs can be a great way to safely develop new jobs, and for working with reporting use cases. Please see the <a href="../user-guide/platform-functionality/jobs/index.html">Jobs documentation</a> for more details.</p>
|
|
10398
10398
|
<h4 id="saved-graphql-queries-3">Saved GraphQL Queries (<a href="https://github.com/nautobot/nautobot/issues/3">#3</a>)<a class="headerlink" href="#saved-graphql-queries-3" title="Permanent link">¶</a></h4>
|
|
10399
10399
|
<p><a href="../user-guide/platform-functionality/graphql.html#saved-queries">Saved GraphQL queries</a> offers a new model where reusable queries can be stored in Nautobot. New views for managing saved queries are available; additionally, the GraphiQL interface has been augmented to allow populating the interface from a saved query, editing and saving new queries.</p>
|
|
10400
10400
|
<p>Saved queries can easily be imported into the GraphiQL interface by using the new navigation tab located on the right side of the navbar. Inside the new tab are also buttons for editing and saving queries directly into Nautobot's databases.</p>
|
|
@@ -10594,7 +10594,7 @@
|
|
|
10594
10594
|
</ul>
|
|
10595
10595
|
<h3 id="fixed-in-v110">Fixed in v1.1.0<a class="headerlink" href="#fixed-in-v110" title="Permanent link">¶</a></h3>
|
|
10596
10596
|
<ul>
|
|
10597
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/363">#363</a> - Fixed using S3 django-storages backend requires <code>USE_TZ=False</code
|
|
10597
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/363">#363</a> - Fixed using S3 <code>django-storages</code> backend requires <code>USE_TZ=False</code>.</li>
|
|
10598
10598
|
<li><a href="https://github.com/nautobot/nautobot/issues/466">#466</a> - Fixed improper GraphQL schema generation on fields that can be blank but not null (such as <code>Interface.mode</code>)</li>
|
|
10599
10599
|
<li><a href="https://github.com/nautobot/nautobot/issues/663">#663</a> - Fixed <code>kombu.exceptions.EncodeError</code> when trying to execute Jobs using <code>(Multi)ObjectVar</code> objects with nested relationships</li>
|
|
10600
10600
|
<li><a href="https://github.com/nautobot/nautobot/issues/672">#672</a> - Fixed inheritance of Celery broker/results URL settings for dev/template configs (they can now be defined using Redis env. vars)</li>
|
|
@@ -11102,7 +11102,7 @@
|
|
|
11102
11102
|
</ul>
|
|
11103
11103
|
<h3 id="dependencies-in-v128">Dependencies in v1.2.8<a class="headerlink" href="#dependencies-in-v128" title="Permanent link">¶</a></h3>
|
|
11104
11104
|
<ul>
|
|
11105
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/1432">#1432</a> - Update django-redis to <code>5.2.x</code> to address <code>5.1.x</code> blocking redis <code>4.x</code> versions.</li>
|
|
11105
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/1432">#1432</a> - Update <code>django-redis</code> to <code>5.2.x</code> to address <code>5.1.x</code> blocking <code>redis</code> <code>4.x</code> versions.</li>
|
|
11106
11106
|
</ul>
|
|
11107
11107
|
<h3 id="documentation-in-v128">Documentation in v1.2.8<a class="headerlink" href="#documentation-in-v128" title="Permanent link">¶</a></h3>
|
|
11108
11108
|
<ul>
|
|
@@ -11110,8 +11110,8 @@
|
|
|
11110
11110
|
</ul>
|
|
11111
11111
|
<h3 id="housekeeping-in-v128">Housekeeping in v1.2.8<a class="headerlink" href="#housekeeping-in-v128" title="Permanent link">¶</a></h3>
|
|
11112
11112
|
<ul>
|
|
11113
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/839">#839</a> - Add CODE_OF_CONDUCT.md to repository.</li>
|
|
11114
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1299">#1299</a> - Add SECURITY.md to repository.</li>
|
|
11113
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/839">#839</a> - Add <code>CODE_OF_CONDUCT.md</code> to repository.</li>
|
|
11114
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1299">#1299</a> - Add <code>SECURITY.md</code> to repository.</li>
|
|
11115
11115
|
<li><a href="https://github.com/nautobot/nautobot/pull/1348">#1348</a> - Pin Selenium Grid container version to match Python Client version.</li>
|
|
11116
11116
|
<li><a href="https://github.com/nautobot/nautobot/pull/1388">#1388</a> - Added beta version of GitHub Issue Form style for feature request.</li>
|
|
11117
11117
|
<li><a href="https://github.com/nautobot/nautobot/pull/1447">#1447</a> - Minor <code>nit</code> on Github Issue Form styling.</li>
|
|
@@ -11417,7 +11417,7 @@
|
|
|
11417
11417
|
</ul>
|
|
11418
11418
|
<h3 id="changed-in-v132">Changed in v1.3.2<a class="headerlink" href="#changed-in-v132" title="Permanent link">¶</a></h3>
|
|
11419
11419
|
<ul>
|
|
11420
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1670">#1670</a> - Configure drf-spectacular schema to more closely match drf-yasg (related to: <a href="https://github.com/nautobot/nautobot-ansible/pull/135">nautobot-ansible#135</a>).</li>
|
|
11420
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1670">#1670</a> - Configure <code>drf-spectacular</code> schema to more closely match <code>drf-yasg</code> (related to: <a href="https://github.com/nautobot/nautobot-ansible/pull/135"><code>nautobot-ansible#135</code></a>).</li>
|
|
11421
11421
|
</ul>
|
|
11422
11422
|
<h3 id="fixed-in-v132">Fixed in v1.3.2<a class="headerlink" href="#fixed-in-v132" title="Permanent link">¶</a></h3>
|
|
11423
11423
|
<ul>
|
|
@@ -11610,7 +11610,7 @@
|
|
|
11610
11610
|
</ul>
|
|
11611
11611
|
<h3 id="documentation-in-v148">Documentation in v1.4.8<a class="headerlink" href="#documentation-in-v148" title="Permanent link">¶</a></h3>
|
|
11612
11612
|
<ul>
|
|
11613
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/2578">#2578</a> - Added a warning in the documentation about django-cryptography and changing <code>SECRET_KEY</code>.</li>
|
|
11613
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/2578">#2578</a> - Added a warning in the documentation about <code>django-cryptography</code> and changing <code>SECRET_KEY</code>.</li>
|
|
11614
11614
|
<li><a href="https://github.com/nautobot/nautobot/issues/2591">#2591</a> - Updated README.md to include additional information about the Nautobot project.</li>
|
|
11615
11615
|
<li><a href="https://github.com/nautobot/nautobot/issues/2619">#2619</a> - Added notes about restarting the Nautobot server after creating relationships, custom fields, and computed fields to show them in GraphQL.</li>
|
|
11616
11616
|
<li><a href="https://github.com/nautobot/nautobot/issues/2677">#2677</a> - Fixed a documentation error by adding an import statement to a code example in <code>nautobot/docs/plugins/development.md</code>.</li>
|
|
@@ -11685,7 +11685,7 @@
|
|
|
11685
11685
|
</ul>
|
|
11686
11686
|
<h3 id="documentation-in-v145">Documentation in v1.4.5<a class="headerlink" href="#documentation-in-v145" title="Permanent link">¶</a></h3>
|
|
11687
11687
|
<ul>
|
|
11688
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/2539">#2539</a> - Updated links from nautobot.readthedocs.io to docs.nautobot.com
|
|
11688
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/2539">#2539</a> - Updated links from <code>nautobot.readthedocs.io</code> to <code>docs.nautobot.com</code>.</li>
|
|
11689
11689
|
</ul>
|
|
11690
11690
|
<h3 id="housekeeping-in-v145">Housekeeping in v1.4.5<a class="headerlink" href="#housekeeping-in-v145" title="Permanent link">¶</a></h3>
|
|
11691
11691
|
<ul>
|
|
@@ -11869,7 +11869,7 @@
|
|
|
11869
11869
|
</ul>
|
|
11870
11870
|
<h3 id="dependencies-in-v140">Dependencies in v1.4.0<a class="headerlink" href="#dependencies-in-v140" title="Permanent link">¶</a></h3>
|
|
11871
11871
|
<ul>
|
|
11872
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/2183">#2183</a> - Update dependency django to
|
|
11872
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/2183">#2183</a> - Update dependency <code>django</code> to <code>~3.2.15</code>.</li>
|
|
11873
11873
|
</ul>
|
|
11874
11874
|
<h3 id="documentation-in-v140">Documentation in v1.4.0<a class="headerlink" href="#documentation-in-v140" title="Permanent link">¶</a></h3>
|
|
11875
11875
|
<ul>
|
|
@@ -11940,7 +11940,7 @@
|
|
|
11940
11940
|
</ul>
|
|
11941
11941
|
<h3 id="dependencies-in-v140b1">Dependencies in v1.4.0b1<a class="headerlink" href="#dependencies-in-v140b1" title="Permanent link">¶</a></h3>
|
|
11942
11942
|
<ul>
|
|
11943
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/2116">#2116</a> - Updated package dependencies: Pillow <code>~9.1.1</code> -> <code>~9.2.0</code>, black <code>~22.3.0</code> -> <code>~22.6.0</code>, coverage <code>6.4.1</code> -> <code>6.4.2</code>, django-cacheops <code>6.0</code> -> <code>6.1</code>, django-cryptography <code>1.0</code> -> <code>1.1</code>, django-debug-toolbar <code>~3.4.0</code> -> <code>~3.5.0</code>, django-extensions <code>~3.1.5</code> -> <code>~3.2.0</code>, drf-yasg <code>~1.20.0</code> -> <code>^1.20.0</code>, importlib-metadata <code>~4.4</code> -> <code>^4.4.0</code>, jsonschema <code>~4.4.0</code> -> <code>~4.8.0</code>, mkdocs <code>1.3.0</code> -> <code>1.3.1</code>, mkdocs <code>==1.3.0</code> -> <code>==1.3.1</code>, mkdocs-include-markdown-plugin <code>~3.2.3</code> -> <code>~3.6.0</code>, mkdocs-include-markdown-plugin <code>==3.2.3</code> -> <code>==3.6.1</code>, social-auth-core <code>~4.2.0</code> -> <code>~4.3.0</code>, svgwrite <code>1.4.2</code> -> <code>1.4.3</code
|
|
11943
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/2116">#2116</a> - Updated package dependencies: <code>Pillow</code> <code>~9.1.1</code> -> <code>~9.2.0</code>, <code>black</code> <code>~22.3.0</code> -> <code>~22.6.0</code>, <code>coverage</code> <code>6.4.1</code> -> <code>6.4.2</code>, <code>django-cacheops</code> <code>6.0</code> -> <code>6.1</code>, <code>django-cryptography</code> <code>1.0</code> -> <code>1.1</code>, <code>django-debug-toolbar</code> <code>~3.4.0</code> -> <code>~3.5.0</code>, <code>django-extensions</code> <code>~3.1.5</code> -> <code>~3.2.0</code>, <code>drf-yasg</code> <code>~1.20.0</code> -> <code>^1.20.0</code>, <code>importlib-metadata</code> <code>~4.4</code> -> <code>^4.4.0</code>, <code>jsonschema</code> <code>~4.4.0</code> -> <code>~4.8.0</code>, <code>mkdocs</code> <code>1.3.0</code> -> <code>1.3.1</code>, <code>mkdocs</code> <code>==1.3.0</code> -> <code>==1.3.1</code>, <code>mkdocs-include-markdown-plugin</code> <code>~3.2.3</code> -> <code>~3.6.0</code>, <code>mkdocs-include-markdown-plugin</code> <code>==3.2.3</code> -> <code>==3.6.1</code>, <code>social-auth-core</code> <code>~4.2.0</code> -> <code>~4.3.0</code>, <code>svgwrite</code> <code>1.4.2</code> -> <code>1.4.3</code>.</li>
|
|
11944
11944
|
</ul>
|
|
11945
11945
|
<h3 id="documentation-in-v140b1">Documentation in v1.4.0b1<a class="headerlink" href="#documentation-in-v140b1" title="Permanent link">¶</a></h3>
|
|
11946
11946
|
<ul>
|
|
@@ -11980,19 +11980,19 @@
|
|
|
11980
11980
|
</ul>
|
|
11981
11981
|
<h3 id="dependencies-in-v140a2">Dependencies in v1.4.0a2<a class="headerlink" href="#dependencies-in-v140a2" title="Permanent link">¶</a></h3>
|
|
11982
11982
|
<ul>
|
|
11983
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1908">#1908</a> - Update dependency Markdown to
|
|
11984
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1909">#1909</a> - Update dependency MarkupSafe to
|
|
11985
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1912">#1912</a> - Update dependency celery to
|
|
11986
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1913">#1913</a> - Update dependency django-jinja to
|
|
11987
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1915">#1915</a> - Update dependency invoke to
|
|
11988
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1917">#1917</a> - Update dependency svgwrite to
|
|
11989
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1919">#1919</a> - Update dependency Pillow to
|
|
11990
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1920">#1920</a> - Update dependency coverage to
|
|
11991
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1921">#1921</a> - Update dependency django-auth-ldap to
|
|
11992
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1924">#1924</a> - Update dependency django-cors-headers to
|
|
11993
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1925">#1925</a> - Update dependency django-debug-toolbar to
|
|
11994
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1928">#1928</a> - Update dependency napalm to
|
|
11995
|
-
<li><a href="https://github.com/nautobot/nautobot/pull/1929">#1929</a> - Update dependency selenium to
|
|
11983
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1908">#1908</a> - Update dependency <code>Markdown</code> to <code>~3.3.7</code></li>
|
|
11984
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1909">#1909</a> - Update dependency <code>MarkupSafe</code> to <code>~2.1.1</code></li>
|
|
11985
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1912">#1912</a> - Update dependency <code>celery</code> to <code>~5.2.7</code></li>
|
|
11986
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1913">#1913</a> - Update dependency <code>django-jinja</code> to <code>~2.10.2</code></li>
|
|
11987
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1915">#1915</a> - Update dependency <code>invoke</code> to <code>~1.7.1</code></li>
|
|
11988
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1917">#1917</a> - Update dependency <code>svgwrite</code> to <code>~1.4.2</code></li>
|
|
11989
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1919">#1919</a> - Update dependency <code>Pillow</code> to <code>~9.1.1</code></li>
|
|
11990
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1920">#1920</a> - Update dependency <code>coverage</code> to <code>~6.4.1</code></li>
|
|
11991
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1921">#1921</a> - Update dependency <code>django-auth-ldap</code> to <code>~4.1.0</code></li>
|
|
11992
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1924">#1924</a> - Update dependency <code>django-cors-headers</code> to <code>~3.13.0</code></li>
|
|
11993
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1925">#1925</a> - Update dependency <code>django-debug-toolbar</code> to <code>~3.4.0</code></li>
|
|
11994
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1928">#1928</a> - Update dependency <code>napalm</code> to <code>~3.4.1</code></li>
|
|
11995
|
+
<li><a href="https://github.com/nautobot/nautobot/pull/1929">#1929</a> - Update dependency <code>selenium</code> to <code>~4.2.0</code></li>
|
|
11996
11996
|
</ul>
|
|
11997
11997
|
<h3 id="housekeeping-in-v140a2">Housekeeping in v1.4.0a2<a class="headerlink" href="#housekeeping-in-v140a2" title="Permanent link">¶</a></h3>
|
|
11998
11998
|
<ul>
|
|
@@ -12205,10 +12205,10 @@
|
|
|
12205
12205
|
<h4 id="custom-field-grouping-899">Custom Field Grouping (<a href="https://github.com/nautobot/nautobot/issues/899">#899</a>)<a class="headerlink" href="#custom-field-grouping-899" title="Permanent link">¶</a></h4>
|
|
12206
12206
|
<p>Custom fields can now be assigned to a free-text "grouping" to improve usability when a large number of custom fields are defined on a given model. In the UI, fields in the same grouping will be grouped together, and groupings can be expanded/collapsed for display purposes.</p>
|
|
12207
12207
|
<h4 id="custom-celery-task-queues-2421">Custom Celery Task Queues (<a href="https://github.com/nautobot/nautobot/pull/2421">#2421</a>)<a class="headerlink" href="#custom-celery-task-queues-2421" title="Permanent link">¶</a></h4>
|
|
12208
|
-
<p>A new optional job property <code>task_queues</code> has been introduced to allow Nautobot to leverage custom
|
|
12208
|
+
<p>A new optional job property <code>task_queues</code> has been introduced to allow Nautobot to leverage custom Celery queues for jobs. This will allow you to send jobs to specific workers based on which queue is selected. This property can be set on the job class and overridden in the job model, similar to other overridable job fields. If <code>task_queues</code> is not defined on the job class or job model, the job will only be able to use the default queue. A new field has been added to the job run form to allow you to select a queue when you run the job and an optional field <code>task_queue</code> has been added to the REST API <a href="../user-guide/platform-functionality/jobs/index.html#via-the-rest-api">job run endpoint</a> for the same purpose.</p>
|
|
12209
12209
|
<div class="admonition important">
|
|
12210
12210
|
<p class="admonition-title">Important</p>
|
|
12211
|
-
<p>The default
|
|
12211
|
+
<p>The default Celery queue name has been changed from <code>celery</code> to <code>default</code>. If you have any workers or tasks hard coded to use <code>celery</code> you will need to update those workers/tasks or change the <a href="../user-guide/administration/configuration/settings.html#celery_task_default_queue"><code>CELERY_TASK_DEFAULT_QUEUE</code></a> setting in your <code>nautobot_config.py</code>.</p>
|
|
12212
12212
|
</div>
|
|
12213
12213
|
<h4 id="device-redundancy-groups-1892">Device Redundancy Groups (<a href="https://github.com/nautobot/nautobot/issues/1892">#1892</a>)<a class="headerlink" href="#device-redundancy-groups-1892" title="Permanent link">¶</a></h4>
|
|
12214
12214
|
<p>Device Redundancy Groups have been added to model groups of distinct devices that perform device clustering or failover high availability functions. This may be used to model whole device redundancy strategies across devices with separate control planes (ex: ASA failover), not devices that share a control plane (ex: stackwise switch stacks), or interface specific redundancy strategies (ex: hsrp). Device Redundancy Groups support grouping an arbitrary number of devices and may be assigned an optional secrets group and one or more optional failover strategies.</p>
|
|
@@ -12480,7 +12480,7 @@ relationship:</p>
|
|
|
12480
12480
|
<ul>
|
|
12481
12481
|
<li><a href="https://github.com/nautobot/nautobot/issues/3806">#3806</a> - Added instructions and examples for SAML SSO using Okta as the IdP.</li>
|
|
12482
12482
|
<li><a href="https://github.com/nautobot/nautobot/issues/3811">#3811</a> - Added a note that addresses UWSGI buffer size concerns with Azure SSO in <code>nautobot/docs/user-guide/administration/configuration/authentication/sso.md</code>.</li>
|
|
12483
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/3888">#3888</a> - Changed note for
|
|
12483
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/3888">#3888</a> - Changed note for Celery concurrency in the docs.</li>
|
|
12484
12484
|
</ul>
|
|
12485
12485
|
<h2 id="v1520-2023-05-30">v1.5.20 (2023-05-30)<a class="headerlink" href="#v1520-2023-05-30" title="Permanent link">¶</a></h2>
|
|
12486
12486
|
<h3 id="changed-in-v1520">Changed in v1.5.20<a class="headerlink" href="#changed-in-v1520" title="Permanent link">¶</a></h3>
|
|
@@ -12633,7 +12633,7 @@ relationship:</p>
|
|
|
12633
12633
|
<h3 id="documentation-in-v1515">Documentation in v1.5.15<a class="headerlink" href="#documentation-in-v1515" title="Permanent link">¶</a></h3>
|
|
12634
12634
|
<ul>
|
|
12635
12635
|
<li><a href="https://github.com/nautobot/nautobot/issues/3384">#3384</a> - Removed documentation about <code>block sidebar</code> from <code>docs/development/templates.md</code>.</li>
|
|
12636
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/3446">#3446</a> - Added documentation links for Device Onboarding and LifeCycle Management plugins to docs.nautobot.com menu.</li>
|
|
12636
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/3446">#3446</a> - Added documentation links for Device Onboarding and LifeCycle Management plugins to <code>docs.nautobot.com</code> menu.</li>
|
|
12637
12637
|
</ul>
|
|
12638
12638
|
<h3 id="housekeeping-in-v1515">Housekeeping in v1.5.15<a class="headerlink" href="#housekeeping-in-v1515" title="Permanent link">¶</a></h3>
|
|
12639
12639
|
<ul>
|
|
@@ -12790,7 +12790,7 @@ relationship:</p>
|
|
|
12790
12790
|
<ul>
|
|
12791
12791
|
<li><a href="https://github.com/nautobot/nautobot/issues/3114">#3114</a> - Fixed Navbar scroll through top-level menu in low resolution desktop screens.</li>
|
|
12792
12792
|
<li><a href="https://github.com/nautobot/nautobot/issues/3155">#3155</a> - Aligned buttons on device component create page.</li>
|
|
12793
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/3169">#3169</a> - Fixed data mismatch in <code>ScheduledJob</code> causing
|
|
12793
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/3169">#3169</a> - Fixed data mismatch in <code>ScheduledJob</code> causing Celery workers to fail when running scheduled jobs created in versions prior to <code>v1.5.8</code>. ⚠ <strong>NOTE</strong>: If your Celery workers are failing on startup after upgrading to <code>v1.5.8</code>, you may need to purge the Celery queue with <code>nautobot-server celery purge</code> or <code>nautobot-server celery purge -Q <queues></code> to purge custom queues.</li>
|
|
12794
12794
|
</ul>
|
|
12795
12795
|
<h3 id="dependencies-in-v159">Dependencies in v1.5.9<a class="headerlink" href="#dependencies-in-v159" title="Permanent link">¶</a></h3>
|
|
12796
12796
|
<ul>
|
|
@@ -12973,8 +12973,8 @@ relationship:</p>
|
|
|
12973
12973
|
<li><a href="https://github.com/nautobot/nautobot/issues/899">#899</a> - Added support for grouping of Custom Fields.</li>
|
|
12974
12974
|
<li><a href="https://github.com/nautobot/nautobot/issues/1468">#1468</a> - Added relationship columns to ObjectListTableView and disabled sorting.</li>
|
|
12975
12975
|
<li><a href="https://github.com/nautobot/nautobot/issues/1892">#1892</a> - Added <code>DeviceRedundancyGroup</code> model for representing a logical grouping of physical hardware for the purposes of high-availability.</li>
|
|
12976
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/2063">#2063</a> - Added documentation and initial support for custom
|
|
12977
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/2064">#2064</a> - Added <code>task_queues</code> job property to support custom
|
|
12976
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/2063">#2063</a> - Added documentation and initial support for custom Celery queues.</li>
|
|
12977
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/2064">#2064</a> - Added <code>task_queues</code> job property to support custom Celery queues.</li>
|
|
12978
12978
|
<li><a href="https://github.com/nautobot/nautobot/issues/2460">#2460</a> - Added search box filter form to generic list views.</li>
|
|
12979
12979
|
<li><a href="https://github.com/nautobot/nautobot/issues/2518">#2518</a> - Added <code>base_site</code> and <code>subtree</code> filters to <code>LocationFilterSet</code>, allowing for filtering Locations by their root ancestor or its Site.</li>
|
|
12980
12980
|
<li><a href="https://github.com/nautobot/nautobot/issues/2536">#2536</a> - Added <code>nautobot-server generate_test_data</code> command.</li>
|
|
@@ -12987,7 +12987,7 @@ relationship:</p>
|
|
|
12987
12987
|
<li><a href="https://github.com/nautobot/nautobot/issues/1892">#1892</a> - Updated <code>Device</code> to have <code>device_redundancy_group</code> relationship, <code>device_redundancy_group_priority</code> numeric property.</li>
|
|
12988
12988
|
<li><a href="https://github.com/nautobot/nautobot/issues/1892">#1892</a> - Updated <code>ConfigContext</code> to have <code>ManyToManyField</code> to <code>dcim.DeviceRedundancyGroup</code> for the purposes of applying a <code>ConfigContext</code> based upon a <code>Device</code>s <code>DeviceRedundancyGroup</code> membership.</li>
|
|
12989
12989
|
<li><a href="https://github.com/nautobot/nautobot/issues/1998">#1998</a> - Added DynamicFilterForm to list views.</li>
|
|
12990
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/2064">#2064</a> - Changed default
|
|
12990
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/2064">#2064</a> - Changed default Celery queue name from <code>celery</code> to <code>default</code>.</li>
|
|
12991
12991
|
<li><a href="https://github.com/nautobot/nautobot/issues/2615">#2615</a> - Changed <code>ConfigContextFilterForm</code>s <code>schema</code> filter form field to support added filter field on <code>ConfigContextFilterSet</code>.</li>
|
|
12992
12992
|
<li><a href="https://github.com/nautobot/nautobot/issues/2615">#2615</a> - Changed <code>BaseNetworkQuerySet</code> and <code>IPAddressQuerySet</code> to search both IPv6 and IPv4 when given search string is ambiguous.</li>
|
|
12993
12993
|
</ul>
|
|
@@ -12141,7 +12141,7 @@
|
|
|
12141
12141
|
<h3 id="security-in-v1629">Security in v1.6.29<a class="headerlink" href="#security-in-v1629" title="Permanent link">¶</a></h3>
|
|
12142
12142
|
<ul>
|
|
12143
12143
|
<li><a href="https://github.com/nautobot/nautobot/issues/5911">#5911</a> - Updated <code>zipp</code> to <code>3.19.2</code> to address <code>CVE-2024-5569</code>. This is not a direct dependency so it will not auto-update when upgrading. Please be sure to upgrade your local environment.</li>
|
|
12144
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/6625">#6625</a> - Patched <code>set_values()</code> method of Query class from django.db.models.sql.query to address <code>CVE-2024-42005</code>.</li>
|
|
12144
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/6625">#6625</a> - Patched <code>set_values()</code> method of <code>Query</code> class from <code>django.db.models.sql.query</code> to address <code>CVE-2024-42005</code>.</li>
|
|
12145
12145
|
</ul>
|
|
12146
12146
|
<h3 id="fixed-in-v1629">Fixed in v1.6.29<a class="headerlink" href="#fixed-in-v1629" title="Permanent link">¶</a></h3>
|
|
12147
12147
|
<ul>
|
|
@@ -12358,7 +12358,7 @@
|
|
|
12358
12358
|
</ul>
|
|
12359
12359
|
<h3 id="added-in-v1611">Added in v1.6.11<a class="headerlink" href="#added-in-v1611" title="Permanent link">¶</a></h3>
|
|
12360
12360
|
<ul>
|
|
12361
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/5169">#5169</a> - Added support for user session profiling via django-silk
|
|
12361
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/5169">#5169</a> - Added support for user session profiling via <code>django-silk</code>.</li>
|
|
12362
12362
|
</ul>
|
|
12363
12363
|
<h3 id="fixed-in-v1611">Fixed in v1.6.11<a class="headerlink" href="#fixed-in-v1611" title="Permanent link">¶</a></h3>
|
|
12364
12364
|
<ul>
|
|
@@ -12587,8 +12587,8 @@
|
|
|
12587
12587
|
</ul>
|
|
12588
12588
|
<h3 id="dependencies-in-v160">Dependencies in v1.6.0<a class="headerlink" href="#dependencies-in-v160" title="Permanent link">¶</a></h3>
|
|
12589
12589
|
<ul>
|
|
12590
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/4208">#4208</a> - Updated django-rq to 2.8.1.</li>
|
|
12591
|
-
<li><a href="https://github.com/nautobot/nautobot/issues/4209">#4209</a> - Relaxed constraint on prometheus-client minimum version to <code>0.14.1</code>.</li>
|
|
12590
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/4208">#4208</a> - Updated <code>django-rq</code> to 2.8.1.</li>
|
|
12591
|
+
<li><a href="https://github.com/nautobot/nautobot/issues/4209">#4209</a> - Relaxed constraint on <code>prometheus-client</code> minimum version to <code>0.14.1</code>.</li>
|
|
12592
12592
|
<li><a href="https://github.com/nautobot/nautobot/issues/4173">#4173</a> - Updated <code>drf-spectacular</code> to <code>0.26.4</code>.</li>
|
|
12593
12593
|
<li><a href="https://github.com/nautobot/nautobot/issues/4199">#4199</a> - Updated <code>cryptography</code> to <code>~41.0.3</code>. As this is not a direct dependency of Nautobot, it will not auto-update when upgrading. Please be sure to upgrade your local environment.</li>
|
|
12594
12594
|
<li><a href="https://github.com/nautobot/nautobot/issues/4215">#4215</a> - Broadened the range of acceptable <code>packaging</code> dependency versions.</li>
|