Skip to content

Commit 49a91fe

Browse files
committed
Do not fail start command when openssl does not exist
Signed-off-by: Zhongcheng Lao <[email protected]>
1 parent aec9406 commit 49a91fe

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

pkg/minikube/bootstrapper/certs.go

+23-8
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,10 @@ func collectCACerts() (map[string]string, error) {
248248

249249
certsDir := filepath.Join(localPath, "certs")
250250
err := filepath.Walk(certsDir, func(hostpath string, info os.FileInfo, err error) error {
251+
if err != nil {
252+
return err
253+
}
254+
251255
if info != nil && !info.IsDir() {
252256
ext := strings.ToLower(filepath.Ext(hostpath))
253257
if ext == ".crt" || ext == ".pem" {
@@ -295,6 +299,15 @@ func configureCACerts(cmd command.Runner, caCerts map[string]string) error {
295299
return stringHash, nil
296300
}
297301

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+
298311
for _, caCertFile := range caCerts {
299312
dstFilename := path.Base(caCertFile)
300313
certStorePath := path.Join(constants.SSLCertStoreDir, dstFilename)
@@ -303,14 +316,16 @@ func configureCACerts(cmd command.Runner, caCerts map[string]string) error {
303316
return errors.Wrapf(err, "error making symbol link for certificate %s", caCertFile)
304317
}
305318
}
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+
}
314329
}
315330
}
316331
}

0 commit comments

Comments
 (0)