diff --git a/django_code/apps/cloudmanager/admin.py b/django_code/apps/cloudmanager/admin.py index 4a83a4f..90c5cde 100644 --- a/django_code/apps/cloudmanager/admin.py +++ b/django_code/apps/cloudmanager/admin.py @@ -1,7 +1,7 @@ from django.contrib import admin,messages from django.utils.translation import ngettext from .models import Machine_Data,Schedule_Day_Data,Schedule_Week_Data -from apps.kubernetes_connection.utils import scale_up +from apps.kubernetes_connection.utils import scale_up,scale_down # Register your models here. DB = 'cloudmanager_db' @@ -11,7 +11,32 @@ DB = 'cloudmanager_db' def scale_up_deploy(modeladmin, request, queryset): for query in queryset.values(): scale_up(namespace_name=query['namespace'],deploy_name=query['name'],replicas=query['replicas']) - + modeladmin.message_user( + request, + ngettext( + "%d server was successfully scaled up.", + "%d servers were successfully scaled up.", + queryset.values().count(), + ) + % queryset.values().count(), + messages.SUCCESS, + ) + + +@admin.action(description="scale down") +def scale_down_deploy(modeladmin, request, queryset): + for query in queryset.values(): + scale_down(namespace_name=query['namespace'],deploy_name=query['name']) + modeladmin.message_user( + request, + ngettext( + "%d server was successfully scaled down.", + "%d servers were successfully scaled down.", + queryset.values().count(), + ) + % queryset.values().count(), + messages.SUCCESS, + ) class ActiveAtHourFilter(admin.SimpleListFilter): title = 'Active at hour' @@ -48,7 +73,7 @@ class MultiDBModelAdmin(admin.ModelAdmin): class MachineDataAdmin(MultiDBModelAdmin): list_display = ('name', 'namespace', 'schedule_week', 'schedule_day', 'replicas') list_filter = (ActiveAtHourFilter,) - actions = [scale_up_deploy] + actions = [scale_up_deploy,scale_down_deploy] @admin.register(Schedule_Day_Data)