Skip to content

Commit c40c103

Browse files
author
Rahul Sharma
committed
fix lint issues
1 parent 631209c commit c40c103

File tree

2 files changed

+37
-57
lines changed

2 files changed

+37
-57
lines changed

cloud/linode/instances.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -104,28 +104,28 @@ func (nc *nodeCache) refreshInstances(ctx context.Context, client client.Client)
104104
klog.Errorf("failed updating instances cache for VPC %s. Error: %s", vpcName, err.Error())
105105
continue
106106
}
107-
for _, r := range resp {
108-
if r.Address == nil {
107+
for _, vpcip := range resp {
108+
if vpcip.Address == nil {
109109
continue
110110
}
111-
vpcNodes[r.LinodeID] = append(vpcNodes[r.LinodeID], *r.Address)
111+
vpcNodes[vpcip.LinodeID] = append(vpcNodes[vpcip.LinodeID], *vpcip.Address)
112112
}
113113

114114
resp, err = GetVPCIPv6Addresses(ctx, client, vpcName)
115115
if err != nil {
116116
klog.Errorf("failed updating instances cache for VPC %s. Error: %s", vpcName, err.Error())
117117
continue
118118
}
119-
for _, r := range resp {
120-
if len(r.IPv6Addresses) == 0 {
119+
for _, vpcip := range resp {
120+
if len(vpcip.IPv6Addresses) == 0 {
121121
continue
122122
}
123123
vpcIPv6AddrType := v1.NodeInternalIP
124-
if r.IPv6IsPublic != nil && *r.IPv6IsPublic {
124+
if vpcip.IPv6IsPublic != nil && *vpcip.IPv6IsPublic {
125125
vpcIPv6AddrType = v1.NodeExternalIP
126126
}
127-
for _, ipv6 := range r.IPv6Addresses {
128-
vpcNodes[r.LinodeID] = append(vpcNodes[r.LinodeID], ipv6.SLAACAddress)
127+
for _, ipv6 := range vpcip.IPv6Addresses {
128+
vpcNodes[vpcip.LinodeID] = append(vpcNodes[vpcip.LinodeID], ipv6.SLAACAddress)
129129
vpcIPv6AddrTypes[ipv6.SLAACAddress] = vpcIPv6AddrType
130130
}
131131
}

cloud/linode/vpc.go

Lines changed: 29 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,11 @@ func GetSubnetID(ctx context.Context, client client.Client, vpcID int, subnetNam
100100
return 0, subnetLookupError{subnetName}
101101
}
102102

103-
// GetVPCIPAddresses returns vpc ip's for given VPC label
104-
func GetVPCIPAddresses(ctx context.Context, client client.Client, vpcName string) ([]linodego.VPCIP, error) {
103+
// getVPCIDAndFilter returns the VPC ID and a resultFilter for subnet names (if any)
104+
func getVPCIDAndFilter(ctx context.Context, client client.Client, vpcName string) (int, string, error) {
105105
vpcID, err := GetVPCID(ctx, client, strings.TrimSpace(vpcName))
106106
if err != nil {
107-
return nil, err
107+
return 0, "", err
108108
}
109109

110110
resultFilter := ""
@@ -133,68 +133,48 @@ func GetVPCIPAddresses(ctx context.Context, client client.Client, vpcName string
133133
filter, err = json.Marshal(subnetFilter{SubnetID: strings.Join(subnetIDList, ",")})
134134
if err != nil {
135135
klog.Error("could not create JSON filter for subnet_id")
136+
} else {
137+
resultFilter = string(filter)
136138
}
137-
resultFilter = string(filter)
138139
}
139140

140-
resp, err := client.ListVPCIPAddresses(ctx, vpcID, linodego.NewListOptions(0, resultFilter))
141+
return vpcID, resultFilter, nil
142+
}
143+
144+
// handleNotFoundError checks if the error is a '404 Not Found error' and deletes the entry from the cache.
145+
func handleNotFoundError(err error, vpcName string) error {
146+
if linodego.ErrHasStatus(err, http.StatusNotFound) {
147+
Mu.Lock()
148+
defer Mu.Unlock()
149+
klog.Errorf("vpc %s not found. Deleting entry from cache", vpcName)
150+
delete(vpcIDs, vpcName)
151+
}
152+
return err
153+
}
154+
155+
// GetVPCIPAddresses returns vpc ip's for given VPC label
156+
func GetVPCIPAddresses(ctx context.Context, client client.Client, vpcName string) ([]linodego.VPCIP, error) {
157+
vpcID, resultFilter, err := getVPCIDAndFilter(ctx, client, vpcName)
141158
if err != nil {
142-
if linodego.ErrHasStatus(err, http.StatusNotFound) {
143-
Mu.Lock()
144-
defer Mu.Unlock()
145-
klog.Errorf("vpc %s not found. Deleting entry from cache", vpcName)
146-
delete(vpcIDs, vpcName)
147-
}
148159
return nil, err
149160
}
161+
162+
resp, err := client.ListVPCIPAddresses(ctx, vpcID, linodego.NewListOptions(0, resultFilter))
163+
if err != nil {
164+
return nil, handleNotFoundError(err, vpcName)
165+
}
150166
return resp, nil
151167
}
152168

153169
func GetVPCIPv6Addresses(ctx context.Context, client client.Client, vpcName string) ([]linodego.VPCIP, error) {
154-
vpcID, err := GetVPCID(ctx, client, strings.TrimSpace(vpcName))
170+
vpcID, resultFilter, err := getVPCIDAndFilter(ctx, client, vpcName)
155171
if err != nil {
156172
return nil, err
157173
}
158174

159-
resultFilter := ""
160-
161-
// Get subnet ID(s) from name(s) if subnet-names is specified
162-
if len(Options.SubnetNames) > 0 {
163-
// subnetIDList is a slice of strings for ease of use with resultFilter
164-
subnetIDList := []string{}
165-
166-
for _, name := range Options.SubnetNames {
167-
// For caching
168-
var subnetID int
169-
subnetID, err = GetSubnetID(ctx, client, vpcID, name)
170-
// Don't filter subnets we can't find
171-
if err != nil {
172-
klog.Errorf("subnet %s not found due to error: %v. Skipping.", name, err)
173-
continue
174-
}
175-
176-
// For use with the JSON filter
177-
subnetIDList = append(subnetIDList, strconv.Itoa(subnetID))
178-
}
179-
180-
// Assign the list of IDs to a stringified JSON filter
181-
var filter []byte
182-
filter, err = json.Marshal(subnetFilter{SubnetID: strings.Join(subnetIDList, ",")})
183-
if err != nil {
184-
klog.Error("could not create JSON filter for subnet_id")
185-
}
186-
resultFilter = string(filter)
187-
}
188-
189175
resp, err := client.ListVPCIPv6Addresses(ctx, vpcID, linodego.NewListOptions(0, resultFilter))
190176
if err != nil {
191-
if linodego.ErrHasStatus(err, http.StatusNotFound) {
192-
Mu.Lock()
193-
defer Mu.Unlock()
194-
klog.Errorf("vpc %s not found. Deleting entry from cache", vpcName)
195-
delete(vpcIDs, vpcName)
196-
}
197-
return nil, err
177+
return nil, handleNotFoundError(err, vpcName)
198178
}
199179
return resp, nil
200180
}

0 commit comments

Comments
 (0)