@@ -107,30 +107,31 @@ func (cp *CloudProvider) extractNodeAddresses(ctx context.Context, instanceID st
107107 OpenShiftTagNamesapce := cp .getOpenShiftTagNamespaceByInstance (ctx , instanceID )
108108
109109 if OpenShiftTagNamesapce != "" {
110- secondaryVnic , err := cp .client .Compute ().GetSecondaryVNICForInstance (ctx , compartmentID , instanceID )
110+ secondaryVnics , err := cp .client .Compute ().GetSecondaryVNICsForInstance (ctx , compartmentID , instanceID )
111111 if err != nil {
112112 return nil , err
113113 }
114114
115- if secondaryVnic == nil {
115+ if secondaryVnics == nil || len ( secondaryVnics ) == 0 {
116116 return addresses , nil
117117 }
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 ()})
124126 }
125- addresses = append (addresses , api.NodeAddress {Type : api .NodeInternalIP , Address : ip .String ()})
126- }
127127
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 ()})
132134 }
133- addresses = append (addresses , api.NodeAddress {Type : api .NodeExternalIP , Address : ip .String ()})
134135 }
135136 }
136137 }
0 commit comments