1
0
Fork 0
mirror of https://github.com/prometheus-operator/prometheus-operator.git synced 2025-04-21 11:48:53 +00:00

add ownerReferences to created Service object

This commit is contained in:
alecmerdler 2018-09-27 11:59:18 -04:00
parent 741df79979
commit 8b1c045c73
3 changed files with 30 additions and 0 deletions
pkg
alertmanager
k8sutil
prometheus

View file

@ -146,6 +146,14 @@ func makeStatefulSetService(p *monitoringv1.Alertmanager, config Config) *v1.Ser
Labels: config.Labels.Merge(map[string]string{
"operated-alertmanager": "true",
}),
OwnerReferences: []metav1.OwnerReference{
metav1.OwnerReference{
Name: p.GetName(),
Kind: p.Kind,
APIVersion: p.APIVersion,
UID: p.GetUID(),
},
},
},
Spec: v1.ServiceSpec{
ClusterIP: "None",

View file

@ -133,6 +133,7 @@ func CreateOrUpdateService(sclient clientv1.ServiceInterface, svc *v1.Service) e
}
} else {
svc.ResourceVersion = service.ResourceVersion
svc.SetOwnerReferences(mergeOwnerReferences(service.GetOwnerReferences(), svc.GetOwnerReferences()))
_, err := sclient.Update(svc)
if err != nil && !apierrors.IsNotFound(err) {
return errors.Wrap(err, "updating service object failed")
@ -203,3 +204,16 @@ func SanitizeVolumeName(name string) string {
}
return strings.Trim(name, "-")
}
func mergeOwnerReferences(old []metav1.OwnerReference, new []metav1.OwnerReference) []metav1.OwnerReference {
existing := make(map[metav1.OwnerReference]bool)
for _, ownerRef := range old {
existing[ownerRef] = true
}
for _, ownerRef := range new {
if _, ok := existing[ownerRef]; !ok {
old = append(old, ownerRef)
}
}
return old
}

View file

@ -254,6 +254,14 @@ func makeStatefulSetService(p *monitoringv1.Prometheus, config Config) *v1.Servi
svc := &v1.Service{
ObjectMeta: metav1.ObjectMeta{
Name: governingServiceName,
OwnerReferences: []metav1.OwnerReference{
metav1.OwnerReference{
Name: p.GetName(),
Kind: p.Kind,
APIVersion: p.APIVersion,
UID: p.GetUID(),
},
},
Labels: config.Labels.Merge(map[string]string{
"operated-prometheus": "true",
}),