add the check to avoid making the operations for everyone
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s

This commit is contained in:
pierre.geeraert
2026-09-09 14:17:37 +01:00
parent 294af1945d
commit 9d82d61993
+28 -5
View File
@@ -18,7 +18,7 @@ def import_deployment():
for deployment in deployment_list: for deployment in deployment_list:
if deployment[0]!="kube-system": if deployment[0]!="kube-system":
Deployment_Data.objects.get_or_create(namespace=deployment[0],name=deployment[1],defaults={"replicas":deployment[2],"schedule_day":Schedule_Day_Always_on,"schedule_week":Schedule_Week_Always_on}) Deployment_Data.objects.get_or_create(namespace=deployment[0],name=deployment[1],defaults={"replicas":deployment[2],"actual_replica":deployment[2],"schedule_day":Schedule_Day_Always_on,"schedule_week":Schedule_Week_Always_on})
def generate_default_day_schedule(): def generate_default_day_schedule():
@@ -40,6 +40,15 @@ def Give_current_hour():
now = datetime.datetime.now() now = datetime.datetime.now()
return now.hour return now.hour
def get_current_replicas():
deployments_list = get_deployments()
for deployment in deployments_list:
if deployment[0]!="kube-system":
object,created = Deployment_Data.objects.update_or_create(namespace=deployment[0],name=deployment[1],defaults={"actual_replica":deployment[2]})
if created:
print("THIS DEPLOY: name: "+str(server[1])+" namespace: "+str(server[0])+" replicas: "+str(server[2])+" IS NEW !!!!!")
return 0
def Check_server_supposed_XXX(expected_status): def Check_server_supposed_XXX(expected_status):
#just for testing #just for testing
#expected_status = True #expected_status = True
@@ -81,24 +90,38 @@ def Check_server_supposed_XXX(expected_status):
replicas = deployment.replicas replicas = deployment.replicas
display_list.append(replicas) display_list.append(replicas)
print("replicas: "+str(replicas)) print("replicas: "+str(replicas))
#Adding the whole object as well for future use
display_list.append(deployment)
deployments_list.append(display_list) deployments_list.append(display_list)
return deployments_list return deployments_list
def retrieve_and_apply(): def retrieve_and_apply():
#Get current replica to compare with the replicas created at the start
get_current_replicas()
print("------------------------------------------") print("------------------------------------------")
print("-----------------UP-----------------------") print("-----------------UP-----------------------")
print("------------------------------------------") print("------------------------------------------")
servers_supposed_true = Check_server_supposed_XXX(True) servers_supposed_true = Check_server_supposed_XXX(True)
for server in servers_supposed_true: for server in servers_supposed_true:
print("name: "+str(server[1])+" namespace: "+str(server[0])+" replicas: "+str(server[2])) #check if the expected replica (server[2]) match the current replica of the deployment (server[3].actual_replica)
scale_up(namespace_name=server[1],deploy_name=server[0],replicas=server[2]) if server[3].actual_replica == server[2]:
print("name: "+str(server[1])+" namespace: "+str(server[0])+" already good")
else:
print("Starting -> name: "+str(server[1])+" namespace: "+str(server[0])+" replicas: "+str(server[2]))
scale_up(namespace_name=server[1],deploy_name=server[0],replicas=server[2])
print("------------------------------------------") print("------------------------------------------")
print("----------------DOWN----------------------") print("----------------DOWN----------------------")
print("------------------------------------------") print("------------------------------------------")
servers_supposed_false = Check_server_supposed_XXX(False) servers_supposed_false = Check_server_supposed_XXX(False)
for server in servers_supposed_false: for server in servers_supposed_false:
print("name: "+str(server[1])+" namespace: "+str(server[0])+" replicas: "+str(server[2])) #check if the current replica of the deployment (server[3].actual_replica) is already 0 meaning the server is already down
scale_down(namespace_name=server[1],deploy_name=server[0]) if server[3].actual_replica == 0:
print("name: "+str(server[1])+" namespace: "+str(server[0])+" already down")
else:
print("Shutting down -> name: "+str(server[1])+" namespace: "+str(server[0])+" replicas: "+str(server[2]))
scale_down(namespace_name=server[1],deploy_name=server[0])