Skip to content

Commit

Permalink
Merge pull request #3001 from iamniting/sc
Browse files Browse the repository at this point in the history
Fix issue with the ceph block pool rados namespace storage class
  • Loading branch information
openshift-merge-bot[bot] authored Feb 3, 2025
2 parents 9e4fd20 + c64a434 commit e2ee49f
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 8 deletions.
21 changes: 14 additions & 7 deletions controllers/storagecluster/external_resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -214,13 +214,6 @@ func (r *StorageClusterReconciler) newExternalCephObjectStoreInstances(
func (obj *ocsExternalResources) ensureCreated(r *StorageClusterReconciler, instance *ocsv1.StorageCluster) (reconcile.Result, error) {

// rhcs external mode
data, err := r.retrieveExternalSecretData(instance)
if err != nil {
r.Log.Error(err, "Failed to retrieve external secret resources.")
return reconcile.Result{}, err
}
externalOCSResources[instance.UID] = data

extSecretChecksum, err := r.getExternalSecretDataChecksum(instance)
if err != nil {
r.Log.Error(err, "Failed to get checksum of external secret data.")
Expand Down Expand Up @@ -248,6 +241,20 @@ func (obj *ocsExternalResources) ensureDeleted(_ *StorageClusterReconciler, _ *o
return reconcile.Result{}, nil
}

// setExternalOCSResourcesData retrieves data from the secret and stores it in the externalOCSResources global variable.
func (r *StorageClusterReconciler) setExternalOCSResourcesData(instance *ocsv1.StorageCluster) error {

data, err := r.retrieveExternalSecretData(instance)
if err != nil {
r.Log.Error(err, "Failed to retrieve external secret resources.")
return err
}

externalOCSResources[instance.UID] = data

return nil
}

// createExternalStorageClusterResources creates external cluster resources
func (r *StorageClusterReconciler) createExternalStorageClusterResources(instance *ocsv1.StorageCluster) error {

Expand Down
9 changes: 8 additions & 1 deletion controllers/storagecluster/reconcile.go
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,13 @@ func (r *StorageClusterReconciler) reconcilePhases(
return reconcile.Result{}, err
}

if instance.Spec.ExternalStorage.Enable {
if err := r.setExternalOCSResourcesData(instance); err != nil {
r.Log.Error(err, "Failed to set the externalOCSResources cache")
return reconcile.Result{}, err
}
}

// in-memory conditions should start off empty. It will only ever hold
// negative conditions (!Available, Degraded, Progressing)
r.conditions = nil
Expand Down Expand Up @@ -459,9 +466,9 @@ func (r *StorageClusterReconciler) reconcilePhases(
// for external cluster, we have a different set of ensure functions
// preserve list order
objs = []resourceManager{
&ocsCephCluster{},
&ocsExternalResources{},
&ocsStorageQuota{},
&ocsCephCluster{},
&ocsSnapshotClass{},
&ocsGroupSnapshotClass{},
&ocsNoobaaSystem{},
Expand Down

0 comments on commit e2ee49f

Please sign in to comment.