Skip to content

Commit

Permalink
always attempt to generate a support bundle when host collectors exists
Browse files Browse the repository at this point in the history
  • Loading branch information
diamonwiggins committed Jul 30, 2022
1 parent 4f8c1f3 commit 114749d
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 14 deletions.
4 changes: 2 additions & 2 deletions pkg/supportbundle/collect.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ func runHostCollectors(hostCollectors []*troubleshootv1beta2.HostCollect, additi
continue
}

opts.ProgressChan <- fmt.Sprintf("[%s] Running collector...", collector.Title())
opts.ProgressChan <- fmt.Sprintf("[%s] Running host collector...", collector.Title())
result, err := collector.Collect(opts.ProgressChan)
if err != nil {
opts.ProgressChan <- errors.Errorf("failed to run collector: %s: %v", collector.Title(), err)
opts.ProgressChan <- errors.Errorf("failed to run host collector: %s: %v", collector.Title(), err)
}
for k, v := range result {
allCollectedData[k] = v
Expand Down
40 changes: 28 additions & 12 deletions pkg/supportbundle/supportbundle.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,27 +86,43 @@ func CollectSupportBundleFromSpec(spec *troubleshootv1beta2.SupportBundleSpec, a
return nil, errors.Wrap(err, "create bundle dir")
}

hostFiles, err := runHostCollectors(spec.HostCollectors, additionalRedactors, bundlePath, opts)
if err != nil {
return nil, errors.Wrap(err, "failed to run host collectors")
var result, files, hostFiles collect.CollectorResult

if spec.HostCollectors != nil {
// Run host collectors
hostFiles, err = runHostCollectors(spec.HostCollectors, additionalRedactors, bundlePath, opts)
if err != nil {
fmt.Println(errors.Wrap(err, "failed to run host collectors"))
}
}

// Run collectors
files, err := runCollectors(spec.Collectors, additionalRedactors, bundlePath, opts)
if err != nil {
return nil, errors.Wrap(err, "failed to run collectors")
if spec.Collectors != nil {
// Run collectors
files, err = runCollectors(spec.Collectors, additionalRedactors, bundlePath, opts)
if err != nil {
fmt.Println(errors.Wrap(err, "failed to run collectors"))
}
}

for k, v := range hostFiles {
files[k] = v
if files != nil && hostFiles != nil {
result = files
for k, v := range hostFiles {
result[k] = v
}
} else if files != nil {
result = files
} else if hostFiles != nil {
result = hostFiles
} else {
return nil, errors.Wrap(err, "failed to generate support bundle")
}

version, err := getVersionFile()
if err != nil {
return nil, errors.Wrap(err, "failed to get version file")
}

err = files.SaveResult(bundlePath, VersionFilename, version)
err = result.SaveResult(bundlePath, VersionFilename, version)
if err != nil {
return nil, errors.Wrap(err, "failed to write version")
}
Expand All @@ -129,12 +145,12 @@ func CollectSupportBundleFromSpec(spec *troubleshootv1beta2.SupportBundleSpec, a
return nil, errors.Wrap(err, "failed to get analysis file")
}

err = files.SaveResult(bundlePath, AnalysisFilename, analysis)
err = result.SaveResult(bundlePath, AnalysisFilename, analysis)
if err != nil {
return nil, errors.Wrap(err, "failed to write analysis")
}

if err := collect.TarSupportBundleDir(bundlePath, files, filename); err != nil {
if err := collect.TarSupportBundleDir(bundlePath, result, filename); err != nil {
return nil, errors.Wrap(err, "create bundle file")
}

Expand Down

0 comments on commit 114749d

Please sign in to comment.