Skip to content

Commit 3fae048

Browse files
committed
improve tagging
1 parent c4ae168 commit 3fae048

File tree

6 files changed

+26
-25
lines changed

6 files changed

+26
-25
lines changed

pkg/cloudprovider/providers/oci/instances.go

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

pkg/cloudprovider/providers/oci/instances_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,8 +344,8 @@ func (MockComputeClient) GetPrimaryVNICForInstance(ctx context.Context, compartm
344344
return instanceVnics[instanceID], nil
345345
}
346346

347-
func (c *MockComputeClient) GetSecondaryVNICForInstance(ctx context.Context, compartmentID, instanceID string) (*core.Vnic, error) {
348-
return instanceVnics[instanceID], nil
347+
func (c *MockComputeClient) GetSecondaryVNICsForInstance(ctx context.Context, compartmentID, instanceID string) ([]*core.Vnic, error) {
348+
return []*core.Vnic{instanceVnics[instanceID]}, nil
349349
}
350350

351351
func (MockComputeClient) FindVolumeAttachment(ctx context.Context, compartmentID, volumeID string) (core.VolumeAttachment, error) {

pkg/csi/driver/bv_controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ func (c *MockComputeClient) GetPrimaryVNICForInstance(ctx context.Context, compa
568568
return nil, nil
569569
}
570570

571-
func (c *MockComputeClient) GetSecondaryVNICForInstance(ctx context.Context, compartmentID, instanceID string) (*core.Vnic, error) {
571+
func (c *MockComputeClient) GetSecondaryVNICsForInstance(ctx context.Context, compartmentID, instanceID string) ([]*core.Vnic, error) {
572572
return nil, nil
573573
}
574574

pkg/oci/client/compute.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ type ComputeInterface interface {
3535

3636
GetPrimaryVNICForInstance(ctx context.Context, compartmentID, instanceID string) (*core.Vnic, error)
3737

38-
GetSecondaryVNICForInstance(ctx context.Context, compartmentID, instanceID string) (*core.Vnic, error)
38+
GetSecondaryVNICsForInstance(ctx context.Context, compartmentID, instanceID string) ([]*core.Vnic, error)
3939

4040
VolumeAttachmentInterface
4141
}
@@ -185,9 +185,9 @@ func (c *client) GetPrimaryVNICForInstance(ctx context.Context, compartmentID, i
185185
return nil, errors.WithStack(errNotFound)
186186
}
187187

188-
func (c *client) GetSecondaryVNICForInstance(ctx context.Context, compartmentID, instanceID string) (*core.Vnic, error) {
188+
func (c *client) GetSecondaryVNICsForInstance(ctx context.Context, compartmentID, instanceID string) ([]*core.Vnic, error) {
189189
logger := c.logger.With("instanceID", instanceID, "compartmentID", compartmentID)
190-
190+
secondaryVnics := []*core.Vnic{}
191191
var page *string
192192
for {
193193
resp, err := c.listVNICAttachments(ctx, core.ListVnicAttachmentsRequest{
@@ -222,7 +222,7 @@ func (c *client) GetSecondaryVNICForInstance(ctx context.Context, compartmentID,
222222
}
223223

224224
if !*vnic.IsPrimary {
225-
return vnic, nil
225+
secondaryVnics = append(secondaryVnics, vnic)
226226
}
227227
}
228228

@@ -231,7 +231,7 @@ func (c *client) GetSecondaryVNICForInstance(ctx context.Context, compartmentID,
231231
}
232232
}
233233

234-
return nil, nil
234+
return secondaryVnics, nil
235235
}
236236

237237
func (c *client) GetInstanceByNodeName(ctx context.Context, compartmentID, vcnID, nodeName string) (*core.Instance, error) {

pkg/volume/provisioner/block/block_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ func (c *MockComputeClient) GetPrimaryVNICForInstance(ctx context.Context, compa
246246
return nil, nil
247247
}
248248

249-
func (c *MockComputeClient) GetSecondaryVNICForInstance(ctx context.Context, compartmentID, instanceID string) (*core.Vnic, error) {
249+
func (c *MockComputeClient) GetSecondaryVNICsForInstance(ctx context.Context, compartmentID, instanceID string) ([]*core.Vnic, error) {
250250
return nil, nil
251251
}
252252

pkg/volume/provisioner/fss/fss_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ func (c *MockComputeClient) GetPrimaryVNICForInstance(ctx context.Context, compa
244244
return nil, nil
245245
}
246246

247-
func (c *MockComputeClient) GetSecondaryVNICForInstance(ctx context.Context, compartmentID, instanceID string) (*core.Vnic, error) {
247+
func (c *MockComputeClient) GetSecondaryVNICsForInstance(ctx context.Context, compartmentID, instanceID string) ([]*core.Vnic, error) {
248248
return nil, nil
249249
}
250250

0 commit comments

Comments
 (0)