@@ -90,21 +90,45 @@ func (c *DataCollector) WrapUp() (string, error) {
90
90
tarballName := fmt .Sprintf ("nic-supportpkg-%s.tar.gz" , unixTimeString )
91
91
tarballRootDirName := fmt .Sprintf ("nic-supportpkg-%s" , unixTimeString )
92
92
93
- c .LogFile .Close ()
93
+ err := c .LogFile .Close ()
94
+ if err != nil {
95
+ return tarballName , err
96
+ }
94
97
95
98
file , err := os .Create (tarballName )
96
99
if err != nil {
97
- return "" , err
100
+ return tarballName , err
98
101
}
99
- defer file .Close ()
102
+ defer func (file * os.File ) {
103
+ cerr := file .Close ()
104
+ if cerr == nil {
105
+ err = cerr
106
+ } else {
107
+ c .Logger .Printf ("error closing file %s, %v" , file .Name (), cerr )
108
+ }
109
+ }(file )
100
110
101
111
gw := gzip .NewWriter (file )
102
- defer gw .Close ()
112
+ defer func (gw * gzip.Writer ) {
113
+ cerr := gw .Close ()
114
+ if cerr == nil {
115
+ err = cerr
116
+ } else {
117
+ c .Logger .Printf ("error closing gzip writer, %v" , cerr )
118
+ }
119
+ }(gw )
103
120
104
121
tw := tar .NewWriter (gw )
105
- defer tw .Close ()
122
+ defer func (tw * tar.Writer ) {
123
+ cerr := tw .Close ()
124
+ if cerr == nil {
125
+ err = cerr
126
+ } else {
127
+ c .Logger .Printf ("error closing tar writer, %v" , cerr )
128
+ }
129
+ }(tw )
106
130
107
- filepath .Walk (c .BaseDir , func (path string , info os.FileInfo , err error ) error {
131
+ err = filepath .Walk (c .BaseDir , func (path string , info os.FileInfo , err error ) error {
108
132
if err != nil {
109
133
return err
110
134
}
@@ -132,7 +156,14 @@ func (c *DataCollector) WrapUp() (string, error) {
132
156
if err != nil {
133
157
return err
134
158
}
135
- defer file .Close ()
159
+ defer func (file * os.File ) {
160
+ cerr := file .Close ()
161
+ if cerr == nil {
162
+ err = cerr
163
+ } else {
164
+ c .Logger .Printf ("error closing file %s, %v" , file .Name (), cerr )
165
+ }
166
+ }(file )
136
167
137
168
_ , err = io .Copy (tw , file )
138
169
if err != nil {
@@ -141,6 +172,9 @@ func (c *DataCollector) WrapUp() (string, error) {
141
172
142
173
return nil
143
174
})
175
+ if err != nil {
176
+ return tarballName , err
177
+ }
144
178
_ = os .RemoveAll (c .BaseDir )
145
179
return tarballName , nil
146
180
}
@@ -178,7 +212,7 @@ func (c *DataCollector) PodExecutor(namespace string, pod string, command []stri
178
212
}
179
213
180
214
func (c * DataCollector ) AllNamespacesExist () bool {
181
- var allExist bool = true
215
+ var allExist = true
182
216
for _ , namespace := range c .Namespaces {
183
217
_ , err := c .K8sCoreClientSet .CoreV1 ().Namespaces ().Get (context .TODO (), namespace , metav1.GetOptions {})
184
218
if err != nil {
0 commit comments