improved injected files
This commit is contained in:
@@ -293,7 +293,10 @@ def validate_payload(payload):
|
||||
})
|
||||
|
||||
if sanitized_injected_files:
|
||||
logger.debug(f"Added injected_files to container {container['container_name']}: {sanitized_injected_files}")
|
||||
sanitized_container['injected_files'] = sanitized_injected_files
|
||||
else:
|
||||
logger.debug(f"No injected_files for container {container['container_name']}")
|
||||
|
||||
sanitized_payload['containers'].append(sanitized_container)
|
||||
|
||||
|
||||
@@ -27,13 +27,21 @@ def register_routes(app):
|
||||
Create a new task and insert it into the database.
|
||||
"""
|
||||
data = request.get_json()
|
||||
logger.debug(f"Received create_task request: {data}")
|
||||
worker_id = data.get("worker_id")
|
||||
job_details = json.dumps(data.get("job_details"))
|
||||
job_details_dict = data.get("job_details")
|
||||
job_details = json.dumps(job_details_dict) if job_details_dict else None
|
||||
task_type = data.get("task_type", "default")
|
||||
depends_on = data.get("depends_on")
|
||||
not_before = data.get("not_before")
|
||||
|
||||
logger.info(f"Creating new task for worker {worker_id}")
|
||||
logger.info(f"Creating new task for worker {worker_id}, type {task_type}")
|
||||
if job_details_dict and "containers" in job_details_dict:
|
||||
for container in job_details_dict["containers"]:
|
||||
if "injected_files" in container:
|
||||
logger.info(f"Task contains injected_files for container {container.get('container_name', 'unknown')}")
|
||||
else:
|
||||
logger.debug(f"No injected_files for container {container.get('container_name', 'unknown')}")
|
||||
|
||||
if not worker_id or not job_details:
|
||||
return jsonify({"error": "worker_id and job_details are required"}), 400
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import time
|
||||
import traceback
|
||||
import docker
|
||||
import uuid
|
||||
import pty
|
||||
@@ -69,6 +70,7 @@ class ContainerTask:
|
||||
except Exception as e:
|
||||
# Ensure containers are unblacklisted even if update fails
|
||||
self.logger.error(f"Pod update failed, ensuring containers are unblacklisted: {str(e)}")
|
||||
self.logger.error(traceback.format_exc())
|
||||
self.unblacklist_containers(pod_payload)
|
||||
raise
|
||||
|
||||
@@ -652,6 +654,7 @@ class ContainerTask:
|
||||
|
||||
# Handle injected files
|
||||
if "injected_files" in container_spec:
|
||||
self.logger.debug(f"Processing injected_files for container {system_container_id}: {container_spec['injected_files']}")
|
||||
# Create temp directory for injected files
|
||||
temp_dir = f"/tmp/xcloudify_injected/{system_container_id}"
|
||||
os.makedirs(temp_dir, exist_ok=True)
|
||||
@@ -687,6 +690,8 @@ class ContainerTask:
|
||||
except Exception as e:
|
||||
self.logger.error(f"Failed to write injected file {filename}: {e}")
|
||||
continue
|
||||
else:
|
||||
self.logger.debug(f"No injected_files found in container_spec for {system_container_id}")
|
||||
|
||||
try:
|
||||
# Step 1 – create & start
|
||||
|
||||
Reference in New Issue
Block a user