Skip to content

Commit

Permalink
Transferring annotations in smart clone and passing dv instead of client
Browse files Browse the repository at this point in the history
Signed-off-by: Ido Aharon <iaharon@redhat.com>
  • Loading branch information
ido106 committed Feb 21, 2023
1 parent ea577b8 commit 91c4767
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 23 deletions.
6 changes: 3 additions & 3 deletions pkg/controller/datavolume/controller-base.go
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ func (r ReconcilerBase) syncCommon(log logr.Logger, req reconcile.Request, clean

func (r ReconcilerBase) sync(log logr.Logger, req reconcile.Request, cleanup, prepare dataVolumeSyncResultFunc) (*dataVolumeSyncResult, error) {
syncRes := &dataVolumeSyncResult{}
dv, err := getDataVolume(r.client, req.NamespacedName)
dv, err := r.getDataVolume(req.NamespacedName)
if dv == nil || err != nil {
syncRes.result = &reconcile.Result{}
return syncRes, err
Expand Down Expand Up @@ -365,9 +365,9 @@ func (r *ReconcilerBase) getPVC(dv *cdiv1.DataVolume) (*corev1.PersistentVolumeC
return pvc, nil
}

func getDataVolume(c client.Client, key types.NamespacedName) (*cdiv1.DataVolume, error) {
func (r *ReconcilerBase) getDataVolume(key types.NamespacedName) (*cdiv1.DataVolume, error) {
dv := &cdiv1.DataVolume{}
if err := c.Get(context.TODO(), key, dv); err != nil {
if err := r.client.Get(context.TODO(), key, dv); err != nil {
if k8serrors.IsNotFound(err) {
return nil, nil
}
Expand Down
38 changes: 19 additions & 19 deletions pkg/controller/datavolume/smart-clone-controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,8 @@ func (r *SmartCloneReconciler) reconcileSnapshot(log logr.Logger, snapshot *snap
if err != nil {
return reconcile.Result{}, err
}
newPvc, err := newPvcFromSnapshot(r.client, snapshot.Name, snapshot, targetPvcSpec)

newPvc, err := newPvcFromSnapshot(dataVolume, snapshot.Name, snapshot, targetPvcSpec)
if err != nil {
return reconcile.Result{}, err
}
Expand Down Expand Up @@ -352,7 +353,7 @@ func (r *SmartCloneReconciler) getTargetPVC(dataVolume *cdiv1.DataVolume) (*core
return pvc, nil
}

func newPvcFromSnapshot(c client.Client, name string, snapshot *snapshotv1.VolumeSnapshot, targetPvcSpec *corev1.PersistentVolumeClaimSpec) (*corev1.PersistentVolumeClaim, error) {
func newPvcFromSnapshot(dv *cdiv1.DataVolume, name string, snapshot *snapshotv1.VolumeSnapshot, targetPvcSpec *corev1.PersistentVolumeClaimSpec) (*corev1.PersistentVolumeClaim, error) {
targetPvcSpecCopy := targetPvcSpec.DeepCopy()
restoreSize := snapshot.Status.RestoreSize
if restoreSize == nil {
Expand All @@ -370,14 +371,19 @@ func newPvcFromSnapshot(c client.Client, name string, snapshot *snapshotv1.Volum
common.CDIComponentLabel: common.SmartClonerCDILabel,
}

dv, err := getDataVolume(c, client.ObjectKeyFromObject(snapshot))
if err != nil {
return nil, err
for k, v := range dv.Labels {
labels[k] = v
}
if dv != nil {
for k, v := range dv.Labels {
labels[k] = v
}

annotations := map[string]string{
AnnSmartCloneRequest: "true",
cc.AnnRunningCondition: string(corev1.ConditionFalse),
cc.AnnRunningConditionMessage: cc.CloneComplete,
cc.AnnRunningConditionReason: "Completed",
annSmartCloneSnapshot: key,
}
for k, v := range dv.ObjectMeta.Annotations {
annotations[k] = v
}

if util.ResolveVolumeMode(targetPvcSpecCopy.VolumeMode) == corev1.PersistentVolumeFilesystem {
Expand All @@ -386,16 +392,10 @@ func newPvcFromSnapshot(c client.Client, name string, snapshot *snapshotv1.Volum

target := &corev1.PersistentVolumeClaim{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Namespace: snapshot.Namespace,
Labels: labels,
Annotations: map[string]string{
AnnSmartCloneRequest: "true",
cc.AnnRunningCondition: string(corev1.ConditionFalse),
cc.AnnRunningConditionMessage: cc.CloneComplete,
cc.AnnRunningConditionReason: "Completed",
annSmartCloneSnapshot: key,
},
Name: name,
Namespace: snapshot.Namespace,
Labels: labels,
Annotations: annotations,
},
Spec: corev1.PersistentVolumeClaimSpec{
DataSource: &corev1.TypedLocalObjectReference{
Expand Down
2 changes: 1 addition & 1 deletion pkg/controller/datavolume/snapshot-clone-controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ func (r *SnapshotCloneReconciler) getStorageClassCorrespondingToSnapClass(driver
}

func (r *SnapshotCloneReconciler) makePvcFromSnapshot(pvcName string, dv *cdiv1.DataVolume, snapshot *snapshotv1.VolumeSnapshot, targetPvcSpec *corev1.PersistentVolumeClaimSpec) (*corev1.PersistentVolumeClaim, error) {
newPvc, err := newPvcFromSnapshot(r.client, pvcName, snapshot, targetPvcSpec)
newPvc, err := newPvcFromSnapshot(dv, pvcName, snapshot, targetPvcSpec)
if err != nil {
return nil, err
}
Expand Down

0 comments on commit 91c4767

Please sign in to comment.