Skip to content

Restrict VDDK check on filesystem only when the agent property for VDDK is set - #14688

Open
nvazquez wants to merge 2 commits into
apache:4.22from
shapeblue:422-vddk-check-issue
Open

nvazquez wants to merge 2 commits into
apache:4.22from
shapeblue:422-vddk-check-issue

Conversation

@nvazquez

@nvazquez nvazquez commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Description

This PR restricts the filesystem check for the VDDK library only when the property vddk.lib.dir is set on agent.properties

Fixes: #13497

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

How did you try to break this feature and the system with this change?

@nvazquez

Copy link
Copy Markdown
Contributor Author

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@nvazquez a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@codecov

codecov Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 4.08%. Comparing base (b56bbc2) to head (699f896).

❗ There is a different number of reports uploaded between BASE (b56bbc2) and HEAD (699f896). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (b56bbc2) HEAD (699f896)
unittests 1 0
Additional details and impacted files
@@              Coverage Diff              @@
##               4.22   #14688       +/-   ##
=============================================
- Coverage     18.32%    4.08%   -14.24%     
=============================================
  Files          5939      449     -5490     
  Lines        537787    38282   -499505     
  Branches      65932     7083    -58849     
=============================================
- Hits          98544     1564    -96980     
+ Misses       428033    36503   -391530     
+ Partials      11210      215    -10995     
Flag Coverage Δ
uitests 4.08% <ø> (ø)
unittests ?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sureshanaparti sureshanaparti left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clgtm

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✖️ suse15. SL-JID 20021

@nvazquez

Copy link
Copy Markdown
Contributor Author

@blueorangutan test

@blueorangutan

Copy link
Copy Markdown

@nvazquez a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests

@timmyzhu

Copy link
Copy Markdown

I'm not an official reviewer, but I do not believe this fixes the issue. It does not address the root cause, and I don't think it'll even workaround the issue. The root cause is the vddk detection is far too slow. Doing a search of the entire filesystem is not a good design and should be avoided. My recommendation would be to remove the detection, but I'm not a cloudstack developer or maintainer.

If there's no way to remove the detection or change the detection to not scan the entire root filesystem, then this change only addresses one of the calls to detectVddkLibDir. As noted in the bug report, there's another case where detectVddkLibDir is called in the hostSupportsVddk function, and I believe this will likely cause the bug to persist. Generally, calling a host supports function is not expected to take dozens of minutes, which would occur when the detectVddkLibDir function is called within the function. Within the hostSupportsVddk function, moving the hostSupportsInstanceConversion() function call from the return to the beginning of this function could potentially workaround this issue. At minimum, this should be included in this PR and tested that it's working as expected, but it doesn't address the design issue with the detection.

@nvazquez

Copy link
Copy Markdown
Contributor Author

Thanks @timmyzhu I have missed the check on hostSupportsVddk(), I have now removed it. Please have another review when possible

@nvazquez

Copy link
Copy Markdown
Contributor Author

@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@nvazquez a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@timmyzhu

Copy link
Copy Markdown

Thanks @nvazquez! I haven't tested anything, but from looking at the code, the PR appears to address and fix the root cause of #13497.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hosts get stuck in Alert state after update to cloudstack 4.22.1.0

4 participants