[Infra][CI] lesson-video-processor never deploys: swarm service name 67 chars exceeds 63-char limit (stack+service name doubled) #624

Closed
opened 2026-07-17 00:50:38 +00:00 by spikerj · 2 comments
Owner

Found while verifying post-merge CI for the #618 part-2 merges. Pre-existing (also failed on the previous master push, run 8314).

Symptom

The Lesson-Video-Processor workflow's manifest/deploy job fails on every backend master push:

failed to create service spikersoft-lesson-video-processor_spikersoft-lesson-video-processor:
Error response from daemon: rpc error: code = InvalidArgument desc = name must be 63 characters or fewer

Both arch images build and push fine; the swarm docker stack deploy step then dies.

Root cause

Swarm service names are <stack>_<service> and are capped at 63 chars. The stack is deployed as spikersoft-lesson-video-processor (33) and spikersoft-infrastructure/spikersoft-lesson-video-processor/docker-stack.yml names the service spikersoft-lesson-video-processor again → 67 chars.

Fix

Shorten the service key inside the stack file (e.g. worker:), keeping the stack name — service becomes spikersoft-lesson-video-processor_worker. Check for other stacks with the same doubled-name pattern near the limit. Note the service has therefore NEVER deployed via CI — verify whether it's running at all on the swarm, and roll it out after the fix.

Found while verifying post-merge CI for the #618 part-2 merges. Pre-existing (also failed on the previous master push, run 8314). ## Symptom The Lesson-Video-Processor workflow's manifest/deploy job fails on every backend master push: ``` failed to create service spikersoft-lesson-video-processor_spikersoft-lesson-video-processor: Error response from daemon: rpc error: code = InvalidArgument desc = name must be 63 characters or fewer ``` Both arch images build and push fine; the swarm `docker stack deploy` step then dies. ## Root cause Swarm service names are `<stack>_<service>` and are capped at 63 chars. The stack is deployed as `spikersoft-lesson-video-processor` (33) and `spikersoft-infrastructure/spikersoft-lesson-video-processor/docker-stack.yml` names the service `spikersoft-lesson-video-processor` again → 67 chars. ## Fix Shorten the service key inside the stack file (e.g. `worker:`), keeping the stack name — service becomes `spikersoft-lesson-video-processor_worker`. Check for other stacks with the same doubled-name pattern near the limit. Note the service has therefore NEVER deployed via CI — verify whether it's running at all on the swarm, and roll it out after the fix.
spikerj added the bug label 2026-07-17 00:50:38 +00:00
Author
Owner

Verified against the live swarm: the service is absent (99 services running, none matching lesson/video) — lesson-video transcoding has never been deployed via CI. Fix PR: spikersoft-infrastructure#123 (service key → worker, name drops to 40 chars). Scanned every other stack: none exceed the 63-char cap (blog-media-processor is at exactly 63, which swarm accepts). Rollout after merge additionally needs /mnt/infrastructure on SERVER to have the commit — blocked on #625 or a manual pull.

Verified against the live swarm: the service is **absent** (99 services running, none matching lesson/video) — lesson-video transcoding has never been deployed via CI. Fix PR: spikersoft-infrastructure#123 (service key → `worker`, name drops to 40 chars). Scanned every other stack: none exceed the 63-char cap (blog-media-processor is at exactly 63, which swarm accepts). Rollout after merge additionally needs `/mnt/infrastructure` on SERVER to have the commit — blocked on #625 or a manual pull.
Author
Owner

Verified resolved end-to-end — closing. (Ticket-triage loop 2026-07-18.)

  1. Fix applied: spikersoft-infrastructure commit c647854 renamed the service key to worker (with an in-file comment citing this ticket); the stack now deploys as spikersoft-lesson-video-processor_worker (40 chars).
  2. Rolled out and running: live swarm check right now shows spikersoft-lesson-video-processor_worker 1/1 — the service that had never deployed via CI is up with full replicas (today's backend master pushes redeployed it).
  3. Doubled-name sweep (all */docker-stack.yml, computed <stack>_<service> lengths): nothing else exceeds 63. One to watch: spikersoft-blog-media-processor_spikersoft-blog-media-processor is at exactly 63 — legal and currently deployed, but any future one-char rename breaks it. Not changing it now (renaming a healthy service forces recreation for zero functional gain); flagging so the next person touching that stack shortens the service key while they're there.

No further action required; closing.

**Verified resolved end-to-end — closing.** (Ticket-triage loop 2026-07-18.) 1. **Fix applied:** spikersoft-infrastructure commit `c647854` renamed the service key to `worker` (with an in-file comment citing this ticket); the stack now deploys as `spikersoft-lesson-video-processor_worker` (40 chars). 2. **Rolled out and running:** live swarm check right now shows `spikersoft-lesson-video-processor_worker 1/1` — the service that had *never* deployed via CI is up with full replicas (today's backend master pushes redeployed it). 3. **Doubled-name sweep** (all `*/docker-stack.yml`, computed `<stack>_<service>` lengths): nothing else exceeds 63. One to watch: `spikersoft-blog-media-processor_spikersoft-blog-media-processor` is at **exactly 63** — legal and currently deployed, but any future one-char rename breaks it. Not changing it now (renaming a healthy service forces recreation for zero functional gain); flagging so the next person touching that stack shortens the service key while they're there. No further action required; closing.
Sign in to join this conversation.