Commit d949dba
Fix disk detection after LVM striping and update database workload profiles (#674)
* first commit
* Fix disk detection after LVM striping and update database workload profiles
- Add /proc/mounts fallback for raid0 path discovery in MySqlServerConfiguration
and PostgreSQLServerConfiguration. After StripeDisks creates an LVM volume,
lshw no longer reports the logical volume, causing 'Expected disks not found'.
The fallback reads /proc/mounts to find the raid0 mount point.
- Search all disks (not just filtered) for raid0 access paths in both
MySQL and PostgreSQL server configuration components.
- Remove unsupported CreateTables and DistributeDatabase dependency steps
from PostgreSQL Sysbench TPCC and OLTP profiles.
- Tune HammerDB TPCC WarehouseCount to LogicalCoreCount * 10 and
TPCH ScaleFactor to 1 for faster validation runs.
- Fix HammerDBExecutor async method missing await warning.
- Add copilot-instructions.md for repository development guidance.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add Logical, AccessPath disk filters and simplify DB config disk resolution
Add two new DiskFilter types to DiskFilters:
- Logical: matches LVM device mapper disks (/dev/dm-*, /dev/mapper/*)
- AccessPath: matches disks by volume access path substring
Add /dev/dm and /dev/mapper to valid Linux device path prefixes so
LVM logical volumes are no longer silently dropped by the prefix filter.
Simplify MySqlServerConfiguration and PostgreSQLServerConfiguration:
- Default DiskFilter changed to 'Logical' (was 'osdisk:false&sizegreaterthan:256g')
- Remove /proc/mounts parsing and multi-tier raid0 search logic
- Clean fallback: Logical filter -> OsDisk:false&BiggestSize physical disk
Update MySQL profiles to use DiskFilter: Logical on MySQLServerConfiguration
steps. PostgreSQL profiles use the new default. StripeDisks steps unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add /proc/mounts LVM fallback for disk path resolution
lshw does not report LVM logical volumes (/dev/dm-*, /dev/mapper/*),
so the Logical disk filter returns empty after StripeDisks creates an
LVM volume. Added FindLvmMountPathAsync to both MySqlServerConfiguration
and PostgreSQLServerConfiguration that reads /proc/mounts to find any
mount backed by an LVM device, returning the mount path (e.g. mnt_raid0).
Fallback chain is now:
1. Logical filter (works if lshw ever reports LVM devices)
2. /proc/mounts LVM device check (handles real-world lshw limitation)
3. Physical disk BiggestSize fallback (unmounted single disk scenario)
Verified on Azure VMs:
- E8ds_v6 (1 disk, single-disk LVM) -> mnt_raid0 found via /proc/mounts
- E16ds_v6 (2 disks, striped LVM) -> mnt_raid0 found via /proc/mounts
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Remove .github/copilot-instructions.md from PR
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Signed-off-by: erica vellanoweth <37354999+ericavella@users.noreply.github.com>
Co-authored-by: Erica Vellanoweth <evellanoweth@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent b327939 commit d949dba
20 files changed
Lines changed: 509 additions & 606 deletions
File tree
- src/VirtualClient
- VirtualClient.Actions.UnitTests/Sysbench
- VirtualClient.Actions
- HammerDB
- Sysbench
- VirtualClient.Contracts.UnitTests
- VirtualClient.Contracts
- VirtualClient.Dependencies.UnitTests
- MySqlServer
- PostgreSQLServer
- VirtualClient.Dependencies
- MySqlServer
- PostgreSQLServer
- VirtualClient.Main/profiles
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
332 | 332 | | |
333 | 333 | | |
334 | 334 | | |
335 | | - | |
| 335 | + | |
336 | 336 | | |
337 | 337 | | |
338 | 338 | | |
| |||
446 | 446 | | |
447 | 447 | | |
448 | 448 | | |
449 | | - | |
| 449 | + | |
450 | 450 | | |
451 | 451 | | |
452 | 452 | | |
| |||
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
| |||
154 | 156 | | |
155 | 157 | | |
156 | 158 | | |
157 | | - | |
| 159 | + | |
158 | 160 | | |
159 | 161 | | |
160 | 162 | | |
| |||
Lines changed: 4 additions & 85 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| |||
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | 61 | | |
83 | 62 | | |
84 | 63 | | |
| |||
137 | 116 | | |
138 | 117 | | |
139 | 118 | | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | 119 | | |
153 | 120 | | |
154 | 121 | | |
| |||
341 | 308 | | |
342 | 309 | | |
343 | 310 | | |
344 | | - | |
| 311 | + | |
345 | 312 | | |
346 | 313 | | |
347 | 314 | | |
| |||
378 | 345 | | |
379 | 346 | | |
380 | 347 | | |
381 | | - | |
| 348 | + | |
382 | 349 | | |
383 | 350 | | |
384 | 351 | | |
385 | 352 | | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | 353 | | |
393 | 354 | | |
394 | 355 | | |
| |||
407 | 368 | | |
408 | 369 | | |
409 | 370 | | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
425 | | - | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
437 | | - | |
438 | | - | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
452 | 371 | | |
453 | | - | |
| 372 | + | |
454 | 373 | | |
455 | 374 | | |
456 | 375 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
182 | | - | |
| 182 | + | |
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
| |||
Lines changed: 2 additions & 45 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | 62 | | |
66 | 63 | | |
67 | 64 | | |
68 | 65 | | |
69 | 66 | | |
70 | | - | |
| 67 | + | |
71 | 68 | | |
72 | 69 | | |
73 | 70 | | |
| |||
106 | 103 | | |
107 | 104 | | |
108 | 105 | | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | 106 | | |
145 | 107 | | |
146 | 108 | | |
| |||
152 | 114 | | |
153 | 115 | | |
154 | 116 | | |
155 | | - | |
| 117 | + | |
156 | 118 | | |
157 | 119 | | |
158 | 120 | | |
| |||
227 | 189 | | |
228 | 190 | | |
229 | 191 | | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | 192 | | |
236 | 193 | | |
237 | 194 | | |
| |||
Lines changed: 3 additions & 32 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | 63 | | |
85 | 64 | | |
86 | 65 | | |
| |||
409 | 388 | | |
410 | 389 | | |
411 | 390 | | |
412 | | - | |
| 391 | + | |
413 | 392 | | |
414 | 393 | | |
415 | 394 | | |
| |||
419 | 398 | | |
420 | 399 | | |
421 | 400 | | |
422 | | - | |
| 401 | + | |
423 | 402 | | |
424 | 403 | | |
425 | 404 | | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
| 405 | + | |
435 | 406 | | |
436 | 407 | | |
437 | 408 | | |
| |||
0 commit comments