From 0b9005b4811ecdc7613cf97694f84ccdf549e413 Mon Sep 17 00:00:00 2001 From: Kobe Date: Mon, 23 Jun 2025 10:56:58 +0200 Subject: [PATCH] Update launch_progress.js --- static/js/launch_progress.js | 410 +---------------------------------- 1 file changed, 3 insertions(+), 407 deletions(-) diff --git a/static/js/launch_progress.js b/static/js/launch_progress.js index a71fdd1..7fa9022 100644 --- a/static/js/launch_progress.js +++ b/static/js/launch_progress.js @@ -1970,8 +1970,6 @@ async function downloadDockerCompose(repo, branch) { } } -// deployStack function moved to improved version below - // Add new function to save instance data async function saveInstanceData(instanceData) { try { @@ -2529,287 +2527,8 @@ async function checkStackExists(stackName) { } } -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - -// deployStack function moved to improved version below - // Add new function to deploy stack async function deployStack(dockerComposeContent, stackName, port) { - const maxRetries = 30; // 30 retries * 10 seconds = 5 minutes - const baseDelay = 10000; // 10 seconds base delay - try { // First, attempt to deploy the stack const controller = new AbortController(); @@ -2845,136 +2564,13 @@ async function deployStack(dockerComposeContent, stackName, port) { throw new Error(error.error || 'Failed to deploy stack'); } + // Return success result with response data const result = await response.json(); - - // Check if deployment was successful or if stack already exists - if (result.success || result.data || result.status === 'existing' || result.status === 'created') { - console.log('Stack deployment result:', result); - - // Update status to show we're waiting for stack to come online - const currentStep = document.querySelector('.step-item.active'); - if (currentStep) { - const statusElement = currentStep.querySelector('.step-status'); - statusElement.textContent = 'Stack deployed, waiting for services to start...'; - } - - // Wait and retry to check if stack is online - for (let attempt = 1; attempt <= maxRetries; attempt++) { - try { - // Check stack status via Portainer API - const stackCheckResponse = await fetch('/api/admin/check-stack-status', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]').content - }, - body: JSON.stringify({ - stack_name: `docupulse_${port}` - }) - }); - - if (stackCheckResponse.ok) { - const stackStatus = await stackCheckResponse.json(); - - if (stackStatus.success && stackStatus.data.status === 'active') { - console.log(`Stack came online successfully on attempt ${attempt}`); - - // Update status to show success - if (currentStep) { - const statusElement = currentStep.querySelector('.step-status'); - statusElement.textContent = 'Stack deployed and online successfully'; - } - - return { - success: true, - data: { - ...result.data || result, - status: 'active', - attempt: attempt - } - }; - } - } - - // If not online yet and this isn't the last attempt, wait and retry - if (attempt < maxRetries) { - const delay = baseDelay * Math.pow(1.2, attempt - 1); // Exponential backoff - - console.log(`Attempt ${attempt}/${maxRetries}: Stack not yet online. Waiting ${Math.round(delay/1000)}s before retry...`); - - // Update the step description to show retry progress - if (currentStep) { - const statusElement = currentStep.querySelector('.step-status'); - statusElement.textContent = `Waiting for stack to come online... (Attempt ${attempt}/${maxRetries})`; - } - - await new Promise(resolve => setTimeout(resolve, delay)); - } else { - // Last attempt failed - stack might be online but API check failed - console.log(`Stack status check failed after ${maxRetries} attempts, but deployment was successful`); - - // Update status to show partial success - if (currentStep) { - const statusElement = currentStep.querySelector('.step-status'); - statusElement.textContent = 'Stack deployed (status check timeout)'; - } - - return { - success: true, - data: { - ...result.data || result, - status: 'deployed', - note: 'Status check timeout - stack may be online' - } - }; - } - - } catch (error) { - console.error(`Stack status check attempt ${attempt} failed:`, error); - - if (attempt === maxRetries) { - // Last attempt failed, but deployment was successful - console.log('Stack status check failed after all attempts, but deployment was successful'); - - if (currentStep) { - const statusElement = currentStep.querySelector('.step-status'); - statusElement.textContent = 'Stack deployed (status check failed)'; - } - - return { - success: true, - data: { - ...result.data || result, - status: 'deployed', - note: 'Status check failed - stack may be online' - } - }; - } - - // Wait before retrying on error - const delay = baseDelay * Math.pow(1.2, attempt - 1); - console.log(`Stack check failed, retrying in ${Math.round(delay/1000)}s...`); - - if (currentStep) { - const statusElement = currentStep.querySelector('.step-status'); - statusElement.textContent = `Stack check failed, retrying... (Attempt ${attempt}/${maxRetries})`; - } - - await new Promise(resolve => setTimeout(resolve, delay)); - } - } - } - - // If we get here, deployment was successful but we couldn't verify status return { success: true, - data: { - ...result.data || result, - status: 'deployed', - note: 'Deployment successful, status unknown' - } + data: result }; - + } catch (error) { console.error('Error deploying stack:', error);