mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-09-30 19:31:23 +02:00
Delete persistent volumes on deletion of the cluster.
This commit is contained in:
committed by
Murat Kabilov
parent
caa0eab19b
commit
033c28f03a
@@ -258,6 +258,10 @@ func (c *Cluster) Delete() error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("Can't delete pods: %s", err)
|
||||
}
|
||||
err = c.deletePersistenVolumeClaims()
|
||||
if err != nil {
|
||||
return fmt.Errorf("Can't delete PersistentVolumeClains: %s", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -41,6 +41,33 @@ func (c *Cluster) deletePods() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Cluster) listPersistentVolumeClaims() ([]v1.PersistentVolumeClaim, error) {
|
||||
ns := c.Metadata.Namespace
|
||||
listOptions := v1.ListOptions{
|
||||
LabelSelector: c.labelsSet().String(),
|
||||
}
|
||||
|
||||
pvcs, err := c.config.KubeClient.PersistentVolumeClaims(ns).List(listOptions)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Can't get list of PersistentVolumeClaims: %s", err)
|
||||
}
|
||||
return pvcs.Items, nil
|
||||
}
|
||||
|
||||
func (c *Cluster) deletePersistenVolumeClaims() error {
|
||||
ns := c.Metadata.Namespace
|
||||
pvcs, err := c.listPersistentVolumeClaims()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, pvc := range pvcs {
|
||||
if err := c.config.KubeClient.PersistentVolumeClaims(ns).Delete(pvc.Name, deleteOptions); err != nil {
|
||||
c.logger.Warningf("Can't delete PersistentVolumeClaim: %s", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Cluster) deletePod(pod *v1.Pod) error {
|
||||
podName := spec.PodName{
|
||||
Namespace: pod.Namespace,
|
||||
|
||||
Reference in New Issue
Block a user