@@ -28,13 +28,12 @@ func (optr *Operator) syncAvailableStatus() error {
2828 }
2929
3030 optrVersion , _ := optr .vStore .Get ("operator" )
31- progressing := cov1helpers .IsStatusConditionTrue (co .Status .Conditions , configv1 .OperatorProgressing )
3231 failing := cov1helpers .IsStatusConditionTrue (co .Status .Conditions , configv1 .OperatorFailing )
3332 message := fmt .Sprintf ("Cluster has deployed %s" , optrVersion )
3433
3534 available := configv1 .ConditionTrue
3635
37- if failing && ! progressing {
36+ if failing {
3837 available = configv1 .ConditionFalse
3938 message = fmt .Sprintf ("Cluster not available for %s" , optrVersion )
4039 }
@@ -47,7 +46,7 @@ func (optr *Operator) syncAvailableStatus() error {
4746
4847 co .Status .Versions = optr .vStore .GetAll ()
4948 optr .setMachineConfigPoolStatuses (& co .Status )
50- _ , err = optr .configClient .ConfigV1 (). ClusterOperators (). UpdateStatus (co )
49+ _ , err = optr .configClient .UpdateStatus (co )
5150 return err
5251}
5352
@@ -67,6 +66,7 @@ func (optr *Operator) syncProgressingStatus() error {
6766
6867 if optr .vStore .Equal (co .Status .Versions ) {
6968 if optr .inClusterBringup {
69+ message = fmt .Sprintf ("Cluster is bootstrapping %s" , optrVersion )
7070 progressing = configv1 .ConditionTrue
7171 }
7272 } else {
@@ -80,15 +80,12 @@ func (optr *Operator) syncProgressingStatus() error {
8080 })
8181
8282 optr .setMachineConfigPoolStatuses (& co .Status )
83- _ , err = optr .configClient .ConfigV1 (). ClusterOperators (). UpdateStatus (co )
83+ _ , err = optr .configClient .UpdateStatus (co )
8484 return err
8585}
8686
8787// syncFailingStatus applies the new condition to the mco's ClusterOperator object.
88- func (optr * Operator ) syncFailingStatus (ierr error ) error {
89- if ierr == nil {
90- return nil
91- }
88+ func (optr * Operator ) syncFailingStatus (ierr error ) (err error ) {
9289 co , err := optr .fetchClusterOperator ()
9390 if err != nil {
9491 return err
@@ -98,34 +95,40 @@ func (optr *Operator) syncFailingStatus(ierr error) error {
9895 }
9996
10097 optrVersion , _ := optr .vStore .Get ("operator" )
101- var message string
102- if optr . vStore . Equal ( co . Status . Versions ) {
103- // syncing the state to exiting version.
104- message = fmt . Sprintf ( "Failed to resync %s because: %v" , optrVersion , ierr . Error ())
98+ failing := configv1 . ConditionTrue
99+ var message , reason string
100+ if ierr == nil {
101+ failing = configv1 . ConditionFalse
105102 } else {
106- message = fmt .Sprintf ("Unable to apply %s: %v" , optrVersion , ierr .Error ())
103+ if optr .vStore .Equal (co .Status .Versions ) {
104+ // syncing the state to exiting version.
105+ message = fmt .Sprintf ("Failed to resync %s because: %v" , optrVersion , ierr .Error ())
106+ } else {
107+ message = fmt .Sprintf ("Unable to apply %s: %v" , optrVersion , ierr .Error ())
108+ }
109+ reason = ierr .Error ()
110+
111+ // set progressing
112+ if cov1helpers .IsStatusConditionTrue (co .Status .Conditions , configv1 .OperatorProgressing ) {
113+ cov1helpers .SetStatusCondition (& co .Status .Conditions , configv1.ClusterOperatorStatusCondition {Type : configv1 .OperatorProgressing , Status : configv1 .ConditionTrue , Message : fmt .Sprintf ("Unable to apply %s" , version .Version .String ())})
114+ } else {
115+ cov1helpers .SetStatusCondition (& co .Status .Conditions , configv1.ClusterOperatorStatusCondition {Type : configv1 .OperatorProgressing , Status : configv1 .ConditionFalse , Message : fmt .Sprintf ("Error while reconciling %s" , version .Version .String ())})
116+ }
107117 }
108118 // set failing condition
109119 cov1helpers .SetStatusCondition (& co .Status .Conditions , configv1.ClusterOperatorStatusCondition {
110- Type : configv1 .OperatorFailing , Status : configv1 . ConditionTrue ,
120+ Type : configv1 .OperatorFailing , Status : failing ,
111121 Message : message ,
112- Reason : ierr . Error () ,
122+ Reason : reason ,
113123 })
114124
115- // set progressing
116- if cov1helpers .IsStatusConditionTrue (co .Status .Conditions , configv1 .OperatorProgressing ) {
117- cov1helpers .SetStatusCondition (& co .Status .Conditions , configv1.ClusterOperatorStatusCondition {Type : configv1 .OperatorProgressing , Status : configv1 .ConditionTrue , Message : fmt .Sprintf ("Unable to apply %s" , version .Version .String ())})
118- } else {
119- cov1helpers .SetStatusCondition (& co .Status .Conditions , configv1.ClusterOperatorStatusCondition {Type : configv1 .OperatorProgressing , Status : configv1 .ConditionFalse , Message : fmt .Sprintf ("Error while reconciling %s" , version .Version .String ())})
120- }
121-
122125 optr .setMachineConfigPoolStatuses (& co .Status )
123- _ , err = optr .configClient .ConfigV1 (). ClusterOperators (). UpdateStatus (co )
126+ _ , err = optr .configClient .UpdateStatus (co )
124127 return err
125128}
126129
127130func (optr * Operator ) fetchClusterOperator () (* configv1.ClusterOperator , error ) {
128- co , err := optr .configClient .ConfigV1 (). ClusterOperators (). Get (optr .name , metav1.GetOptions {})
131+ co , err := optr .configClient .Get (optr .name , metav1.GetOptions {})
129132 if meta .IsNoMatchError (err ) {
130133 return nil , nil
131134 }
@@ -139,7 +142,7 @@ func (optr *Operator) fetchClusterOperator() (*configv1.ClusterOperator, error)
139142}
140143
141144func (optr * Operator ) initializeClusterOperator () (* configv1.ClusterOperator , error ) {
142- co , err := optr .configClient .ConfigV1 (). ClusterOperators (). Create (& configv1.ClusterOperator {
145+ co , err := optr .configClient .Create (& configv1.ClusterOperator {
143146 ObjectMeta : metav1.ObjectMeta {
144147 Name : optr .name ,
145148 },
@@ -154,7 +157,7 @@ func (optr *Operator) initializeClusterOperator() (*configv1.ClusterOperator, er
154157 co .Status .RelatedObjects = []configv1.ObjectReference {
155158 {Resource : "namespaces" , Name : "openshift-machine-config-operator" },
156159 }
157- return optr .configClient .ConfigV1 (). ClusterOperators (). UpdateStatus (co )
160+ return optr .configClient .UpdateStatus (co )
158161}
159162
160163func (optr * Operator ) setMachineConfigPoolStatuses (status * configv1.ClusterOperatorStatus ) {
0 commit comments