From: Eric Bollengier Date: Wed, 19 Jul 2023 15:29:23 +0000 (+0200) Subject: k8s: Fix clusterIP when we restore a headless service. X-Git-Tag: Beta-15.0.0~157 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac9a05574826783ff3a07ce5c80ff4b18e511b02;p=thirdparty%2Fbacula.git k8s: Fix clusterIP when we restore a headless service. --- diff --git a/bacula/src/plugins/fd/kubernetes-backend/baculak8s/plugins/k8sbackend/service.py b/bacula/src/plugins/fd/kubernetes-backend/baculak8s/plugins/k8sbackend/service.py index 8e59d1ee8..955ad05aa 100644 --- a/bacula/src/plugins/fd/kubernetes-backend/baculak8s/plugins/k8sbackend/service.py +++ b/bacula/src/plugins/fd/kubernetes-backend/baculak8s/plugins/k8sbackend/service.py @@ -58,11 +58,14 @@ def services_restore_namespaced(corev1api, file_info, file_content): spec=srv.spec, metadata=metadata ) - # clean some data - services.spec.cluster_ip = None - # When libraries were upgraded to kubernetes 26, this change was needed. - if services.spec.cluster_i_ps: - services.spec.cluster_i_ps = None + # If it is headless service, we need put 'None' in cluster_ip. + # In other case, we need put None to assign another IP in cluster. + if services.spec.cluster_ip != 'None': + # clean some data + services.spec.cluster_ip = None + # When libraries were upgraded to kubernetes 26, this change was needed. + if services.spec.cluster_i_ps: + services.spec.cluster_i_ps = None if file_info.objcache is not None: # object exist so we replace it response = corev1api.replace_namespaced_service(k8sfile2objname(file_info.name),