@@ -104,21 +104,6 @@ func (r *OpenStackClusterStackReleaseReconciler) Reconcile(ctx context.Context,
104104 }
105105 }()
106106
107- gc , err := r .GitHubClientFactory .NewClient (ctx )
108- if err != nil {
109- conditions .MarkFalse (openstackclusterstackrelease ,
110- apiv1alpha1 .GitAPIAvailableCondition ,
111- apiv1alpha1 .GitTokenOrEnvVariableNotSetReason ,
112- clusterv1beta1 .ConditionSeverityError ,
113- err .Error (),
114- )
115- record .Warnf (openstackclusterstackrelease , "GitTokenOrEnvVariableNotSet" , err .Error ())
116- logger .Error (err , "failed to create Github client" )
117- return ctrl.Result {}, nil
118- }
119-
120- conditions .MarkTrue (openstackclusterstackrelease , apiv1alpha1 .GitAPIAvailableCondition )
121-
122107 // name of OpenStackClusterStackRelease object is same as the release tag
123108 releaseTag := openstackclusterstackrelease .Name
124109
@@ -138,17 +123,32 @@ func (r *OpenStackClusterStackReleaseReconciler) Reconcile(ctx context.Context,
138123 if download {
139124 conditions .MarkFalse (openstackclusterstackrelease , apiv1alpha1 .ClusterStackReleaseAssetsReadyCondition , apiv1alpha1 .ReleaseAssetsNotDownloadedYetReason , clusterv1beta1 .ConditionSeverityInfo , "assets not downloaded yet" )
140125
126+ gc , err := r .GitHubClientFactory .NewClient (ctx )
127+ if err != nil {
128+ conditions .MarkFalse (openstackclusterstackrelease ,
129+ apiv1alpha1 .GitAPIAvailableCondition ,
130+ apiv1alpha1 .GitTokenOrEnvVariableNotSetReason ,
131+ clusterv1beta1 .ConditionSeverityError ,
132+ err .Error (),
133+ )
134+ record .Warnf (openstackclusterstackrelease , "GitTokenOrEnvVariableNotSet" , err .Error ())
135+ logger .Error (err , "failed to create Github client" )
136+ return ctrl.Result {}, nil
137+ }
138+
139+ conditions .MarkTrue (openstackclusterstackrelease , apiv1alpha1 .GitAPIAvailableCondition )
140+
141141 // this is the point where we download the release from github
142142 // acquire lock so that only one reconcile loop can download the release
143143 r .openStackClusterStackRelDownloadDirectoryMutex .Lock ()
144144
145+ defer r .openStackClusterStackRelDownloadDirectoryMutex .Unlock ()
146+
145147 if err := downloadReleaseAssets (ctx , releaseTag , releaseAssets .LocalDownloadPath , gc ); err != nil {
146148 logger .Error (err , "failed to download release assets" )
147149 return ctrl.Result {RequeueAfter : 1 * time .Minute }, nil
148150 }
149151
150- r .openStackClusterStackRelDownloadDirectoryMutex .Unlock ()
151-
152152 record .Eventf (openstackclusterstackrelease , "ClusterStackReleaseAssetsReady" , "successfully downloaded ClusterStackReleaseAssets %q" , releaseTag )
153153 // requeue to make sure release assets can be accessed
154154 return ctrl.Result {Requeue : true }, nil
0 commit comments