Skip to content

Commit ad63b95

Browse files
author
Eugenio Grosso
committed
ui: expose NVMe-TCP transport for FlashArray primary storage
AddPrimaryStorage previously pinned the protocol to FiberChannel whenever the operator picked the FlashArray provider, leaving NVMe-TCP backends only reachable by hand-crafting the URL with ?transport=nvme-tcp. Surface the choice in the form: - protocols dropdown for FlashArray now offers FiberChannel and NVMeTCP (Primera stays FC-only). - when NVMeTCP is selected, the submit handler appends transport=nvme-tcp to the FlashArray URL so the adaptive lifecycle pivot in pickPoolType() resolves StoragePoolType.NVMeTCP server-side. - the generic Path field, already hidden for FiberChannel, is also hidden for NVMeTCP for parity. Signed-off-by: Eugenio Grosso <eugenio.grosso@gmail.com>
1 parent 6d1ce6d commit ad63b95

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

ui/src/views/infra/AddPrimaryStorage.vue

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@
242242
</a-select>
243243
</a-form-item>
244244
</div>
245-
<div v-if="form.provider !== 'DefaultPrimary' && form.provider !== 'PowerFlex' && form.provider !== 'Linstor' && form.protocol !== 'FiberChannel'">
245+
<div v-if="form.provider !== 'DefaultPrimary' && form.provider !== 'PowerFlex' && form.provider !== 'Linstor' && form.protocol !== 'FiberChannel' && form.protocol !== 'NVMeTCP'">
246246
<a-form-item name="managed" ref="managed">
247247
<template #label>
248248
<tooltip-label :title="$t('label.ismanaged')" :tooltip="apiParams.managed.description"/>
@@ -765,7 +765,10 @@ export default {
765765
if (value === 'PowerFlex') {
766766
this.protocols = ['custom']
767767
this.form.protocol = 'custom'
768-
} else if (value === 'Flash Array' || value === 'Primera') {
768+
} else if (value === 'Flash Array') {
769+
this.protocols = ['FiberChannel', 'NVMeTCP']
770+
this.form.protocol = 'FiberChannel'
771+
} else if (value === 'Primera') {
769772
this.protocols = ['FiberChannel']
770773
this.form.protocol = 'FiberChannel'
771774
} else {
@@ -890,6 +893,9 @@ export default {
890893
params['details[0].api_username'] = values.flashArrayUsername
891894
params['details[0].api_password'] = values.flashArrayPassword
892895
url = values.flashArrayURL
896+
if (values.protocol === 'NVMeTCP') {
897+
url = url + (url.indexOf('?') === -1 ? '?' : '&') + 'transport=nvme-tcp'
898+
}
893899
}
894900
895901
if (values.provider === 'Linstor' || values.protocol === 'Linstor') {

0 commit comments

Comments
 (0)