Skip to content

Commit efa4bd7

Browse files
authored
Changes to support ibmpowervs image deletion without cluster reference (#938)
1 parent 4f8aceb commit efa4bd7

File tree

2 files changed

+17
-30
lines changed

2 files changed

+17
-30
lines changed

cloud/scope/powervs_image.go

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,10 @@ const BucketAccess = "public"
4646

4747
// PowerVSImageScopeParams defines the input parameters used to create a new PowerVSImageScope.
4848
type PowerVSImageScopeParams struct {
49-
Client client.Client
50-
Logger logr.Logger
51-
IBMPowerVSImage *infrav1beta1.IBMPowerVSImage
52-
IBMPowerVSCluster *infrav1beta1.IBMPowerVSCluster
53-
ServiceEndpoint []endpoints.ServiceEndpoint
49+
Client client.Client
50+
Logger logr.Logger
51+
IBMPowerVSImage *infrav1beta1.IBMPowerVSImage
52+
ServiceEndpoint []endpoints.ServiceEndpoint
5453
}
5554

5655
// PowerVSImageScope defines a scope defined around a Power VS Cluster.
@@ -59,10 +58,9 @@ type PowerVSImageScope struct {
5958
Client client.Client
6059
patchHelper *patch.Helper
6160

62-
IBMPowerVSClient powervs.PowerVS
63-
IBMPowerVSImage *infrav1beta1.IBMPowerVSImage
64-
IBMPowerVSCluster *infrav1beta1.IBMPowerVSCluster
65-
ServiceEndpoint []endpoints.ServiceEndpoint
61+
IBMPowerVSClient powervs.PowerVS
62+
IBMPowerVSImage *infrav1beta1.IBMPowerVSImage
63+
ServiceEndpoint []endpoints.ServiceEndpoint
6664
}
6765

6866
// NewPowerVSImageScope creates a new PowerVSImageScope from the supplied parameters.
@@ -125,12 +123,6 @@ func NewPowerVSImageScope(params PowerVSImageScopeParams) (scope *PowerVSImageSc
125123
CloudInstanceID: spec.ServiceInstanceID,
126124
}
127125

128-
if params.IBMPowerVSCluster == nil {
129-
err = errors.New("failed to generate new scope from nil IBMPowerVSCluster")
130-
return
131-
}
132-
scope.IBMPowerVSCluster = params.IBMPowerVSCluster
133-
134126
// Fetch the service endpoint.
135127
if svcEndpoint := endpoints.FetchPVSEndpoint(endpoints.CostructRegionFromZone(*res.RegionID), params.ServiceEndpoint); svcEndpoint != "" {
136128
options.IBMPIOptions.URL = svcEndpoint

controllers/ibmpowervsimage_controller.go

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
ctrl "sigs.k8s.io/controller-runtime"
3535
"sigs.k8s.io/controller-runtime/pkg/client"
3636
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
37-
"sigs.k8s.io/controller-runtime/pkg/reconcile"
3837

3938
capiv1beta1 "sigs.k8s.io/cluster-api/api/v1beta1"
4039
clusterv1util "sigs.k8s.io/cluster-api/util"
@@ -70,22 +69,17 @@ func (r *IBMPowerVSImageReconciler) Reconcile(ctx context.Context, req ctrl.Requ
7069
return ctrl.Result{}, err
7170
}
7271

73-
cluster, err := util.GetClusterByName(ctx, r.Client, ibmImage.Namespace, ibmImage.Spec.ClusterName)
74-
if err != nil {
75-
return ctrl.Result{}, err
76-
}
77-
log = log.WithValues("cluster", cluster.Name)
78-
7972
// Create the scope.
8073
imageScope, err := scope.NewPowerVSImageScope(scope.PowerVSImageScopeParams{
81-
Client: r.Client,
82-
Logger: log,
83-
IBMPowerVSImage: ibmImage,
84-
IBMPowerVSCluster: cluster,
85-
ServiceEndpoint: r.ServiceEndpoint,
74+
Client: r.Client,
75+
Logger: log,
76+
IBMPowerVSImage: ibmImage,
77+
ServiceEndpoint: r.ServiceEndpoint,
8678
})
87-
88-
// Always close the scope when exiting this function so we can persist any GCPMachine changes.
79+
if err != nil {
80+
return ctrl.Result{}, errors.Errorf("failed to create scope: %+v", err)
81+
}
82+
// Always close the scope when exiting this function so we can persist any IBM PowerVS Image changes.
8983
defer func() {
9084
if err := imageScope.Close(); err != nil && reterr == nil {
9185
reterr = err
@@ -97,8 +91,9 @@ func (r *IBMPowerVSImageReconciler) Reconcile(ctx context.Context, req ctrl.Requ
9791
return r.reconcileDelete(imageScope)
9892
}
9993

94+
cluster, err := util.GetClusterByName(ctx, r.Client, ibmImage.Namespace, ibmImage.Spec.ClusterName)
10095
if err != nil {
101-
return reconcile.Result{}, errors.Errorf("failed to create scope: %+v", err)
96+
return ctrl.Result{}, err
10297
}
10398
return r.reconcile(cluster, imageScope)
10499
}

0 commit comments

Comments
 (0)