Skip to content

[2024b+?] 🚨 Infrastructure: GitHub Actions LVM setup failure due to ext4 signature detection #1434

@coderabbitai

Description

@coderabbitai

Problem Description

GitHub Actions workflows are experiencing intermittent failures during LVM volume setup due to existing ext4 filesystem signatures that cannot be automatically wiped.

Error Details

Failed Action: https://github.com/openshift-cherrypick-robot/notebooks/actions/runs/16436004833/job/46447263173

Error Message:

WARNING: ext4 signature detected on /dev/buildvg/buildlv at offset 1080. Wipe it? [y/n]: [n]
Aborted wiping of ext4.
1 existing signature left on the device.
Failed to wipe signatures on logical volume buildvg/buildlv.
Aborting. Failed to wipe start of new LV.
Error: Process completed with exit code 5.

Root Cause Analysis

Infrastructure State Issues

  1. Disk Space Pressure: /dev/sda1 is 100% full (74G used out of 74G)
  2. Stale Signatures: Previous ext4 filesystem signatures remain on logical volume
  3. Interactive Prompt Failure: LVM prompts for manual confirmation but receives 'no' response
  4. Runner Cleanup Issues: Previous job artifacts not properly cleaned between runs

Technical Details

  • Filesystem State: Root has 46G available, but temp mount is completely full
  • LVM Configuration: buildvg volume group with buildlv logical volume creation
  • Signature Location: ext4 signature detected at offset 1080 on /dev/buildvg/buildlv

Impact Assessment

  • Frequency: Appears to be intermittent/flaky failure
  • Affected Workflows: Any workflows that perform LVM setup during CI
  • Build Reliability: Causes complete workflow failure with exit code 5
  • Developer Experience: Creates unpredictable CI failures

Solution Options

Option 1: Force Signature Wiping (Immediate)

Add --yes flag to LVM commands to automatically wipe signatures:

lvcreate --yes --wipesignatures y -L ${BUILD_SIZE}G -n buildlv buildvg

Option 2: Pre-cleanup Logic (Robust)

Add pre-flight checks to clean existing signatures:

# Check for existing signatures
if wipefs --parsable /dev/buildvg/buildlv 2>/dev/null | grep -q ext4; then
    echo "Cleaning existing ext4 signature..."
    wipefs --all /dev/buildvg/buildlv
fi

Option 3: Enhanced Runner Cleanup (Systematic)

  • Implement proper cleanup between CI runs
  • Clear LVM configurations and signatures
  • Ensure disk space availability

Option 4: Alternative Volume Strategy (Long-term)

  • Use temporary filesystems instead of LVM
  • Implement container-based builds to avoid host disk issues
  • Consider GitHub-hosted runners with better isolation

Acceptance Criteria

  • LVM setup completes successfully without manual intervention
  • Existing filesystem signatures are handled automatically
  • Disk space issues are detected and resolved proactively
  • Workflow failures due to LVM setup are eliminated
  • Solution works consistently across different runner states

Implementation Guidance

  1. Immediate Fix: Add --yes and --wipesignatures y to lvcreate commands
  2. Robust Enhancement: Implement signature detection and cleanup logic
  3. Monitoring: Add logging to track disk space and signature states
  4. Testing: Verify fix handles both clean and dirty runner states

Risk Mitigation

  • Data Loss: Ensure only intended signatures are wiped
  • Performance: Minimize impact of additional cleanup steps
  • Compatibility: Verify changes work across different LVM versions

Context

Labels

  • infrastructure
  • github-actions
  • bug
  • high-priority

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

📋 Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions