Skip to content

Commit 1573880

Browse files
Update delete image flow (#558)
Signed-off-by: Prajyot-Parab <[email protected]>
1 parent 3e35b89 commit 1573880

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

cloud/scope/powervs_image.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,10 @@ func (i *PowerVSImageScope) GetImportJob() (*models.Job, error) {
207207
return i.IBMPowerVSClient.GetCosImages(i.IBMPowerVSImage.Spec.ServiceInstanceID)
208208
}
209209

210+
func (i *PowerVSImageScope) DeleteImportJob() error {
211+
return i.IBMPowerVSClient.DeleteJob(i.IBMPowerVSImage.Status.JobID)
212+
}
213+
210214
func (i *PowerVSImageScope) SetReady() {
211215
i.IBMPowerVSImage.Status.Ready = true
212216
}

controllers/ibmpowervsimage_controller.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,14 @@ func (r *IBMPowerVSImageReconciler) reconcileDelete(scope *scope.PowerVSImageSco
207207

208208
if scope.GetImageID() == "" {
209209
scope.Info("ImageID is not yet set, hence not invoking the powervs API to delete the image")
210+
if scope.GetJobID() == "" {
211+
scope.Info("JobID is not yet set, hence not invoking the powervs API to delete the image import job")
212+
return ctrl.Result{}, nil
213+
}
214+
if err := scope.DeleteImportJob(); err != nil {
215+
scope.Info("error deleting IBMPowerVSImage Import Job")
216+
return ctrl.Result{}, errors.Wrapf(err, "error deleting IBMPowerVSImage Import Job")
217+
}
210218
return ctrl.Result{}, nil
211219
}
212220
if err := scope.DeleteImage(); err != nil {

pkg/cloud/services/powervs/service.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ func (s *Service) GetJob(id string) (*models.Job, error) {
9999
return s.JobClient.Get(id)
100100
}
101101

102+
// DeleteJob deletes the image import job in the Power VS service instance.
103+
func (s *Service) DeleteJob(id string) error {
104+
return s.JobClient.Delete(id)
105+
}
106+
102107
// GetAllNetwork returns all the networks in the Power VS service instance.
103108
func (s *Service) GetAllNetwork() (*models.Networks, error) {
104109
return s.NetworkClient.GetAll()

0 commit comments

Comments
 (0)