Skip to content

Commit 114749d

Browse files
committed
always attempt to generate a support bundle when host collectors exists
1 parent 4f8c1f3 commit 114749d

File tree

2 files changed

+30
-14
lines changed

2 files changed

+30
-14
lines changed

pkg/supportbundle/collect.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ func runHostCollectors(hostCollectors []*troubleshootv1beta2.HostCollect, additi
4242
continue
4343
}
4444

45-
opts.ProgressChan <- fmt.Sprintf("[%s] Running collector...", collector.Title())
45+
opts.ProgressChan <- fmt.Sprintf("[%s] Running host collector...", collector.Title())
4646
result, err := collector.Collect(opts.ProgressChan)
4747
if err != nil {
48-
opts.ProgressChan <- errors.Errorf("failed to run collector: %s: %v", collector.Title(), err)
48+
opts.ProgressChan <- errors.Errorf("failed to run host collector: %s: %v", collector.Title(), err)
4949
}
5050
for k, v := range result {
5151
allCollectedData[k] = v

pkg/supportbundle/supportbundle.go

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -86,27 +86,43 @@ func CollectSupportBundleFromSpec(spec *troubleshootv1beta2.SupportBundleSpec, a
8686
return nil, errors.Wrap(err, "create bundle dir")
8787
}
8888

89-
hostFiles, err := runHostCollectors(spec.HostCollectors, additionalRedactors, bundlePath, opts)
90-
if err != nil {
91-
return nil, errors.Wrap(err, "failed to run host collectors")
89+
var result, files, hostFiles collect.CollectorResult
90+
91+
if spec.HostCollectors != nil {
92+
// Run host collectors
93+
hostFiles, err = runHostCollectors(spec.HostCollectors, additionalRedactors, bundlePath, opts)
94+
if err != nil {
95+
fmt.Println(errors.Wrap(err, "failed to run host collectors"))
96+
}
9297
}
9398

94-
// Run collectors
95-
files, err := runCollectors(spec.Collectors, additionalRedactors, bundlePath, opts)
96-
if err != nil {
97-
return nil, errors.Wrap(err, "failed to run collectors")
99+
if spec.Collectors != nil {
100+
// Run collectors
101+
files, err = runCollectors(spec.Collectors, additionalRedactors, bundlePath, opts)
102+
if err != nil {
103+
fmt.Println(errors.Wrap(err, "failed to run collectors"))
104+
}
98105
}
99106

100-
for k, v := range hostFiles {
101-
files[k] = v
107+
if files != nil && hostFiles != nil {
108+
result = files
109+
for k, v := range hostFiles {
110+
result[k] = v
111+
}
112+
} else if files != nil {
113+
result = files
114+
} else if hostFiles != nil {
115+
result = hostFiles
116+
} else {
117+
return nil, errors.Wrap(err, "failed to generate support bundle")
102118
}
103119

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

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

132-
err = files.SaveResult(bundlePath, AnalysisFilename, analysis)
148+
err = result.SaveResult(bundlePath, AnalysisFilename, analysis)
133149
if err != nil {
134150
return nil, errors.Wrap(err, "failed to write analysis")
135151
}
136152

137-
if err := collect.TarSupportBundleDir(bundlePath, files, filename); err != nil {
153+
if err := collect.TarSupportBundleDir(bundlePath, result, filename); err != nil {
138154
return nil, errors.Wrap(err, "create bundle file")
139155
}
140156

0 commit comments

Comments
 (0)