@@ -248,6 +248,10 @@ func collectCACerts() (map[string]string, error) {
248
248
249
249
certsDir := filepath .Join (localPath , "certs" )
250
250
err := filepath .Walk (certsDir , func (hostpath string , info os.FileInfo , err error ) error {
251
+ if err != nil {
252
+ return err
253
+ }
254
+
251
255
if info != nil && ! info .IsDir () {
252
256
ext := strings .ToLower (filepath .Ext (hostpath ))
253
257
if ext == ".crt" || ext == ".pem" {
@@ -295,6 +299,15 @@ func configureCACerts(cmd command.Runner, caCerts map[string]string) error {
295
299
return stringHash , nil
296
300
}
297
301
302
+ hasSSLBinary := true
303
+ if err := cmd .Run ("which openssl" ); err != nil {
304
+ hasSSLBinary = false
305
+ }
306
+
307
+ if ! hasSSLBinary && len (caCerts ) > 0 {
308
+ glog .Warning ("OpenSSL not found. Please recreate the cluster with the latest minikube ISO." )
309
+ }
310
+
298
311
for _ , caCertFile := range caCerts {
299
312
dstFilename := path .Base (caCertFile )
300
313
certStorePath := path .Join (constants .SSLCertStoreDir , dstFilename )
@@ -303,14 +316,16 @@ func configureCACerts(cmd command.Runner, caCerts map[string]string) error {
303
316
return errors .Wrapf (err , "error making symbol link for certificate %s" , caCertFile )
304
317
}
305
318
}
306
- subjectHash , err := getSubjectHash (caCertFile )
307
- if err != nil {
308
- return errors .Wrapf (err , "error calculating subject hash for certificate %s" , caCertFile )
309
- }
310
- subjectHashLink := path .Join (constants .SSLCertStoreDir , fmt .Sprintf ("%s.0" , subjectHash ))
311
- if err := cmd .Run (fmt .Sprintf ("sudo test -f '%s'" , subjectHashLink )); err != nil {
312
- if err := cmd .Run (fmt .Sprintf ("sudo ln -s '%s' '%s'" , certStorePath , subjectHashLink )); err != nil {
313
- return errors .Wrapf (err , "error making subject hash symbol link for certificate %s" , caCertFile )
319
+ if hasSSLBinary {
320
+ subjectHash , err := getSubjectHash (caCertFile )
321
+ if err != nil {
322
+ return errors .Wrapf (err , "error calculating subject hash for certificate %s" , caCertFile )
323
+ }
324
+ subjectHashLink := path .Join (constants .SSLCertStoreDir , fmt .Sprintf ("%s.0" , subjectHash ))
325
+ if err := cmd .Run (fmt .Sprintf ("sudo test -f '%s'" , subjectHashLink )); err != nil {
326
+ if err := cmd .Run (fmt .Sprintf ("sudo ln -s '%s' '%s'" , certStorePath , subjectHashLink )); err != nil {
327
+ return errors .Wrapf (err , "error making subject hash symbol link for certificate %s" , caCertFile )
328
+ }
314
329
}
315
330
}
316
331
}
0 commit comments