Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Commit

Permalink
Check if ETCD installed first
Browse files Browse the repository at this point in the history
Updated init.go, and join.go, to check if etcd is installed before attempting to install it. If etcd is not installed, it follows the old path.
  • Loading branch information
ntaylor1781 authored and Nate Taylor committed Oct 13, 2020
1 parent 2478332 commit 668c040
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 50 deletions.
56 changes: 31 additions & 25 deletions cmd/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,31 +62,37 @@ var initCmd = &cobra.Command{
}

// etcd binaries installation
inCache, err := binary.InstallFromCache(etcdAdmConfig.Version, etcdAdmConfig.InstallDir, etcdAdmConfig.CacheDir)
if err != nil {
log.Fatalf("[install] Artifact could not be installed from cache: %s", err)
}
if !inCache {
log.Printf("[install] Artifact not found in cache. Trying to fetch from upstream: %s", etcdAdmConfig.ReleaseURL)
if err = binary.Download(etcdAdmConfig.ReleaseURL, etcdAdmConfig.Version, etcdAdmConfig.CacheDir); err != nil {
log.Fatalf("[install] Unable to fetch artifact from upstream: %s", err)
}
// Try installing binaries from cache now
inCache, err := binary.InstallFromCache(etcdAdmConfig.Version, etcdAdmConfig.InstallDir, etcdAdmConfig.CacheDir)
if err != nil {
log.Fatalf("[install] Artifact could not be installed from cache: %s", err)
}
if !inCache {
log.Fatalf("[install] Artifact not found in cache after download. Exiting.")
}
}
installed, err := binary.IsInstalled(etcdAdmConfig.Version, etcdAdmConfig.InstallDir)
if err != nil {
log.Fatalf("[install] Error: %s", err)
}
if !installed {
log.Fatalf("[install] Binaries not found in install dir. Exiting.")
}
installed, err := binary.IsInstalled(etcdAdmConfig.Version, etcdAdmConfig.InstallDir)
if err != nil {
log.Fatalf("[install] Error: %s", err)
}
if !installed {
inCache, err := binary.InstallFromCache(etcdAdmConfig.Version, etcdAdmConfig.InstallDir, etcdAdmConfig.CacheDir)
if err != nil {
log.Fatalf("[install] Artifact could not be installed from cache: %s", err)
}
if !inCache {
log.Printf("[install] Artifact not found in cache. Trying to fetch from upstream: %s", etcdAdmConfig.ReleaseURL)
if err = binary.Download(etcdAdmConfig.ReleaseURL, etcdAdmConfig.Version, etcdAdmConfig.CacheDir); err != nil {
log.Fatalf("[install] Unable to fetch artifact from upstream: %s", err)
}
// Try installing binaries from cache now
inCache, err := binary.InstallFromCache(etcdAdmConfig.Version, etcdAdmConfig.InstallDir, etcdAdmConfig.CacheDir)
if err != nil {
log.Fatalf("[install] Artifact could not be installed from cache: %s", err)
}
if !inCache {
log.Fatalf("[install] Artifact not found in cache after download. Exiting.")
}
}
installed, err := binary.IsInstalled(etcdAdmConfig.Version, etcdAdmConfig.InstallDir)
if err != nil {
log.Fatalf("[install] Error: %s", err)
}
if !installed {
log.Fatalf("[install] Binaries not found in install dir. Exiting.")
}
}
// cert management
if err = certs.CreatePKIAssets(&etcdAdmConfig); err != nil {
log.Fatalf("[certificates] Error: %s", err)
Expand Down
56 changes: 31 additions & 25 deletions cmd/join.go
Original file line number Diff line number Diff line change
Expand Up @@ -149,31 +149,37 @@ var joinCmd = &cobra.Command{
}

// etcd binaries installation
inCache, err := binary.InstallFromCache(etcdAdmConfig.Version, etcdAdmConfig.InstallDir, etcdAdmConfig.CacheDir)
if err != nil {
log.Fatalf("[install] Artifact could not be installed from cache: %s", err)
}
if !inCache {
log.Printf("[install] Artifact not found in cache. Trying to fetch from upstream: %s", etcdAdmConfig.ReleaseURL)
if err = binary.Download(etcdAdmConfig.ReleaseURL, etcdAdmConfig.Version, etcdAdmConfig.CacheDir); err != nil {
log.Fatalf("[install] Unable to fetch artifact from upstream: %s", err)
}
// Try installing binaries from cache now
inCache, err := binary.InstallFromCache(etcdAdmConfig.Version, etcdAdmConfig.InstallDir, etcdAdmConfig.CacheDir)
if err != nil {
log.Fatalf("[install] Artifact could not be installed from cache: %s", err)
}
if !inCache {
log.Fatalf("[install] Artifact not found in cache after download. Exiting.")
}
}
installed, err := binary.IsInstalled(etcdAdmConfig.Version, etcdAdmConfig.InstallDir)
if err != nil {
log.Fatalf("[install] Error: %s", err)
}
if !installed {
log.Fatalf("[install] Binaries not found in install dir. Exiting.")
}
installed, err := binary.IsInstalled(etcdAdmConfig.Version, etcdAdmConfig.InstallDir)
if err != nil {
log.Fatalf("[install] Error: %s", err)
}
if !installed {
inCache, err := binary.InstallFromCache(etcdAdmConfig.Version, etcdAdmConfig.InstallDir, etcdAdmConfig.CacheDir)
if err != nil {
log.Fatalf("[install] Artifact could not be installed from cache: %s", err)
}
if !inCache {
log.Printf("[install] Artifact not found in cache. Trying to fetch from upstream: %s", etcdAdmConfig.ReleaseURL)
if err = binary.Download(etcdAdmConfig.ReleaseURL, etcdAdmConfig.Version, etcdAdmConfig.CacheDir); err != nil {
log.Fatalf("[install] Unable to fetch artifact from upstream: %s", err)
}
// Try installing binaries from cache now
inCache, err := binary.InstallFromCache(etcdAdmConfig.Version, etcdAdmConfig.InstallDir, etcdAdmConfig.CacheDir)
if err != nil {
log.Fatalf("[install] Artifact could not be installed from cache: %s", err)
}
if !inCache {
log.Fatalf("[install] Artifact not found in cache after download. Exiting.")
}
}
installed, err := binary.IsInstalled(etcdAdmConfig.Version, etcdAdmConfig.InstallDir)
if err != nil {
log.Fatalf("[install] Error: %s", err)
}
if !installed {
log.Fatalf("[install] Binaries not found in install dir. Exiting.")
}
}

if err := service.WriteEnvironmentFile(&etcdAdmConfig); err != nil {
log.Fatalf("[configure] Error: %s", err)
Expand Down

0 comments on commit 668c040

Please sign in to comment.