untested addition of the condition and scale up and down function
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
This commit is contained in:
@@ -55,7 +55,7 @@ class Deployment_Data(models.Model):
|
|||||||
schedule_day = models.ForeignKey(Schedule_Day_Data,null=True, blank=True, on_delete=models.SET_NULL)
|
schedule_day = models.ForeignKey(Schedule_Day_Data,null=True, blank=True, on_delete=models.SET_NULL)
|
||||||
replicas = models.IntegerField()
|
replicas = models.IntegerField()
|
||||||
actual_replica = models.IntegerField()
|
actual_replica = models.IntegerField()
|
||||||
do_not_touch_until = models.DateField('do_not_touch_until', blank=True, null=True)
|
do_not_touch_until = models.DateField('do_not_touch_until', blank=True, null=True, auto_now_add=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = 'machine'
|
db_table = 'machine'
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ Including another URLconf
|
|||||||
"""
|
"""
|
||||||
from django.urls import path
|
from django.urls import path
|
||||||
|
|
||||||
from .views import coucou,display,hello,import_namespace_view,retrieve_and_apply_view
|
from .views import coucou,display,hello,import_namespace_view,retrieve_and_apply_view,scale_up_gui,scale_down_gui
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
@@ -26,5 +26,6 @@ urlpatterns = [
|
|||||||
path('display', display, name='display'),
|
path('display', display, name='display'),
|
||||||
path('import_namespace', import_namespace_view, name='import_namespace'),
|
path('import_namespace', import_namespace_view, name='import_namespace'),
|
||||||
path('retrieve_and_apply_view', retrieve_and_apply_view, name='retrieve_and_apply_view'),
|
path('retrieve_and_apply_view', retrieve_and_apply_view, name='retrieve_and_apply_view'),
|
||||||
|
path('scale_up/<str:namespace_name>/<str:deploy_name>', scale_up_gui),
|
||||||
|
path('scale_down/<str:namespace_name>/<str:deploy_name>', scale_down_gui),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -116,7 +116,8 @@ def retrieve_and_apply(verbose=False):
|
|||||||
#check if the expected replica (server[2]) match the current replica of the deployment (server[3].actual_replica)
|
#check if the expected replica (server[2]) match the current replica of the deployment (server[3].actual_replica)
|
||||||
if server[3].actual_replica == server[2]:
|
if server[3].actual_replica == server[2]:
|
||||||
if verbose : print("name: "+str(server[1])+" namespace: "+str(server[0])+" already UP")
|
if verbose : print("name: "+str(server[1])+" namespace: "+str(server[0])+" already UP")
|
||||||
#if server[3].do_not_touch_until is after now , do something
|
if server[3].do_not_touch_until > timezone.now():
|
||||||
|
if verbose : print("name: "+str(server[1])+" namespace: "+str(server[0])+" is in freeze period")
|
||||||
else:
|
else:
|
||||||
echo = "Starting -> name: "+str(server[1])+" namespace: "+str(server[0])+" replicas: "+str(server[2])
|
echo = "Starting -> name: "+str(server[1])+" namespace: "+str(server[0])+" replicas: "+str(server[2])
|
||||||
output += str(echo)
|
output += str(echo)
|
||||||
@@ -133,6 +134,8 @@ def retrieve_and_apply(verbose=False):
|
|||||||
#check if the current replica of the deployment (server[3].actual_replica) is already 0 meaning the server is already down
|
#check if the current replica of the deployment (server[3].actual_replica) is already 0 meaning the server is already down
|
||||||
if server[3].actual_replica == 0:
|
if server[3].actual_replica == 0:
|
||||||
if verbose : print("name: "+str(server[1])+" namespace: "+str(server[0])+" already DOWN")
|
if verbose : print("name: "+str(server[1])+" namespace: "+str(server[0])+" already DOWN")
|
||||||
|
if server[3].do_not_touch_until > timezone.now():
|
||||||
|
if verbose : print("name: "+str(server[1])+" namespace: "+str(server[0])+" is in freeze period")
|
||||||
else:
|
else:
|
||||||
|
|
||||||
echo = "Shutting down -> name: "+str(server[1])+" namespace: "+str(server[0])+" replicas: "+str(server[2])
|
echo = "Shutting down -> name: "+str(server[1])+" namespace: "+str(server[0])+" replicas: "+str(server[2])
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ from django.shortcuts import render
|
|||||||
from .models import Deployment_Data,Schedule_Week_Data
|
from .models import Deployment_Data,Schedule_Week_Data
|
||||||
from .db_interaction import DB_generation,Check_server_supposed_XXX,Give_current_weekday,Give_current_hour
|
from .db_interaction import DB_generation,Check_server_supposed_XXX,Give_current_weekday,Give_current_hour
|
||||||
from .utils import import_namespace,retrieve_and_apply
|
from .utils import import_namespace,retrieve_and_apply
|
||||||
|
from apps.kubernetes_connection.utils import scale_up,scale_down
|
||||||
|
|
||||||
def coucou(request):
|
def coucou(request):
|
||||||
# 1. Prepare the data inside the function
|
# 1. Prepare the data inside the function
|
||||||
@@ -55,3 +56,12 @@ def redirect(request):
|
|||||||
print(list_servers_up)
|
print(list_servers_up)
|
||||||
return render(request, 'cloudmanager/cmm_blank_page.html', {'list_servers_up':list_servers_up})
|
return render(request, 'cloudmanager/cmm_blank_page.html', {'list_servers_up':list_servers_up})
|
||||||
|
|
||||||
|
def scale_up_gui(request,namespace_name,deploy_name,replicas=1):
|
||||||
|
scale_up(namespace_name=namespace_name,deploy_name=deploy_name,replicas=replicas)
|
||||||
|
return render(request, 'dashboard/start.html', {'namespace':namespace_name,'deployment': deploy_name, 'url': 'https://namespace.com'})
|
||||||
|
|
||||||
|
|
||||||
|
def scale_down_gui(request,namespace_name,deploy_name):
|
||||||
|
scale_down(namespace_name=namespace_name,deploy_name=deploy_name)
|
||||||
|
return render(request, 'dashboard/shutdown.html',
|
||||||
|
{'namespace': namespace_name, 'deployment': deploy_name, 'url': 'https://namespace.com'})
|
||||||
|
|||||||
Reference in New Issue
Block a user