Skip to content

Commit 3f7c172

Browse files
Support persistent volume last phase transition time feature gate field last phase transition time in persistent volume status (#2417)
* include message and PersistentVolume Last Phase Transition Time * update to include feature gate feature * update to include feature gate feature * update to include feature gate feature * update job spec * update job spec * update pv * update pv * update pv resource to include persistent volume last transition time * add changelog --------- Co-authored-by: Mauricio Alvarez Leon <[email protected]> Co-authored-by: BBBmau <[email protected]>
1 parent 4f44a9a commit 3f7c172

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

.changelog/2417.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
`persistent_volume_v1`: Support PersistentVolumeLastPhaseTransitionTime feature gate in persistent volume status.

kubernetes/resource_kubernetes_persistent_volume_v1.go

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,15 @@ func resourceKubernetesPersistentVolumeV1Create(ctx context.Context, d *schema.R
242242
}
243243

244244
statusPhase := fmt.Sprintf("%v", out.Status.Phase)
245-
log.Printf("[DEBUG] Persistent volume %s status received: %#v", out.Name, statusPhase)
245+
statusMessage := fmt.Sprintf("%v", out.Status.Message)
246+
if statusMessage == "" {
247+
log.Printf("[DEBUG] Persistent volume %s status received: %#v", out.Name, statusPhase)
248+
} else {
249+
log.Printf("[DEBUG] Persistent volume %s status received: %#v, message received: %#v", out.Name, statusPhase, statusMessage)
250+
}
251+
if out.Status.LastPhaseTransitionTime != nil {
252+
log.Printf("[DEBUG] Persistent volume last phrase transition time: %v", out.Status.LastPhaseTransitionTime)
253+
}
246254
return out, statusPhase, nil
247255
},
248256
}
@@ -279,6 +287,9 @@ func resourceKubernetesPersistentVolumeV1Read(ctx context.Context, d *schema.Res
279287
return diag.FromErr(err)
280288
}
281289
log.Printf("[INFO] Received persistent volume: %#v", volume)
290+
if volume.Status.LastPhaseTransitionTime != nil {
291+
log.Printf("[DEBUG] Persistent volume last phrase transition time: %v", volume.Status.LastPhaseTransitionTime)
292+
}
282293
err = d.Set("metadata", flattenMetadata(volume.ObjectMeta, d, meta))
283294
if err != nil {
284295
return diag.FromErr(err)
@@ -345,8 +356,15 @@ func resourceKubernetesPersistentVolumeV1Delete(ctx context.Context, d *schema.R
345356
}
346357
return retry.NonRetryableError(err)
347358
}
348-
349-
log.Printf("[DEBUG] Current state of persistent volume: %#v", out.Status.Phase)
359+
statusMessage := fmt.Sprintf("%v", out.Status.Message)
360+
if statusMessage == "" {
361+
log.Printf("[DEBUG] Current state of persistent volume: %#v", out.Status.Phase)
362+
} else {
363+
log.Printf("[DEBUG] Current state of persistent volume: %#v, message received: %#v", out.Status.Phase, out.Status.Message)
364+
}
365+
if out.Status.LastPhaseTransitionTime != nil {
366+
log.Printf("[DEBUG] Persistent volume last phrase transition time: %v", out.Status.LastPhaseTransitionTime)
367+
}
350368
e := fmt.Errorf("Persistent volume %s still exists (%s)", name, out.Status.Phase)
351369
return retry.RetryableError(e)
352370
})
@@ -368,12 +386,15 @@ func resourceKubernetesPersistentVolumeV1Exists(ctx context.Context, d *schema.R
368386

369387
name := d.Id()
370388
log.Printf("[INFO] Checking persistent volume %s", name)
371-
_, err = conn.CoreV1().PersistentVolumes().Get(ctx, name, metav1.GetOptions{})
389+
out, err := conn.CoreV1().PersistentVolumes().Get(ctx, name, metav1.GetOptions{})
372390
if err != nil {
373391
if k8serrors.IsNotFound(err) {
374392
return false, nil
375393
}
376394
log.Printf("[DEBUG] Received error: %#v", err)
377395
}
396+
if out.Status.LastPhaseTransitionTime != nil {
397+
log.Printf("[DEBUG] Persistent volume last phrase transition time: %v", out.Status.LastPhaseTransitionTime)
398+
}
378399
return true, err
379400
}

0 commit comments

Comments
 (0)