@@ -169,6 +169,7 @@ func (r *GlanceAPIReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
169169 // failure
170170 condition .UnknownCondition (condition .ReadyCondition , condition .InitReason , condition .ReadyInitMessage ),
171171 condition .UnknownCondition (glancev1 .CinderCondition , condition .InitReason , glancev1 .CinderInitMessage ),
172+ condition .UnknownCondition (condition .MemcachedReadyCondition , condition .InitReason , condition .MemcachedReadyInitMessage ),
172173 condition .UnknownCondition (condition .CreateServiceReadyCondition , condition .InitReason , condition .CreateServiceReadyInitMessage ),
173174 condition .UnknownCondition (condition .InputReadyCondition , condition .InitReason , condition .InputReadyInitMessage ),
174175 condition .UnknownCondition (condition .ServiceConfigReadyCondition , condition .InitReason , condition .ServiceConfigReadyInitMessage ),
@@ -714,11 +715,14 @@ func (r *GlanceAPIReconciler) reconcileNormal(
714715 memcached , err := memcachedv1 .GetMemcachedByName (ctx , helper , instance .Spec .MemcachedInstance , instance .Namespace )
715716 if err != nil {
716717 if k8s_errors .IsNotFound (err ) {
718+ // Memcached should be automatically created by the encompassing OpenStackControlPlane,
719+ // but we don't propagate its name into the "memcachedInstance" field of other sub-resources,
720+ // so we treat this as a warning because it means that the service will not be able to start.
717721 Log .Info (fmt .Sprintf ("memcached %s not found" , instance .Spec .MemcachedInstance ))
718722 instance .Status .Conditions .Set (condition .FalseCondition (
719723 condition .MemcachedReadyCondition ,
720- condition .RequestedReason ,
721- condition .SeverityInfo ,
724+ condition .ErrorReason ,
725+ condition .SeverityWarning ,
722726 condition .MemcachedReadyWaitingMessage ))
723727 return glance .ResultRequeue , nil
724728 }
@@ -731,6 +735,20 @@ func (r *GlanceAPIReconciler) reconcileNormal(
731735 return ctrl.Result {}, err
732736 }
733737
738+ if ! memcached .IsReady () {
739+ instance .Status .Conditions .Set (condition .FalseCondition (
740+ condition .MemcachedReadyCondition ,
741+ condition .RequestedReason ,
742+ condition .SeverityInfo ,
743+ condition .MemcachedReadyWaitingMessage ))
744+ Log .Info (fmt .Sprintf ("%s...requeueing" , condition .MemcachedReadyWaitingMessage ))
745+ return glance .ResultRequeue , nil
746+ }
747+ // Mark the Memcached Service as Ready if we get to this point with no errors
748+ instance .Status .Conditions .MarkTrue (
749+ condition .MemcachedReadyCondition , condition .MemcachedReadyMessage )
750+ // run check memcached - end
751+
734752 // Get Enabled backends from customServiceConfig and run pre backend conditions
735753 availableBackends := glancev1 .GetEnabledBackends (instance .Spec .CustomServiceConfig )
736754 _ , hashChanged , err := r .createHashOfBackendConfig (ctx , instance , availableBackends )
@@ -818,10 +836,12 @@ func (r *GlanceAPIReconciler) reconcileNormal(
818836 )
819837 if err != nil {
820838 if k8s_errors .IsNotFound (err ) {
839+ // Since the CA cert secret should have been manually created by the user and provided in the spec,
840+ // we treat this as a warning because it means that the service will not be able to start.
821841 instance .Status .Conditions .Set (condition .FalseCondition (
822842 condition .TLSInputReadyCondition ,
823- condition .RequestedReason ,
824- condition .SeverityInfo ,
843+ condition .ErrorReason ,
844+ condition .SeverityWarning ,
825845 condition .TLSInputReadyWaitingMessage , instance .Spec .TLS .CaBundleSecretName ))
826846 return ctrl.Result {}, nil
827847 }
0 commit comments