Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: openstack-k8s-operators/telemetry-operator
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 3c2587c2d6eab89c1383c2f7b8b848e33aa569b5
Choose a base ref
..
head repository: openstack-k8s-operators/telemetry-operator
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: fb0b0754fb1dd9063b979ddb909b458f7ebe1bd7
Choose a head ref
Showing with 3,811 additions and 533 deletions.
  1. +1 −1 Makefile
  2. +120 −11 api/bases/telemetry.openstack.org_ceilometers.yaml
  3. +29 −0 api/bases/telemetry.openstack.org_telemetries.yaml
  4. +13 −13 api/go.mod
  5. +28 −28 api/go.sum
  6. +78 −21 api/v1beta1/ceilometer_types.go
  7. +11 −7 api/v1beta1/ceilometer_webhook.go
  8. +18 −25 api/v1beta1/conditions.go
  9. +7 −6 api/v1beta1/telemetry_types.go
  10. +15 −11 api/v1beta1/telemetry_webhook.go
  11. +62 −9 api/v1beta1/zz_generated.deepcopy.go
  12. +0 −182 ci/deploy-logging-dependencies/files/0000_03_cloud-credential-operator_01_crd.yaml
  13. +27 −12 ci/deploy-logging-dependencies/files/cluster_log_forwarder.yaml
  14. +0 −12 ci/deploy-logging-dependencies/files/cluster_logging.yaml
  15. +2 −2 ci/deploy-logging-dependencies/files/operators.yaml
  16. +8 −18 ci/deploy-logging-dependencies/tasks/deploy-cluster-logging.yml
  17. +1 −8 ci/deploy-logging-dependencies/tasks/deploy-operators.yml
  18. +3 −1 ci/vars-autoscaling-tempest.yml
  19. +120 −11 config/crd/bases/telemetry.openstack.org_ceilometers.yaml
  20. +29 −0 config/crd/bases/telemetry.openstack.org_telemetries.yaml
  21. +8 −0 config/rbac/role.yaml
  22. +662 −53 controllers/ceilometer_controller.go
  23. +139 −33 controllers/metricstorage_controller.go
  24. +18 −18 go.mod
  25. +38 −38 go.sum
  26. +7 −4 hack/crd-schema-checker.sh
  27. +1 −1 pkg/availability/statefulset.go
  28. +588 −0 pkg/dashboards/openstack-ceilometer-ipmi.go
  29. +1,178 −0 pkg/dashboards/openstack-network-traffic.go
  30. +3 −3 pkg/logging/service.go
  31. +3 −1 pkg/metricstorage/dashboard_datasource.go
  32. +2 −0 pkg/metricstorage/dashboard_objects.go
  33. +71 −0 pkg/metricstorage/scrape_config_mysqld_exporter.go
  34. +79 −0 pkg/mysqldexporter/const.go
  35. +63 −0 pkg/mysqldexporter/service.go
  36. +152 −0 pkg/mysqldexporter/statefulset.go
  37. +60 −0 pkg/mysqldexporter/volumes.go
  38. +12 −0 templates/mysqldexporter/config/config.cnf
  39. +32 −0 templates/mysqldexporter/config/web.cnf
  40. +58 −0 tests/kuttl/suites/ceilometer/tests/00-assert.yaml
  41. +1 −0 tests/kuttl/suites/ceilometer/tests/00-deploy.yaml
  42. +3 −3 tests/kuttl/suites/logging/tests/00-assert.yaml
  43. +36 −0 tests/kuttl/suites/metricstorage/tests/01-assert.yaml
  44. +10 −0 tests/kuttl/suites/metricstorage/tests/01-deploy.yaml
  45. +6 −0 tests/kuttl/suites/metricstorage/tests/02-errors.yaml
  46. +8 −0 tests/kuttl/suites/metricstorage/tests/07-assert.yaml
  47. +1 −1 zuul.d/projects.yaml
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -401,7 +401,7 @@ kuttl-test-cleanup:
fi

CRD_SCHEMA_CHECKER_VERSION ?= release-4.16
BRANCH=main
BRANCH ?= main

PHONY: crd-schema-check
crd-schema-check: manifests
131 changes: 120 additions & 11 deletions api/bases/telemetry.openstack.org_ceilometers.yaml
Original file line number Diff line number Diff line change
@@ -43,6 +43,71 @@ spec:
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
ksmStatus:
description: |-
NOTE(mmagr): remove with API version increment
Deprecated
properties:
conditions:
description: Conditions
items:
description: Condition defines an observation of a API resource
operational state.
properties:
lastTransitionTime:
description: |-
Last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when
the API field changed is acceptable.
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition
in CamelCase.
type: string
severity:
description: |-
Severity provides a classification of Reason code, so the current situation is immediately
understandable and could act accordingly.
It is meant for situations where Status=False and it should be indicated if it is just
informational, warning (next reconciliation might fix it) or an error (e.g. DB create issue
and no actions to automatically resolve the issue can/should be done).
For conditions where Status=Unknown or Status=True the Severity should be SeverityNone.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of condition in CamelCase.
type: string
required:
- lastTransitionTime
- status
- type
type: object
type: array
hash:
additionalProperties:
type: string
description: Map of hashes to track e.g. job status
type: object
observedGeneration:
description: |-
ObservedGeneration - the most recent generation observed for this
service. If the observed generation is less than the spec generation,
then the controller has not processed the latest changes injected by
the openstack-operator in the top-level CR (e.g. the ContainerImage)
format: int64
type: integer
readyCount:
description: ReadyCount of ksm instances
format: int32
type: integer
type: object
metadata:
type: object
spec:
@@ -73,6 +138,10 @@ spec:
type: object
ipmiImage:
type: string
ksmEnabled:
default: true
description: Whether kube-state-metrics should be deployed
type: boolean
ksmImage:
type: string
ksmTls:
@@ -86,6 +155,31 @@ spec:
description: SecretName - holding the cert, key for the service
type: string
type: object
mysqldExporterDatabaseAccountPrefix:
default: mysqld-exporter
description: |-
MysqldExporterDatabaseAccountPrefix - Database account prefix for the mysqld-exporter.
A mariadbaccount CR named "<mysqldExporterDatabaseAccountPrefix>-<galera CR name>" for each
galera instance needs to be either created by the user or if it's missing, it'll be
created by the telemetry-operator automatically.
type: string
mysqldExporterEnabled:
description: Whether mysqld_exporter should be deployed
type: boolean
mysqldExporterImage:
type: string
mysqldExporterTLS:
description: MysqldExporterTLS - Parameters related to the TLS for
mysqld_exporter
properties:
caBundleSecretName:
description: CaBundleSecretName - holding the CA certs in a pre-created
bundle file
type: string
secretName:
description: SecretName - holding the cert, key for the service
type: string
type: object
networkAttachmentDefinitions:
description: NetworkAttachmentDefinitions list of network attachment
definitions the service pod gets attached to
@@ -160,15 +254,6 @@ spec:
status:
description: CeilometerStatus defines the observed state of Ceilometer
properties:
ceilometerHash:
additionalProperties:
type: string
description: Map of hashes to track (e.g. job status) for Ceilometer
type: object
ceilometerReadyCount:
description: CeilometerReadyCount of ceilometer instances
format: int32
type: integer
conditions:
description: Conditions
items:
@@ -211,13 +296,33 @@ spec:
- type
type: object
type: array
hash:
additionalProperties:
type: string
description: Map of hashes to track e.g. job status
type: object
ksmHash:
additionalProperties:
type: string
description: Map of hashes to track (e.g. job status) for kube-state-metrics
description: Map of hashes to track e.g. job status
type: object
ksmReadyCount:
description: KSMReadyCount of KSM instances
description: ReadyCount of kube-state-metrics instances
format: int32
type: integer
mysqldExporterExportedGaleras:
description: List of galera CRs, which are being exported with mysqld_exporter
items:
type: string
type: array
x-kubernetes-list-type: atomic
mysqldExporterHash:
additionalProperties:
type: string
description: Map of hashes to track e.g. job status
type: object
mysqldExporterReadyCount:
description: ReadyCount of mysqld_exporter instances
format: int32
type: integer
networks:
@@ -234,6 +339,10 @@ spec:
the openstack-operator in the top-level CR (e.g. the ContainerImage)
format: int64
type: integer
readyCount:
description: ReadyCount of ceilometer instances
format: int32
type: integer
transportURLSecret:
description: TransportURLSecret - Secret containing RabbitMQ transportURL
type: string
29 changes: 29 additions & 0 deletions api/bases/telemetry.openstack.org_telemetries.yaml
Original file line number Diff line number Diff line change
@@ -433,6 +433,10 @@ spec:
type: boolean
ipmiImage:
type: string
ksmEnabled:
default: true
description: Whether kube-state-metrics should be deployed
type: boolean
ksmImage:
type: string
ksmTls:
@@ -446,6 +450,31 @@ spec:
description: SecretName - holding the cert, key for the service
type: string
type: object
mysqldExporterDatabaseAccountPrefix:
default: mysqld-exporter
description: |-
MysqldExporterDatabaseAccountPrefix - Database account prefix for the mysqld-exporter.
A mariadbaccount CR named "<mysqldExporterDatabaseAccountPrefix>-<galera CR name>" for each
galera instance needs to be either created by the user or if it's missing, it'll be
created by the telemetry-operator automatically.
type: string
mysqldExporterEnabled:
description: Whether mysqld_exporter should be deployed
type: boolean
mysqldExporterImage:
type: string
mysqldExporterTLS:
description: MysqldExporterTLS - Parameters related to the TLS
for mysqld_exporter
properties:
caBundleSecretName:
description: CaBundleSecretName - holding the CA certs in
a pre-created bundle file
type: string
secretName:
description: SecretName - holding the cert, key for the service
type: string
type: object
networkAttachmentDefinitions:
description: NetworkAttachmentDefinitions list of network attachment
definitions the service pod gets attached to
26 changes: 13 additions & 13 deletions api/go.mod
Original file line number Diff line number Diff line change
@@ -5,27 +5,27 @@ go 1.21
require (
github.com/onsi/ginkgo/v2 v2.20.1
github.com/onsi/gomega v1.34.1
github.com/openstack-k8s-operators/infra-operator/apis v0.5.1-0.20241128131522-70981ed1ed1a
github.com/openstack-k8s-operators/lib-common/modules/common v0.5.1-0.20241114091812-6dc9fd0961dc
github.com/openstack-k8s-operators/infra-operator/apis v0.5.1-0.20241217184302-c302f3d72ada
github.com/openstack-k8s-operators/lib-common/modules/common v0.5.1-0.20241216113837-d172b3ac0f4e
github.com/rhobs/observability-operator v0.3.1
k8s.io/api v0.29.10
k8s.io/apimachinery v0.29.10
k8s.io/client-go v0.29.10
k8s.io/api v0.29.12
k8s.io/apimachinery v0.29.12
k8s.io/client-go v0.29.12
sigs.k8s.io/controller-runtime v0.17.6
)

require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/go-restful/v3 v3.11.2 // indirect
github.com/emicklei/go-restful/v3 v3.12.0 // indirect
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/zapr v1.3.0 // indirect
github.com/go-openapi/jsonpointer v0.20.2 // indirect
github.com/go-openapi/jsonreference v0.20.4 // indirect
github.com/go-openapi/swag v0.22.9 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
@@ -46,7 +46,7 @@ require (
github.com/prometheus/client_golang v1.19.0 // indirect
github.com/prometheus/client_model v0.6.0 // indirect
github.com/prometheus/common v0.53.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
github.com/prometheus/procfs v0.13.0 // indirect
github.com/rhobs/obo-prometheus-operator/pkg/apis/monitoring v0.71.0-rhobs1 // indirect
github.com/rogpeppe/go-internal v1.12.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
@@ -66,10 +66,10 @@ require (
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/apiextensions-apiserver v0.29.10 // indirect
k8s.io/component-base v0.29.10 // indirect
k8s.io/apiextensions-apiserver v0.29.12 // indirect
k8s.io/component-base v0.29.12 // indirect
k8s.io/klog/v2 v2.120.1 // indirect
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
k8s.io/kube-openapi v0.0.0-20240322212309-b815d8309940 // indirect
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
Loading