Cleanup deleteConnectionPooler

This commit is contained in:
Rafia Sabih 2020-10-05 12:06:58 +02:00
parent 86e6a51fa9
commit a6ffdbae36
1 changed files with 28 additions and 32 deletions

View File

@ -180,21 +180,20 @@ func (c *Cluster) deleteConnectionPooler(role PostgresRole) (err error) {
// Clean up the deployment object. If deployment resource we've remembered // Clean up the deployment object. If deployment resource we've remembered
// is somehow empty, try to delete based on what would we generate // is somehow empty, try to delete based on what would we generate
var deploymentName string
var deployment *appsv1.Deployment var deployment *appsv1.Deployment
deployment = c.ConnectionPooler.Deployment[role] deployment = c.ConnectionPooler.Deployment[role]
policy := metav1.DeletePropagationForeground
options := metav1.DeleteOptions{PropagationPolicy: &policy}
if deployment != nil { if deployment != nil {
deploymentName = deployment.Name
}
// set delete propagation policy to foreground, so that replica set will be // set delete propagation policy to foreground, so that replica set will be
// also deleted. // also deleted.
policy := metav1.DeletePropagationForeground
options := metav1.DeleteOptions{PropagationPolicy: &policy}
err = c.KubeClient. err = c.KubeClient.
Deployments(c.Namespace). Deployments(c.Namespace).
Delete(context.TODO(), deploymentName, options) Delete(context.TODO(), c.connectionPoolerName(role), options)
if k8sutil.ResourceNotFound(err) { if k8sutil.ResourceNotFound(err) {
c.logger.Debugf("Connection pooler deployment was already deleted") c.logger.Debugf("Connection pooler deployment was already deleted")
@ -202,21 +201,18 @@ func (c *Cluster) deleteConnectionPooler(role PostgresRole) (err error) {
return fmt.Errorf("could not delete deployment: %v", err) return fmt.Errorf("could not delete deployment: %v", err)
} }
c.logger.Infof("Connection pooler deployment %q has been deleted", deploymentName) c.logger.Infof("Connection pooler deployment %q has been deleted", c.connectionPoolerName(role))
}
// Repeat the same for the service object // Repeat the same for the service object
var service *v1.Service var service *v1.Service
service = c.ConnectionPooler.Service[role] service = c.ConnectionPooler.Service[role]
serviceName := c.connectionPoolerName(role)
if service != nil { if service != nil {
serviceName = service.Name
}
err = c.KubeClient. err = c.KubeClient.
Services(c.Namespace). Services(c.Namespace).
Delete(context.TODO(), serviceName, options) Delete(context.TODO(), c.connectionPoolerName(role), options)
if k8sutil.ResourceNotFound(err) { if k8sutil.ResourceNotFound(err) {
c.logger.Debugf("Connection pooler service was already deleted") c.logger.Debugf("Connection pooler service was already deleted")
@ -224,8 +220,8 @@ func (c *Cluster) deleteConnectionPooler(role PostgresRole) (err error) {
return fmt.Errorf("could not delete service: %v", err) return fmt.Errorf("could not delete service: %v", err)
} }
c.logger.Infof("Connection pooler service %q has been deleted", serviceName) c.logger.Infof("Connection pooler service %q has been deleted", c.connectionPoolerName(role))
}
// Repeat the same for the secret object // Repeat the same for the secret object
secretName := c.credentialSecretName(c.OpConfig.ConnectionPooler.User) secretName := c.credentialSecretName(c.OpConfig.ConnectionPooler.User)