-
Notifications
You must be signed in to change notification settings - Fork 100
Open
Description
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
- Disk Space Pressure:
/dev/sda1
is 100% full (74G used out of 74G) - Stale Signatures: Previous ext4 filesystem signatures remain on logical volume
- Interactive Prompt Failure: LVM prompts for manual confirmation but receives 'no' response
- 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
- Immediate Fix: Add
--yes
and--wipesignatures y
to lvcreate commands - Robust Enhancement: Implement signature detection and cleanup logic
- Monitoring: Add logging to track disk space and signature states
- 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
- PR Reference: [2024b] NO-JIRA: add(gha): trivy security scanning of sources #1425
- Reporter: @jiridanek
- Related Action: https://github.com/openshift-cherrypick-robot/notebooks/actions/runs/16436004833/job/46447263173
Labels
- infrastructure
- github-actions
- bug
- high-priority
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
📋 Backlog