Skip to content

Commit b980e95

Browse files
Merge pull request #884 from m1kola/delay_using_new_cert
OCPBUGS-43581: Fix TLS handshake error
2 parents 5e2c73b + 93094c1 commit b980e95

File tree

1 file changed

+8
-17
lines changed

1 file changed

+8
-17
lines changed

cmd/collect-profiles/main.go

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -149,10 +149,10 @@ func newCmd() *cobra.Command {
149149
if tlsCert, err = verifyCertAndKey(certPath, keyPath); err != nil {
150150
logrus.Infof("error verifying provided cert and key: %v", err)
151151
logrus.Info("generating a new cert and key")
152-
if tlsCert, err = populateServingCert(cmd.Context(), cfg.Client); err != nil {
153-
return err
154-
}
155-
// Continue with new certificate/keypair
152+
153+
// Skip the rest of the process. The certificate needs some
154+
// time to propagate to the server in the olm-operator pod.
155+
return populateServingCert(cmd.Context(), cfg.Client)
156156
}
157157

158158
httpClient := &http.Client{
@@ -330,30 +330,21 @@ func requestURLBody(httpClient *http.Client, u *url.URL) ([]byte, error) {
330330
return b.Bytes(), nil
331331
}
332332

333-
func populateServingCert(ctx context.Context, client client.Client) (*tls.Certificate, error) {
333+
func populateServingCert(ctx context.Context, client client.Client) error {
334334
secret := &corev1.Secret{}
335335
err := client.Get(ctx, types.NamespacedName{Namespace: namespace, Name: pprofSecretName}, secret)
336336
if err != nil {
337-
return nil, err
337+
return err
338338
}
339339

340340
certPEMBytes, privKeyPEMBytes, err := generateCertAndKey()
341341
if err != nil {
342-
return nil, err
342+
return err
343343
}
344344

345345
secret.Data[corev1.TLSCertKey] = certPEMBytes
346346
secret.Data[corev1.TLSPrivateKeyKey] = privKeyPEMBytes
347-
348-
if err = client.Update(ctx, secret); err != nil {
349-
return nil, err
350-
}
351-
// Create tlsCert for client use
352-
tlsCert, err := tls.X509KeyPair(certPEMBytes, privKeyPEMBytes)
353-
if err != nil {
354-
return nil, err
355-
}
356-
return &tlsCert, nil
347+
return client.Update(ctx, secret)
357348
}
358349

359350
func generateCertAndKey() ([]byte, []byte, error) {

0 commit comments

Comments
 (0)