Skip to content

Commit 0c43650

Browse files
committed
improve tagging
1 parent 9ad4c4b commit 0c43650

File tree

2 files changed

+39
-24
lines changed

2 files changed

+39
-24
lines changed

pkg/cloudprovider/providers/oci/instances.go

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -97,31 +97,32 @@ func (cp *CloudProvider) extractNodeAddresses(ctx context.Context, instanceID st
9797
}
9898
addresses = append(addresses, api.NodeAddress{Type: api.NodeExternalIP, Address: ip.String()})
9999
}
100+
if cp.checkOpenShiftISCSIBootVolumeByInstance(ctx, instanceID) {
101+
secondaryVnic, err := cp.client.Compute().GetSecondaryVNICForInstance(ctx, compartmentID, instanceID)
102+
if err != nil {
103+
return nil, errors.Wrap(err, "GetSecondaryVNICForInstance")
104+
}
100105

101-
secondaryVnic, err := cp.client.Compute().GetSecondaryVNICForInstance(ctx, compartmentID, instanceID)
102-
if err != nil {
103-
return nil, errors.Wrap(err, "GetSecondaryVNICForInstance")
104-
}
105-
106-
if secondaryVnic == nil {
107-
return addresses, nil
108-
}
106+
if secondaryVnic == nil {
107+
return addresses, nil
108+
}
109109

110-
if cp.checkOpenShiftISCSIBootVolumeByVnic(ctx, secondaryVnic) {
111-
if (secondaryVnic.IsPrimary == nil || !*secondaryVnic.IsPrimary) && secondaryVnic.PrivateIp != nil && *secondaryVnic.PrivateIp != "" {
112-
ip := net.ParseIP(*secondaryVnic.PrivateIp)
113-
if ip == nil {
114-
return nil, fmt.Errorf("instance has invalid private address: %q", *secondaryVnic.PrivateIp)
110+
if cp.checkOpenShiftISCSIBootVolumeByVnic(ctx, secondaryVnic) {
111+
if (secondaryVnic.IsPrimary == nil || !*secondaryVnic.IsPrimary) && secondaryVnic.PrivateIp != nil && *secondaryVnic.PrivateIp != "" {
112+
ip := net.ParseIP(*secondaryVnic.PrivateIp)
113+
if ip == nil {
114+
return nil, fmt.Errorf("instance has invalid private address: %q", *secondaryVnic.PrivateIp)
115+
}
116+
addresses = append(addresses, api.NodeAddress{Type: api.NodeInternalIP, Address: ip.String()})
115117
}
116-
addresses = append(addresses, api.NodeAddress{Type: api.NodeInternalIP, Address: ip.String()})
117-
}
118118

119-
if (secondaryVnic.IsPrimary == nil || !*secondaryVnic.IsPrimary) && secondaryVnic.PublicIp != nil && *secondaryVnic.PublicIp != "" {
120-
ip := net.ParseIP(*secondaryVnic.PublicIp)
121-
if ip == nil {
122-
return nil, errors.Errorf("instance has invalid public address: %q", *secondaryVnic.PublicIp)
119+
if (secondaryVnic.IsPrimary == nil || !*secondaryVnic.IsPrimary) && secondaryVnic.PublicIp != nil && *secondaryVnic.PublicIp != "" {
120+
ip := net.ParseIP(*secondaryVnic.PublicIp)
121+
if ip == nil {
122+
return nil, errors.Errorf("instance has invalid public address: %q", *secondaryVnic.PublicIp)
123+
}
124+
addresses = append(addresses, api.NodeAddress{Type: api.NodeExternalIP, Address: ip.String()})
123125
}
124-
addresses = append(addresses, api.NodeAddress{Type: api.NodeExternalIP, Address: ip.String()})
125126
}
126127
}
127128
// Changing this can have wide reaching impact.
@@ -350,3 +351,18 @@ func (cp *CloudProvider) checkOpenShiftISCSIBootVolumeByVnic(ctx context.Context
350351
}
351352
return false
352353
}
354+
355+
func (cp *CloudProvider) checkOpenShiftISCSIBootVolumeByInstance(ctx context.Context, instanceID string) bool {
356+
instance, err := cp.client.Compute().GetInstance(ctx, instanceID)
357+
if err != nil {
358+
return false
359+
}
360+
for namespace := range instance.DefinedTags {
361+
if strings.HasPrefix(namespace, "openshift") {
362+
if bootVolume, exist := instance.DefinedTags[namespace]["boot-volume-type"]; exist && bootVolume == "ISCSI" {
363+
return true
364+
}
365+
}
366+
}
367+
return false
368+
}

pkg/cloudprovider/providers/oci/node_info_controller.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,9 @@ import (
4141

4242
// metadata labeling for placement info
4343
const (
44-
FaultDomainLabel = "oci.oraclecloud.com/fault-domain"
45-
CompartmentIDAnnotation = "oci.oraclecloud.com/compartment-id"
46-
OpenShiftNodeIdentifierLabel = "node.openshift.io/os_id"
47-
timeout = 10 * time.Second
44+
FaultDomainLabel = "oci.oraclecloud.com/fault-domain"
45+
CompartmentIDAnnotation = "oci.oraclecloud.com/compartment-id"
46+
timeout = 10 * time.Second
4847
)
4948

5049
// NodeInfoController helps compute workers in the cluster

0 commit comments

Comments
 (0)