From 824b4e0923f5d215153cf8623c5f20fc7190f857 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 18 Sep 2022 15:06:28 +0200 Subject: [PATCH 01/17] Add scheduling for reports and scripts --- netbox/extras/forms/reports.py | 16 ++++++++++++++++ netbox/extras/forms/scripts.py | 16 ++++++++++++---- netbox/extras/models/models.py | 6 +++++- netbox/extras/views.py | 14 ++++++++++++-- netbox/project-static/package.json | 2 +- netbox/templates/extras/report.html | 25 ++++++++++++++++--------- netbox/templates/extras/script.html | 2 +- 7 files changed, 63 insertions(+), 18 deletions(-) create mode 100644 netbox/extras/forms/reports.py diff --git a/netbox/extras/forms/reports.py b/netbox/extras/forms/reports.py new file mode 100644 index 000000000..658796bb5 --- /dev/null +++ b/netbox/extras/forms/reports.py @@ -0,0 +1,16 @@ +from django import forms + +from utilities.forms import BootstrapMixin, DateTimePicker + +__all__ = ( + 'ReportForm', +) + + +class ReportForm(BootstrapMixin, forms.Form): + schedule_at = forms.DateTimeField( + required=False, + widget=DateTimePicker(), + label="Schedule at", + help_text="Schedule execution of report to a set time", + ) \ No newline at end of file diff --git a/netbox/extras/forms/scripts.py b/netbox/extras/forms/scripts.py index 380b4364c..de55a3ee6 100644 --- a/netbox/extras/forms/scripts.py +++ b/netbox/extras/forms/scripts.py @@ -1,6 +1,6 @@ from django import forms -from utilities.forms import BootstrapMixin +from utilities.forms import BootstrapMixin, DateTimePicker __all__ = ( 'ScriptForm', @@ -14,17 +14,25 @@ class ScriptForm(BootstrapMixin, forms.Form): label="Commit changes", help_text="Commit changes to the database (uncheck for a dry-run)" ) + _schedule_at = forms.DateTimeField( + required=False, + widget=DateTimePicker(), + label="Schedule at", + help_text="Schedule execution of script to a set time", + ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - # Move _commit to the end of the form + # Move _commit and _schedule_at to the end of the form + schedule_at = self.fields.pop('_schedule_at') commit = self.fields.pop('_commit') + self.fields['_schedule_at'] = schedule_at self.fields['_commit'] = commit @property def requires_input(self): """ - A boolean indicating whether the form requires user input (ignore the _commit field). + A boolean indicating whether the form requires user input (ignore the _commit and _schedule_at fields). """ - return bool(len(self.fields) > 1) + return bool(len(self.fields) > 2) diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 4873a1f9e..1d3c142c7 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -550,7 +550,11 @@ class JobResult(models.Model): ) queue = django_rq.get_queue("default") - queue.enqueue(func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) + + if schedule_at := kwargs.pop("schedule_at", None): + queue.enqueue_at(schedule_at, func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) + else: + queue.enqueue(func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) return job_result diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 5b589c181..073496773 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -15,6 +15,7 @@ from utilities.utils import copy_safe_request, count_related, get_viewname, norm from utilities.views import ContentTypePermissionRequiredMixin from . import filtersets, forms, tables from .choices import JobResultStatusChoices +from .forms.reports import ReportForm from .models import * from .reports import get_report, get_reports, run_report from .scripts import get_scripts, run_script @@ -562,7 +563,7 @@ class ReportView(ContentTypePermissionRequiredMixin, View): return render(request, 'extras/report.html', { 'report': report, - 'run_form': ConfirmationForm(), + 'form': ReportForm(), }) def post(self, request, module, name): @@ -575,6 +576,12 @@ class ReportView(ContentTypePermissionRequiredMixin, View): if report is None: raise Http404 + schedule_at = None + form = ReportForm(request.POST) + + if form.is_valid(): + schedule_at = form.cleaned_data.get("schedule_at") + # Allow execution only if RQ worker process is running if not Worker.count(get_connection('default')): messages.error(request, "Unable to run report: RQ worker process not running.") @@ -589,7 +596,8 @@ class ReportView(ContentTypePermissionRequiredMixin, View): report.full_name, report_content_type, request.user, - job_timeout=report.job_timeout + job_timeout=report.job_timeout, + schedule_at=schedule_at, ) return redirect('extras:report_result', job_result_pk=job_result.pk) @@ -707,6 +715,7 @@ class ScriptView(ContentTypePermissionRequiredMixin, GetScriptMixin, View): elif form.is_valid(): commit = form.cleaned_data.pop('_commit') + schedule_at = form.cleaned_data.pop("_schedule_at") script_content_type = ContentType.objects.get(app_label='extras', model='script') @@ -719,6 +728,7 @@ class ScriptView(ContentTypePermissionRequiredMixin, GetScriptMixin, View): request=copy_safe_request(request), commit=commit, job_timeout=script.job_timeout, + schedule_at=schedule_at, ) return redirect('extras:script_result', job_result_pk=job_result.pk) diff --git a/netbox/project-static/package.json b/netbox/project-static/package.json index 256696947..808a49825 100644 --- a/netbox/project-static/package.json +++ b/netbox/project-static/package.json @@ -28,7 +28,7 @@ "clipboard": "^2.0.8", "color2k": "^1.2.4", "dayjs": "^1.10.4", - "flatpickr": "4.6.3", + "flatpickr": "4.6.13", "htmx.org": "^1.6.1", "just-debounce-it": "^1.4.0", "masonry-layout": "^4.2.2", diff --git a/netbox/templates/extras/report.html b/netbox/templates/extras/report.html index 391de6614..94f37571b 100644 --- a/netbox/templates/extras/report.html +++ b/netbox/templates/extras/report.html @@ -1,5 +1,6 @@ {% extends 'generic/object.html' %} {% load helpers %} +{% load form_helpers %} {% block title %}{{ report.name }}{% endblock %} @@ -33,18 +34,24 @@ {% block content %}
{% if perms.extras.run_report %} -
-
+
+
+ {% csrf_token %} - + {% render_form form %} +
+ +
+
+ {% endif %}
diff --git a/netbox/templates/extras/script.html b/netbox/templates/extras/script.html index 99eade0a0..6fbcde322 100644 --- a/netbox/templates/extras/script.html +++ b/netbox/templates/extras/script.html @@ -43,7 +43,7 @@ You do not have permission to run scripts.
{% endif %} -
+ {% csrf_token %}
{% if form.requires_input %} From c8671ce8e823bcd450855c37a0a237008cfca69f Mon Sep 17 00:00:00 2001 From: kkthxbye <> Date: Tue, 20 Sep 2022 08:53:57 +0200 Subject: [PATCH 02/17] Update yarn.lock (flatpickr bump) --- netbox/project-static/yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/netbox/project-static/yarn.lock b/netbox/project-static/yarn.lock index 8e21446c6..d0b438453 100644 --- a/netbox/project-static/yarn.lock +++ b/netbox/project-static/yarn.lock @@ -1368,10 +1368,10 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" -flatpickr@4.6.3: - version "4.6.3" - resolved "https://registry.yarnpkg.com/flatpickr/-/flatpickr-4.6.3.tgz#15a8b76b6e34e3a072861250503a5995b9d3bc60" - integrity sha512-007VucCkqNOMMb9ggRLNuJowwaJcyOh4sKAFcdGfahfGc7JQbf94zSzjdBq/wVyHWUEs5o3+idhFZ0wbZMRmVQ== +flatpickr@4.6.13: + version "4.6.13" + resolved "https://registry.yarnpkg.com/flatpickr/-/flatpickr-4.6.13.tgz#8a029548187fd6e0d670908471e43abe9ad18d94" + integrity sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw== flatted@^3.1.0: version "3.2.2" From cbb3378d10adc6ca72de64c976bb6b4d5385444c Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Fri, 23 Sep 2022 06:45:40 +0200 Subject: [PATCH 03/17] Job Scheduling WIP --- netbox/extras/choices.py | 2 ++ netbox/extras/filtersets.py | 21 +++++++++++++++++++++ netbox/extras/forms/filtersets.py | 8 ++++++++ netbox/extras/models/models.py | 11 ++++++++++- netbox/extras/tables/tables.py | 25 +++++++++++++++++++++++++ netbox/extras/urls.py | 4 ++++ netbox/extras/views.py | 11 +++++++++++ 7 files changed, 81 insertions(+), 1 deletion(-) diff --git a/netbox/extras/choices.py b/netbox/extras/choices.py index 123fd2cd4..fe0f0eed5 100644 --- a/netbox/extras/choices.py +++ b/netbox/extras/choices.py @@ -139,6 +139,7 @@ class LogLevelChoices(ChoiceSet): class JobResultStatusChoices(ChoiceSet): STATUS_PENDING = 'pending' + STATUS_SCHEDULED = 'pending' STATUS_RUNNING = 'running' STATUS_COMPLETED = 'completed' STATUS_ERRORED = 'errored' @@ -146,6 +147,7 @@ class JobResultStatusChoices(ChoiceSet): CHOICES = ( (STATUS_PENDING, 'Pending'), + (STATUS_SCHEDULED, 'Pending'), (STATUS_RUNNING, 'Running'), (STATUS_COMPLETED, 'Completed'), (STATUS_ERRORED, 'Errored'), diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index df0af3541..25f1a04c9 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -16,6 +16,7 @@ __all__ = ( 'ConfigContextFilterSet', 'ContentTypeFilterSet', 'CustomFieldFilterSet', + 'JobResultFilterSet', 'CustomLinkFilterSet', 'ExportTemplateFilterSet', 'ImageAttachmentFilterSet', @@ -86,6 +87,26 @@ class CustomFieldFilterSet(BaseFilterSet): Q(description__icontains=value) ) +class JobResultFilterSet(BaseFilterSet): + q = django_filters.CharFilter( + method='search', + label='Search', + ) + + # TODO: Add filters + + class Meta: + model = JobResult + fields = [ + 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status' + ] + + def search(self, queryset, name, value): + if not value.strip(): + return queryset + return queryset.filter( + Q(name__icontains=value) + ) class CustomLinkFilterSet(BaseFilterSet): q = django_filters.CharFilter( diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 526d47013..2e715d9a7 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -19,6 +19,7 @@ from virtualization.models import Cluster, ClusterGroup, ClusterType __all__ = ( 'ConfigContextFilterForm', 'CustomFieldFilterForm', + 'JobResultFilterForm', 'CustomLinkFilterForm', 'ExportTemplateFilterForm', 'JournalEntryFilterForm', @@ -65,6 +66,13 @@ class CustomFieldFilterForm(FilterForm): ) +class JobResultFilterForm(FilterForm): + fieldsets = ( + (None, ('q',)), + #('Attributes', ('type', 'content_type_id', 'group_name', 'weight', 'required', 'ui_visibility')), + ) + + class CustomLinkFilterForm(FilterForm): fieldsets = ( (None, ('q',)), diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 100766d53..574b51f70 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -509,12 +509,18 @@ class JobResult(models.Model): unique=True ) + objects = RestrictedQuerySet.as_manager() + class Meta: ordering = ['obj_type', 'name', '-created'] def __str__(self): return str(self.job_id) + def get_absolute_url(self): + # TODO: Fix this to point the right place + return reverse('virtualization:clustertype', args=[self.pk]) + @property def duration(self): if not self.completed: @@ -546,7 +552,7 @@ class JobResult(models.Model): args: additional args passed to the callable kwargs: additional kargs passed to the callable """ - job_result = cls.objects.create( + job_result: JobResult = cls.objects.create( name=name, obj_type=obj_type, user=user, @@ -556,6 +562,9 @@ class JobResult(models.Model): queue = django_rq.get_queue("default") if schedule_at := kwargs.pop("schedule_at", None): + job_result.status = JobResultStatusChoices.STATUS_SCHEDULED + job_result.save() + queue.enqueue_at(schedule_at, func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) else: queue.enqueue(func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 1df5c9487..60e500da6 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -8,6 +8,7 @@ from .template_code import * __all__ = ( 'ConfigContextTable', 'CustomFieldTable', + 'JobResultTable', 'CustomLinkTable', 'ExportTemplateTable', 'JournalEntryTable', @@ -39,6 +40,30 @@ class CustomFieldTable(NetBoxTable): default_columns = ('pk', 'name', 'content_types', 'label', 'group_name', 'type', 'required', 'description') +# +# Custom fields +# + +class JobResultTable(NetBoxTable): + name = tables.Column( + linkify=True + ) + #obj_type = columns.ContentTypesColumn() + required = columns.BooleanColumn() + ui_visibility = columns.ChoiceFieldColumn(verbose_name="UI visibility") + + actions = columns.ActionsColumn( + actions=() # TODO: Delete + ) + + class Meta(NetBoxTable.Meta): + model = JobResult + fields = ( + 'pk', 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status', 'job_id', + ) + default_columns = ('pk', 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status', 'job_id') + + # # Custom links # diff --git a/netbox/extras/urls.py b/netbox/extras/urls.py index ced3bd4b9..66d60133f 100644 --- a/netbox/extras/urls.py +++ b/netbox/extras/urls.py @@ -103,6 +103,10 @@ urlpatterns = [ path('reports/results//', views.ReportResultView.as_view(), name='report_result'), re_path(r'^reports/(?P.([^.]+)).(?P.(.+))/', views.ReportView.as_view(), name='report'), + # Job results + path('job-results/', views.JobResultListView.as_view(), name='jobresult_view'), + # path('custom-fields//', views.CustomFieldView.as_view(), name='customfield'), + # Scripts path('scripts/', views.ScriptListView.as_view(), name='script_list'), path('scripts/results//', views.ScriptResultView.as_view(), name='script_result'), diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 21bffdff3..bf122955e 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -775,3 +775,14 @@ class ScriptResultView(ContentTypePermissionRequiredMixin, GetScriptMixin, View) 'result': result, 'class_name': script.__class__.__name__ }) + + +# +# Job results +# + +class JobResultListView(generic.ObjectListView): + queryset = JobResult.objects.all() + filterset = filtersets.JobResultFilterSet + filterset_form = forms.JobResultFilterForm + table = tables.JobResultTable \ No newline at end of file From 06dea8ef3f53b08c85f4ac17c04f71520d868bb3 Mon Sep 17 00:00:00 2001 From: kkthxbye-code <> Date: Fri, 23 Sep 2022 13:44:24 +0200 Subject: [PATCH 04/17] WIP: Moving JobResults out of the admin panel --- netbox/extras/filtersets.py | 24 +---------- netbox/extras/models/models.py | 5 +-- netbox/extras/tables/tables.py | 5 +-- netbox/extras/urls.py | 6 ++- netbox/extras/views.py | 14 ++++++ netbox/netbox/navigation_menu.py | 5 +++ netbox/templates/extras/jobresult.html | 60 ++++++++++++++++++++++++++ 7 files changed, 88 insertions(+), 31 deletions(-) create mode 100644 netbox/templates/extras/jobresult.html diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index 25f1a04c9..aed8d4bb3 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -87,27 +87,6 @@ class CustomFieldFilterSet(BaseFilterSet): Q(description__icontains=value) ) -class JobResultFilterSet(BaseFilterSet): - q = django_filters.CharFilter( - method='search', - label='Search', - ) - - # TODO: Add filters - - class Meta: - model = JobResult - fields = [ - 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status' - ] - - def search(self, queryset, name, value): - if not value.strip(): - return queryset - return queryset.filter( - Q(name__icontains=value) - ) - class CustomLinkFilterSet(BaseFilterSet): q = django_filters.CharFilter( method='search', @@ -472,7 +451,8 @@ class JobResultFilterSet(BaseFilterSet): if not value.strip(): return queryset return queryset.filter( - Q(user__username__icontains=value) + Q(user__username__icontains=value) | + Q(name__icontains=value) ) diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 574b51f70..51cd30dbf 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -518,8 +518,7 @@ class JobResult(models.Model): return str(self.job_id) def get_absolute_url(self): - # TODO: Fix this to point the right place - return reverse('virtualization:clustertype', args=[self.pk]) + return reverse('extras:jobresult', args=[self.pk]) @property def duration(self): @@ -560,7 +559,7 @@ class JobResult(models.Model): ) queue = django_rq.get_queue("default") - + if schedule_at := kwargs.pop("schedule_at", None): job_result.status = JobResultStatusChoices.STATUS_SCHEDULED job_result.save() diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 60e500da6..39f186ed6 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -48,12 +48,9 @@ class JobResultTable(NetBoxTable): name = tables.Column( linkify=True ) - #obj_type = columns.ContentTypesColumn() - required = columns.BooleanColumn() - ui_visibility = columns.ChoiceFieldColumn(verbose_name="UI visibility") actions = columns.ActionsColumn( - actions=() # TODO: Delete + actions=('delete',) ) class Meta(NetBoxTable.Meta): diff --git a/netbox/extras/urls.py b/netbox/extras/urls.py index 66d60133f..1d42211c4 100644 --- a/netbox/extras/urls.py +++ b/netbox/extras/urls.py @@ -104,8 +104,10 @@ urlpatterns = [ re_path(r'^reports/(?P.([^.]+)).(?P.(.+))/', views.ReportView.as_view(), name='report'), # Job results - path('job-results/', views.JobResultListView.as_view(), name='jobresult_view'), - # path('custom-fields//', views.CustomFieldView.as_view(), name='customfield'), + path('job-results/', views.JobResultListView.as_view(), name='jobresult_list'), + path('job-results//', views.JobResultView.as_view(), name='jobresult'), + path('job-results/delete/', views.JobResultBulkDeleteView.as_view(), name='jobresult_bulk_delete'), + path('job-results//delete/', views.JobResultDeleteView.as_view(), name='jobresult_delete'), # Scripts path('scripts/', views.ScriptListView.as_view(), name='script_list'), diff --git a/netbox/extras/views.py b/netbox/extras/views.py index bf122955e..8ffa1ce29 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -781,8 +781,22 @@ class ScriptResultView(ContentTypePermissionRequiredMixin, GetScriptMixin, View) # Job results # +class JobResultView(generic.ObjectView): + queryset = JobResult.objects.all() + + class JobResultListView(generic.ObjectListView): queryset = JobResult.objects.all() filterset = filtersets.JobResultFilterSet filterset_form = forms.JobResultFilterForm + table = tables.JobResultTable + actions = ('delete', 'bulk_delete', ) + +class JobResultDeleteView(generic.ObjectDeleteView): + queryset = JobResult.objects.all() + + +class JobResultBulkDeleteView(generic.BulkDeleteView): + queryset = JobResult.objects.all() + filterset = filtersets.JobResultFilterSet table = tables.JobResultTable \ No newline at end of file diff --git a/netbox/netbox/navigation_menu.py b/netbox/netbox/navigation_menu.py index a495f17c9..e82c07ca0 100644 --- a/netbox/netbox/navigation_menu.py +++ b/netbox/netbox/navigation_menu.py @@ -375,6 +375,11 @@ OTHER_MENU = Menu( link_text='Scripts', permissions=['extras.view_script'] ), + MenuItem( + link='extras:jobresult_list', + link_text='Job Results', + permissions=['extras.view_jobresult'], + ), ), ), MenuGroup( diff --git a/netbox/templates/extras/jobresult.html b/netbox/templates/extras/jobresult.html new file mode 100644 index 000000000..5f46dd6ac --- /dev/null +++ b/netbox/templates/extras/jobresult.html @@ -0,0 +1,60 @@ +{% extends 'generic/object.html' %} +{% load helpers %} +{% load plugins %} + +{% block title %}{{ object.name }} ({{object.job_id}}){% endblock %} + +{# JobResult does not support add/edit controls #} +{% block controls %}{% endblock %} +{% block subtitle %}{% endblock %} + +{% block content %} +
+
+
+
+ Tag +
+
+ + + + + + + + + + + + + +
Name + {{ object.name }} +
Created + {{ object.created|annotated_date }} +
Completed + {{ object.completed|annotated_date }} +
+
+
+
+
+
+
+ TODO +
+
+ + TODO +
+
+
+
+
+
+
+ {% plugin_full_width_page object %} +
+
+{% endblock %} From 679a9e839b48cc8014203cc19090361f001b9bb0 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 9 Oct 2022 21:05:31 +0200 Subject: [PATCH 05/17] Work on job scheduling: * Added JobResult form filtersets * Change housekeeping cleanup delete from `_raw_delete` to `delete` to make sure scheduled tasks are cancelled * Change default sort of JobResult table to -created * Added `delete` override to `JobResult` to remove scheduled tasks from RQ when a JobResult is deleted * Updated js/css dist files. Will need to be redone when develop is merged to feature. --- netbox/extras/choices.py | 4 +- netbox/extras/filtersets.py | 5 +- netbox/extras/forms/filtersets.py | 38 ++++++++++- netbox/extras/forms/reports.py | 2 +- .../management/commands/housekeeping.py | 2 +- .../migrations/0079_change_jobresult_order.py | 17 +++++ netbox/extras/models/models.py | 15 ++++- netbox/extras/tables/tables.py | 4 +- netbox/extras/urls.py | 1 - netbox/extras/views.py | 3 +- .../project-static/dist/netbox-external.css | Bin 286568 -> 286810 bytes netbox/project-static/dist/netbox.js | Bin 374623 -> 375762 bytes netbox/project-static/dist/netbox.js.map | Bin 344325 -> 346928 bytes netbox/templates/extras/jobresult.html | 60 ------------------ 14 files changed, 77 insertions(+), 74 deletions(-) create mode 100644 netbox/extras/migrations/0079_change_jobresult_order.py delete mode 100644 netbox/templates/extras/jobresult.html diff --git a/netbox/extras/choices.py b/netbox/extras/choices.py index 0e2edcd9f..ee806f094 100644 --- a/netbox/extras/choices.py +++ b/netbox/extras/choices.py @@ -141,7 +141,7 @@ class LogLevelChoices(ChoiceSet): class JobResultStatusChoices(ChoiceSet): STATUS_PENDING = 'pending' - STATUS_SCHEDULED = 'pending' + STATUS_SCHEDULED = 'scheduled' STATUS_RUNNING = 'running' STATUS_COMPLETED = 'completed' STATUS_ERRORED = 'errored' @@ -149,7 +149,7 @@ class JobResultStatusChoices(ChoiceSet): CHOICES = ( (STATUS_PENDING, 'Pending'), - (STATUS_SCHEDULED, 'Pending'), + (STATUS_SCHEDULED, 'Scheduled'), (STATUS_RUNNING, 'Running'), (STATUS_COMPLETED, 'Completed'), (STATUS_ERRORED, 'Errored'), diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index aed8d4bb3..f7927a454 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -87,6 +87,7 @@ class CustomFieldFilterSet(BaseFilterSet): Q(description__icontains=value) ) + class CustomLinkFilterSet(BaseFilterSet): q = django_filters.CharFilter( method='search', @@ -434,8 +435,8 @@ class JobResultFilterSet(BaseFilterSet): method='search', label='Search', ) - created = django_filters.DateTimeFilter() - completed = django_filters.DateTimeFilter() + created = django_filters.DateTimeFromToRangeFilter() + completed = django_filters.DateTimeFromToRangeFilter() status = django_filters.MultipleChoiceFilter( choices=JobResultStatusChoices, null_value=None diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 2e715d9a7..c40d0ce94 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -69,7 +69,43 @@ class CustomFieldFilterForm(FilterForm): class JobResultFilterForm(FilterForm): fieldsets = ( (None, ('q',)), - #('Attributes', ('type', 'content_type_id', 'group_name', 'weight', 'required', 'ui_visibility')), + ('Attributes', ('obj_type', 'status')), + ('Creation', ('created_before', 'created_after', 'completed_before', 'completed_after', 'user')), + ) + + obj_type = ContentTypeChoiceField( + label=_('Object Type'), + queryset=ContentType.objects.all(), + limit_choices_to=FeatureQuery('job_results'), # TODO: This doesn't actually work + required=False, + ) + status = MultipleChoiceField( + choices=JobResultStatusChoices, + required=False + ) + created_after = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) + created_before = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) + completed_after = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) + completed_before = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) + user = DynamicModelMultipleChoiceField( + queryset=User.objects.all(), + required=False, + label=_('User'), + widget=APISelectMultiple( + api_url='/api/users/users/', + ) ) diff --git a/netbox/extras/forms/reports.py b/netbox/extras/forms/reports.py index 658796bb5..aa4f6223b 100644 --- a/netbox/extras/forms/reports.py +++ b/netbox/extras/forms/reports.py @@ -13,4 +13,4 @@ class ReportForm(BootstrapMixin, forms.Form): widget=DateTimePicker(), label="Schedule at", help_text="Schedule execution of report to a set time", - ) \ No newline at end of file + ) diff --git a/netbox/extras/management/commands/housekeeping.py b/netbox/extras/management/commands/housekeeping.py index 51d50d7e1..d2f2b1776 100644 --- a/netbox/extras/management/commands/housekeeping.py +++ b/netbox/extras/management/commands/housekeeping.py @@ -81,7 +81,7 @@ class Command(BaseCommand): ending="" ) self.stdout.flush() - JobResult.objects.filter(created__lt=cutoff)._raw_delete(using=DEFAULT_DB_ALIAS) + JobResult.objects.filter(created__lt=cutoff).delete(using=DEFAULT_DB_ALIAS) if options['verbosity']: self.stdout.write("Done.", self.style.SUCCESS) elif options['verbosity']: diff --git a/netbox/extras/migrations/0079_change_jobresult_order.py b/netbox/extras/migrations/0079_change_jobresult_order.py new file mode 100644 index 000000000..12e35bf67 --- /dev/null +++ b/netbox/extras/migrations/0079_change_jobresult_order.py @@ -0,0 +1,17 @@ +# Generated by Django 4.1.1 on 2022-10-09 18:37 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('extras', '0078_unique_constraints'), + ] + + operations = [ + migrations.AlterModelOptions( + name='jobresult', + options={'ordering': ['-created']}, + ), + ] diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 03796f17d..2d3df5ca2 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -528,13 +528,22 @@ class JobResult(models.Model): objects = RestrictedQuerySet.as_manager() class Meta: - ordering = ['obj_type', 'name', '-created'] + ordering = ['-created'] def __str__(self): return str(self.job_id) + def delete(self, *args, **kwargs): + queue = django_rq.get_queue("default") + job = queue.fetch_job(str(self.job_id)) + + if job: + job.cancel() + + return super().delete(*args, **kwargs) + def get_absolute_url(self): - return reverse('extras:jobresult', args=[self.pk]) + return reverse(f'extras:{self.obj_type.name}_result', args=[self.pk]) @property def duration(self): @@ -579,7 +588,7 @@ class JobResult(models.Model): if schedule_at := kwargs.pop("schedule_at", None): job_result.status = JobResultStatusChoices.STATUS_SCHEDULED job_result.save() - + queue.enqueue_at(schedule_at, func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) else: queue.enqueue(func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 39f186ed6..6ddc26c3d 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -56,9 +56,9 @@ class JobResultTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = JobResult fields = ( - 'pk', 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status', 'job_id', + 'pk', 'id', 'name', 'obj_type', 'job_id', 'created', 'completed', 'user', 'status', ) - default_columns = ('pk', 'id', 'name', 'obj_type', 'created', 'completed', 'user', 'status', 'job_id') + default_columns = ('pk', 'id', 'name', 'obj_type', 'status', 'created', 'completed', 'user',) # diff --git a/netbox/extras/urls.py b/netbox/extras/urls.py index dfea1a4ef..0640904f2 100644 --- a/netbox/extras/urls.py +++ b/netbox/extras/urls.py @@ -76,7 +76,6 @@ urlpatterns = [ # Job results path('job-results/', views.JobResultListView.as_view(), name='jobresult_list'), - path('job-results//', views.JobResultView.as_view(), name='jobresult'), path('job-results/delete/', views.JobResultBulkDeleteView.as_view(), name='jobresult_bulk_delete'), path('job-results//delete/', views.JobResultDeleteView.as_view(), name='jobresult_delete'), diff --git a/netbox/extras/views.py b/netbox/extras/views.py index c242e36f4..29855a82b 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -815,6 +815,7 @@ class JobResultListView(generic.ObjectListView): table = tables.JobResultTable actions = ('delete', 'bulk_delete', ) + class JobResultDeleteView(generic.ObjectDeleteView): queryset = JobResult.objects.all() @@ -822,4 +823,4 @@ class JobResultDeleteView(generic.ObjectDeleteView): class JobResultBulkDeleteView(generic.BulkDeleteView): queryset = JobResult.objects.all() filterset = filtersets.JobResultFilterSet - table = tables.JobResultTable \ No newline at end of file + table = tables.JobResultTable diff --git a/netbox/project-static/dist/netbox-external.css b/netbox/project-static/dist/netbox-external.css index f8bd6e21cf9fd0c959a82ae7b80721f264109910..8504316d429221f0aeb70e13bffc93156dd85f1c 100644 GIT binary patch delta 147 zcmaE{Pw>_O!G;#b7N!>FEi5l&r-#Y0$Zr>wV{v2TN-QeMFAvI0&nTJxP=Q5edbB(X zKcmhxX%-PqxYYDyc@_g6Juu%nHLoPK2&7g~9>TUtOaqEk=cJ~USeY8AS{H!~1F@z% e0!^9TE62jVeU?0n3Cr|70W6{0&ndIavIYP^QZRe~ delta 63 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
1>%s~g01~K9X6ztH^ptn;|G_y{H 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 diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index ff7b5a41d3e351fd84556bbecd30fb1fba44be7a..bf25f3919966fdec75824d6c77724ca7361c6739 100644 GIT binary patch delta 8384 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 Cz8XOQ diff --git a/netbox/templates/extras/jobresult.html b/netbox/templates/extras/jobresult.html deleted file mode 100644 index 5f46dd6ac..000000000 --- a/netbox/templates/extras/jobresult.html +++ /dev/null @@ -1,60 +0,0 @@ -{% extends 'generic/object.html' %} -{% load helpers %} -{% load plugins %} - -{% block title %}{{ object.name }} ({{object.job_id}}){% endblock %} - -{# JobResult does not support add/edit controls #} -{% block controls %}{% endblock %} -{% block subtitle %}{% endblock %} - -{% block content %} -
-
-
-
- Tag -
-
- - - - - - - - - - - - - -
Name - {{ object.name }} -
Created - {{ object.created|annotated_date }} -
Completed - {{ object.completed|annotated_date }} -
-
-
-
-
-
-
- TODO -
-
- - TODO -
-
-
-
-
-
-
- {% plugin_full_width_page object %} -
-
-{% endblock %} From ef0b455b05ca50746c09017c5adea21156628169 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 9 Oct 2022 21:16:26 +0200 Subject: [PATCH 06/17] Called super delete method before deleting JobResult task. Done to avoid having deleted a task on accident if the deleting of the JobResult fails. --- netbox/extras/models/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 2d3df5ca2..e81c58136 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -534,14 +534,14 @@ class JobResult(models.Model): return str(self.job_id) def delete(self, *args, **kwargs): + super().delete(*args, **kwargs) + queue = django_rq.get_queue("default") job = queue.fetch_job(str(self.job_id)) if job: job.cancel() - return super().delete(*args, **kwargs) - def get_absolute_url(self): return reverse(f'extras:{self.obj_type.name}_result', args=[self.pk]) From 1d9808a92a1128894e0ffeea206ec3a721d1694c Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 13:42:28 +0200 Subject: [PATCH 07/17] Added scheduled_time field to JobResult model --- netbox/extras/filtersets.py | 3 ++- netbox/extras/forms/filtersets.py | 10 +++++++++- .../0080_add_jobresult_scheduled_time.py | 18 ++++++++++++++++++ netbox/extras/models/models.py | 5 +++++ netbox/extras/reports.py | 1 - netbox/extras/tables/tables.py | 2 +- .../templates/extras/htmx/report_result.html | 3 +++ .../templates/extras/htmx/script_result.html | 3 +++ netbox/templates/extras/inc/job_label.html | 2 ++ 9 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 netbox/extras/migrations/0080_add_jobresult_scheduled_time.py diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index f7927a454..257cbdca9 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -437,6 +437,7 @@ class JobResultFilterSet(BaseFilterSet): ) created = django_filters.DateTimeFromToRangeFilter() completed = django_filters.DateTimeFromToRangeFilter() + scheduled_time = django_filters.DateTimeFromToRangeFilter() status = django_filters.MultipleChoiceFilter( choices=JobResultStatusChoices, null_value=None @@ -445,7 +446,7 @@ class JobResultFilterSet(BaseFilterSet): class Meta: model = JobResult fields = [ - 'id', 'created', 'completed', 'status', 'user', 'obj_type', 'name' + 'id', 'created', 'completed', 'scheduled_time', 'status', 'user', 'obj_type', 'name' ] def search(self, queryset, name, value): diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index c40d0ce94..80ed0f208 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -70,7 +70,7 @@ class JobResultFilterForm(FilterForm): fieldsets = ( (None, ('q',)), ('Attributes', ('obj_type', 'status')), - ('Creation', ('created_before', 'created_after', 'completed_before', 'completed_after', 'user')), + ('Creation', ('created_before', 'created_after', 'completed_before', 'completed_after', 'scheduled_time_before', 'scheduled_time_after', 'user')), ) obj_type = ContentTypeChoiceField( @@ -99,6 +99,14 @@ class JobResultFilterForm(FilterForm): required=False, widget=DateTimePicker() ) + scheduled_time_after = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) + scheduled_time_before = forms.DateTimeField( + required=False, + widget=DateTimePicker() + ) user = DynamicModelMultipleChoiceField( queryset=User.objects.all(), required=False, diff --git a/netbox/extras/migrations/0080_add_jobresult_scheduled_time.py b/netbox/extras/migrations/0080_add_jobresult_scheduled_time.py new file mode 100644 index 000000000..fddde4bc5 --- /dev/null +++ b/netbox/extras/migrations/0080_add_jobresult_scheduled_time.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.1 on 2022-10-16 09:52 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('extras', '0079_change_jobresult_order'), + ] + + operations = [ + migrations.AddField( + model_name='jobresult', + name='scheduled_time', + field=models.DateTimeField(blank=True, null=True), + ), + ] diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index e81c58136..83036d8a1 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -505,6 +505,10 @@ class JobResult(models.Model): null=True, blank=True ) + scheduled_time = models.DateTimeField( + null=True, + blank=True + ) user = models.ForeignKey( to=User, on_delete=models.SET_NULL, @@ -587,6 +591,7 @@ class JobResult(models.Model): if schedule_at := kwargs.pop("schedule_at", None): job_result.status = JobResultStatusChoices.STATUS_SCHEDULED + job_result.scheduled_time = schedule_at job_result.save() queue.enqueue_at(schedule_at, func, job_id=str(job_result.job_id), job_result=job_result, **kwargs) diff --git a/netbox/extras/reports.py b/netbox/extras/reports.py index 32e4efc2d..525608c86 100644 --- a/netbox/extras/reports.py +++ b/netbox/extras/reports.py @@ -85,7 +85,6 @@ def run_report(job_result, *args, **kwargs): try: report.run(job_result) except Exception as e: - print(e) job_result.set_status(JobResultStatusChoices.STATUS_ERRORED) job_result.save() logging.error(f"Error during execution of report {job_result.name}") diff --git a/netbox/extras/tables/tables.py b/netbox/extras/tables/tables.py index 6ddc26c3d..8f365a58b 100644 --- a/netbox/extras/tables/tables.py +++ b/netbox/extras/tables/tables.py @@ -56,7 +56,7 @@ class JobResultTable(NetBoxTable): class Meta(NetBoxTable.Meta): model = JobResult fields = ( - 'pk', 'id', 'name', 'obj_type', 'job_id', 'created', 'completed', 'user', 'status', + 'pk', 'id', 'name', 'obj_type', 'job_id', 'created', 'completed', 'scheduled_time', 'user', 'status', ) default_columns = ('pk', 'id', 'name', 'obj_type', 'status', 'created', 'completed', 'user',) diff --git a/netbox/templates/extras/htmx/report_result.html b/netbox/templates/extras/htmx/report_result.html index c20bf5fe2..a51b2663d 100644 --- a/netbox/templates/extras/htmx/report_result.html +++ b/netbox/templates/extras/htmx/report_result.html @@ -2,6 +2,9 @@

Initiated: {{ result.created|annotated_date }} + {% if result.scheduled_time %} + Scheduled for: {{ result.scheduled_time|annotated_date }} + {% endif %} {% if result.completed %} Duration: {{ result.duration }} {% endif %} diff --git a/netbox/templates/extras/htmx/script_result.html b/netbox/templates/extras/htmx/script_result.html index 425f35898..d2af99c9b 100644 --- a/netbox/templates/extras/htmx/script_result.html +++ b/netbox/templates/extras/htmx/script_result.html @@ -3,6 +3,9 @@

Initiated: {{ result.created|annotated_date }} + {% if result.scheduled_time %} + Scheduled for: {{ result.scheduled_time|annotated_date }} + {% endif %} {% if result.completed %} Duration: {{ result.duration }} {% endif %} diff --git a/netbox/templates/extras/inc/job_label.html b/netbox/templates/extras/inc/job_label.html index d74931111..7ff788ede 100644 --- a/netbox/templates/extras/inc/job_label.html +++ b/netbox/templates/extras/inc/job_label.html @@ -4,6 +4,8 @@ Errored {% elif result.status == 'pending' %} Pending +{% elif result.status == 'scheduled' %} + Scheduled {% elif result.status == 'running' %} Running {% elif result.status == 'completed' %} From d647983003e7c0753d29fdec7e308ea8f587b385 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 13:47:15 +0200 Subject: [PATCH 08/17] Always activate scheduler functionality when running the rqworker management command --- netbox/extras/management/commands/rqworker.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/netbox/extras/management/commands/rqworker.py b/netbox/extras/management/commands/rqworker.py index e2ad5b15c..e1fb6fd11 100644 --- a/netbox/extras/management/commands/rqworker.py +++ b/netbox/extras/management/commands/rqworker.py @@ -14,6 +14,8 @@ class Command(_Command): of only the 'default' queue). """ def handle(self, *args, **options): + # Run the worker with scheduler functionality + options['with_scheduler'] = True # If no queues have been specified on the command line, listen on all configured queues. if len(args) < 1: From 074082d1f165ff6051fb31f905e47d863776355a Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 15:18:54 +0200 Subject: [PATCH 09/17] Allow export of JobResult table --- netbox/extras/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 29855a82b..a5da5a17c 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -813,7 +813,7 @@ class JobResultListView(generic.ObjectListView): filterset = filtersets.JobResultFilterSet filterset_form = forms.JobResultFilterForm table = tables.JobResultTable - actions = ('delete', 'bulk_delete', ) + actions = ('export', 'delete', 'bulk_delete', ) class JobResultDeleteView(generic.ObjectDeleteView): From e143038df82e2781602d4f7fb83cd60d1ef028e8 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 15:20:38 +0200 Subject: [PATCH 10/17] Remove JobResult view from admin panel --- netbox/extras/admin.py | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/netbox/extras/admin.py b/netbox/extras/admin.py index 01011b276..837a8f2d3 100644 --- a/netbox/extras/admin.py +++ b/netbox/extras/admin.py @@ -131,24 +131,3 @@ class ConfigRevisionAdmin(admin.ModelAdmin): }) return TemplateResponse(request, 'admin/extras/configrevision/restore.html', context) - - -# -# Reports & scripts -# - -@admin.register(JobResult) -class JobResultAdmin(admin.ModelAdmin): - list_display = [ - 'obj_type', 'name', 'created', 'completed', 'user', 'status', - ] - fields = [ - 'obj_type', 'name', 'created', 'completed', 'user', 'status', 'data', 'job_id' - ] - list_filter = [ - 'status', - ] - readonly_fields = fields - - def has_add_permission(self, request): - return False From f797b5ed97b4c9dd3eda1160863ec9e8e93a664b Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 15:27:33 +0200 Subject: [PATCH 11/17] Add scheduled_time to JobResultSerializer --- netbox/extras/api/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index fd774f8ff..b772cf95a 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -362,7 +362,7 @@ class JobResultSerializer(BaseModelSerializer): class Meta: model = JobResult fields = [ - 'id', 'url', 'display', 'created', 'completed', 'name', 'obj_type', 'status', 'user', 'data', 'job_id', + 'id', 'url', 'display', 'created', 'completed', 'scheduled_time', 'name', 'obj_type', 'status', 'user', 'data', 'job_id', ] From 52faeb6f60996550acd78cdbc102c67f96b46824 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Sun, 16 Oct 2022 18:15:45 +0200 Subject: [PATCH 12/17] Added documentation describing job scheduling --- docs/customization/custom-scripts.md | 2 +- docs/customization/reports.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/customization/custom-scripts.md b/docs/customization/custom-scripts.md index e5d5a1ef5..daa01cf80 100644 --- a/docs/customization/custom-scripts.md +++ b/docs/customization/custom-scripts.md @@ -267,7 +267,7 @@ An IPv4 or IPv6 network with a mask. Returns a `netaddr.IPNetwork` object. Two a ### Via the Web UI -Custom scripts can be run via the web UI by navigating to the script, completing any required form data, and clicking the "run script" button. +Custom scripts can be run via the web UI by navigating to the script, completing any required form data, and clicking the "run script" button. It is possible to schedule a script to be executed at specified time in the future. A scheduled script can be canceled by deleting the associated job result object. ### Via the API diff --git a/docs/customization/reports.md b/docs/customization/reports.md index 150c32f40..d504592da 100644 --- a/docs/customization/reports.md +++ b/docs/customization/reports.md @@ -136,7 +136,7 @@ Once you have created a report, it will appear in the reports list. Initially, r ### Via the Web UI -Reports can be run via the web UI by navigating to the report and clicking the "run report" button at top right. Once a report has been run, its associated results will be included in the report view. +Reports can be run via the web UI by navigating to the report and clicking the "run report" button at top right. Once a report has been run, its associated results will be included in the report view. It is possible to schedule a report to be executed at specified time in the future. A scheduled report can be canceled by deleting the associated job result object. ### Via the API From 83ff99a130615f91f2c77b650c87ffeb91314efd Mon Sep 17 00:00:00 2001 From: kkthxbye-code <> Date: Mon, 17 Oct 2022 09:54:23 +0200 Subject: [PATCH 13/17] Added delete button to script/report result --- netbox/templates/extras/report_result.html | 12 ++++++++++++ netbox/templates/extras/script_result.html | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/netbox/templates/extras/report_result.html b/netbox/templates/extras/report_result.html index b4a0c0f12..0c61c63f9 100644 --- a/netbox/templates/extras/report_result.html +++ b/netbox/templates/extras/report_result.html @@ -1,4 +1,6 @@ {% extends 'extras/report.html' %} +{% load buttons %} +{% load perms %} {% block content-wrapper %}

@@ -7,3 +9,13 @@
{% endblock %} + +{% block controls %} +
+
+ {% if request.user|can_delete:result %} + {% delete_button result %} + {% endif %} +
+
+{% endblock controls %} \ No newline at end of file diff --git a/netbox/templates/extras/script_result.html b/netbox/templates/extras/script_result.html index 1c311ff26..2fc01e9fa 100644 --- a/netbox/templates/extras/script_result.html +++ b/netbox/templates/extras/script_result.html @@ -1,5 +1,7 @@ {% extends 'base/layout.html' %} {% load helpers %} +{% load buttons %} +{% load perms %} {% block title %}{{ script }}{% endblock %} @@ -23,6 +25,16 @@ {{ block.super }} {% endblock header %} +{% block controls %} +
+
+ {% if request.user|can_delete:result %} + {% delete_button result %} + {% endif %} +
+
+{% endblock controls %} + {% block content-wrapper %}
{% endblock content-wrapper %} + +{% block modals %} + {% include 'inc/htmx_modal.html' %} +{% endblock modals %} \ No newline at end of file From 4f95c5a72ccb2d0dea8d258fb903a656c56df089 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Thu, 20 Oct 2022 21:36:43 +0200 Subject: [PATCH 14/17] Allow scheduling jobs via. the API --- docs/customization/custom-scripts.md | 2 ++ docs/customization/reports.md | 2 ++ netbox/extras/api/serializers.py | 6 ++++++ netbox/extras/api/views.py | 31 ++++++++++++++++++---------- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/docs/customization/custom-scripts.md b/docs/customization/custom-scripts.md index daa01cf80..456bcf472 100644 --- a/docs/customization/custom-scripts.md +++ b/docs/customization/custom-scripts.md @@ -282,6 +282,8 @@ http://netbox/api/extras/scripts/example.MyReport/ \ --data '{"data": {"foo": "somevalue", "bar": 123}, "commit": true}' ``` +Optionally `schedule_at` can be passed in the form data with a datetime string to schedule a script at the specified date and time. + ### Via the CLI Scripts can be run on the CLI by invoking the management command: diff --git a/docs/customization/reports.md b/docs/customization/reports.md index d504592da..470868ea0 100644 --- a/docs/customization/reports.md +++ b/docs/customization/reports.md @@ -152,6 +152,8 @@ Our example report above would be called as: POST /api/extras/reports/devices.DeviceConnectionsReport/run/ ``` +Optionally `schedule_at` can be passed in the form data with a datetime string to schedule a script at the specified date and time. + ### Via the CLI Reports can be run on the CLI by invoking the management command: diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index b772cf95a..b34f5fba3 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -38,6 +38,7 @@ __all__ = ( 'ObjectChangeSerializer', 'ReportDetailSerializer', 'ReportSerializer', + 'ReportInputSerializer', 'ScriptDetailSerializer', 'ScriptInputSerializer', 'ScriptLogMessageSerializer', @@ -388,6 +389,10 @@ class ReportDetailSerializer(ReportSerializer): result = JobResultSerializer() +class ReportInputSerializer(serializers.Serializer): + schedule_at = serializers.DateTimeField(required=False, allow_null=True) + + # # Scripts # @@ -419,6 +424,7 @@ class ScriptDetailSerializer(ScriptSerializer): class ScriptInputSerializer(serializers.Serializer): data = serializers.JSONField() commit = serializers.BooleanField() + schedule_at = serializers.DateTimeField(required=False, allow_null=True) class ScriptLogMessageSerializer(serializers.Serializer): diff --git a/netbox/extras/api/views.py b/netbox/extras/api/views.py index 63003bdf2..62a011530 100644 --- a/netbox/extras/api/views.py +++ b/netbox/extras/api/views.py @@ -231,19 +231,26 @@ class ReportViewSet(ViewSet): # Retrieve and run the Report. This will create a new JobResult. report = self._retrieve_report(pk) - report_content_type = ContentType.objects.get(app_label='extras', model='report') - job_result = JobResult.enqueue_job( - run_report, - report.full_name, - report_content_type, - request.user, - job_timeout=report.job_timeout - ) - report.result = job_result + input_serializer = serializers.ReportInputSerializer(data=request.data) - serializer = serializers.ReportDetailSerializer(report, context={'request': request}) + if input_serializer.is_valid(): + schedule_at = input_serializer.validated_data.get('schedule_at') - return Response(serializer.data) + report_content_type = ContentType.objects.get(app_label='extras', model='report') + job_result = JobResult.enqueue_job( + run_report, + report.full_name, + report_content_type, + request.user, + job_timeout=report.job_timeout, + schedule_at=schedule_at, + ) + report.result = job_result + + serializer = serializers.ReportDetailSerializer(report, context={'request': request}) + + return Response(serializer.data) + return Response(input_serializer.errors, status=status.HTTP_400_BAD_REQUEST) # @@ -312,6 +319,7 @@ class ScriptViewSet(ViewSet): if input_serializer.is_valid(): data = input_serializer.data['data'] commit = input_serializer.data['commit'] + schedule_at = input_serializer.validated_data.get('schedule_at') script_content_type = ContentType.objects.get(app_label='extras', model='script') job_result = JobResult.enqueue_job( @@ -323,6 +331,7 @@ class ScriptViewSet(ViewSet): request=copy_safe_request(request), commit=commit, job_timeout=script.job_timeout, + schedule_at=schedule_at, ) script.result = job_result serializer = serializers.ScriptDetailSerializer(script, context={'request': request}) From ed2f7f12369fe0b8f2dc2a5910840c928126a1b8 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Fri, 21 Oct 2022 10:30:59 +0200 Subject: [PATCH 15/17] Job scheduling review changes --- .../management/commands/housekeeping.py | 2 +- netbox/extras/models/models.py | 5 ++- netbox/extras/views.py | 44 +++++++++---------- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/netbox/extras/management/commands/housekeeping.py b/netbox/extras/management/commands/housekeeping.py index d2f2b1776..42690568d 100644 --- a/netbox/extras/management/commands/housekeeping.py +++ b/netbox/extras/management/commands/housekeeping.py @@ -81,7 +81,7 @@ class Command(BaseCommand): ending="" ) self.stdout.flush() - JobResult.objects.filter(created__lt=cutoff).delete(using=DEFAULT_DB_ALIAS) + JobResult.objects.filter(created__lt=cutoff).delete() if options['verbosity']: self.stdout.write("Done.", self.style.SUCCESS) elif options['verbosity']: diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index 83036d8a1..6d7d2ae04 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -569,7 +569,7 @@ class JobResult(models.Model): self.completed = timezone.now() @classmethod - def enqueue_job(cls, func, name, obj_type, user, *args, **kwargs): + def enqueue_job(cls, func, name, obj_type, user, schedule_at=None, *args, **kwargs): """ Create a JobResult instance and enqueue a job using the given callable @@ -577,6 +577,7 @@ class JobResult(models.Model): name: Name for the JobResult instance obj_type: ContentType to link to the JobResult instance obj_type user: User object to link to the JobResult instance + schedule_at: Schedule the job to be executed at the passed date and time args: additional args passed to the callable kwargs: additional kargs passed to the callable """ @@ -589,7 +590,7 @@ class JobResult(models.Model): queue = django_rq.get_queue("default") - if schedule_at := kwargs.pop("schedule_at", None): + if schedule_at: job_result.status = JobResultStatusChoices.STATUS_SCHEDULED job_result.scheduled_time = schedule_at job_result.save() diff --git a/netbox/extras/views.py b/netbox/extras/views.py index a5da5a17c..c31cd2695 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -612,26 +612,30 @@ class ReportView(ContentTypePermissionRequiredMixin, View): if form.is_valid(): schedule_at = form.cleaned_data.get("schedule_at") - # Allow execution only if RQ worker process is running - if not Worker.count(get_connection('default')): - messages.error(request, "Unable to run report: RQ worker process not running.") - return render(request, 'extras/report.html', { - 'report': report, - }) + # Allow execution only if RQ worker process is running + if not Worker.count(get_connection('default')): + messages.error(request, "Unable to run report: RQ worker process not running.") + return render(request, 'extras/report.html', { + 'report': report, + }) - # Run the Report. A new JobResult is created. - report_content_type = ContentType.objects.get(app_label='extras', model='report') - job_result = JobResult.enqueue_job( - run_report, - report.full_name, - report_content_type, - request.user, - job_timeout=report.job_timeout, - schedule_at=schedule_at, - ) - - return redirect('extras:report_result', job_result_pk=job_result.pk) + # Run the Report. A new JobResult is created. + report_content_type = ContentType.objects.get(app_label='extras', model='report') + job_result = JobResult.enqueue_job( + run_report, + report.full_name, + report_content_type, + request.user, + job_timeout=report.job_timeout, + schedule_at=schedule_at, + ) + return redirect('extras:report_result', job_result_pk=job_result.pk) + + return render(request, 'extras/report.html', { + 'report': report, + 'form': form, + }) class ReportResultView(ContentTypePermissionRequiredMixin, View): """ @@ -804,10 +808,6 @@ class ScriptResultView(ContentTypePermissionRequiredMixin, GetScriptMixin, View) # Job results # -class JobResultView(generic.ObjectView): - queryset = JobResult.objects.all() - - class JobResultListView(generic.ObjectListView): queryset = JobResult.objects.all() filterset = filtersets.JobResultFilterSet From 72ba57052a08158473d0ff2feeadeca78dc94ec2 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Fri, 21 Oct 2022 10:42:49 +0200 Subject: [PATCH 16/17] PEP8 fix --- netbox/extras/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/netbox/extras/views.py b/netbox/extras/views.py index c31cd2695..c042c248a 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -631,12 +631,13 @@ class ReportView(ContentTypePermissionRequiredMixin, View): ) return redirect('extras:report_result', job_result_pk=job_result.pk) - + return render(request, 'extras/report.html', { 'report': report, 'form': form, }) + class ReportResultView(ContentTypePermissionRequiredMixin, View): """ Display a JobResult pertaining to the execution of a Report. From 5e5228ff1245adff047aface6ba7ce7ec87b5cd7 Mon Sep 17 00:00:00 2001 From: kkthxbye-code Date: Fri, 21 Oct 2022 15:53:39 +0200 Subject: [PATCH 17/17] Fix JobResultFilterset to use DateTimeField to perserve bc compat --- netbox/extras/filtersets.py | 30 +++++++++++++++++++++++++++--- netbox/extras/forms/filtersets.py | 15 ++++++++------- 2 files changed, 35 insertions(+), 10 deletions(-) diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index 257cbdca9..8c9c58a13 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -435,9 +435,33 @@ class JobResultFilterSet(BaseFilterSet): method='search', label='Search', ) - created = django_filters.DateTimeFromToRangeFilter() - completed = django_filters.DateTimeFromToRangeFilter() - scheduled_time = django_filters.DateTimeFromToRangeFilter() + created = django_filters.DateTimeFilter() + created__before = django_filters.DateTimeFilter( + field_name='created', + lookup_expr='lte' + ) + created__after = django_filters.DateTimeFilter( + field_name='created', + lookup_expr='gte' + ) + completed = django_filters.DateTimeFilter() + completed__before = django_filters.DateTimeFilter( + field_name='completed', + lookup_expr='lte' + ) + completed__after = django_filters.DateTimeFilter( + field_name='completed', + lookup_expr='gte' + ) + scheduled_time = django_filters.DateTimeFilter() + scheduled_time__before = django_filters.DateTimeFilter( + field_name='scheduled_time', + lookup_expr='lte' + ) + scheduled_time__after = django_filters.DateTimeFilter( + field_name='scheduled_time', + lookup_expr='gte' + ) status = django_filters.MultipleChoiceFilter( choices=JobResultStatusChoices, null_value=None diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 80ed0f208..059f0d9f2 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -70,7 +70,8 @@ class JobResultFilterForm(FilterForm): fieldsets = ( (None, ('q',)), ('Attributes', ('obj_type', 'status')), - ('Creation', ('created_before', 'created_after', 'completed_before', 'completed_after', 'scheduled_time_before', 'scheduled_time_after', 'user')), + ('Creation', ('created__before', 'created__after', 'completed__before', 'completed__after', + 'scheduled_time__before', 'scheduled_time__after', 'user')), ) obj_type = ContentTypeChoiceField( @@ -83,27 +84,27 @@ class JobResultFilterForm(FilterForm): choices=JobResultStatusChoices, required=False ) - created_after = forms.DateTimeField( + created__after = forms.DateTimeField( required=False, widget=DateTimePicker() ) - created_before = forms.DateTimeField( + created__before = forms.DateTimeField( required=False, widget=DateTimePicker() ) - completed_after = forms.DateTimeField( + completed__after = forms.DateTimeField( required=False, widget=DateTimePicker() ) - completed_before = forms.DateTimeField( + completed__before = forms.DateTimeField( required=False, widget=DateTimePicker() ) - scheduled_time_after = forms.DateTimeField( + scheduled_time__after = forms.DateTimeField( required=False, widget=DateTimePicker() ) - scheduled_time_before = forms.DateTimeField( + scheduled_time__before = forms.DateTimeField( required=False, widget=DateTimePicker() )