Try to start a deploy using admin interface
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
This commit is contained in:
@@ -1,11 +1,18 @@
|
|||||||
from django.contrib import admin,messages
|
from django.contrib import admin,messages
|
||||||
from django.utils.translation import ngettext
|
from django.utils.translation import ngettext
|
||||||
from .models import Machine_Data,Schedule_Day_Data,Schedule_Week_Data
|
from .models import Machine_Data,Schedule_Day_Data,Schedule_Week_Data
|
||||||
|
from apps.kubernetes_connection.utils import scale_up
|
||||||
# Register your models here.
|
# Register your models here.
|
||||||
|
|
||||||
DB = 'cloudmanager_db'
|
DB = 'cloudmanager_db'
|
||||||
|
|
||||||
|
|
||||||
|
@admin.action(description="scale up")
|
||||||
|
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'])
|
||||||
|
|
||||||
|
|
||||||
class ActiveAtHourFilter(admin.SimpleListFilter):
|
class ActiveAtHourFilter(admin.SimpleListFilter):
|
||||||
title = 'Active at hour'
|
title = 'Active at hour'
|
||||||
parameter_name = 'active_at_hour'
|
parameter_name = 'active_at_hour'
|
||||||
@@ -41,6 +48,7 @@ class MultiDBModelAdmin(admin.ModelAdmin):
|
|||||||
class MachineDataAdmin(MultiDBModelAdmin):
|
class MachineDataAdmin(MultiDBModelAdmin):
|
||||||
list_display = ('name', 'namespace', 'schedule_week', 'schedule_day', 'replicas')
|
list_display = ('name', 'namespace', 'schedule_week', 'schedule_day', 'replicas')
|
||||||
list_filter = (ActiveAtHourFilter,)
|
list_filter = (ActiveAtHourFilter,)
|
||||||
|
actions = [scale_up_deploy]
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Schedule_Day_Data)
|
@admin.register(Schedule_Day_Data)
|
||||||
|
|||||||
@@ -22,3 +22,4 @@ def display(request):
|
|||||||
data = CmmData.objects.all()
|
data = CmmData.objects.all()
|
||||||
print(data[0].namespace)
|
print(data[0].namespace)
|
||||||
return HttpResponse(data)
|
return HttpResponse(data)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
from kubernetes import client, config
|
||||||
|
|
||||||
|
def scale_up(namespace_name,deploy_name,replicas=1):
|
||||||
|
config.load_kube_config(config_file='/kubeconfig/config')
|
||||||
|
api = client.AppsV1Api()
|
||||||
|
deployment = api.read_namespaced_deployment(name=deploy_name, namespace=namespace_name)
|
||||||
|
deployment.spec.replicas = replicas
|
||||||
|
resp = api.patch_namespaced_deployment(
|
||||||
|
name=deploy_name, namespace=namespace_name, body=deployment);
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def scale_down(namespace_name,deploy_name):
|
||||||
|
config.load_kube_config(config_file='/kubeconfig/config')
|
||||||
|
api = client.AppsV1Api()
|
||||||
|
deployment = api.read_namespaced_deployment(name=deploy_name, namespace=namespace_name)
|
||||||
|
deployment.spec.replicas = 0
|
||||||
|
resp = api.patch_namespaced_deployment(
|
||||||
|
name=deploy_name, namespace=namespace_name, body=deployment);
|
||||||
|
return 0
|
||||||
@@ -2,6 +2,7 @@ from django.contrib import admin,messages
|
|||||||
from django.utils.translation import ngettext
|
from django.utils.translation import ngettext
|
||||||
from .models import SimpsonsData
|
from .models import SimpsonsData
|
||||||
|
|
||||||
|
|
||||||
# Register your models here.
|
# Register your models here.
|
||||||
|
|
||||||
DB = 'simpsons_db'
|
DB = 'simpsons_db'
|
||||||
@@ -34,6 +35,8 @@ def make_unseen(modeladmin, request, queryset):
|
|||||||
messages.SUCCESS,
|
messages.SUCCESS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@admin.register(SimpsonsData)
|
@admin.register(SimpsonsData)
|
||||||
class EpisodeAdmin(admin.ModelAdmin):
|
class EpisodeAdmin(admin.ModelAdmin):
|
||||||
list_display = ('season', 'episode', 'url', 'seen')
|
list_display = ('season', 'episode', 'url', 'seen')
|
||||||
|
|||||||
Reference in New Issue
Block a user