fix: remove headless service config when deleting cluster (#567)
see: https://github.com/zalando/postgres-operator/issues/566 Signed-off-by: Stephane Tang <hi@stang.sh>
This commit is contained in:
parent
f3e1e80aaf
commit
1f4267eb05
|
|
@ -1004,8 +1004,8 @@ func (c *Cluster) deletePatroniClusterObjects() error {
|
||||||
if !c.patroniUsesKubernetes() {
|
if !c.patroniUsesKubernetes() {
|
||||||
c.logger.Infof("not cleaning up Etcd Patroni objects on cluster delete")
|
c.logger.Infof("not cleaning up Etcd Patroni objects on cluster delete")
|
||||||
}
|
}
|
||||||
c.logger.Debugf("removing leftover Patroni objects (endpoints or configmaps)")
|
c.logger.Debugf("removing leftover Patroni objects (endpoints, services and configmaps)")
|
||||||
for _, deleter := range []simpleActionWithResult{c.deletePatroniClusterEndpoints, c.deletePatroniClusterConfigMaps} {
|
for _, deleter := range []simpleActionWithResult{c.deletePatroniClusterEndpoints, c.deletePatroniClusterServices, c.deletePatroniClusterConfigMaps} {
|
||||||
if err := deleter(); err != nil {
|
if err := deleter(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
@ -1037,6 +1037,19 @@ func (c *Cluster) deleteClusterObject(
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Cluster) deletePatroniClusterServices() error {
|
||||||
|
get := func(name string) (spec.NamespacedName, error) {
|
||||||
|
svc, err := c.KubeClient.Services(c.Namespace).Get(name, metav1.GetOptions{})
|
||||||
|
return util.NameFromMeta(svc.ObjectMeta), err
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteServiceFn := func(name string) error {
|
||||||
|
return c.KubeClient.Services(c.Namespace).Delete(name, c.deleteOptions)
|
||||||
|
}
|
||||||
|
|
||||||
|
return c.deleteClusterObject(get, deleteServiceFn, "service")
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Cluster) deletePatroniClusterEndpoints() error {
|
func (c *Cluster) deletePatroniClusterEndpoints() error {
|
||||||
get := func(name string) (spec.NamespacedName, error) {
|
get := func(name string) (spec.NamespacedName, error) {
|
||||||
ep, err := c.KubeClient.Endpoints(c.Namespace).Get(name, metav1.GetOptions{})
|
ep, err := c.KubeClient.Endpoints(c.Namespace).Get(name, metav1.GetOptions{})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue