@@ -23,21 +23,21 @@ import (
23
23
"github.com/apache/cloudstack-go/v2/cloudstack"
24
24
"github.com/hashicorp/go-multierror"
25
25
"github.com/pkg/errors"
26
- capcv1 "sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2"
26
+ infrav1 "sigs.k8s.io/cluster-api-provider-cloudstack/api/v1beta2"
27
27
)
28
28
29
29
type IsoNetworkIface interface {
30
- GetOrCreateIsolatedNetwork (* capcv1 .CloudStackZone , * capcv1 .CloudStackIsolatedNetwork , * capcv1 .CloudStackCluster ) error
30
+ GetOrCreateIsolatedNetwork (* infrav1 .CloudStackZone , * infrav1 .CloudStackIsolatedNetwork , * infrav1 .CloudStackCluster ) error
31
31
32
- AssociatePublicIPAddress (* capcv1 .CloudStackZone , * capcv1 .CloudStackIsolatedNetwork , * capcv1 .CloudStackCluster ) error
33
- GetOrCreateLoadBalancerRule (* capcv1 .CloudStackZone , * capcv1 .CloudStackIsolatedNetwork , * capcv1 .CloudStackCluster ) error
34
- OpenFirewallRules (* capcv1 .CloudStackIsolatedNetwork ) error
35
- GetPublicIP (* capcv1 .CloudStackZone , * capcv1 .CloudStackIsolatedNetwork , * capcv1 .CloudStackCluster ) (* cloudstack.PublicIpAddress , error )
36
- ResolveLoadBalancerRuleDetails (* capcv1 .CloudStackZone , * capcv1 .CloudStackIsolatedNetwork , * capcv1 .CloudStackCluster ) error
32
+ AssociatePublicIPAddress (* infrav1 .CloudStackZone , * infrav1 .CloudStackIsolatedNetwork , * infrav1 .CloudStackCluster ) error
33
+ GetOrCreateLoadBalancerRule (* infrav1 .CloudStackZone , * infrav1 .CloudStackIsolatedNetwork , * infrav1 .CloudStackCluster ) error
34
+ OpenFirewallRules (* infrav1 .CloudStackIsolatedNetwork ) error
35
+ GetPublicIP (* infrav1 .CloudStackZone , * infrav1 .CloudStackIsolatedNetwork , * infrav1 .CloudStackCluster ) (* cloudstack.PublicIpAddress , error )
36
+ ResolveLoadBalancerRuleDetails (* infrav1 .CloudStackZone , * infrav1 .CloudStackIsolatedNetwork , * infrav1 .CloudStackCluster ) error
37
37
38
- AssignVMToLoadBalancerRule (isoNet * capcv1 .CloudStackIsolatedNetwork , instanceID string ) error
39
- DeleteNetwork (capcv1 .Network ) error
40
- DisposeIsoNetResources (* capcv1 .CloudStackZone , * capcv1 .CloudStackIsolatedNetwork , * capcv1 .CloudStackCluster ) error
38
+ AssignVMToLoadBalancerRule (isoNet * infrav1 .CloudStackIsolatedNetwork , instanceID string ) error
39
+ DeleteNetwork (infrav1 .Network ) error
40
+ DisposeIsoNetResources (* infrav1 .CloudStackZone , * infrav1 .CloudStackIsolatedNetwork , * infrav1 .CloudStackCluster ) error
41
41
}
42
42
43
43
// getOfferingID fetches an offering id.
@@ -53,9 +53,9 @@ func (c *client) getOfferingID() (string, error) {
53
53
54
54
// AssociatePublicIPAddress Gets a PublicIP and associates the public IP to passed isolated network.
55
55
func (c * client ) AssociatePublicIPAddress (
56
- zone * capcv1 .CloudStackZone ,
57
- isoNet * capcv1 .CloudStackIsolatedNetwork ,
58
- csCluster * capcv1 .CloudStackCluster ,
56
+ zone * infrav1 .CloudStackZone ,
57
+ isoNet * infrav1 .CloudStackIsolatedNetwork ,
58
+ csCluster * infrav1 .CloudStackCluster ,
59
59
) (retErr error ) {
60
60
// Check specified IP address is available or get an unused one if not specified.
61
61
publicAddress , err := c .GetPublicIP (zone , isoNet , csCluster )
@@ -90,7 +90,7 @@ func (c *client) AssociatePublicIPAddress(
90
90
}
91
91
92
92
// CreateIsolatedNetwork creates an isolated network in the relevant Zone per passed network specification.
93
- func (c * client ) CreateIsolatedNetwork (zone * capcv1 .CloudStackZone , isoNet * capcv1 .CloudStackIsolatedNetwork ) (retErr error ) {
93
+ func (c * client ) CreateIsolatedNetwork (zone * infrav1 .CloudStackZone , isoNet * infrav1 .CloudStackIsolatedNetwork ) (retErr error ) {
94
94
// Get network offering ID.
95
95
offeringID , err := c .getOfferingID ()
96
96
if err != nil {
@@ -108,7 +108,7 @@ func (c *client) CreateIsolatedNetwork(zone *capcv1.CloudStackZone, isoNet *capc
108
108
}
109
109
110
110
// OpenFirewallRules opens a CloudStack firewall for an isolated network.
111
- func (c * client ) OpenFirewallRules (isoNet * capcv1 .CloudStackIsolatedNetwork ) (retErr error ) {
111
+ func (c * client ) OpenFirewallRules (isoNet * infrav1 .CloudStackIsolatedNetwork ) (retErr error ) {
112
112
p := c .cs .Firewall .NewCreateEgressFirewallRuleParams (isoNet .Spec .ID , NetworkProtocolTCP )
113
113
_ , retErr = c .cs .Firewall .CreateEgressFirewallRule (p )
114
114
if retErr != nil && strings .Contains (strings .ToLower (retErr .Error ()), "there is already" ) { // Already a firewall rule here.
@@ -119,9 +119,9 @@ func (c *client) OpenFirewallRules(isoNet *capcv1.CloudStackIsolatedNetwork) (re
119
119
120
120
// GetPublicIP gets a public IP with ID for cluster endpoint.
121
121
func (c * client ) GetPublicIP (
122
- zone * capcv1 .CloudStackZone ,
123
- isoNet * capcv1 .CloudStackIsolatedNetwork ,
124
- csCluster * capcv1 .CloudStackCluster ,
122
+ zone * infrav1 .CloudStackZone ,
123
+ isoNet * infrav1 .CloudStackIsolatedNetwork ,
124
+ csCluster * infrav1 .CloudStackCluster ,
125
125
) (* cloudstack.PublicIpAddress , error ) {
126
126
ip := csCluster .Spec .ControlPlaneEndpoint .Host
127
127
@@ -153,7 +153,7 @@ func (c *client) GetPublicIP(
153
153
}
154
154
155
155
// GetIsolatedNetwork gets an isolated network in the relevant Zone.
156
- func (c * client ) GetIsolatedNetwork (isoNet * capcv1 .CloudStackIsolatedNetwork ) (retErr error ) {
156
+ func (c * client ) GetIsolatedNetwork (isoNet * infrav1 .CloudStackIsolatedNetwork ) (retErr error ) {
157
157
netDetails , count , err := c .cs .Network .GetNetworkByName (isoNet .Spec .Name )
158
158
if err != nil {
159
159
retErr = multierror .Append (retErr , errors .Wrapf (err , "could not get Network ID from %s" , isoNet .Spec .Name ))
@@ -177,9 +177,9 @@ func (c *client) GetIsolatedNetwork(isoNet *capcv1.CloudStackIsolatedNetwork) (r
177
177
178
178
// ResolveLoadBalancerRuleDetails resolves the details of a load balancer rule by PublicIPID and Port.
179
179
func (c * client ) ResolveLoadBalancerRuleDetails (
180
- zone * capcv1 .CloudStackZone ,
181
- isoNet * capcv1 .CloudStackIsolatedNetwork ,
182
- csCluster * capcv1 .CloudStackCluster ,
180
+ zone * infrav1 .CloudStackZone ,
181
+ isoNet * infrav1 .CloudStackIsolatedNetwork ,
182
+ csCluster * infrav1 .CloudStackCluster ,
183
183
) error {
184
184
p := c .cs .LoadBalancer .NewListLoadBalancerRulesParams ()
185
185
p .SetPublicipid (isoNet .Status .PublicIPID )
@@ -199,9 +199,9 @@ func (c *client) ResolveLoadBalancerRuleDetails(
199
199
200
200
// GetOrCreateLoadBalancerRule Create a load balancer rule that can be assigned to instances.
201
201
func (c * client ) GetOrCreateLoadBalancerRule (
202
- zone * capcv1 .CloudStackZone ,
203
- isoNet * capcv1 .CloudStackIsolatedNetwork ,
204
- csCluster * capcv1 .CloudStackCluster ,
202
+ zone * infrav1 .CloudStackZone ,
203
+ isoNet * infrav1 .CloudStackIsolatedNetwork ,
204
+ csCluster * infrav1 .CloudStackCluster ,
205
205
) (retErr error ) {
206
206
// Check/set ports.
207
207
// Prefer control plane endpoint. Take iso net port if CP missing. Set to default if both missing.
@@ -237,9 +237,9 @@ func (c *client) GetOrCreateLoadBalancerRule(
237
237
238
238
// GetOrCreateIsolatedNetwork fetches or builds out the necessary structures for isolated network use.
239
239
func (c * client ) GetOrCreateIsolatedNetwork (
240
- zone * capcv1 .CloudStackZone ,
241
- isoNet * capcv1 .CloudStackIsolatedNetwork ,
242
- csCluster * capcv1 .CloudStackCluster ,
240
+ zone * infrav1 .CloudStackZone ,
241
+ isoNet * infrav1 .CloudStackIsolatedNetwork ,
242
+ csCluster * infrav1 .CloudStackCluster ,
243
243
) error {
244
244
// Get or create the isolated network itself and resolve details into passed custom resources.
245
245
net := isoNet .Network ()
@@ -272,7 +272,7 @@ func (c *client) GetOrCreateIsolatedNetwork(
272
272
}
273
273
274
274
// AssignVMToLoadBalancerRule assigns a VM instance to a load balancing rule (specifying lb membership).
275
- func (c * client ) AssignVMToLoadBalancerRule (isoNet * capcv1 .CloudStackIsolatedNetwork , instanceID string ) (retErr error ) {
275
+ func (c * client ) AssignVMToLoadBalancerRule (isoNet * infrav1 .CloudStackIsolatedNetwork , instanceID string ) (retErr error ) {
276
276
277
277
// Check that the instance isn't already in LB rotation.
278
278
lbRuleInstances , retErr := c .cs .LoadBalancer .ListLoadBalancerRuleInstances (
@@ -294,16 +294,16 @@ func (c *client) AssignVMToLoadBalancerRule(isoNet *capcv1.CloudStackIsolatedNet
294
294
}
295
295
296
296
// DeleteNetwork deletes an isolated network.
297
- func (c * client ) DeleteNetwork (net capcv1 .Network ) error {
297
+ func (c * client ) DeleteNetwork (net infrav1 .Network ) error {
298
298
_ , err := c .cs .Network .DeleteNetwork (c .cs .Network .NewDeleteNetworkParams (net .ID ))
299
299
return errors .Wrapf (err , "deleting network with id %s" , net .ID )
300
300
}
301
301
302
302
// DisposeIsoNetResources cleans up isolated network resources.
303
303
func (c * client ) DisposeIsoNetResources (
304
- zone * capcv1 .CloudStackZone ,
305
- isoNet * capcv1 .CloudStackIsolatedNetwork ,
306
- csCluster * capcv1 .CloudStackCluster ,
304
+ zone * infrav1 .CloudStackZone ,
305
+ isoNet * infrav1 .CloudStackIsolatedNetwork ,
306
+ csCluster * infrav1 .CloudStackCluster ,
307
307
) (retError error ) {
308
308
if isoNet .Status .PublicIPID != "" {
309
309
if err := c .DeleteClusterTag (ResourceTypeIPAddress , csCluster .Status .PublicIPID , csCluster ); err != nil {
@@ -324,7 +324,7 @@ func (c *client) DisposeIsoNetResources(
324
324
}
325
325
326
326
// DeleteNetworkIfNotInUse deletes an isolated network if the network is no longer in use (indicated by in use tags).
327
- func (c * client ) DeleteNetworkIfNotInUse (csCluster * capcv1 .CloudStackCluster , net capcv1 .Network ) (retError error ) {
327
+ func (c * client ) DeleteNetworkIfNotInUse (csCluster * infrav1 .CloudStackCluster , net infrav1 .Network ) (retError error ) {
328
328
tags , err := c .GetTags (ResourceTypeNetwork , net .ID )
329
329
if err != nil {
330
330
return err
@@ -346,7 +346,7 @@ func (c *client) DeleteNetworkIfNotInUse(csCluster *capcv1.CloudStackCluster, ne
346
346
347
347
// DisassociatePublicIPAddressIfNotInUse removes a CloudStack public IP association from passed isolated network
348
348
// if it is no longer in use (indicated by in use tags).
349
- func (c * client ) DisassociatePublicIPAddressIfNotInUse (isoNet * capcv1 .CloudStackIsolatedNetwork ) (retError error ) {
349
+ func (c * client ) DisassociatePublicIPAddressIfNotInUse (isoNet * infrav1 .CloudStackIsolatedNetwork ) (retError error ) {
350
350
if tagsAllowDisposal , err := c .DoClusterTagsAllowDisposal (ResourceTypeIPAddress , isoNet .Status .PublicIPID ); err != nil {
351
351
return err
352
352
} else if publicIP , _ , err := c .cs .Address .GetPublicIpAddressByID (isoNet .Status .PublicIPID ); err != nil {
@@ -360,7 +360,7 @@ func (c *client) DisassociatePublicIPAddressIfNotInUse(isoNet *capcv1.CloudStack
360
360
}
361
361
362
362
// DisassociatePublicIPAddress removes a CloudStack public IP association from passed isolated network.
363
- func (c * client ) DisassociatePublicIPAddress (isoNet * capcv1 .CloudStackIsolatedNetwork ) (retErr error ) {
363
+ func (c * client ) DisassociatePublicIPAddress (isoNet * infrav1 .CloudStackIsolatedNetwork ) (retErr error ) {
364
364
// Remove the CAPC creation tag, so it won't be there the next time this address is associated.
365
365
retErr = c .DeleteCreatedByCAPCTag (ResourceTypeIPAddress , isoNet .Status .PublicIPID )
366
366
if retErr != nil {
0 commit comments