From 323b105d81cf5d1e76c209dad3fd31051562a25d Mon Sep 17 00:00:00 2001 From: VinayKumarHavanur <54576364+VinayKumarHavanur@users.noreply.github.com> Date: Fri, 24 Jan 2025 10:02:09 +0530 Subject: [PATCH] Fix issue with dataLIF query for FCP interfaces with ZAPI. --- storage_drivers/ontap/api/ontap_zapi.go | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/storage_drivers/ontap/api/ontap_zapi.go b/storage_drivers/ontap/api/ontap_zapi.go index 91508718a..56a7d072d 100644 --- a/storage_drivers/ontap/api/ontap_zapi.go +++ b/storage_drivers/ontap/api/ontap_zapi.go @@ -2984,26 +2984,22 @@ func (c Client) NetInterfaceGetDataLIFs(ctx context.Context, protocol string) ([ return dataLIFs, nil } -func (c Client) NetFcpInterfaceGet() (*azgo.FcpInterfaceGetIterResponse, error) { - response, err := azgo.NewFcpInterfaceGetIterRequest(). - SetMaxRecords(DefaultZapiRecords). - SetQuery(azgo.FcpInterfaceGetIterRequestQuery{ - FcpInterfaceInfoPtr: &azgo.FcpInterfaceInfoType{}, - }).ExecuteUsing(c.zr) - - return response, err -} - func (c Client) NetFcpInterfaceGetDataLIFs(ctx context.Context, protocol string) ([]string, error) { - lifResponse, err := c.NetFcpInterfaceGet() + lifResponse, err := c.NetInterfaceGet() if err = azgo.GetError(ctx, lifResponse, err); err != nil { return nil, fmt.Errorf("error checking network interfaces: %v", err) } dataLIFs := make([]string, 0) if lifResponse.Result.AttributesListPtr != nil { - for _, attrs := range lifResponse.Result.AttributesListPtr.FcpInterfaceInfoPtr { - dataLIFs = append(dataLIFs, attrs.PortName()) + for _, attrs := range lifResponse.Result.AttributesListPtr.NetInterfaceInfoPtr { + if attrs.OperationalStatus() == LifOperationalStatusUp { + for _, proto := range attrs.DataProtocols().DataProtocolPtr { + if proto == protocol { + dataLIFs = append(dataLIFs, attrs.Wwpn()) + } + } + } } }