@@ -101,7 +101,11 @@ func ReconfigurePgpoolFromTask(clientset *kubernetes.Clientset, restclient *rest
101101 }
102102
103103 //create the pgpool but leave the existing service in place
104- AddPgpool (clientset , & pgcluster , namespace , false )
104+ err = AddPgpool (clientset , & pgcluster , namespace , false )
105+ if err != nil {
106+ log .Error (err )
107+ return
108+ }
105109
106110 //remove task to cleanup
107111 err = kubeapi .Deletepgtask (restclient , task .Spec .Name , namespace )
@@ -131,7 +135,11 @@ func AddPgpoolFromTask(clientset *kubernetes.Clientset, restclient *rest.RESTCli
131135 pgcluster .Spec .UserLabels [util .LABEL_PGPOOL_SECRET ] = userSpecifiedSecret
132136 log .Debugf ("user specified pgpool-secret %s is being used for this pgpool" , userSpecifiedSecret )
133137 }
134- AddPgpool (clientset , & pgcluster , namespace , true )
138+ err = AddPgpool (clientset , & pgcluster , namespace , true )
139+ if err != nil {
140+ log .Error (err )
141+ return
142+ }
135143
136144 //remove task
137145 err = kubeapi .Deletepgtask (restclient , task .Spec .Name , namespace )
@@ -199,7 +207,7 @@ func DeletePgpoolFromTask(clientset *kubernetes.Clientset, restclient *rest.REST
199207}
200208
201209// ProcessPgpool ...
202- func AddPgpool (clientset * kubernetes.Clientset , cl * crv1.Pgcluster , namespace string , createService bool ) {
210+ func AddPgpool (clientset * kubernetes.Clientset , cl * crv1.Pgcluster , namespace string , createService bool ) error {
203211 var doc bytes.Buffer
204212 var err error
205213
@@ -213,10 +221,11 @@ func AddPgpool(clientset *kubernetes.Clientset, cl *crv1.Pgcluster, namespace st
213221 } else {
214222 //generate a secret for pgpool using the testuser credential
215223 secretName = cl .Spec .Name + "-" + util .LABEL_PGPOOL_SECRET
224+
216225 err = CreatePgpoolSecret (clientset , primaryName , replicaName , primaryName , secretName , namespace )
217226 if err != nil {
218227 log .Error (err )
219- return
228+ return err
220229 }
221230 log .Debug ("pgpool secret created" )
222231 }
@@ -241,7 +250,7 @@ func AddPgpool(clientset *kubernetes.Clientset, cl *crv1.Pgcluster, namespace st
241250 tmp , err := operator .Pgo .GetContainerResource (operator .Pgo .DefaultPgpoolResources )
242251 if err != nil {
243252 log .Error (err )
244- return
253+ return err
245254 }
246255 fields .ContainerResources = operator .GetContainerResourcesJSON (& tmp )
247256
@@ -250,7 +259,7 @@ func AddPgpool(clientset *kubernetes.Clientset, cl *crv1.Pgcluster, namespace st
250259 err = operator .PgpoolTemplate .Execute (& doc , fields )
251260 if err != nil {
252261 log .Error (err )
253- return
262+ return err
254263 }
255264
256265 if operator .CRUNCHY_DEBUG {
@@ -261,13 +270,13 @@ func AddPgpool(clientset *kubernetes.Clientset, cl *crv1.Pgcluster, namespace st
261270 err = json .Unmarshal (doc .Bytes (), & deployment )
262271 if err != nil {
263272 log .Error ("error unmarshalling pgpool json into Deployment " + err .Error ())
264- return
273+ return err
265274 }
266275
267276 err = kubeapi .CreateDeployment (clientset , & deployment , namespace )
268277 if err != nil {
269278 log .Error ("error creating pgpool Deployment " + err .Error ())
270- return
279+ return err
271280 }
272281
273282 if createService {
@@ -281,9 +290,10 @@ func AddPgpool(clientset *kubernetes.Clientset, cl *crv1.Pgcluster, namespace st
281290 err = CreateService (clientset , & svcFields , namespace )
282291 if err != nil {
283292 log .Error (err )
284- return
293+ return err
285294 }
286295 }
296+ return err
287297}
288298
289299// DeletePgpool
@@ -302,10 +312,15 @@ func DeletePgpool(clientset *kubernetes.Clientset, clusterName, namespace string
302312// CreatePgpoolSecret create a secret used by pgpool
303313func CreatePgpoolSecret (clientset * kubernetes.Clientset , primary , replica , db , secretName , namespace string ) error {
304314
305- var err error
306315 var username , password string
307316 var pgpoolHBABytes , pgpoolConfBytes , pgpoolPasswdBytes []byte
308317
318+ _ , found , err := kubeapi .GetSecret (clientset , secretName , namespace )
319+ if found {
320+ log .Debugf ("pgpool secret %s already present, will reuse" , secretName )
321+ return err
322+ }
323+
309324 pgpoolHBABytes , err = getPgpoolHBA ()
310325 if err != nil {
311326 log .Error (err )
0 commit comments