@@ -31,7 +31,7 @@ type NetworkIface interface {
31
31
ResolveNetwork (* capcv1.CloudStackCluster , * capcv1.Network ) error
32
32
CreateIsolatedNetwork (* capcv1.CloudStackCluster ) error
33
33
OpenFirewallRules (* capcv1.CloudStackCluster ) error
34
- ResolvePublicIPDetails (* capcv1.CloudStackCluster ) (* cloudstack.PublicIpAddress , error )
34
+ FetchPublicIP (* capcv1.CloudStackCluster ) (* cloudstack.PublicIpAddress , error )
35
35
ResolveLoadBalancerRuleDetails (* capcv1.CloudStackCluster ) error
36
36
GetOrCreateLoadBalancerRule (* capcv1.CloudStackCluster ) error
37
37
GetOrCreateIsolatedNetwork (* capcv1.CloudStackCluster ) error
@@ -100,7 +100,7 @@ func (c *client) ResolveNetwork(csCluster *capcv1.CloudStackCluster, net *capcv1
100
100
}
101
101
102
102
func generateNetworkTagName (csCluster * capcv1.CloudStackCluster ) string {
103
- return clusterTagNamePrefix + string (csCluster .UID )
103
+ return ClusterTagNamePrefix + string (csCluster .UID )
104
104
}
105
105
106
106
// getOfferingID fetches an offering id.
@@ -134,19 +134,17 @@ func (c *client) CreateIsolatedNetwork(csCluster *capcv1.CloudStackCluster) (ret
134
134
if err != nil {
135
135
return err
136
136
}
137
- if err := c .AddClusterTag (ResourceTypeNetwork , zoneStatus .Network .ID , csCluster ); err != nil {
138
- return err
139
- }
140
- if err := c .AddCreatedByCAPCTag (ResourceTypeNetwork , zoneStatus .Network .ID ); err != nil {
141
- return err
142
- }
143
137
144
138
// Update Zone/Network status accordingly.
145
139
netStatus .ID = resp .Id
146
140
netStatus .Type = resp .Type
147
141
zoneStatus .Network = netStatus
148
142
csCluster .Status .Zones [zoneStatus .Name ] = zoneStatus
149
143
144
+ if err := c .AddCreatedByCAPCTag (ResourceTypeNetwork , zoneStatus .Network .ID ); err != nil {
145
+ return err
146
+ }
147
+
150
148
return nil
151
149
}
152
150
@@ -171,9 +169,9 @@ func (c *client) RemoveClusterTagFromNetwork(csCluster *capcv1.CloudStackCluster
171
169
return err
172
170
}
173
171
174
- clusterTagName := generateNetworkTagName (csCluster )
175
- if tagValue := tags [clusterTagName ]; tagValue != "" {
176
- if err = c .DeleteTags (ResourceTypeNetwork , net .ID , map [string ]string {clusterTagName : tagValue }); err != nil {
172
+ ClusterTagName := generateNetworkTagName (csCluster )
173
+ if tagValue := tags [ClusterTagName ]; tagValue != "" {
174
+ if err = c .DeleteTags (ResourceTypeNetwork , net .ID , map [string ]string {ClusterTagName : tagValue }); err != nil {
177
175
return err
178
176
}
179
177
}
@@ -189,19 +187,19 @@ func (c *client) DeleteNetworkIfNotInUse(csCluster *capcv1.CloudStackCluster, ne
189
187
190
188
var clusterTagCount int
191
189
for tagName := range tags {
192
- if strings .HasPrefix (tagName , clusterTagNamePrefix ) {
190
+ if strings .HasPrefix (tagName , ClusterTagNamePrefix ) {
193
191
clusterTagCount ++
194
192
}
195
193
}
196
194
197
- if clusterTagCount == 0 && tags [createdByCAPCTagName ] != "" {
195
+ if clusterTagCount == 0 && tags [CreatedByCAPCTagName ] != "" {
198
196
return c .DestroyNetwork (net )
199
197
}
200
198
201
199
return nil
202
200
}
203
201
204
- func (c * client ) ResolvePublicIPDetails (csCluster * capcv1.CloudStackCluster ) (* cloudstack.PublicIpAddress , error ) {
202
+ func (c * client ) FetchPublicIP (csCluster * capcv1.CloudStackCluster ) (* cloudstack.PublicIpAddress , error ) {
205
203
ip := csCluster .Spec .ControlPlaneEndpoint .Host
206
204
207
205
zoneStatus := csCluster .Status .Zones .GetOne ()
@@ -234,7 +232,7 @@ func (c *client) ResolvePublicIPDetails(csCluster *capcv1.CloudStackCluster) (*c
234
232
235
233
// AssociatePublicIPAddress Gets a PublicIP and associates it.
236
234
func (c * client ) AssociatePublicIPAddress (csCluster * capcv1.CloudStackCluster ) (retErr error ) {
237
- publicAddress , err := c .ResolvePublicIPDetails (csCluster )
235
+ publicAddress , err := c .FetchPublicIP (csCluster )
238
236
if err != nil {
239
237
return err
240
238
}
@@ -379,11 +377,19 @@ func (c *client) GetOrCreateIsolatedNetwork(csCluster *capcv1.CloudStackCluster)
379
377
return err
380
378
}
381
379
}
380
+ networkID := csCluster .Status .Zones .GetOne ().Network .ID
381
+ if err := c .AddClusterTag (ResourceTypeNetwork , networkID , csCluster ); err != nil {
382
+ return err
383
+ }
382
384
383
385
if csCluster .Status .PublicIPID == "" { // Don't try to get public IP again it's already been fetched.
384
386
if err := c .AssociatePublicIPAddress (csCluster ); err != nil {
385
387
return err
386
388
}
389
+ // Add created by CAPC tag to public IP.
390
+ if err := c .AddCreatedByCAPCTag (ResourceTypeIPAddress , csCluster .Status .PublicIPID ); err != nil {
391
+ return err
392
+ }
387
393
}
388
394
if err := c .GetOrCreateLoadBalancerRule (csCluster ); err != nil {
389
395
return err
0 commit comments