@@ -1168,43 +1168,92 @@ func (instance *OpenStackControlPlane) InitConditions() {
11681168 if instance .Status .Conditions == nil {
11691169 instance .Status .Conditions = condition.Conditions {}
11701170 }
1171+
1172+ // Always-on conditions (no Enabled flag)
11711173 cl := condition .CreateList (
1172- condition .UnknownCondition (OpenStackControlPlaneRabbitMQReadyCondition , condition .InitReason , OpenStackControlPlaneRabbitMQReadyInitMessage ),
1173- condition .UnknownCondition (OpenStackControlPlaneOVNReadyCondition , condition .InitReason , OpenStackControlPlaneOVNReadyInitMessage ),
1174- condition .UnknownCondition (OpenStackControlPlaneNeutronReadyCondition , condition .InitReason , OpenStackControlPlaneNeutronReadyInitMessage ),
1175- condition .UnknownCondition (OpenStackControlPlaneMariaDBReadyCondition , condition .InitReason , OpenStackControlPlaneMariaDBReadyInitMessage ),
1176- condition .UnknownCondition (OpenStackControlPlaneMemcachedReadyCondition , condition .InitReason , OpenStackControlPlaneMemcachedReadyInitMessage ),
1177- condition .UnknownCondition (OpenStackControlPlaneKeystoneAPIReadyCondition , condition .InitReason , OpenStackControlPlaneKeystoneAPIReadyInitMessage ),
1178- condition .UnknownCondition (OpenStackControlPlanePlacementAPIReadyCondition , condition .InitReason , OpenStackControlPlanePlacementAPIReadyInitMessage ),
1179- condition .UnknownCondition (OpenStackControlPlaneGlanceReadyCondition , condition .InitReason , OpenStackControlPlaneGlanceReadyInitMessage ),
1180- condition .UnknownCondition (OpenStackControlPlaneCinderReadyCondition , condition .InitReason , OpenStackControlPlaneCinderReadyInitMessage ),
1181- condition .UnknownCondition (OpenStackControlPlaneNovaReadyCondition , condition .InitReason , OpenStackControlPlaneNovaReadyInitMessage ),
1182- condition .UnknownCondition (OpenStackControlPlaneIronicReadyCondition , condition .InitReason , OpenStackControlPlaneIronicReadyInitMessage ),
1183- condition .UnknownCondition (OpenStackControlPlaneClientReadyCondition , condition .InitReason , OpenStackControlPlaneClientReadyInitMessage ),
1184- condition .UnknownCondition (OpenStackControlPlaneManilaReadyCondition , condition .InitReason , OpenStackControlPlaneManilaReadyInitMessage ),
1185- condition .UnknownCondition (OpenStackControlPlaneHorizonReadyCondition , condition .InitReason , OpenStackControlPlaneHorizonReadyInitMessage ),
1186- condition .UnknownCondition (OpenStackControlPlaneDNSReadyCondition , condition .InitReason , OpenStackControlPlaneDNSReadyInitMessage ),
1187- condition .UnknownCondition (OpenStackControlPlaneTelemetryReadyCondition , condition .InitReason , OpenStackControlPlaneTelemetryReadyInitMessage ),
1188- condition .UnknownCondition (OpenStackControlPlaneHeatReadyCondition , condition .InitReason , OpenStackControlPlaneHeatReadyInitMessage ),
1189- condition .UnknownCondition (OpenStackControlPlaneSwiftReadyCondition , condition .InitReason , OpenStackControlPlaneSwiftReadyInitMessage ),
1190- condition .UnknownCondition (OpenStackControlPlaneOctaviaReadyCondition , condition .InitReason , OpenStackControlPlaneOctaviaReadyInitMessage ),
1191- condition .UnknownCondition (OpenStackControlPlaneDesignateReadyCondition , condition .InitReason , OpenStackControlPlaneDesignateReadyInitMessage ),
1192- condition .UnknownCondition (OpenStackControlPlaneBarbicanReadyCondition , condition .InitReason , OpenStackControlPlaneBarbicanReadyInitMessage ),
1193- condition .UnknownCondition (OpenStackControlPlaneRedisReadyCondition , condition .InitReason , OpenStackControlPlaneRedisReadyInitMessage ),
11941174 condition .UnknownCondition (OpenStackControlPlaneCAReadyCondition , condition .InitReason , OpenStackControlPlaneCAReadyInitMessage ),
11951175 condition .UnknownCondition (OpenStackControlPlaneOpenStackVersionInitializationReadyCondition , condition .InitReason , OpenStackControlPlaneOpenStackVersionInitializationReadyInitMessage ),
1196- condition .UnknownCondition (OpenStackControlPlaneWatcherReadyCondition , condition .InitReason , OpenStackControlPlaneWatcherReadyInitMessage ),
11971176 condition .UnknownCondition (OpenStackControlPlaneInfrastructureReadyCondition , condition .InitReason , OpenStackControlPlaneInfrastructureReadyInitMessage ),
11981177 condition .UnknownCondition (OpenStackControlPlaneBackupConfigReadyCondition , condition .InitReason , OpenStackControlPlaneBackupConfigReadyInitMessage ),
1199-
1200- // Also add the overall status condition as Unknown
1178+ condition .UnknownCondition (OpenStackControlPlaneClientReadyCondition , condition .InitReason , OpenStackControlPlaneClientReadyInitMessage ),
12011179 condition .UnknownCondition (condition .ReadyCondition , condition .InitReason , condition .ReadyInitMessage ),
12021180 )
1181+
1182+ // Only init conditions for enabled services to avoid misleading status
1183+ // when the controller doesn't reach a disabled service's reconciler
1184+ // (e.g., during minor update gating).
1185+ if instance .Spec .Rabbitmq .Enabled {
1186+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneRabbitMQReadyCondition , condition .InitReason , OpenStackControlPlaneRabbitMQReadyInitMessage ))
1187+ }
1188+ if instance .Spec .Ovn .Enabled {
1189+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneOVNReadyCondition , condition .InitReason , OpenStackControlPlaneOVNReadyInitMessage ))
1190+ }
1191+ if instance .Spec .Neutron .Enabled {
1192+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneNeutronReadyCondition , condition .InitReason , OpenStackControlPlaneNeutronReadyInitMessage ))
1193+ }
1194+ if instance .Spec .Galera .Enabled {
1195+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneMariaDBReadyCondition , condition .InitReason , OpenStackControlPlaneMariaDBReadyInitMessage ))
1196+ }
1197+ if instance .Spec .Memcached .Enabled {
1198+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneMemcachedReadyCondition , condition .InitReason , OpenStackControlPlaneMemcachedReadyInitMessage ))
1199+ }
1200+ if instance .Spec .Keystone .Enabled {
1201+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneKeystoneAPIReadyCondition , condition .InitReason , OpenStackControlPlaneKeystoneAPIReadyInitMessage ))
1202+ }
1203+ if instance .Spec .Placement .Enabled {
1204+ cl .Set (condition .UnknownCondition (OpenStackControlPlanePlacementAPIReadyCondition , condition .InitReason , OpenStackControlPlanePlacementAPIReadyInitMessage ))
1205+ }
1206+ if instance .Spec .Glance .Enabled {
1207+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneGlanceReadyCondition , condition .InitReason , OpenStackControlPlaneGlanceReadyInitMessage ))
1208+ }
1209+ if instance .Spec .Cinder .Enabled {
1210+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneCinderReadyCondition , condition .InitReason , OpenStackControlPlaneCinderReadyInitMessage ))
1211+ }
1212+ if instance .Spec .Nova .Enabled {
1213+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneNovaReadyCondition , condition .InitReason , OpenStackControlPlaneNovaReadyInitMessage ))
1214+ }
1215+ if instance .Spec .Ironic .Enabled {
1216+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneIronicReadyCondition , condition .InitReason , OpenStackControlPlaneIronicReadyInitMessage ))
1217+ }
1218+ if instance .Spec .Manila .Enabled {
1219+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneManilaReadyCondition , condition .InitReason , OpenStackControlPlaneManilaReadyInitMessage ))
1220+ }
1221+ if instance .Spec .Horizon .Enabled {
1222+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneHorizonReadyCondition , condition .InitReason , OpenStackControlPlaneHorizonReadyInitMessage ))
1223+ }
1224+ if instance .Spec .DNS .Enabled {
1225+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneDNSReadyCondition , condition .InitReason , OpenStackControlPlaneDNSReadyInitMessage ))
1226+ }
1227+ if instance .Spec .Telemetry .Enabled {
1228+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneTelemetryReadyCondition , condition .InitReason , OpenStackControlPlaneTelemetryReadyInitMessage ))
1229+ }
1230+ if instance .Spec .Heat .Enabled {
1231+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneHeatReadyCondition , condition .InitReason , OpenStackControlPlaneHeatReadyInitMessage ))
1232+ }
1233+ if instance .Spec .Swift .Enabled {
1234+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneSwiftReadyCondition , condition .InitReason , OpenStackControlPlaneSwiftReadyInitMessage ))
1235+ }
1236+ if instance .Spec .Octavia .Enabled {
1237+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneOctaviaReadyCondition , condition .InitReason , OpenStackControlPlaneOctaviaReadyInitMessage ))
1238+ }
1239+ if instance .Spec .Designate .Enabled {
1240+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneDesignateReadyCondition , condition .InitReason , OpenStackControlPlaneDesignateReadyInitMessage ))
1241+ }
1242+ if instance .Spec .Barbican .Enabled {
1243+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneBarbicanReadyCondition , condition .InitReason , OpenStackControlPlaneBarbicanReadyInitMessage ))
1244+ }
1245+ if instance .Spec .Redis .Enabled {
1246+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneRedisReadyCondition , condition .InitReason , OpenStackControlPlaneRedisReadyInitMessage ))
1247+ }
1248+ if instance .Spec .Watcher .Enabled {
1249+ cl .Set (condition .UnknownCondition (OpenStackControlPlaneWatcherReadyCondition , condition .InitReason , OpenStackControlPlaneWatcherReadyInitMessage ))
1250+ }
1251+
12031252 // Init Topology condition if there's a reference
12041253 if instance .Spec .TopologyRef != nil {
1205- c := condition .UnknownCondition (condition .TopologyReadyCondition , condition .InitReason , condition .TopologyReadyInitMessage )
1206- cl .Set (c )
1254+ cl .Set (condition .UnknownCondition (condition .TopologyReadyCondition , condition .InitReason , condition .TopologyReadyInitMessage ))
12071255 }
1256+
12081257 // initialize conditions used later as Status=Unknown
12091258 instance .Status .Conditions .Init (& cl )
12101259}
0 commit comments