Sup0108 A - Deployment Or Update Operation Is Already In Progress Best |link|

Guide: Troubleshooting “SUP0108: a deployment or update operation is already in progress” (best practices)

1. Wait (The "Best" Practice)

The orchestrator locks the service to prevent conflicting changes. If a previous update just finished, the lock might take a few seconds to release.

  • Action: Wait 30–60 seconds and try the command again.

2. Example Implementation (Python + Redis + FastAPI)

import redis
import asyncio
from fastapi import FastAPI, HTTPException, BackgroundTasks
from uuid import uuid4

app = FastAPI() redis_client = redis.Redis(host='localhost', port=6379, decode_responses=True) LOCK_KEY = "deployment_lock" QUEUE_KEY = "deployment_queue"

def acquire_lock(ttl_seconds=3600): """Atomically acquire deployment lock.""" return redis_client.setnx(LOCK_KEY, "active") and redis_client.expire(LOCK_KEY, ttl_seconds)

def release_lock(): redis_client.delete(LOCK_KEY)

def add_to_queue(request_id, payload): redis_client.rpush(QUEUE_KEY, f"request_id:payload")

def get_queue_length(): return redis_client.llen(QUEUE_KEY)

async def process_next_in_queue(): """Process next queued deployment after lock is free.""" next_item = redis_client.lpop(QUEUE_KEY) if next_item: request_id, payload = next_item.split(":", 1) # Trigger deployment (could be background task) print(f"Processing queued deployment request_id: payload")

@app.post("/deploy") async def deploy(payload: dict, background_tasks: BackgroundTasks): request_id = str(uuid4()) Action: Wait 30–60 seconds and try the command again

if acquire_lock():
    background_tasks.add_task(release_lock, delay=3600)  # placeholder for real release after completion
    return "status": "started", "request_id": request_id
# Lock is held by another deployment
if get_queue_length() < 10:  # prevent queue overflow
    add_to_queue(request_id, str(payload))
    return 
        "status": "queued",
        "message": "A deployment is already in progress. Your request has been queued.",
        "position": get_queue_length(),
        "request_id": request_id
else:
    raise HTTPException(status_code=429, detail="Deployment queue is full. Try later.")

Best Practices to Avoid SUP0108

  • Plan Deployments: Schedule deployments and updates during off-peak hours and ensure there's a gap between different types of operations.
  • Monitor SCCM: Regularly monitor SCCM for ongoing operations, especially if automating deployments.
  • Test and Validate: Before pushing to production, test your deployments in a controlled environment.
  • Keep SCCM Updated: Ensure your SCCM environment is up-to-date and correctly configured.

Solution 4: Check for Database Blocking (SUSDB)

If the above fails, you likely have a locked database.

  1. Open SQL Server Management Studio (SSMS) connected to the WSUS database instance.
  2. Run this T-SQL to find blocking processes:
SELECT
    session_id,
    blocking_session_id,
    wait_type,
    command,
    text
FROM sys.dm_exec_requests
CROSS APPLY sys.dm_exec_sql_text(sql_handle)
WHERE blocking_session_id > 0
  1. If you see a blocking_session_id, kill it (replace X with the session ID):
KILL X
  1. After killing the blocker, run the WSUS stored procedure to reset internal tasks:
USE SUSDB
EXEC spDeleteUpdate @localUpdateID = 0, @bIsLocPublished = 0

Understanding SUP0108 Error

The SUP0108 error indicates that there is an ongoing deployment or update operation. This means that the system is currently busy with another task related to deployment or updating, and it cannot start a new operation until the existing one is completed.

Technical Review: SUP0108 – "A deployment or update operation is already in progress"

5. The "Nuclear" Option (Last Resort)

If the service is completely stuck and the commands above fail, you can remove and recreate the service.

  • Warning: This causes downtime.
docker service rm <service_name>
docker service create ... # (your creation command)

Summary Recommendation:

  1. Wait 1 minute.
  2. Run docker service ps <service_name> to see if tasks are failing.
  3. Run docker service update --force <service_name> to force the lock clear.

The error code is a standard message within the Dell iDRAC and Lifecycle Controller (LCC)

ecosystem. It indicates that the system is currently occupied with a firmware update or deployment task and cannot start a new one. Understanding SUP0108 Definition : A deployment or update operation is already in progress. : Warning. Common Trigger

: Attempting to mount a driver or start a firmware update while the Lifecycle Controller is active or a background task is running. Troubleshooting & Resolution or a custom orchestrator).

If you encounter this error, follow these steps to clear the block: Wait for Completion

: The most standard solution is to wait for the current operation to finish. Some updates, particularly for iDRAC 9, can take anywhere from 20 minutes to 4 hours to fully conclude. Clear the Job Queue

: If the operation appears stuck, you can manually clear the iDRAC job queue: Connect to the iDRAC via using a client like Log in with your root credentials. Execute commands to delete existing jobs (e.g., racadm jobqueue delete -i JID_CLEARALL Perform a Cold Boot

: In some cases, a previous upgrade leaves a "RAM drive" on the host OS that must be cleared. A Cold Power-Off

(removing power completely) or a system reboot will reset this state. Reset iDRAC

: You can reset the iDRAC interface through the web UI under Maintenance > Diagnostics

or by holding the "i" button on the front of the server for 16 seconds. Best Practices to Avoid SUP0108 Avoid Heavy CPU Load particularly for iDRAC 9

: Refrain from firmware updates when the CPU is under heavy utilization, as this can impact fan speeds and cooling. Sequential Updates

: Ensure one update job has moved from the "Downloading" or "Extracted" state to "Completed" before initiating another. OS-Based Updates

: If the LCC interface is consistently buggy, consider running the update directly from the Host Operating System using the Dell Update Package (DUP). iDRAC10 Version 1.20.25.00 Release Notes - Dell

It looks like you’re referencing an error message similar to:

"sup0108: A deployment or update operation is already in progress"

and you want to develop a feature to handle this situation gracefully.

Below is a practical feature design and implementation approach, assuming a typical cloud deployment / CI/CD pipeline (e.g., AWS, Azure, Kubernetes, or a custom orchestrator).


1 thought on “A Small September Affair (2014)”

  1. Engin Akyürek's avatar Engin Akyürek said:

    Good summary. I’m glad there was one thing they did not give away. Also, the name is not Lone… his name was Tekin or the short version Tek.

    Like

Please let me know what you think!

This site uses Akismet to reduce spam. Learn how your comment data is processed.