Skip to content

Commit 21a2eb8

Browse files
committed
Reapply "Add mysqld exporter"
FR2 is released, lets put mysqld exporter back, it's planned for FR3. This reverts commit e05ee90.
1 parent c1448df commit 21a2eb8

11 files changed

+71
-0
lines changed

apis/bases/core.openstack.org_openstackcontrolplanes.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17472,6 +17472,8 @@ spec:
1747217472
type: string
1747317473
ceilometerIpmiImage:
1747417474
type: string
17475+
ceilometerMysqldExporterImage:
17476+
type: string
1747517477
ceilometerNotificationImage:
1747617478
type: string
1747717479
ceilometerProxyImage:

apis/bases/core.openstack.org_openstackversions.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ spec:
6464
type: string
6565
ceilometerIpmiImage:
6666
type: string
67+
ceilometerMysqldExporterImage:
68+
type: string
6769
ceilometerNotificationImage:
6870
type: string
6971
ceilometerSgcoreImage:
@@ -281,6 +283,8 @@ spec:
281283
type: string
282284
ceilometerIpmiImage:
283285
type: string
286+
ceilometerMysqldExporterImage:
287+
type: string
284288
ceilometerNotificationImage:
285289
type: string
286290
ceilometerSgcoreImage:
@@ -463,6 +467,8 @@ spec:
463467
type: string
464468
ceilometerIpmiImage:
465469
type: string
470+
ceilometerMysqldExporterImage:
471+
type: string
466472
ceilometerNotificationImage:
467473
type: string
468474
ceilometerProxyImage:

apis/core/v1beta1/openstackversion_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ type ContainerTemplate struct {
8989
CeilometerIpmiImage *string `json:"ceilometerIpmiImage,omitempty"`
9090
CeilometerNotificationImage *string `json:"ceilometerNotificationImage,omitempty"`
9191
CeilometerSgcoreImage *string `json:"ceilometerSgcoreImage,omitempty"`
92+
CeilometerMysqldExporterImage *string `json:"ceilometerMysqldExporterImage,omitempty"`
9293
CinderAPIImage *string `json:"cinderAPIImage,omitempty"`
9394
CinderBackupImage *string `json:"cinderBackupImage,omitempty"`
9495
CinderSchedulerImage *string `json:"cinderSchedulerImage,omitempty"`

apis/core/v1beta1/zz_generated.deepcopy.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/bases/core.openstack.org_openstackcontrolplanes.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17472,6 +17472,8 @@ spec:
1747217472
type: string
1747317473
ceilometerIpmiImage:
1747417474
type: string
17475+
ceilometerMysqldExporterImage:
17476+
type: string
1747517477
ceilometerNotificationImage:
1747617478
type: string
1747717479
ceilometerProxyImage:

config/crd/bases/core.openstack.org_openstackversions.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ spec:
6464
type: string
6565
ceilometerIpmiImage:
6666
type: string
67+
ceilometerMysqldExporterImage:
68+
type: string
6769
ceilometerNotificationImage:
6870
type: string
6971
ceilometerSgcoreImage:
@@ -281,6 +283,8 @@ spec:
281283
type: string
282284
ceilometerIpmiImage:
283285
type: string
286+
ceilometerMysqldExporterImage:
287+
type: string
284288
ceilometerNotificationImage:
285289
type: string
286290
ceilometerSgcoreImage:
@@ -463,6 +467,8 @@ spec:
463467
type: string
464468
ceilometerIpmiImage:
465469
type: string
470+
ceilometerMysqldExporterImage:
471+
type: string
466472
ceilometerNotificationImage:
467473
type: string
468474
ceilometerProxyImage:

config/operator/default_images.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ spec:
3939
value: quay.io/podified-antelope-centos9/openstack-ceilometer-ipmi:current-podified
4040
- name: RELATED_IMAGE_CEILOMETER_NOTIFICATION_IMAGE_URL_DEFAULT
4141
value: quay.io/podified-antelope-centos9/openstack-ceilometer-notification:current-podified
42+
- name: RELATED_IMAGE_CEILOMETER_MYSQLD_EXPORTER_IMAGE_URL_DEFAULT
43+
value: quay.io/prometheus/mysqld-exporter:v0.16.0
4244
- name: RELATED_IMAGE_CEILOMETER_SGCORE_IMAGE_URL_DEFAULT
4345
value: quay.io/openstack-k8s-operators/sg-core:latest
4446
- name: RELATED_IMAGE_KSM_IMAGE_URL_DEFAULT

hack/export_related_images.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export RELATED_IMAGE_CEILOMETER_COMPUTE_IMAGE_URL_DEFAULT=quay.io/podified-antel
3434
export RELATED_IMAGE_CEILOMETER_NOTIFICATION_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-ceilometer-notification:current-podified
3535
export RELATED_IMAGE_CEILOMETER_IPMI_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-ceilometer-ipmi:current-podified
3636
export RELATED_IMAGE_CEILOMETER_SGCORE_IMAGE_URL_DEFAULT=quay.io/openstack-k8s-operators/sg-core:latest
37+
export RELATED_IMAGE_CEILOMETER_MYSQLD_EXPORTER_IMAGE_URL_DEFAULT=quay.io/prometheus/mysqld-exporter:v0.16.0
3738
export RELATED_IMAGE_KSM_IMAGE_URL_DEFAULT=registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.10.0
3839
export RELATED_IMAGE_AODH_API_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-aodh-api:current-podified
3940
export RELATED_IMAGE_AODH_EVALUATOR_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-aodh-evaluator:current-podified

pkg/openstack/telemetry.go

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ func ReconcileTelemetry(ctx context.Context, instance *corev1beta1.OpenStackCont
4747
instance.Status.ContainerImages.CeilometerNotificationImage = nil
4848
instance.Status.ContainerImages.CeilometerSgcoreImage = nil
4949
instance.Status.ContainerImages.CeilometerProxyImage = nil
50+
instance.Status.ContainerImages.CeilometerMysqldExporterImage = nil
5051
instance.Status.ContainerImages.AodhAPIImage = nil
5152
instance.Status.ContainerImages.AodhEvaluatorImage = nil
5253
instance.Status.ContainerImages.AodhNotifierImage = nil
@@ -97,6 +98,7 @@ func ReconcileTelemetry(ctx context.Context, instance *corev1beta1.OpenStackCont
9798
}
9899
instance.Spec.Telemetry.Template.Autoscaling.Aodh.TLS.CaBundleSecretName = instance.Status.TLS.CaBundleSecretName
99100
instance.Spec.Telemetry.Template.Ceilometer.TLS.CaBundleSecretName = instance.Status.TLS.CaBundleSecretName
101+
instance.Spec.Telemetry.Template.Ceilometer.MysqldExporterTLS.CaBundleSecretName = instance.Status.TLS.CaBundleSecretName
100102
instance.Spec.Telemetry.Template.Ceilometer.KSMTLS.CaBundleSecretName = instance.Status.TLS.CaBundleSecretName
101103
instance.Spec.Telemetry.Template.MetricStorage.PrometheusTLS.CaBundleSecretName = instance.Status.TLS.CaBundleSecretName
102104

@@ -148,6 +150,16 @@ func ReconcileTelemetry(ctx context.Context, instance *corev1beta1.OpenStackCont
148150
return ctrl.Result{}, err
149151
}
150152

153+
mysqldExporterSvcs, err := service.GetServicesListWithLabel(
154+
ctx,
155+
helper,
156+
instance.Namespace,
157+
map[string]string{common.AppSelector: "mysqld-exporter"},
158+
)
159+
if err != nil {
160+
return ctrl.Result{}, err
161+
}
162+
151163
// make sure to get to EndpointConfig when all service got created
152164
if len(aodhSvcs.Items) == len(instance.Spec.Telemetry.Template.Autoscaling.Aodh.Override.Service) {
153165
endpointDetails, ctrlResult, err := EnsureEndpointConfig(
@@ -236,6 +248,7 @@ func ReconcileTelemetry(ctx context.Context, instance *corev1beta1.OpenStackCont
236248

237249
if telemetry.Status.Conditions.IsTrue(telemetryv1.CeilometerReadyCondition) {
238250
// NOTE: We don't have svc overrides for ceilometer objects.
251+
// Ceilometer
239252
endpointDetails, ctrlResult, err := EnsureEndpointConfig(
240253
ctx,
241254
instance,
@@ -256,6 +269,29 @@ func ReconcileTelemetry(ctx context.Context, instance *corev1beta1.OpenStackCont
256269
// update TLS settings with cert secret
257270
instance.Spec.Telemetry.Template.Ceilometer.TLS.SecretName = endpointDetails.GetEndptCertSecret(service.EndpointInternal)
258271

272+
// MysqldExporter
273+
if telemetry.Spec.Ceilometer.MysqldExporterEnabled != nil && *telemetry.Spec.Ceilometer.MysqldExporterEnabled {
274+
endpointDetails, ctrlResult, err := EnsureEndpointConfig(
275+
ctx,
276+
instance,
277+
helper,
278+
telemetry,
279+
mysqldExporterSvcs,
280+
nil,
281+
corev1beta1.Override{},
282+
corev1beta1.OpenStackControlPlaneExposeTelemetryReadyCondition,
283+
false, // TODO (mschuppert) could be removed when all integrated service support TLS
284+
tls.API{},
285+
)
286+
if err != nil {
287+
return ctrlResult, err
288+
} else if (ctrlResult != ctrl.Result{}) {
289+
return ctrlResult, nil
290+
}
291+
// update TLS settings with cert secret
292+
instance.Spec.Telemetry.Template.Ceilometer.MysqldExporterTLS.SecretName = endpointDetails.GetEndptCertSecret(service.EndpointInternal)
293+
}
294+
259295
// NOTE: We don't have svc overrides for KSM objects too.
260296
ksmEpDetails, ctrlResult, err := EnsureEndpointConfig(
261297
ctx,
@@ -307,6 +343,12 @@ func ReconcileTelemetry(ctx context.Context, instance *corev1beta1.OpenStackCont
307343
telemetry.Spec.Ceilometer.KSMImage = ""
308344
}
309345

346+
if version.Status.ContainerImages.CeilometerMysqldExporterImage != nil {
347+
telemetry.Spec.Ceilometer.MysqldExporterImage = *version.Status.ContainerImages.CeilometerMysqldExporterImage
348+
} else {
349+
telemetry.Spec.Ceilometer.MysqldExporterImage = ""
350+
}
351+
310352
if telemetry.Spec.Ceilometer.Secret == "" {
311353
telemetry.Spec.Ceilometer.Secret = instance.Spec.Secret
312354
}
@@ -349,6 +391,7 @@ func ReconcileTelemetry(ctx context.Context, instance *corev1beta1.OpenStackCont
349391
instance.Status.ContainerImages.CeilometerNotificationImage = version.Status.ContainerImages.CeilometerNotificationImage
350392
instance.Status.ContainerImages.CeilometerSgcoreImage = version.Status.ContainerImages.CeilometerSgcoreImage
351393
instance.Status.ContainerImages.CeilometerProxyImage = version.Status.ContainerImages.CeilometerProxyImage
394+
instance.Status.ContainerImages.CeilometerMysqldExporterImage = version.Status.ContainerImages.CeilometerMysqldExporterImage
352395
instance.Status.ContainerImages.KsmImage = version.Status.ContainerImages.KsmImage
353396
instance.Status.ContainerImages.AodhAPIImage = version.Status.ContainerImages.AodhAPIImage
354397
instance.Status.ContainerImages.AodhEvaluatorImage = version.Status.ContainerImages.AodhEvaluatorImage
@@ -376,6 +419,7 @@ func TelemetryImageMatch(ctx context.Context, controlPlane *corev1beta1.OpenStac
376419
!stringPointersEqual(controlPlane.Status.ContainerImages.CeilometerNotificationImage, version.Status.ContainerImages.CeilometerNotificationImage) ||
377420
!stringPointersEqual(controlPlane.Status.ContainerImages.CeilometerSgcoreImage, version.Status.ContainerImages.CeilometerSgcoreImage) ||
378421
!stringPointersEqual(controlPlane.Status.ContainerImages.CeilometerProxyImage, version.Status.ContainerImages.CeilometerProxyImage) ||
422+
!stringPointersEqual(controlPlane.Status.ContainerImages.CeilometerMysqldExporterImage, version.Status.ContainerImages.CeilometerMysqldExporterImage) ||
379423
!stringPointersEqual(controlPlane.Status.ContainerImages.AodhAPIImage, version.Status.ContainerImages.AodhAPIImage) ||
380424
!stringPointersEqual(controlPlane.Status.ContainerImages.AodhEvaluatorImage, version.Status.ContainerImages.AodhEvaluatorImage) ||
381425
!stringPointersEqual(controlPlane.Status.ContainerImages.AodhNotifierImage, version.Status.ContainerImages.AodhNotifierImage) ||

pkg/openstack/version.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ func GetContainerImages(defaults *corev1beta1.ContainerDefaults, instance corev1
109109
CeilometerIpmiImage: getImg(instance.Spec.CustomContainerImages.CeilometerIpmiImage, defaults.CeilometerIpmiImage),
110110
CeilometerNotificationImage: getImg(instance.Spec.CustomContainerImages.CeilometerNotificationImage, defaults.CeilometerNotificationImage),
111111
CeilometerSgcoreImage: getImg(instance.Spec.CustomContainerImages.CeilometerSgcoreImage, defaults.CeilometerSgcoreImage),
112+
CeilometerMysqldExporterImage: getImg(instance.Spec.CustomContainerImages.CeilometerMysqldExporterImage, defaults.CeilometerMysqldExporterImage),
112113
CinderAPIImage: getImg(instance.Spec.CustomContainerImages.CinderAPIImage, defaults.CinderAPIImage),
113114
CinderBackupImage: getImg(instance.Spec.CustomContainerImages.CinderBackupImage, defaults.CinderBackupImage),
114115
CinderSchedulerImage: getImg(instance.Spec.CustomContainerImages.CinderSchedulerImage, defaults.CinderSchedulerImage),

0 commit comments

Comments
 (0)