Skip to content

Commit ec0b132

Browse files
committed
Revert "Add extraction progress output to GetFSFromImage/GetFSFromLayers (#11)"
This reverts commit 9d0d559.
1 parent 9d0d559 commit ec0b132

File tree

2 files changed

+5
-83
lines changed

2 files changed

+5
-83
lines changed

pkg/util/fs_util.go

+5-75
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,8 @@ type FileContext struct {
9696
type ExtractFunction func(string, *tar.Header, string, io.Reader) error
9797

9898
type FSConfig struct {
99-
includeWhiteout bool
100-
printExtractionProgress bool
101-
extractFunc ExtractFunction
99+
includeWhiteout bool
100+
extractFunc ExtractFunction
102101
}
103102

104103
type FSOpt func(*FSConfig)
@@ -127,12 +126,6 @@ func IncludeWhiteout() FSOpt {
127126
}
128127
}
129128

130-
func PrintExtractionProgress() FSOpt {
131-
return func(opts *FSConfig) {
132-
opts.printExtractionProgress = true
133-
}
134-
}
135-
136129
func ExtractFunc(extractFunc ExtractFunction) FSOpt {
137130
return func(opts *FSConfig) {
138131
opts.extractFunc = extractFunc
@@ -151,7 +144,7 @@ func GetFSFromImage(root string, img v1.Image, extract ExtractFunction) ([]strin
151144
return nil, err
152145
}
153146

154-
return GetFSFromLayers(root, layers, ExtractFunc(extract), PrintExtractionProgress())
147+
return GetFSFromLayers(root, layers, ExtractFunc(extract))
155148
}
156149

157150
func GetFSFromLayers(root string, layers []v1.Layer, opts ...FSOpt) ([]string, error) {
@@ -170,37 +163,12 @@ func GetFSFromLayers(root string, layers []v1.Layer, opts ...FSOpt) ([]string, e
170163
return nil, errors.New("must supply an extract function")
171164
}
172165

173-
var totalSize int64
174-
layerSizes := make([]int64, 0, len(layers))
175-
for i, l := range layers {
176-
layerSize, err := l.Size()
177-
if err != nil {
178-
return nil, errors.Wrap(err, fmt.Sprintf("error checking layer size %d", i))
179-
}
180-
layerSizes = append(layerSizes, layerSize)
181-
totalSize += layerSize
182-
}
183-
printExtractionProgress := cfg.printExtractionProgress
184-
if totalSize == 0 {
185-
printExtractionProgress = false
186-
}
187-
188-
if printExtractionProgress {
189-
logrus.Infof("Extracting image layers to %s", root)
190-
}
191-
192166
extractedFiles := []string{}
193-
var extractedBytes int64
194167
for i, l := range layers {
195168
if mediaType, err := l.MediaType(); err == nil {
196-
logrus.Tracef("Extracting layer %d/%d of media type %s", i+1, len(layers), mediaType)
169+
logrus.Tracef("Extracting layer %d of media type %s", i, mediaType)
197170
} else {
198-
logrus.Tracef("Extracting layer %d/%d", i+1, len(layers))
199-
}
200-
201-
progressPerc := float64(extractedBytes) / float64(totalSize) * 100
202-
if printExtractionProgress {
203-
logrus.Infof("Extracting layer %d/%d (%.1f%%)", i+1, len(layers), progressPerc)
171+
logrus.Tracef("Extracting layer %d", i)
204172
}
205173

206174
r, err := l.Uncompressed()
@@ -209,16 +177,6 @@ func GetFSFromLayers(root string, layers []v1.Layer, opts ...FSOpt) ([]string, e
209177
}
210178
defer r.Close()
211179

212-
if printExtractionProgress {
213-
r = &printAfterReader{
214-
ReadCloser: r,
215-
after: time.Second,
216-
print: func(n int) {
217-
logrus.Infof("Extracting layer %d/%d (%.1f%%) %s", i+1, len(layers), progressPerc, strings.Repeat(".", n))
218-
},
219-
}
220-
}
221-
222180
tr := tar.NewReader(r)
223181
for {
224182
hdr, err := tr.Next()
@@ -267,38 +225,10 @@ func GetFSFromLayers(root string, layers []v1.Layer, opts ...FSOpt) ([]string, e
267225

268226
extractedFiles = append(extractedFiles, filepath.Join(root, cleanedName))
269227
}
270-
271-
extractedBytes += layerSizes[i]
272228
}
273-
274-
if printExtractionProgress {
275-
logrus.Infof("Extraction complete")
276-
}
277-
278229
return extractedFiles, nil
279230
}
280231

281-
type printAfterReader struct {
282-
io.ReadCloser
283-
t time.Time
284-
after time.Duration
285-
count int
286-
print func(int)
287-
}
288-
289-
func (r *printAfterReader) Read(p []byte) (n int, err error) {
290-
n, err = r.ReadCloser.Read(p)
291-
if r.t.IsZero() {
292-
r.t = time.Now()
293-
}
294-
if time.Since(r.t) >= r.after {
295-
r.count++
296-
r.print(r.count)
297-
r.t = time.Now()
298-
}
299-
return
300-
}
301-
302232
// DeleteFilesystem deletes the extracted image file system
303233
func DeleteFilesystem() error {
304234
logrus.Info("Deleting filesystem...")

pkg/util/fs_util_test.go

-8
Original file line numberDiff line numberDiff line change
@@ -1067,7 +1067,6 @@ func Test_GetFSFromLayers_with_whiteouts_include_whiteout_enabled(t *testing.T)
10671067
f(expectedFiles, tw)
10681068

10691069
mockLayer := mockv1.NewMockLayer(ctrl)
1070-
mockLayer.EXPECT().Size().Return(int64(buf.Len()), nil)
10711070
mockLayer.EXPECT().MediaType().Return(types.OCILayer, nil)
10721071

10731072
rc := io.NopCloser(buf)
@@ -1083,7 +1082,6 @@ func Test_GetFSFromLayers_with_whiteouts_include_whiteout_enabled(t *testing.T)
10831082
f(secondLayerFiles, tw)
10841083

10851084
mockLayer2 := mockv1.NewMockLayer(ctrl)
1086-
mockLayer2.EXPECT().Size().Return(int64(buf.Len()), nil)
10871085
mockLayer2.EXPECT().MediaType().Return(types.OCILayer, nil)
10881086

10891087
rc = io.NopCloser(buf)
@@ -1177,7 +1175,6 @@ func Test_GetFSFromLayers_with_whiteouts_include_whiteout_disabled(t *testing.T)
11771175
f(expectedFiles, tw)
11781176

11791177
mockLayer := mockv1.NewMockLayer(ctrl)
1180-
mockLayer.EXPECT().Size().Return(int64(buf.Len()), nil)
11811178
mockLayer.EXPECT().MediaType().Return(types.OCILayer, nil)
11821179
layerFiles := []string{
11831180
filepath.Join(root, "foobar"),
@@ -1200,7 +1197,6 @@ func Test_GetFSFromLayers_with_whiteouts_include_whiteout_disabled(t *testing.T)
12001197
f(secondLayerFiles, tw)
12011198

12021199
mockLayer2 := mockv1.NewMockLayer(ctrl)
1203-
mockLayer2.EXPECT().Size().Return(int64(buf.Len()), nil)
12041200
mockLayer2.EXPECT().MediaType().Return(types.OCILayer, nil)
12051201

12061202
rc = io.NopCloser(buf)
@@ -1284,7 +1280,6 @@ func Test_GetFSFromLayers_ignorelist(t *testing.T) {
12841280
f(expectedFiles, tw)
12851281

12861282
mockLayer := mockv1.NewMockLayer(ctrl)
1287-
mockLayer.EXPECT().Size().Return(int64(buf.Len()), nil)
12881283
mockLayer.EXPECT().MediaType().Return(types.OCILayer, nil)
12891284
layerFiles := []string{
12901285
filepath.Join(root, ".wh.testdir"),
@@ -1350,8 +1345,6 @@ func Test_GetFSFromLayers_ignorelist(t *testing.T) {
13501345

13511346
f(layerFiles, tw)
13521347

1353-
mockLayer.EXPECT().Size().Return(int64(buf.Len()), nil)
1354-
13551348
rc = io.NopCloser(buf)
13561349
mockLayer.EXPECT().Uncompressed().Return(rc, nil)
13571350

@@ -1417,7 +1410,6 @@ func Test_GetFSFromLayers(t *testing.T) {
14171410
}
14181411

14191412
mockLayer := mockv1.NewMockLayer(ctrl)
1420-
mockLayer.EXPECT().Size().Return(int64(buf.Len()), nil)
14211413
mockLayer.EXPECT().MediaType().Return(types.OCILayer, nil)
14221414

14231415
rc := io.NopCloser(buf)

0 commit comments

Comments
 (0)