Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions api/bases/telemetry.openstack.org_cloudkittyapis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,11 @@ spec:
type: object
description: API endpoints
type: object
appliedInputSecretHash:
description: |-
AppliedInputSecretHash - hash of the input secrets that the child has
fully rolled out, used by the parent to track credential rotation convergence
type: string
conditions:
description: Conditions
items:
Expand Down
5 changes: 5 additions & 0 deletions api/bases/telemetry.openstack.org_cloudkittyprocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,11 @@ spec:
description: CloudKittyProcStatus defines the observed state of CloudKitty
Processor
properties:
appliedInputSecretHash:
description: |-
AppliedInputSecretHash - hash of the input secrets that the child has
fully rolled out, used by the parent to track credential rotation convergence
type: string
conditions:
description: Conditions
items:
Expand Down
4 changes: 2 additions & 2 deletions api/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ go 1.26.3

require (
github.com/onsi/gomega v1.42.1
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260803113523-879ab83a55ce
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260806140515-16161b7b6b53
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260815111556-ad0006892c31
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260824142420-113dc64ecfd4
github.com/rhobs/observability-operator v1.0.0
k8s.io/api v0.33.13
k8s.io/apimachinery v0.33.13
Expand Down
12 changes: 6 additions & 6 deletions api/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,14 @@ github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFd
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/onsi/ginkgo/v2 v2.32.0 h1:Hw7s2pVrQo/8Yz5N77qdnpHaoc+c6cC9WIV1Jce+J6E=
github.com/onsi/ginkgo/v2 v2.32.0/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44=
github.com/onsi/ginkgo/v2 v2.32.1 h1:6tlvcDm/3sE8lGJbZ4+d4mO3RLy24/tQWOFzVSQNIfw=
github.com/onsi/ginkgo/v2 v2.32.1/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44=
github.com/onsi/gomega v1.42.1 h1:iN1rCUX+44NZ1Dc97MPoeFYbFR0vh8zxoxMFwKdyZ6I=
github.com/onsi/gomega v1.42.1/go.mod h1:REff/hsDsodHoKlWsP2mAPhu1+5/6hVYNf9rIEBpeSg=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260803113523-879ab83a55ce h1:XLbNNe5V6mxfJF+ETXlwgOuMAwVpidXNyBU5HD35AAQ=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260803113523-879ab83a55ce/go.mod h1:XCImRHgk9LhAWyGEYihqOPubYCNwosqe/toIylOaFAc=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260806140515-16161b7b6b53 h1:9YpUAOFXCC94SwoWBRrhFyCVbbwnHTce6/j3CqjxaGM=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260806140515-16161b7b6b53/go.mod h1:LY+Q6ms3A6E8DAKCpmvQaUxO5O2CKYm0XMcmTZ6PCcM=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260815111556-ad0006892c31 h1:DdvjIeuZcmcCj0Gaey10JSYXPUJpOVsFqk5x3aHtbrM=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260815111556-ad0006892c31/go.mod h1:mrcugf1qcRO26DeSoMZFtxxZWW9a4nNk15MdBDFNP6Y=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260824142420-113dc64ecfd4 h1:zDxe4n0GPQ+U8VFZyyCoQed+9Xauz4G22J/X6B4gq20=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260824142420-113dc64ecfd4/go.mod h1:vDcTSyaI7R6tjtZOqonr0hzq8JMOfBhJCWZy0tVjQPw=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
Expand Down
4 changes: 4 additions & 0 deletions api/v1beta1/cloudkittyapi_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,10 @@ type CloudKittyAPIStatus struct {

// LastAppliedTopology - the last applied Topology
LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`

// AppliedInputSecretHash - hash of the input secrets that the child has
// fully rolled out, used by the parent to track credential rotation convergence
AppliedInputSecretHash string `json:"appliedInputSecretHash,omitempty"`
}

//+kubebuilder:object:root=true
Expand Down
4 changes: 4 additions & 0 deletions api/v1beta1/cloudkittyproc_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,10 @@ type CloudKittyProcStatus struct {

// LastAppliedTopology - the last applied Topology
LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`

// AppliedInputSecretHash - hash of the input secrets that the child has
// fully rolled out, used by the parent to track credential rotation convergence
AppliedInputSecretHash string `json:"appliedInputSecretHash,omitempty"`
}

//+kubebuilder:object:root=true
Expand Down
5 changes: 5 additions & 0 deletions api/v1beta1/telemetry_consts.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ package v1beta1
import "time"

const (
// TelemetryTransportConsumerFinalizer is the consumer finalizer added to
// transport secrets by all telemetry controllers (CloudKitty, Autoscaling,
// Ceilometer) to prevent premature deletion during credential rotation.
TelemetryTransportConsumerFinalizer = "openstack.org/telemetry-transport-consumer"

// DefaultServiceName -
DefaultServiceName = "metric-storage"
// DefaultPvcStorageRequest -
Expand Down
29 changes: 17 additions & 12 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -284,17 +284,19 @@ func main() {
os.Exit(1)
}
if err := (&controller.CeilometerReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
Kclient: kclient,
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
Kclient: kclient,
APIReader: mgr.GetAPIReader(),
}).SetupWithManager(context.Background(), mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "Ceilometer")
os.Exit(1)
}
if err := (&controller.AutoscalingReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
Kclient: kclient,
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
Kclient: kclient,
APIReader: mgr.GetAPIReader(),
}).SetupWithManager(context.Background(), mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "Autoscaling")
os.Exit(1)
Expand All @@ -318,17 +320,19 @@ func main() {
os.Exit(1)
}
if err := (&controller.CloudKittyAPIReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
Kclient: kclient,
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
Kclient: kclient,
APIReader: mgr.GetAPIReader(),
}).SetupWithManager(context.Background(), mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "CloudKittyApi")
os.Exit(1)
}
if err := (&controller.CloudKittyProcReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
Kclient: kclient,
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
Kclient: kclient,
APIReader: mgr.GetAPIReader(),
}).SetupWithManager(context.Background(), mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "CloudKittyProc")
os.Exit(1)
Expand All @@ -337,6 +341,7 @@ func main() {
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
Kclient: kclient,
APIReader: mgr.GetAPIReader(),
RESTMapper: mgr.GetRESTMapper(),
Cache: mgr.GetCache(),
}).SetupWithManager(mgr); err != nil {
Expand Down
5 changes: 5 additions & 0 deletions config/crd/bases/telemetry.openstack.org_cloudkittyapis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,11 @@ spec:
type: object
description: API endpoints
type: object
appliedInputSecretHash:
description: |-
AppliedInputSecretHash - hash of the input secrets that the child has
fully rolled out, used by the parent to track credential rotation convergence
type: string
conditions:
description: Conditions
items:
Expand Down
5 changes: 5 additions & 0 deletions config/crd/bases/telemetry.openstack.org_cloudkittyprocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,11 @@ spec:
description: CloudKittyProcStatus defines the observed state of CloudKitty
Processor
properties:
appliedInputSecretHash:
description: |-
AppliedInputSecretHash - hash of the input secrets that the child has
fully rolled out, used by the parent to track credential rotation convergence
type: string
conditions:
description: Conditions
items:
Expand Down
20 changes: 10 additions & 10 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ require (
github.com/grafana/loki/operator/api/loki v0.0.0-20250910094332-a082b8a061ba
github.com/k8snetworkplumbingwg/network-attachment-definition-client v1.7.7
github.com/onsi/gomega v1.42.1
github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260803182736-6801ec9b166e
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260803113523-879ab83a55ce
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260805073337-c70c88f59cab
github.com/openstack-k8s-operators/lib-common/modules/ansible v0.6.1-0.20260806140515-16161b7b6b53
github.com/openstack-k8s-operators/lib-common/modules/certmanager v0.6.1-0.20260806140515-16161b7b6b53
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260806140515-16161b7b6b53
github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260803090920-52e0ba098701
github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20260806101626-af8d24ac578b
github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260815073700-3979681dc9f0
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260815111556-ad0006892c31
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260815074929-4ac69c11afca
github.com/openstack-k8s-operators/lib-common/modules/ansible v0.6.1-0.20260824142420-113dc64ecfd4
github.com/openstack-k8s-operators/lib-common/modules/certmanager v0.6.1-0.20260824142420-113dc64ecfd4
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260824142420-113dc64ecfd4
github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260815095432-ee0e4a46015e
github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20260817084829-b98138447c29
github.com/openstack-k8s-operators/telemetry-operator/api v0.0.0-00010101000000-000000000000
github.com/rhobs/obo-prometheus-operator/pkg/apis/monitoring v0.77.1-rhobs1
github.com/rhobs/observability-operator v1.0.0
Expand Down Expand Up @@ -62,8 +62,8 @@ require (
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/openshift/api v3.9.0+incompatible // indirect
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20260725150835-623a52fe0391 // indirect
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20260725150835-623a52fe0391 // indirect
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20260824142420-113dc64ecfd4 // indirect
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20260824142420-113dc64ecfd4 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_golang v1.22.0 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
Expand Down
44 changes: 22 additions & 22 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -101,32 +101,32 @@ github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWu
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo/v2 v2.32.0 h1:Hw7s2pVrQo/8Yz5N77qdnpHaoc+c6cC9WIV1Jce+J6E=
github.com/onsi/ginkgo/v2 v2.32.0/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44=
github.com/onsi/ginkgo/v2 v2.32.1 h1:6tlvcDm/3sE8lGJbZ4+d4mO3RLy24/tQWOFzVSQNIfw=
github.com/onsi/ginkgo/v2 v2.32.1/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44=
github.com/onsi/gomega v1.42.1 h1:iN1rCUX+44NZ1Dc97MPoeFYbFR0vh8zxoxMFwKdyZ6I=
github.com/onsi/gomega v1.42.1/go.mod h1:REff/hsDsodHoKlWsP2mAPhu1+5/6hVYNf9rIEBpeSg=
github.com/openshift/api v0.0.0-20260710141509-36dec0bfafe4 h1:YVY7Mb0AdJBbNgC/Zz9R/ZwhixOmZNA8P+6ZPaDW/0M=
github.com/openshift/api v0.0.0-20260710141509-36dec0bfafe4/go.mod h1:SPLf21TYPipzCO67BURkCfK6dcIIxx0oNRVWaOyRcXM=
github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260803182736-6801ec9b166e h1:hgYwM+1EUBmkLJkmXEj908Zr6AgOop4u09FLr57zZok=
github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260803182736-6801ec9b166e/go.mod h1:6FqIfKGp06VUTkyZGmR4EWr4xrtKiY6eY6qvY3ThL9o=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260803113523-879ab83a55ce h1:XLbNNe5V6mxfJF+ETXlwgOuMAwVpidXNyBU5HD35AAQ=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260803113523-879ab83a55ce/go.mod h1:XCImRHgk9LhAWyGEYihqOPubYCNwosqe/toIylOaFAc=
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260805073337-c70c88f59cab h1:r1O+mkLoivl3yqljVPJtHYsQ3SeN6ftm7deIt+PR62w=
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260805073337-c70c88f59cab/go.mod h1:yPuK2VNA98W6kQSo2Qc1lTjGVWJz7iKJveAOlVrgXQQ=
github.com/openstack-k8s-operators/lib-common/modules/ansible v0.6.1-0.20260806140515-16161b7b6b53 h1:sHprU8ZFDHbsSRpdUuN0qu/xkylJPVI4V9eBgC2GfTw=
github.com/openstack-k8s-operators/lib-common/modules/ansible v0.6.1-0.20260806140515-16161b7b6b53/go.mod h1:TkZgZE92VUKHHNKXwuV8b7tT9toaxsZkcGffRafKCSA=
github.com/openstack-k8s-operators/lib-common/modules/certmanager v0.6.1-0.20260806140515-16161b7b6b53 h1:nyN+1pyCXOr+b6D6r4WdoJlrel7kRS4gKY/JYdY2Wdo=
github.com/openstack-k8s-operators/lib-common/modules/certmanager v0.6.1-0.20260806140515-16161b7b6b53/go.mod h1:FH/zwNFlfKkJaw4lpLa2gkUtxKT9lp38vO6Lg11AiTU=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260806140515-16161b7b6b53 h1:9YpUAOFXCC94SwoWBRrhFyCVbbwnHTce6/j3CqjxaGM=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260806140515-16161b7b6b53/go.mod h1:LY+Q6ms3A6E8DAKCpmvQaUxO5O2CKYm0XMcmTZ6PCcM=
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20260725150835-623a52fe0391 h1:cRyVdm28fshWzWkE5xgRYAzlNX4SreIluOL8s2dpm2U=
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20260725150835-623a52fe0391/go.mod h1:Q5wcK4PnlDJ55H+M38CFNLzL53OHYiwq81mR/gKtJXs=
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20260725150835-623a52fe0391 h1:AJEo8hauBmqrT9v//s2S5LbEb5BDKa8cQNFG5lAznXI=
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20260725150835-623a52fe0391/go.mod h1:fJ9CCRKpo8mQODfv4UDJ3tjUTbyCznYslXQwCkDaGg0=
github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260803090920-52e0ba098701 h1:rYJayTvo7sE3F1NsjLqbRzd/F9RjymfpCGvqYZrj/q8=
github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260803090920-52e0ba098701/go.mod h1:e/G0+fuofGEMmE1v6RWNVn9cImJosyQriG3j4NABZwQ=
github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20260806101626-af8d24ac578b h1:F2VJiWumzHrI2+BuqbJJUo8/+5za+hJxLR14/Z7PCsU=
github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20260806101626-af8d24ac578b/go.mod h1:Xly5JV+07vXpJh5O6SB3j/5Lp+JJ1NdOr5bp/5GKWao=
github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260815073700-3979681dc9f0 h1:biAk3mQLXWklzeq8HvygsMowQyjY5pQ4/baQ2hYzW/c=
github.com/openstack-k8s-operators/heat-operator/api v0.6.1-0.20260815073700-3979681dc9f0/go.mod h1:eLXwcrjmUiO6twgdSeOXihCJsW4mpVarup+//uRf64Q=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260815111556-ad0006892c31 h1:DdvjIeuZcmcCj0Gaey10JSYXPUJpOVsFqk5x3aHtbrM=
github.com/openstack-k8s-operators/infra-operator/apis v0.6.1-0.20260815111556-ad0006892c31/go.mod h1:mrcugf1qcRO26DeSoMZFtxxZWW9a4nNk15MdBDFNP6Y=
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260815074929-4ac69c11afca h1:xC0DvwZdiVFM05+7IsSrSX8MnZ4XPVkWKITWlygoHWM=
github.com/openstack-k8s-operators/keystone-operator/api v0.6.1-0.20260815074929-4ac69c11afca/go.mod h1:+C11m+ufdqsK777ql66CbBVoiDXKa7u5dhyEaSuZqp8=
github.com/openstack-k8s-operators/lib-common/modules/ansible v0.6.1-0.20260824142420-113dc64ecfd4 h1:1qH+Pd3Oe1GXfFsPSqtzHdAs2fHAZCk/132ReoIvrzs=
github.com/openstack-k8s-operators/lib-common/modules/ansible v0.6.1-0.20260824142420-113dc64ecfd4/go.mod h1:TkZgZE92VUKHHNKXwuV8b7tT9toaxsZkcGffRafKCSA=
github.com/openstack-k8s-operators/lib-common/modules/certmanager v0.6.1-0.20260824142420-113dc64ecfd4 h1:67rKzegmcbpTKUClL97vZEjij+0WhdfPO3+6IFkYt3c=
github.com/openstack-k8s-operators/lib-common/modules/certmanager v0.6.1-0.20260824142420-113dc64ecfd4/go.mod h1:58CB6+Dq4B7NYPmVz4S60N4/pTt70ZFABrkS/1w7tDA=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260824142420-113dc64ecfd4 h1:zDxe4n0GPQ+U8VFZyyCoQed+9Xauz4G22J/X6B4gq20=
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20260824142420-113dc64ecfd4/go.mod h1:vDcTSyaI7R6tjtZOqonr0hzq8JMOfBhJCWZy0tVjQPw=
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20260824142420-113dc64ecfd4 h1:cYQFMrD6zcVsyCXExm07a6wuVLMJmXSNQNaBK23Lu3M=
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.6.1-0.20260824142420-113dc64ecfd4/go.mod h1:Q5wcK4PnlDJ55H+M38CFNLzL53OHYiwq81mR/gKtJXs=
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20260824142420-113dc64ecfd4 h1:atoyW+P7wLeLpKdfWG4vtBBErRVg23+0l3ZAM+cHibo=
github.com/openstack-k8s-operators/lib-common/modules/storage v0.6.1-0.20260824142420-113dc64ecfd4/go.mod h1:fJ9CCRKpo8mQODfv4UDJ3tjUTbyCznYslXQwCkDaGg0=
github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260815095432-ee0e4a46015e h1:3ya0F++4D3LngM1KBEgeMO8Ikk/9PRgv4mpAACqn/YY=
github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260815095432-ee0e4a46015e/go.mod h1:f3KPR3QM0jPbWGhXougv1BxnW+Bnc2vLE4TvBlYTLdo=
github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20260817084829-b98138447c29 h1:ywk/LA00he4oZP5gZGmbhwh5O2kmHAyl1DRc/2JW0Vg=
github.com/openstack-k8s-operators/ovn-operator/api v0.6.1-0.20260817084829-b98138447c29/go.mod h1:WsxYq/XES1hiBp5yqMU4Mfes9Bf/q1RuMYyRBWA3FDE=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
Expand Down
23 changes: 20 additions & 3 deletions internal/controller/aodh_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (

corev1 "k8s.io/api/core/v1"
k8s_errors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/types"
"k8s.io/utils/ptr"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
Expand Down Expand Up @@ -360,12 +361,28 @@ func (r *AutoscalingReconciler) reconcileNormalAodh(
return ctrl.Result{}, err
}

if sfset.GetStatefulSet().Generation == sfset.GetStatefulSet().Status.ObservedGeneration {
instance.Status.ReadyCount = sfset.GetStatefulSet().Status.ReadyReplicas
if instance.Status.ReadyCount > 0 {
ssData := sfset.GetStatefulSet()
if ssData.Generation == ssData.Status.ObservedGeneration {
instance.Status.ReadyCount = ssData.Status.ReadyReplicas
ready := false
if statefulset.IsReady(ssData) {
ready, err = statefulset.IsReadyForInput(ctx, r.APIReader,
types.NamespacedName{Name: ssData.Name, Namespace: ssData.Namespace},
inputHash)
if err != nil {
return ctrl.Result{}, err
}
}
if ready {
instance.Status.Conditions.MarkTrue(condition.DeploymentReadyCondition, condition.DeploymentReadyMessage)
}
instance.Status.Networks = instance.Spec.Aodh.NetworkAttachmentDefinitions
} else {
instance.Status.Conditions.Set(condition.FalseCondition(
condition.DeploymentReadyCondition,
condition.RequestedReason,
condition.SeverityInfo,
condition.DeploymentReadyRunningMessage))
}

//
Expand Down
Loading