Skip to content

Commit 98a0910

Browse files
akabhaskmdmohan
authored andcommitted
Fix for vPC interfaces - change in order of serial numbers causes failures in resource
1 parent 8543212 commit 98a0910

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

internal/provider/ndfc/interface.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,20 @@ func (c NDFC) RscGetInterfaces(ctx context.Context, dg *diag.Diagnostics, in res
9595
}
9696
key, ok := keyMap[ifList[i].SerialNumber+":"+ifList[i].InterfaceName]
9797
if !ok {
98-
tflog.Error(ctx, fmt.Sprintf("Key not found: %s", ifList[i].SerialNumber+":"+ifList[i].InterfaceName))
99-
continue
98+
if strings.Contains(ifList[i].SerialNumber, "~") {
99+
serialNumber := strings.Split(ifList[i].SerialNumber, "~")
100+
newSerialNumber := serialNumber[1] + "~" + serialNumber[0]
101+
key, ok = keyMap[newSerialNumber+":"+ifList[i].InterfaceName]
102+
if !ok {
103+
tflog.Error(ctx, fmt.Sprintf("Key not found: %s",
104+
ifList[i].SerialNumber+":"+ifList[i].InterfaceName))
105+
continue
106+
}
107+
} else {
108+
tflog.Error(ctx, fmt.Sprintf("Key not found: %s",
109+
ifList[i].SerialNumber+":"+ifList[i].InterfaceName))
110+
continue
111+
}
100112
}
101113

102114
log.Printf("Found entry: key %s entry %s:%s", key, ifList[i].SerialNumber, ifList[i].InterfaceName)

internal/provider/ndfc/interfaces_vpc.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ func (i *NDFCVPCInterface) DeleteInterface(ctx context.Context, dg *diag.Diagnos
5252
intfPayload := resource_interface_common.NDFCInterfacesDeploy{}
5353

5454
//ifDeployPayload := resource_interface_common.NDFCInterfacesDeploy{}
55-
56-
for _, intf := range inData.Interfaces {
55+
interfaces := i.GetInterface(ctx, dg, inData.SerialNumber, inData.Policy)
56+
for _, intf := range interfaces {
5757
intfPayload = append(intfPayload, resource_interface_common.NDFCInterfaceDeploy{IfName: intf.InterfaceName,
5858
SerialNumber: intf.SerialNumber})
5959
tflog.Debug(ctx, fmt.Sprintf("NDFCVPCInterface: Deleting interface: %s:%s", intf.SerialNumber, intf.InterfaceName))

0 commit comments

Comments
 (0)