{{ exporter.job }} |
{{ exporter.port }} |
diff --git a/promgen/templates/promgen/project_row.html b/promgen/templates/promgen/project_row.html
index 0d0598991..acab4d7a0 100644
--- a/promgen/templates/promgen/project_row.html
+++ b/promgen/templates/promgen/project_row.html
@@ -4,7 +4,7 @@
- {% for exporter in project.exporter_set.all %}
+ {% for exporter in project.job_set.all %}
{{ exporter.job }} |
{{ exporter.port }} |
diff --git a/promgen/tests/test_cli.py b/promgen/tests/test_cli.py
index ddbe1dad3..07d4d026b 100644
--- a/promgen/tests/test_cli.py
+++ b/promgen/tests/test_cli.py
@@ -24,15 +24,15 @@ def test_register_job(self, mock_signal):
management.call_command("register-job", "TestProject", "example", 1234)
# Ensure the jobs we expect exist
- self.assertCount(models.Exporter, 1)
+ self.assertCount(models.Job, 1)
# Registering the same job again shouldn't change our count
management.call_command("register-job", "TestProject", "example", 1234)
- self.assertCount(models.Exporter, 1)
+ self.assertCount(models.Job, 1)
# But registering a new one will
management.call_command("register-job", "TestProject", "example", 4321)
- self.assertCount(models.Exporter, 2)
+ self.assertCount(models.Job, 2)
@mock.patch("django.dispatch.dispatcher.Signal.send")
def test_register_host(self, mock_signal):
diff --git a/promgen/tests/test_routes.py b/promgen/tests/test_routes.py
index 346bffc4c..3f168bf5b 100644
--- a/promgen/tests/test_routes.py
+++ b/promgen/tests/test_routes.py
@@ -42,7 +42,7 @@ def test_import(self, mock_write, mock_reload):
self.assertRoute(response, views.Import, 302, "Redirect to imported object")
self.assertCount(models.Service, 1, "Import one service")
self.assertCount(models.Project, 2, "Import two projects")
- self.assertCount(models.Exporter, 2, "Import two exporters")
+ self.assertCount(models.Job, 2, "Import two exporters")
self.assertCount(models.Host, 3, "Import three hosts")
@override_settings(PROMGEN=TEST_SETTINGS)
@@ -62,7 +62,7 @@ def test_replace(self, mock_write, mock_reload):
self.assertCount(models.Service, 1, "Import one service")
self.assertCount(models.Project, 2, "Import two projects")
- self.assertCount(models.Exporter, 2, "Import two exporters")
+ self.assertCount(models.Job, 2, "Import two exporters")
self.assertCount(models.Farm, 3, "Original two farms and one new farm")
self.assertCount(models.Host, 5, "Original 3 hosts and two new ones")
diff --git a/promgen/tests/test_signals.py b/promgen/tests/test_signals.py
index e23e37fab..c09df1d6d 100644
--- a/promgen/tests/test_signals.py
+++ b/promgen/tests/test_signals.py
@@ -20,11 +20,11 @@ def test_write_signal(self, write_mock, log_mock):
project = models.Project.objects.create(
name='Project', service=service, farm=farm, shard=shard
)
- e1 = models.Exporter.objects.create(
+ e1 = models.Job.objects.create(
job='Exporter 1', port=1234, project=project,
)
- e2 = models.Exporter.objects.create(
+ e2 = models.Job.objects.create(
job='Exporter 2', port=1234, project=project,
)
@@ -48,7 +48,7 @@ def test_write_and_delete(self, write_mock, log_mock):
# Farm but no exporters so no call
self.assertEqual(write_mock.call_count, 0, 'Should not be called without exporters')
- models.Exporter.objects.create(
+ models.Job.objects.create(
job='Exporter 1', port=1234, project=project,
)
# Create an exporter so our call should be 1
@@ -58,7 +58,7 @@ def test_write_and_delete(self, write_mock, log_mock):
# Deleting our farm will call pre_delete on Farm and post_save on project
self.assertEqual(write_mock.call_count, 3, 'Should be called after deleting farm')
- models.Exporter.objects.create(
+ models.Job.objects.create(
job='Exporter 2', port=1234, project=project,
)
# Deleting our farm means our config is inactive, so no additional calls
diff --git a/promgen/views.py b/promgen/views.py
index 3e987a66d..6057a1f8b 100644
--- a/promgen/views.py
+++ b/promgen/views.py
@@ -58,7 +58,7 @@ class ShardList(LoginRequiredMixin, ListView):
"project_set",
"project_set__owner",
"project_set__farm",
- "project_set__exporter_set",
+ "project_set__job_set",
"project_set__notifiers",
"project_set__notifiers__owner",
"prometheus_set",
@@ -76,7 +76,7 @@ class ShardDetail(LoginRequiredMixin, DetailView):
"project_set",
"project_set__owner",
"project_set__farm",
- "project_set__exporter_set",
+ "project_set__job_set",
"project_set__notifiers",
"project_set__notifiers__owner",
"project_set__notifiers__filter_set",
@@ -95,7 +95,7 @@ class ServiceList(LoginRequiredMixin, ListView):
"project_set__notifiers__owner",
"project_set__notifiers__filter_set",
"project_set__farm",
- "project_set__exporter_set",
+ "project_set__job_set",
"owner",
"notifiers",
"notifiers__owner",
@@ -125,7 +125,7 @@ def get_queryset(self):
'project_set',
'project_set__farm',
'project_set__shard',
- 'project_set__exporter_set',
+ 'project_set__job_set',
'project_set__notifiers',
'project_set__owner',
'project_set__notifiers__owner',
@@ -169,7 +169,7 @@ def get(self, request, slug):
id__in=context['farm_list'].values_list('project__id', flat=True)
).prefetch_related('notifiers', 'rule_set')
- context['exporter_list'] = models.Exporter.objects.filter(
+ context['exporter_list'] = models.Job.objects.filter(
project_id__in=context['project_list'].values_list('id', flat=True)
).prefetch_related('project', 'project__service')
@@ -229,8 +229,8 @@ def get_queryset(self):
if key == 'project':
# Only projects may have exporters
qset |= Q(
- content_type_id=ContentType.objects.get_for_model(models.Exporter).id,
- object_id__in=obj.exporter_set.values_list('id', flat=True)
+ content_type_id=ContentType.objects.get_for_model(models.Job).id,
+ object_id__in=obj.job_set.values_list('id', flat=True)
)
# Only projects may have URLs
qset |= Q(
@@ -258,7 +258,7 @@ class ServiceDetail(LoginRequiredMixin, DetailView):
'project_set',
'project_set__shard',
'project_set__farm',
- 'project_set__exporter_set',
+ 'project_set__job_set',
'project_set__notifiers',
'project_set__notifiers__owner'
)
@@ -335,7 +335,7 @@ def post(self, request, pk):
class ExporterDelete(LoginRequiredMixin, DeleteView):
- model = models.Exporter
+ model = models.Job
def get_success_url(self):
return reverse('project-detail', args=[self.object.project_id])
@@ -343,7 +343,7 @@ def get_success_url(self):
class ExporterToggle(LoginRequiredMixin, View):
def post(self, request, pk):
- exporter = get_object_or_404(models.Exporter, id=pk)
+ exporter = get_object_or_404(models.Job, id=pk)
exporter.enabled = not exporter.enabled
exporter.save()
signals.trigger_write_config.send(request)
@@ -597,13 +597,13 @@ def post(self, request, pk, source):
class ExporterRegister(LoginRequiredMixin, FormView, mixins.ProjectMixin):
- model = models.Exporter
+ model = models.Job
template_name = 'promgen/exporter_form.html'
form_class = forms.ExporterForm
def form_valid(self, form):
project = get_object_or_404(models.Project, id=self.kwargs['pk'])
- exporter, _ = models.Exporter.objects.get_or_create(project=project, **form.clean())
+ exporter, _ = models.Job.objects.get_or_create(project=project, **form.clean())
return HttpResponseRedirect(reverse('project-detail', args=[project.id]))
@@ -1077,7 +1077,7 @@ def collect(self):
"promgen_shards", "Registered Shards", models.Shard.objects.count()
)
yield GaugeMetricFamily(
- "promgen_exporters", "Registered Exporters", models.Exporter.objects.count()
+ "promgen_exporters", "Registered Exporters", models.Job.objects.count()
)
yield GaugeMetricFamily(
"promgen_services", "Registered Services", models.Service.objects.count()
@@ -1129,7 +1129,7 @@ def get(self, request):
'project_list': {
'field': ('name__icontains',),
'model': models.Project,
- 'prefetch': ('service', 'notifiers', 'exporter_set', 'notifiers__owner'),
+ 'prefetch': ('service', 'notifiers', 'job_set', 'notifiers__owner'),
'query': ('search', 'var-project'),
},
'rule_list': {
|