Skip to content

Commit cc3ec40

Browse files
author
Jeff McCormick
committed
fix bug where cluster pvc is present from a previous cluster with the samename but the pvc remains
1 parent 69f7dda commit cc3ec40

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

apiserver/failoverservice/failoverimpl.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ func CreateFailover(request *msgs.CreateFailoverRequest) msgs.CreateFailoverResp
7171
spec.Parameters[request.ClusterName] = request.ClusterName
7272
labels := make(map[string]string)
7373
labels["target"] = request.Target
74+
labels["pg-cluster"] = request.ClusterName
7475

7576
newInstance := &crv1.Pgtask{
7677
ObjectMeta: meta_v1.ObjectMeta{

operator/cluster/cluster.go

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,20 @@ func AddClusterBase(clientset *kubernetes.Clientset, client *rest.RESTClient, cl
100100
return
101101
}
102102

103-
pvcName, err := pvc.CreatePVC(clientset, &cl.Spec.PrimaryStorage, cl.Spec.Name, cl.Spec.Name, namespace)
104-
if err != nil {
105-
log.Error(err)
106-
return
103+
var pvcName string
104+
105+
_, found, err := kubeapi.GetPVC(clientset, cl.Spec.Name, namespace)
106+
if found {
107+
log.Debugf("pvc [%s] already present from previous cluster with this same name, will not recreate\n", cl.Spec.Name)
108+
pvcName = cl.Spec.Name
109+
} else {
110+
pvcName, err = pvc.CreatePVC(clientset, &cl.Spec.PrimaryStorage, cl.Spec.Name, cl.Spec.Name, namespace)
111+
if err != nil {
112+
log.Error(err)
113+
return
114+
}
115+
log.Debug("created primary pvc [" + pvcName + "]")
107116
}
108-
log.Debug("created primary pvc [" + pvcName + "]")
109117

110118
if cl.Spec.UserLabels["archive"] == "true" {
111119
_, err := pvc.CreatePVC(clientset, &cl.Spec.PrimaryStorage, cl.Spec.Name+"-xlog", cl.Spec.Name, namespace)

0 commit comments

Comments
 (0)