genegr commented on PR #13061:
URL: https://github.com/apache/cloudstack/pull/13061#issuecomment-5176667826
@DaanHoogland yes, ready from my side. Pushed `ca9ca209cc` which rebases
onto current `main` and addresses the Copilot round:
- **AddPrimaryStorage.vue** — set/replace the `transport=` query parameter
instead of blindly appending, so a URL already carrying `transport=` cannot end
up with two conflicting values.
- **FlashArrayVolume** — EUI-128 now slices `serial.substring(14, 24)`
rather than `substring(14)`; the previous form guarded short serials but a
longer-than-expected one could yield an EUI over 32 hex chars.
- **FlashArrayAdapter** — the Fibre Channel connection match now guards
`hostname.indexOf('.') > 0` before slicing, mirroring the NVMe-TCP branch (a
dotless hostname previously threw).
- **MultipathNVMeOFAdapterBase** — pool cache is a `ConcurrentHashMap` via
`computeIfAbsent`; `key=value` parsing uses `split("=", 2)`; and
`rescanAllControllers()` is throttled to once per 10s during namespace
discovery instead of firing on every 2s poll.
I pushed back on one item (replies inline): the placeholder `KVMStoragePool`
methods on `MultipathNVMeOFPool`. That class is a dummy pool — this adapter
dispatches per-volume and never uses the pool for connectivity/capacity/disk
lifecycle — and the existing `MultipathSCSIPool` sibling returns the same
`null`/`false`/`true` placeholders for the same methods. Switching only this
class to `UnsupportedOperationException` would diverge from that precedent and
could turn a currently harmless no-op into a hard failure in an agent path we
have not exercised. Happy to change it if you would rather both classes move
together.
The rebase picked up one conflict in `AddPrimaryStorage.vue` where `main`
had added the NetApp ONTAP provider — resolved by keeping both. Verified `mvn
-pl plugins/hypervisors/kvm,plugins/storage/volume/flasharray -am -DskipTests
compile` clean, including checkstyle.
Re: testing — @slavkap confirmed StorPool is unaffected, and @rp- reported
"works here" earlier. I have exercised the full FlashArray NVMe-TCP path on my
lab (pool registration through the UI, VM deploy on an NVMe-TCP root disk,
volume attach/detach, snapshot + revert with the correct EUI-128
`install_path`, and live migration between two KVM hosts).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]