Skip to content

Commit 3ffb104

Browse files
Add controller unpublish nvme volume fault points
Signed-off-by: Meghna Singh <ms73385@netapp.com>
1 parent 476be94 commit 3ffb104

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

storage_drivers/ontap/ontap_san_nvme.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"github.com/RoaringBitmap/roaring/v2"
1919

2020
tridentconfig "github.com/netapp/trident/config"
21+
"github.com/netapp/trident/internal/fiji"
2122
. "github.com/netapp/trident/logging"
2223
"github.com/netapp/trident/pkg/capacity"
2324
"github.com/netapp/trident/pkg/collection"
@@ -38,6 +39,11 @@ import (
3839
// string of the form /vol/<flexVolName>/<Namespacename>
3940
var NVMeNamespaceRegExp = regexp.MustCompile(`[^(\/vol\/.+\/.+)?$]`)
4041

42+
var (
43+
beforeNQNRemovalFromSubsystem = fiji.Register("beforeNQNRemovalFromSubsystem", "ontap_san_nvme")
44+
beforeNamespaceUnmapFromSubsystem = fiji.Register("beforeNamespaceUnmapFromSubsystem", "ontap_san_nvme")
45+
)
46+
4147
// NVMeStorageDriver is for NVMe storage provisioning.
4248
type NVMeStorageDriver struct {
4349
initialized bool
@@ -1044,6 +1050,10 @@ func (d *NVMeStorageDriver) Unpublish(
10441050
unlock := lockNamespaceAndSubsystem(namespaceUUID, subsystemUUID)
10451051
defer unlock()
10461052

1053+
if err := beforeNQNRemovalFromSubsystem.Inject(); err != nil {
1054+
return err
1055+
}
1056+
10471057
// Remove host from subsystem if it has no other published volumes from this subsystem
10481058
_, err := RemoveHostFromSubsystem(
10491059
ctx,
@@ -1056,6 +1066,10 @@ func (d *NVMeStorageDriver) Unpublish(
10561066
return fmt.Errorf("failed to remove host from subsystem: %w", err)
10571067
}
10581068

1069+
if err := beforeNamespaceUnmapFromSubsystem.Inject(); err != nil {
1070+
return err
1071+
}
1072+
10591073
// Unmap namespace from subsystem if no other hosts in SS need it
10601074
namespaceUnmapped, err := UnmapNamespaceFromSubsystem(
10611075
ctx,

0 commit comments

Comments
 (0)