@@ -101,7 +101,7 @@ func ReconfigurePgbouncerFromTask(clientset *kubernetes.Clientset, restclient *r
101101 }
102102
103103 //create the pgbouncer but leave the existing service in place
104- AddPgbouncer (clientset , & pgcluster , namespace , false )
104+ err = AddPgbouncer (clientset , & pgcluster , namespace , false )
105105
106106 //remove task to cleanup
107107 err = kubeapi .Deletepgtask (restclient , task .Spec .Name , namespace )
@@ -125,7 +125,11 @@ func AddPgbouncerFromTask(clientset *kubernetes.Clientset, restclient *rest.REST
125125 log .Error (err )
126126 return
127127 }
128- AddPgbouncer (clientset , & pgcluster , namespace , true )
128+ err = AddPgbouncer (clientset , & pgcluster , namespace , true )
129+ if err != nil {
130+ log .Error (err )
131+ return
132+ }
129133
130134 //remove task
131135 err = kubeapi .Deletepgtask (restclient , task .Spec .Name , namespace )
@@ -193,7 +197,7 @@ func DeletePgbouncerFromTask(clientset *kubernetes.Clientset, restclient *rest.R
193197}
194198
195199// ProcessPgbouncer ...
196- func AddPgbouncer (clientset * kubernetes.Clientset , cl * crv1.Pgcluster , namespace string , createService bool ) {
200+ func AddPgbouncer (clientset * kubernetes.Clientset , cl * crv1.Pgcluster , namespace string , createService bool ) error {
197201 var doc bytes.Buffer
198202 var err error
199203
@@ -204,7 +208,7 @@ func AddPgbouncer(clientset *kubernetes.Clientset, cl *crv1.Pgcluster, namespace
204208 err = CreatePgbouncerSecret (clientset , primaryName , replicaName , primaryName , secretName , namespace )
205209 if err != nil {
206210 log .Error (err )
207- return
211+ return err
208212 }
209213 log .Debug ("pgbouncer secret created" )
210214
@@ -227,7 +231,7 @@ func AddPgbouncer(clientset *kubernetes.Clientset, cl *crv1.Pgcluster, namespace
227231 tmp , err := operator .Pgo .GetContainerResource (operator .Pgo .DefaultPgbouncerResources )
228232 if err != nil {
229233 log .Error (err )
230- return
234+ return err
231235 }
232236 fields .ContainerResources = operator .GetContainerResourcesJSON (& tmp )
233237
@@ -236,7 +240,7 @@ func AddPgbouncer(clientset *kubernetes.Clientset, cl *crv1.Pgcluster, namespace
236240 err = operator .PgbouncerTemplate .Execute (& doc , fields )
237241 if err != nil {
238242 log .Error (err )
239- return
243+ return err
240244 }
241245
242246 if operator .CRUNCHY_DEBUG {
@@ -247,13 +251,13 @@ func AddPgbouncer(clientset *kubernetes.Clientset, cl *crv1.Pgcluster, namespace
247251 err = json .Unmarshal (doc .Bytes (), & deployment )
248252 if err != nil {
249253 log .Error ("error unmarshalling pgbouncer json into Deployment " + err .Error ())
250- return
254+ return err
251255 }
252256
253257 err = kubeapi .CreateDeployment (clientset , & deployment , namespace )
254258 if err != nil {
255259 log .Error ("error creating pgbouncer Deployment " + err .Error ())
256- return
260+ return err
257261 }
258262
259263 if createService {
@@ -267,9 +271,11 @@ func AddPgbouncer(clientset *kubernetes.Clientset, cl *crv1.Pgcluster, namespace
267271 err = CreateService (clientset , & svcFields , namespace )
268272 if err != nil {
269273 log .Error (err )
270- return
274+ return err
271275 }
272276 }
277+
278+ return err
273279}
274280
275281// DeletePgbouncer
@@ -292,6 +298,12 @@ func CreatePgbouncerSecret(clientset *kubernetes.Clientset, primary, replica, db
292298 var username , password string
293299 var pgbouncerHBABytes , pgbouncerConfBytes , pgbouncerPasswdBytes []byte
294300
301+ _ , found , err := kubeapi .GetSecret (clientset , secretName , namespace )
302+ if found {
303+ log .Debugf ("pgbouncer secret %s already present, will reuse" , secretName )
304+ return err
305+ }
306+
295307 pgbouncerHBABytes , err = getPgbouncerHBA ()
296308 if err != nil {
297309 log .Error (err )
0 commit comments