cloudstack/plugins/storage/volume
Eugenio Grosso 1b44cfa604 flasharray: support NVMe-TCP transport
Teach FlashArrayAdapter to talk to a pool over NVMe over TCP instead of
Fibre Channel.

The transport is selected from a new transport= option on the storage
pool URL (or the equivalent storage_pool_details entry), e.g.

    https://user:pass@fa:443/api?pod=cs&transport=nvme-tcp&hostgroup=cluster1

Defaults remain Fibre Channel / WWN addressing when transport is absent
or anything other than nvme-tcp, so existing FC pools are unaffected.

Beyond the transport parsing itself the adapter now:

  * Tracks a per-pool volumeAddressType (AddressType.NVMETCP or
    FIBERWWN) and stamps every volume it hands back to the framework
    with it (withAddressType), so the adaptive driver path stores the
    correct type=... field in the CloudStack volume path (used later
    by the KVM driver to locate the device).

  * Attaches pod-backed NVMe-TCP volumes at the host-group level
    (POST /connections?host_group_names=...) instead of per-host, so
    the array assigns a consistent NSID to every member host; falls
    back to per-host attach for FC or when no hostgroup is configured.

  * Tolerates a missing nsid in the FlashArray connections response
    for NVMe-TCP - Purity does not return one for host-group NVMe
    connections; the namespace is identified on the host by EUI-128
    from FlashArrayVolume.getAddress(), so a placeholder value is
    returned to the caller purely for informational tracking.

  * Resolves NVMETCP addresses back to volumes in getVolumeByAddress
    by reversing the EUI-128 layout (strip optional eui. prefix, drop
    leading 00 and the embedded Pure OUI).

  * Indexes NVMe connections in getConnectionIdMap by host name (the
    array returns one entry per host inside a host-group connection),
    so connid.<hostname> tokens in the path still match in
    parseAndValidatePath on the KVM side.

Followed by a matching adaptive/KVM driver change (separate commit).
2026-04-20 22:26:05 +00:00
..
adaptive adapter: add NVMETCP address type and FlashArrayConnection.nsid 2026-04-20 22:06:00 +00:00
cloudbyte Merge branch '4.22' 2025-12-22 14:13:50 +01:00
datera Merge release branch 4.22 to main 2026-01-26 13:32:56 +01:00
default Merge branch '4.22' 2026-04-14 14:50:44 +02:00
flasharray flasharray: support NVMe-TCP transport 2026-04-20 22:26:05 +00:00
linstor Merge branch '4.22' 2026-01-29 19:42:07 +05:30
nexenta removed code in comments (#11145) 2025-12-08 16:31:48 +01:00
ontap Create, Delete, Enable, Disable, Enter, Cancel maintenance of Primary StoragePool with ONTAP storage (#12563) 2026-04-13 08:38:15 -03:00
primera Merge branch '4.22' 2026-04-14 14:50:44 +02:00
sample Updating pom.xml version numbers for release 4.23.0.0-SNAPSHOT 2025-11-05 16:54:39 +05:30
scaleio Merge branch '4.22' 2026-04-02 10:30:18 +05:30
solidfire Merge release branch 4.22 to main 2026-01-26 13:32:56 +01:00
storpool Merge release branch 4.22 to main 2026-01-26 13:32:56 +01:00