@@ -107,30 +107,31 @@ func (cp *CloudProvider) extractNodeAddresses(ctx context.Context, instanceID st
107
107
OpenShiftTagNamesapce := cp .getOpenShiftTagNamespaceByInstance (ctx , instanceID )
108
108
109
109
if OpenShiftTagNamesapce != "" {
110
- secondaryVnic , err := cp .client .Compute ().GetSecondaryVNICForInstance (ctx , compartmentID , instanceID )
110
+ secondaryVnics , err := cp .client .Compute ().GetSecondaryVNICsForInstance (ctx , compartmentID , instanceID )
111
111
if err != nil {
112
112
return nil , err
113
113
}
114
114
115
- if secondaryVnic == nil {
115
+ if secondaryVnics == nil || len ( secondaryVnics ) == 0 {
116
116
return addresses , nil
117
117
}
118
-
119
- if cp .checkOpenShiftISCSIBootVolumeTagByVnic (ctx , secondaryVnic , OpenShiftTagNamesapce ) {
120
- if (secondaryVnic .IsPrimary == nil || ! * secondaryVnic .IsPrimary ) && secondaryVnic .PrivateIp != nil && * secondaryVnic .PrivateIp != "" {
121
- ip := net .ParseIP (* secondaryVnic .PrivateIp )
122
- if ip == nil {
123
- return nil , fmt .Errorf ("instance has invalid private address: %q" , * secondaryVnic .PrivateIp )
118
+ for _ , secondaryVnic := range secondaryVnics {
119
+ if cp .checkOpenShiftISCSIBootVolumeTagByVnic (ctx , secondaryVnic , OpenShiftTagNamesapce ) {
120
+ if (secondaryVnic .IsPrimary == nil || ! * secondaryVnic .IsPrimary ) && secondaryVnic .PrivateIp != nil && * secondaryVnic .PrivateIp != "" {
121
+ ip := net .ParseIP (* secondaryVnic .PrivateIp )
122
+ if ip == nil {
123
+ return nil , fmt .Errorf ("instance has invalid private address: %q" , * secondaryVnic .PrivateIp )
124
+ }
125
+ addresses = append (addresses , api.NodeAddress {Type : api .NodeInternalIP , Address : ip .String ()})
124
126
}
125
- addresses = append (addresses , api.NodeAddress {Type : api .NodeInternalIP , Address : ip .String ()})
126
- }
127
127
128
- if (secondaryVnic .IsPrimary == nil || ! * secondaryVnic .IsPrimary ) && secondaryVnic .PublicIp != nil && * secondaryVnic .PublicIp != "" {
129
- ip := net .ParseIP (* secondaryVnic .PublicIp )
130
- if ip == nil {
131
- return nil , errors .Errorf ("instance has invalid public address: %q" , * secondaryVnic .PublicIp )
128
+ if (secondaryVnic .IsPrimary == nil || ! * secondaryVnic .IsPrimary ) && secondaryVnic .PublicIp != nil && * secondaryVnic .PublicIp != "" {
129
+ ip := net .ParseIP (* secondaryVnic .PublicIp )
130
+ if ip == nil {
131
+ return nil , errors .Errorf ("instance has invalid public address: %q" , * secondaryVnic .PublicIp )
132
+ }
133
+ addresses = append (addresses , api.NodeAddress {Type : api .NodeExternalIP , Address : ip .String ()})
132
134
}
133
- addresses = append (addresses , api.NodeAddress {Type : api .NodeExternalIP , Address : ip .String ()})
134
135
}
135
136
}
136
137
}
0 commit comments