@@ -35,7 +35,8 @@ const (
35
35
type VPCIface interface {
36
36
ResolveVPC (* infrav1.VPC ) error
37
37
CreateVPC (* infrav1.CloudStackFailureDomain , * infrav1.VPC ) error
38
- RemoveClusterTagFromVPC (* infrav1.CloudStackCluster , * infrav1.VPC ) error
38
+ RemoveClusterTagFromVPC (* infrav1.CloudStackCluster , infrav1.VPC ) error
39
+ DeleteVPCIfNotInUse (infrav1.VPC ) (retError error )
39
40
}
40
41
41
42
// getVPCOfferingID fetches a vpc offering id.
@@ -99,6 +100,7 @@ func (c *client) CreateVPC(fd *infrav1.CloudStackFailureDomain, vpc *infrav1.VPC
99
100
100
101
p := c .cs .VPC .NewCreateVPCParams (vpc .CIDR , vpc .Name , vpc .Name , offeringID , fd .Spec .Zone .ID )
101
102
setIfNotEmpty (c .user .Project .ID , p .SetProjectid )
103
+ p .SetStart (true )
102
104
resp , err := c .cs .VPC .CreateVPC (p )
103
105
if err != nil {
104
106
c .customMetrics .EvaluateErrorAndIncrementAcsReconciliationErrorCounter (err )
@@ -109,17 +111,14 @@ func (c *client) CreateVPC(fd *infrav1.CloudStackFailureDomain, vpc *infrav1.VPC
109
111
}
110
112
111
113
// DeleteVPC deletes a VPC.
112
- func (c * client ) DeleteVPC (vpc * infrav1.VPC ) error {
114
+ func (c * client ) DeleteVPC (vpc infrav1.VPC ) error {
113
115
_ , err := c .cs .VPC .DeleteVPC (c .cs .VPC .NewDeleteVPCParams (vpc .ID ))
114
116
c .customMetrics .EvaluateErrorAndIncrementAcsReconciliationErrorCounter (err )
115
117
return errors .Wrapf (err , "deleting vpc with id %s" , vpc .ID )
116
118
}
117
119
118
120
// DeleteVPCIfNotInUse deletes a VPC if the VPC is no longer in use (indicated by in use tags).
119
- func (c * client ) DeleteVPCIfNotInUse (vpc * infrav1.VPC ) (retError error ) {
120
- if vpc == nil || vpc .ID == "" {
121
- return nil
122
- }
121
+ func (c * client ) DeleteVPCIfNotInUse (vpc infrav1.VPC ) (retError error ) {
123
122
tags , err := c .GetTags (ResourceTypeVPC , vpc .ID )
124
123
if err != nil {
125
124
return err
@@ -144,10 +143,7 @@ func generateVPCTagName(csCluster *infrav1.CloudStackCluster) string {
144
143
}
145
144
146
145
// RemoveClusterTagFromVPC removes the cluster in use tag from a VPC.
147
- func (c * client ) RemoveClusterTagFromVPC (csCluster * infrav1.CloudStackCluster , vpc * infrav1.VPC ) (retError error ) {
148
- if vpc == nil || vpc .ID == "" {
149
- return nil
150
- }
146
+ func (c * client ) RemoveClusterTagFromVPC (csCluster * infrav1.CloudStackCluster , vpc infrav1.VPC ) (retError error ) {
151
147
tags , err := c .GetTags (ResourceTypeVPC , vpc .ID )
152
148
if err != nil {
153
149
return err
0 commit comments