Diagnose failed jobs and re-prioritize queued work in place with Fuzzball
Image File
Original HTML

We previously announced that Fuzzball 4.3 makes it easy to run models and agents in a sovereign, sandboxed environment. But 4.3 added several other improvements, fixes, and quality-of-life changes as well.

Re-prioritize a queued workflow without resubmitting it

One command changes the priority of a workflow that's already queued:

fuzzball workflow update WORKFLOW --priority N

Fuzzball re-stamps the value onto every unfinished stage, and each stage records a priority_updated entry in the activity log. The scheduler applies the new priority on its next pass, so nothing is canceled or resubmitted.

The ceiling matches workflow start --priority: unless you're an organization owner, the value has to be zero or lower. Fuzzball 4.3 also fixes workflow start --priority rejecting a positive value from an organization owner, so it now matches workflow update.

Find the failed rank, its node, and its exit status in one error

Every rank in a multi-node job now reports its own exit code. When one rank is killed, runs out of memory, or crashes, Fuzzball fails the whole job, and the error names the failed rank, its node, and the exit status.

AMD GPU faults now feed node reliability, alongside NVIDIA

ECC errors and overheating on AMD accelerators now feed the node reliability score, cordon, drain, and fault eviction, alongside NVIDIA faults. Fuzzball already cordoned, drained, and evicted on NVIDIA faults; 4.3 adds the AMD signals.

Fuzzball also stops degrading substrate nodes for IO errors on disks that back no mounted filesystem or swap.

We've got big things coming for cluster monitoring, so make sure you check back in when v4.4 is released!

Collect cluster diagnostics in one command

fuzzball debug is a new CLI command for cluster troubleshooting. Its dump subcommand includes collectors for everything your Fuzzball cluster does, and makes it easy to pass information to CIQ support when troubleshooting an issue:

fuzzball debug dump

Improved workflow insights

fuzzball workflow why explains more, too. This release fixes three causes of jobs left queued indefinitely: whole-node-exclusive jobs placed on nodes that already had other work, the scheduler picking a provisioner definition with fewer nodes than the job needed, and workflows staying Pending after the scheduler had finished their allocations. When a job can't fit, workflow why now reports INSUFFICIENT_RESOURCES and names the definition and both node counts.

Web interface improvements

The web UI gets three changes for reading a workflow. Each workflow's detail page has a Fuzzfile tab showing the submitted definition as read-only YAML, next to the Events tab. The workflow editor graph draws a connection between each volume and the jobs and services that mount it. And workflow search now matches email, ID, cluster ID, parent workflow ID, and error text as well as name.

Node and volume provisioner controls

Fuzzball 4.2.0 shipped organization compute policy grants as an API with enforcement, and calling that API was the only way to manage them. Fuzzball 4.3 adds a CLI and a web UI for managing access to node provisioners, at organization and group level.

Volume access is tighter by default. New volumes are created with mode 0750 instead of 0755, so they're no longer world-readable or world-traversable unless you set --permissions explicitly. The volume creation form in the web UI now has a Permissions control for the POSIX mode.

Remove finished workflows by hand or on a schedule

fuzzball workflow delete WORKFLOW permanently removes one finished, failed, or canceled workflow. fuzzball workflow prune removes them in bulk:

fuzzball workflow prune --older-than DURATION --dry-run

To age workflows out automatically, set a workflow.retention block.

apiVersion: deployment.ciq.com/v1alpha1

kind: FuzzballOrchestrate

metadata:

name: fuzzball

spec:

fuzzball:

workflow:

retention:

enabled: true

maxAge: 2160h # 90 days, counted from when the workflow ended

interval: 6h # how often the sweep runs; defaults to 1h

batchSize: 200 # max deletions per sweep; 0 = server default (100)

Workflow deletion ships disabled in Fuzzball 4.3, so no one can delete or prune a workflow until a cluster administrator enables the feature for specified roles.

workflow:

delete:

clusterAdmin: true

organizationOwner: true

groupOwner: false

workflowOwner: false

Resolve domain-based endpoint URLs on Docker Compose deployments

Workflow service endpoint URLs now resolve on a Docker Compose deployment, with a default base domain of .nip.io. The stack can also optionally configure a DNS service and resolver configuration to use a custom domain.

Check four changes before you upgrade

We encourage everyone to move to the latest release of v4.3! A few things to be aware of when you do:

- Catalog repository URIs are now restricted to HTTPS and publicly routable hosts by default, and repositories that don't qualify stop syncing until you re-add them over HTTPS. On an operator-managed deployment, spec.fuzzball.workflowCatalog.restrictions.allowPrivateAddresses relaxes the restriction, and allowedHosts, maxCloneBytes, and cloneTimeout tighten it.

- Catalog entry IDs will change on the first sync after upgrade. Update any saved links or scripts that refer to entries by UUID.

- Ingress routes on the kong and nginx classes now require TLS and redirect plaintext callers with a 308.

- A leftover pending-restore marker now fails the deployment, where it used to skip the required pre-upgrade database dump without warning. Delete the pending-pg-restore ConfigMap manually if necessary.

Full release notes: the Fuzzball v4.3.0 release notes list every change in this release, including the upgrade notes and the security fixes.

To plan a Fuzzball deployment or upgrade, talk to CIQ.

Class (B2B/B2C)
B2B
Ingest Status
Need Review
Dedupe hash
da4584febe4c587398826a3a99810ef2
Press Eligible
Yes
Press Eligible Reason
Manuelle Prüfung nötig. Risiko: MEDIUM. Flags: ['numbers']. Stichprobe: False
Source Name
CIQ
Original Summary

Fuzzball names the failed rank in multi-node jobs, re-prioritizes queued work in place, and puts compute policy grants and deletion in the CLI.

Image URL
https://cdn.sanity.io/images/2fz41j18/production/64bcc88be9ec471bcc77c1447e194c40ca404b85-1366x854.png?w=1200&h=750&auto=format
Source Node
Generated Article_json
{"target_audience": "b2b", "is_medical": false, "ai_generated_title": "CIQ Fuzzball 4.3 adds AMD GPU fault handling, workflow pruning", "body_html": "<p><strong>Global -- [CURRENT_DATE] --</strong> CIQ's Fuzzball 4.3 ships workflow deletion disabled by default, creates new volumes with mode 0750 instead of 0755, and extends GPU fault handling to AMD accelerators.</p><h5>AMD GPU faults now feed node reliability scoring alongside NVIDIA</h5><p>ECC errors and overheating on AMD accelerators now feed the node reliability score, cordon, drain and fault eviction. Fuzzball already applied those actions to NVIDIA faults. The release also stops degrading substrate nodes for IO errors on disks that back no mounted filesystem or swap.</p><p>Every rank in a multi-node job now reports its own exit code. When a rank is killed, runs out of memory or crashes, Fuzzball fails the whole job and the error names the failed rank, its node and the exit status.</p><h5>Operators can re-prioritize queued workflows without resubmitting them</h5><p>The command <code>fuzzball workflow update WORKFLOW --priority N</code> re-stamps the value onto every unfinished stage, and each stage logs a priority_updated entry. The scheduler applies it on its next pass, so nothing is canceled. Unless the user is an organization owner, the value must be zero or lower. A bug that made <code>workflow start --priority</code> reject positive values from organization owners is fixed.</p><h5>Fuzzball fixes three causes of jobs stuck in the queue</h5><p>The fixes cover whole-node-exclusive jobs placed on nodes that already had other work, the scheduler choosing a provisioner definition with fewer nodes than the job needed, and workflows staying Pending after allocations finished. When a job cannot fit, <code>workflow why</code> now reports INSUFFICIENT_RESOURCES and names the definition and both node counts.</p><p>The new <code>fuzzball debug dump</code> command collects cluster diagnostics for hand-off to CIQ support.</p><h5>Workflow deletion ships disabled until administrators enable it per role</h5><p><code>fuzzball workflow delete</code> permanently removes one finished, failed or canceled workflow, and <code>fuzzball workflow prune --older-than DURATION --dry-run</code> handles bulk removal. A workflow.retention block automates cleanup: the example config sets maxAge to 2160h (90 days from workflow end), a 6-hour sweep interval (default 1h) and a batch size of 200 deletions per sweep (server default 100). Until a cluster administrator enables deletion for specified roles, no one can delete or prune. The example grants clusterAdmin and organizationOwner, and denies groupOwner and workflowOwner.</p><h5>Web UI and provisioner controls expand access management and visibility</h5><p>Workflow detail pages gain a Fuzzfile tab showing the submitted definition as read-only YAML. The editor graph links each volume to the jobs and services that mount it, and search now matches email, ID, cluster ID, parent workflow ID and error text. Organization compute policy grants, shipped as an API in 4.2.0, can now be managed through a CLI and web UI for node provisioners at organization and group level. The volume creation form adds a POSIX Permissions control.</p><p>Workflow service endpoint URLs now resolve on Docker Compose deployments, with a default base domain of .nip.io. The stack can optionally configure DNS and a resolver for a custom domain.</p><h5>Four upgrade changes can break catalog sync, saved links, ingress and restores</h5><ul><li>Catalog repository URIs are restricted to HTTPS and publicly routable hosts by default. Non-qualifying repositories stop syncing until re-added over HTTPS. On operator-managed deployments, allowPrivateAddresses relaxes the rule, while allowedHosts, maxCloneBytes and cloneTimeout tighten it.</li><li>Catalog entry IDs change on the first sync after upgrade, so links or scripts that reference UUIDs need updating.</li><li>Ingress routes on the kong and nginx classes now require TLS and redirect plaintext callers with a 308.</li><li>A leftover pending-restore marker now fails the deployment instead of silently skipping the required pre-upgrade database dump. Administrators may need to delete the pending-pg-restore ConfigMap manually.</li></ul><p>CIQ said expanded cluster monitoring is planned for v4.4.</p>", "meta_description": "CIQ's Fuzzball 4.3 adds AMD GPU fault handling, live workflow re-prioritization, retention-based pruning and tighter defaults, with four upgrade checks.", "seo_keywords": "Fuzzball 4.3, CIQ, AMD GPU fault handling, workflow orchestration, workflow retention, HPC scheduler, node reliability, volume permissions, upgrade notes", "companies": ["CIQ"], "industries": ["AI Infrastructure"], "markets_regions": [], "news_type": ["product_launch"], "products": ["Fuzzball 4.3"], "themes": ["infrastructure_reliability", "access_control", "workflow_orchestration"], "events": [], "cta_text": "Talk to CIQ to plan a Fuzzball deployment or upgrade to v4.3", "learn_more": "", "fact_check": {"accuracy_score": 100, "legal_risk": "low", "corrections_made": [], "recommendation": "publish"}}
Content Hash (SHA-256, erste 32 hex)
c94f8e5e51ec0a02992f7997edc6db3d