Skip to content

Commit 68357b2

Browse files
Merge pull request #1215 from averdagu/feat/use-lib-common-dns-getter
Use dns cluster info from lib common get function
2 parents 559ee7c + 995b36f commit 68357b2

9 files changed

Lines changed: 41 additions & 24 deletions

File tree

pkg/openstack/common.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
ironicv1 "github.com/openstack-k8s-operators/ironic-operator/api/v1beta1"
2020
keystonev1 "github.com/openstack-k8s-operators/keystone-operator/api/v1beta1"
2121
"github.com/openstack-k8s-operators/lib-common/modules/certmanager"
22+
"github.com/openstack-k8s-operators/lib-common/modules/common/clusterdns"
2223
"github.com/openstack-k8s-operators/lib-common/modules/common/condition"
2324
"github.com/openstack-k8s-operators/lib-common/modules/common/helper"
2425
"github.com/openstack-k8s-operators/lib-common/modules/common/route"
@@ -58,9 +59,6 @@ const (
5859
// overrides
5960
ooAppSelector = "osctlplane-service"
6061

61-
// ClusterInternalDomain - cluster internal dns domain
62-
ClusterInternalDomain = "cluster.local"
63-
6462
// serviceCertSelector selector passed to cert-manager to set on the service cert secret
6563
serviceCertSelector = "service-cert"
6664

@@ -209,6 +207,7 @@ func EnsureEndpointConfig(
209207
endpoints := Endpoints{
210208
EndpointDetails: map[service.Endpoint]EndpointDetail{},
211209
}
210+
clusterDomain := clusterdns.GetDNSClusterDomain()
212211

213212
for _, svc := range svcs.Items {
214213
ed := EndpointDetail{
@@ -316,7 +315,7 @@ func EnsureEndpointConfig(
316315
CertName: ed.Service.TLS.CertName,
317316
Hostnames: []string{
318317
fmt.Sprintf("%s.%s.svc", ed.Name, instance.Namespace),
319-
fmt.Sprintf("%s.%s.svc.%s", ed.Name, instance.Namespace, ClusterInternalDomain),
318+
fmt.Sprintf("%s.%s.svc.%s", ed.Name, instance.Namespace, clusterDomain),
320319
},
321320
Ips: nil,
322321
Annotations: ed.Annotations,
@@ -366,7 +365,7 @@ func EnsureEndpointConfig(
366365
CertName: ed.Service.TLS.CertName,
367366
Hostnames: []string{
368367
fmt.Sprintf("%s.%s.svc", ed.Name, instance.Namespace),
369-
fmt.Sprintf("%s.%s.svc.%s", ed.Name, instance.Namespace, ClusterInternalDomain),
368+
fmt.Sprintf("%s.%s.svc.%s", ed.Name, instance.Namespace, clusterDomain),
370369
},
371370
Ips: nil,
372371
Annotations: ed.Annotations,

pkg/openstack/galera.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77

88
certmgrv1 "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1"
99
"github.com/openstack-k8s-operators/lib-common/modules/certmanager"
10+
"github.com/openstack-k8s-operators/lib-common/modules/common/clusterdns"
1011
"github.com/openstack-k8s-operators/lib-common/modules/common/condition"
1112
"github.com/openstack-k8s-operators/lib-common/modules/common/helper"
1213
mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1"
@@ -41,6 +42,7 @@ func ReconcileGaleras(
4142

4243
var failures = []string{}
4344
var inprogress = []string{}
45+
clusterDomain := clusterdns.GetDNSClusterDomain()
4446

4547
if instance.Spec.Galera.Templates == nil {
4648
instance.Spec.Galera.Templates = ptr.To(map[string]mariadbv1.GaleraSpecCore{})
@@ -57,19 +59,19 @@ func ReconcileGaleras(
5759
CertName: fmt.Sprintf("galera-%s-svc", name),
5860
Hostnames: []string{
5961
hostname,
60-
fmt.Sprintf("%s.%s", hostname, ClusterInternalDomain),
62+
fmt.Sprintf("%s.%s", hostname, clusterDomain),
6163
hostnameHeadless,
62-
fmt.Sprintf("%s.%s", hostnameHeadless, ClusterInternalDomain),
64+
fmt.Sprintf("%s.%s", hostnameHeadless, clusterDomain),
6365
fmt.Sprintf("*.%s", hostnameHeadless),
64-
fmt.Sprintf("*.%s.%s", hostnameHeadless, ClusterInternalDomain),
66+
fmt.Sprintf("*.%s.%s", hostnameHeadless, clusterDomain),
6567
},
6668
// Note (dciabrin) from https://github.com/openstack-k8s-operators/openstack-operator/pull/678#issuecomment-1952459166
6769
// the certificate created for galera should populate the 'organization' field,
6870
// otherwise this trip the SST transfer setup done by wsrep_sst_rsync. This will not show
6971
// at the initial deployment because there is no SST involved when the DB is bootstrapped
7072
// as there are no data to be transferred yet.
7173
Subject: &certmgrv1.X509Subject{
72-
Organizations: []string{fmt.Sprintf("%s.%s", instance.Namespace, ClusterInternalDomain)},
74+
Organizations: []string{fmt.Sprintf("%s.%s", instance.Namespace, clusterDomain)},
7375
},
7476
Usages: []certmgrv1.KeyUsage{
7577
"key encipherment",

pkg/openstack/memcached.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77

88
memcachedv1 "github.com/openstack-k8s-operators/infra-operator/apis/memcached/v1beta1"
99
"github.com/openstack-k8s-operators/lib-common/modules/certmanager"
10+
"github.com/openstack-k8s-operators/lib-common/modules/common/clusterdns"
1011
"github.com/openstack-k8s-operators/lib-common/modules/common/condition"
1112
"github.com/openstack-k8s-operators/lib-common/modules/common/helper"
1213
"github.com/openstack-k8s-operators/lib-common/modules/common/tls"
@@ -168,14 +169,15 @@ func reconcileMemcached(
168169
tlsCert := ""
169170
if instance.Spec.TLS.PodLevel.Enabled {
170171
Log.Info("Reconciling Memcached TLS", "Memcached.Namespace", instance.Namespace, "Memcached.Name", name)
172+
clusterDomain := clusterdns.GetDNSClusterDomain()
171173
certRequest := certmanager.CertificateRequest{
172174
IssuerName: instance.GetInternalIssuer(),
173175
CertName: fmt.Sprintf("%s-svc", memcached.Name),
174176
Hostnames: []string{
175177
fmt.Sprintf("%s.%s.svc", name, instance.Namespace),
176178
fmt.Sprintf("*.%s.%s.svc", name, instance.Namespace),
177-
fmt.Sprintf("%s.%s.svc.%s", name, instance.Namespace, ClusterInternalDomain),
178-
fmt.Sprintf("*.%s.%s.svc.%s", name, instance.Namespace, ClusterInternalDomain),
179+
fmt.Sprintf("%s.%s.svc.%s", name, instance.Namespace, clusterDomain),
180+
fmt.Sprintf("*.%s.%s.svc.%s", name, instance.Namespace, clusterDomain),
179181
},
180182
Labels: map[string]string{serviceCertSelector: ""},
181183
}

pkg/openstack/neutron.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
certmgrv1 "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1"
88
"github.com/openstack-k8s-operators/lib-common/modules/certmanager"
9+
"github.com/openstack-k8s-operators/lib-common/modules/common/clusterdns"
910
"github.com/openstack-k8s-operators/lib-common/modules/common/condition"
1011
"github.com/openstack-k8s-operators/lib-common/modules/common/helper"
1112
"github.com/openstack-k8s-operators/lib-common/modules/common/service"
@@ -68,13 +69,14 @@ func ReconcileNeutron(ctx context.Context, instance *corev1beta1.OpenStackContro
6869
instance.Spec.Neutron.Template.TLS = neutronAPI.Spec.TLS
6970

7071
serviceName := "neutron"
72+
clusterDomain := clusterdns.GetDNSClusterDomain()
7173
// create ovndb client certificate for neutron
7274
certRequest := certmanager.CertificateRequest{
7375
IssuerName: instance.GetOvnIssuer(),
7476
CertName: fmt.Sprintf("%s-ovndbs", serviceName),
7577
Hostnames: []string{
7678
fmt.Sprintf("%s.%s.svc", serviceName, instance.Namespace),
77-
fmt.Sprintf("%s.%s.svc.%s", serviceName, instance.Namespace, "cluster.local"),
79+
fmt.Sprintf("%s.%s.svc.%s", serviceName, instance.Namespace, clusterDomain),
7880
},
7981
Ips: nil,
8082
Usages: []certmgrv1.KeyUsage{

pkg/openstack/nova.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"fmt"
2222

2323
"github.com/openstack-k8s-operators/lib-common/modules/certmanager"
24+
"github.com/openstack-k8s-operators/lib-common/modules/common/clusterdns"
2425
"github.com/openstack-k8s-operators/lib-common/modules/common/condition"
2526
"github.com/openstack-k8s-operators/lib-common/modules/common/helper"
2627
"github.com/openstack-k8s-operators/lib-common/modules/common/service"
@@ -273,6 +274,7 @@ func ReconcileNova(ctx context.Context, instance *corev1beta1.OpenStackControlPl
273274

274275
// create novncproxy vencrypt cert
275276
if instance.Spec.TLS.PodLevel.Enabled {
277+
clusterDomain := clusterdns.GetDNSClusterDomain()
276278
serviceName := endpointDetails.EndpointDetails[service.EndpointPublic].Service.Spec.Name
277279
hostname := fmt.Sprintf("%s.%s.svc", serviceName, instance.Namespace)
278280
certRequest := certmanager.CertificateRequest{
@@ -281,10 +283,10 @@ func ReconcileNova(ctx context.Context, instance *corev1beta1.OpenStackControlPl
281283
CommonName: ptr.To(serviceName), // common name has a max length of 64bytes, therefore just set the short name
282284
Hostnames: []string{
283285
hostname,
284-
fmt.Sprintf("%s.%s", hostname, ClusterInternalDomain),
286+
fmt.Sprintf("%s.%s", hostname, clusterDomain),
285287
},
286288
Subject: &certmgrv1.X509Subject{
287-
Organizations: []string{fmt.Sprintf("%s.%s", instance.Namespace, ClusterInternalDomain)},
289+
Organizations: []string{fmt.Sprintf("%s.%s", instance.Namespace, clusterDomain)},
288290
},
289291
Usages: []certmgrv1.KeyUsage{
290292
certmgrv1.UsageKeyEncipherment,

pkg/openstack/octavia.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222

2323
certmgrv1 "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1"
2424
"github.com/openstack-k8s-operators/lib-common/modules/certmanager"
25+
"github.com/openstack-k8s-operators/lib-common/modules/common/clusterdns"
2526
"github.com/openstack-k8s-operators/lib-common/modules/common/condition"
2627
"github.com/openstack-k8s-operators/lib-common/modules/common/helper"
2728
"github.com/openstack-k8s-operators/lib-common/modules/common/service"
@@ -81,6 +82,7 @@ func ReconcileOctavia(ctx context.Context, instance *corev1beta1.OpenStackContro
8182

8283
// preserve any previously set TLS certs, set CA cert
8384
if instance.Spec.TLS.PodLevel.Enabled {
85+
clusterDomain := clusterdns.GetDNSClusterDomain()
8486
instance.Spec.Octavia.Template.OctaviaAPI.TLS = octavia.Spec.OctaviaAPI.TLS
8587

8688
serviceName := "octavia"
@@ -90,7 +92,7 @@ func ReconcileOctavia(ctx context.Context, instance *corev1beta1.OpenStackContro
9092
CertName: fmt.Sprintf("%s-ovndbs", serviceName),
9193
Hostnames: []string{
9294
fmt.Sprintf("%s.%s.svc", serviceName, instance.Namespace),
93-
fmt.Sprintf("%s.%s.svc.%s", serviceName, instance.Namespace, ClusterInternalDomain),
95+
fmt.Sprintf("%s.%s.svc.%s", serviceName, instance.Namespace, clusterDomain),
9496
},
9597
Ips: nil,
9698
Usages: []certmgrv1.KeyUsage{

pkg/openstack/ovn.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"fmt"
66

77
"github.com/openstack-k8s-operators/lib-common/modules/certmanager"
8+
"github.com/openstack-k8s-operators/lib-common/modules/common/clusterdns"
89
"github.com/openstack-k8s-operators/lib-common/modules/common/condition"
910
"github.com/openstack-k8s-operators/lib-common/modules/common/helper"
1011

@@ -73,6 +74,7 @@ func ReconcileOVN(ctx context.Context, instance *corev1beta1.OpenStackControlPla
7374

7475
func ReconcileOVNDbClusters(ctx context.Context, instance *corev1beta1.OpenStackControlPlane, version *corev1beta1.OpenStackVersion, helper *helper.Helper) (bool, error) {
7576
Log := GetLogger(ctx)
77+
dnsSuffix := clusterdns.GetDNSClusterDomain()
7678

7779
OVNDBClustersReady := len(instance.Spec.Ovn.Template.OVNDBCluster) != 0
7880
for name, dbcluster := range instance.Spec.Ovn.Template.OVNDBCluster {
@@ -111,7 +113,7 @@ func ReconcileOVNDbClusters(ctx context.Context, instance *corev1beta1.OpenStack
111113
// Cert needs to be valid for the individual pods in the statefulset so make this a wildcard cert
112114
Hostnames: []string{
113115
fmt.Sprintf("*.%s.svc", instance.Namespace),
114-
fmt.Sprintf("*.%s.svc.%s", instance.Namespace, ovnv1.DNSSuffix),
116+
fmt.Sprintf("*.%s.svc.%s", instance.Namespace, dnsSuffix),
115117
},
116118
Ips: nil,
117119
Usages: []certmgrv1.KeyUsage{
@@ -217,6 +219,7 @@ func ReconcileOVNNorthd(ctx context.Context, instance *corev1beta1.OpenStackCont
217219
}
218220
if instance.Spec.TLS.PodLevel.Enabled {
219221
ovnNorthdSpec.TLS = OVNNorthd.Spec.TLS
222+
dnsSuffix := clusterdns.GetDNSClusterDomain()
220223

221224
serviceName := ovnv1.ServiceNameOvnNorthd
222225
// create certificate for ovnnorthd
@@ -225,7 +228,7 @@ func ReconcileOVNNorthd(ctx context.Context, instance *corev1beta1.OpenStackCont
225228
CertName: fmt.Sprintf("%s-ovndbs", "ovnnorthd"),
226229
Hostnames: []string{
227230
fmt.Sprintf("%s.%s.svc", serviceName, instance.Namespace),
228-
fmt.Sprintf("%s.%s.svc.%s", serviceName, instance.Namespace, ovnv1.DNSSuffix),
231+
fmt.Sprintf("%s.%s.svc.%s", serviceName, instance.Namespace, dnsSuffix),
229232
},
230233
Ips: nil,
231234
Usages: []certmgrv1.KeyUsage{
@@ -338,6 +341,7 @@ func ReconcileOVNController(ctx context.Context, instance *corev1beta1.OpenStack
338341
}
339342
}
340343
if instance.Spec.TLS.PodLevel.Enabled {
344+
dnsSuffix := clusterdns.GetDNSClusterDomain()
341345
ovnControllerSpec.TLS = OVNController.Spec.TLS
342346

343347
serviceName := ovnv1.ServiceNameOvnController
@@ -347,7 +351,7 @@ func ReconcileOVNController(ctx context.Context, instance *corev1beta1.OpenStack
347351
CertName: fmt.Sprintf("%s-ovndbs", "ovncontroller"),
348352
Hostnames: []string{
349353
fmt.Sprintf("%s.%s.svc", serviceName, instance.Namespace),
350-
fmt.Sprintf("%s.%s.svc.%s", serviceName, instance.Namespace, ovnv1.DNSSuffix),
354+
fmt.Sprintf("%s.%s.svc.%s", serviceName, instance.Namespace, dnsSuffix),
351355
},
352356
Ips: nil,
353357
Usages: []certmgrv1.KeyUsage{

pkg/openstack/rabbitmq.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
certmgrv1 "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1"
99
networkv1 "github.com/openstack-k8s-operators/infra-operator/apis/network/v1beta1"
1010
"github.com/openstack-k8s-operators/lib-common/modules/certmanager"
11+
"github.com/openstack-k8s-operators/lib-common/modules/common/clusterdns"
1112
condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition"
1213
"github.com/openstack-k8s-operators/lib-common/modules/common/configmap"
1314
"github.com/openstack-k8s-operators/lib-common/modules/common/helper"
@@ -259,13 +260,14 @@ func reconcileRabbitMQ(
259260
},
260261
}
261262

263+
clusterDomain := clusterdns.GetDNSClusterDomain()
262264
hostname := fmt.Sprintf("%s.%s.svc", name, instance.Namespace)
263265
hostnameHeadless := fmt.Sprintf("%s-nodes.%s.svc", name, instance.Namespace)
264266
hostnames := []string{
265267
hostname,
266-
fmt.Sprintf("%s.%s", hostname, ClusterInternalDomain),
268+
fmt.Sprintf("%s.%s", hostname, clusterDomain),
267269
hostnameHeadless,
268-
fmt.Sprintf("%s.%s", hostnameHeadless, ClusterInternalDomain),
270+
fmt.Sprintf("%s.%s", hostnameHeadless, clusterDomain),
269271
}
270272
for i := 0; i < int(*spec.Replicas); i++ {
271273
hostnames = append(hostnames, fmt.Sprintf("%s-server-%d.%s-nodes.%s", name, i, name, instance.Namespace))
@@ -278,7 +280,7 @@ func reconcileRabbitMQ(
278280
CertName: fmt.Sprintf("%s-svc", rabbitmq.Name),
279281
Hostnames: hostnames,
280282
Subject: &certmgrv1.X509Subject{
281-
Organizations: []string{fmt.Sprintf("%s.%s", rabbitmq.Namespace, ClusterInternalDomain)},
283+
Organizations: []string{fmt.Sprintf("%s.%s", rabbitmq.Namespace, clusterDomain)},
282284
},
283285
Usages: []certmgrv1.KeyUsage{
284286
certmgrv1.UsageKeyEncipherment,

pkg/openstack/redis.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
certmgrv1 "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1"
99
redisv1 "github.com/openstack-k8s-operators/infra-operator/apis/redis/v1beta1"
1010
"github.com/openstack-k8s-operators/lib-common/modules/certmanager"
11+
"github.com/openstack-k8s-operators/lib-common/modules/common/clusterdns"
1112
"github.com/openstack-k8s-operators/lib-common/modules/common/condition"
1213
"github.com/openstack-k8s-operators/lib-common/modules/common/helper"
1314
"github.com/openstack-k8s-operators/lib-common/modules/common/tls"
@@ -180,17 +181,18 @@ func reconcileRedis(
180181

181182
tlsCert := ""
182183
if instance.Spec.TLS.PodLevel.Enabled {
184+
clusterDomain := clusterdns.GetDNSClusterDomain()
183185
certRequest := certmanager.CertificateRequest{
184186
IssuerName: instance.GetInternalIssuer(),
185187
CertName: fmt.Sprintf("%s-svc", redis.Name),
186188
Hostnames: []string{
187189
fmt.Sprintf("redis-%s.%s.svc", name, instance.Namespace),
188190
fmt.Sprintf("*.redis-%s.%s.svc", name, instance.Namespace),
189-
fmt.Sprintf("redis-%s.%s.svc.%s", name, instance.Namespace, ClusterInternalDomain),
190-
fmt.Sprintf("*.redis-%s.%s.svc.%s", name, instance.Namespace, ClusterInternalDomain),
191+
fmt.Sprintf("redis-%s.%s.svc.%s", name, instance.Namespace, clusterDomain),
192+
fmt.Sprintf("*.redis-%s.%s.svc.%s", name, instance.Namespace, clusterDomain),
191193
},
192194
Subject: &certmgrv1.X509Subject{
193-
Organizations: []string{fmt.Sprintf("%s.%s", instance.Namespace, ClusterInternalDomain)},
195+
Organizations: []string{fmt.Sprintf("%s.%s", instance.Namespace, clusterDomain)},
194196
},
195197
Usages: []certmgrv1.KeyUsage{
196198
"key encipherment",

0 commit comments

Comments
 (0)