<fix>[localstorage]: ZSTAC-84163 check capacity by target primary storage - #4689
<fix>[localstorage]: ZSTAC-84163 check capacity by target primary storage#4689MatheMatrix wants to merge 1 commit into
Conversation
|
Warning Review limit reachedNext included review available in 54 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 98 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. Review configuration: ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
Warning
|
ddad333 to
f01e018
Compare
|
Comment on Comment from jin.ma: 写C语言呢? |
|
Comment on Comment from jin.ma: 不要 bool 当参数 |
…rage Root Cause: LocalStorageAllocatorFactory used HostAllocatorSpec.getDiskSize() to check every local storage host ref. The value was the total size of root and data disks, so disks assigned to non-local primary storage were also counted against local storage and could incorrectly filter out a valid host. Solution: Carry each disk capacity requirement with its primary-storage UUID. Check only capacities assigned to the current local primary storage; when a host is attached only to local storage, also include disks whose primary storage is undetermined. Keep the host classification and capacity calculation together in LocalStorageAllocatorFactory. Test: Update CreateVmHostAllocateCase to cover insufficient all-local capacity, mixed local/NFS placement, and partially undetermined primary storage. Verify the existing one-primary-storage creation scenario. Verified with: ./runMavenProfile premium mvn test -Dtest=CreateVmHostAllocateCase -DskipJacoco=true -Dmanagement.server.ip=127.0.0.1 -Dsurefire.useFile=false mvn test -Dtest=OnePsCreateVmCase -DskipJacoco=true -Dmanagement.server.ip=127.0.0.1 -Dsurefire.useFile=false Resolves: ZSTAC-84163 Change-Id: I3f9895c605819a570a580cedfeaf1d80db300c80
f01e018 to
ce94ff0
Compare
|
Comment on Comment from 赵祥亨: 去掉了 |
|
Comment on Comment from 赵祥亨: 改了 |
Root Cause:
LocalStorageAllocatorFactory used HostAllocatorSpec.getDiskSize() to check every local storage host ref. The value was the total size of root and data disks, so disks assigned to non-local primary storage were also counted against local storage and could incorrectly filter out a valid host.
Solution:
Carry root and data disk capacity requirements as primary-storage UUID and size tuples. Local storage sums requirements assigned to the current local primary storage. If any requirement has no determined primary storage and the host cluster only attaches local storage, retain the conservative total-size check. Migration uses the same per-primary-storage calculation because its producer records the destination primary storage with the migration capacity.
Test:
Update CreateVmHostAllocateCase to cover insufficient all-local capacity, mixed local/NFS placement, and partially undetermined primary storage.
Verified with:
Not run as requested.
Resolves: ZSTAC-84163
Change-Id: I3f9895c605819a570a580cedfeaf1d80db300c80
sync from gitlab !10742