mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
initial addition of the diskfree op (#1308)
* initial addition of the diskfree op fixing up some typos last of fmt errors * fixed up some feedbacks
This commit is contained in:
@@ -41,8 +41,11 @@ type dockerClient interface {
|
||||
UnpauseContainer(id string, ctx context.Context) error
|
||||
PullImage(opts docker.PullImageOptions, auth docker.AuthConfiguration) error
|
||||
InspectImage(ctx context.Context, name string) (*docker.Image, error)
|
||||
ListImages(opts docker.ListImagesOptions) ([]docker.APIImages, error)
|
||||
RemoveImage(id string, opts docker.RemoveImageOptions) error
|
||||
Stats(opts docker.StatsOptions) error
|
||||
Info(ctx context.Context) (*docker.DockerInfo, error)
|
||||
DiskUsage(opts docker.DiskUsageOptions) (*docker.DiskUsage, error)
|
||||
LoadImages(ctx context.Context, filePath string) error
|
||||
}
|
||||
|
||||
@@ -308,6 +311,19 @@ func (d *dockerWrap) LoadImages(ctx context.Context, filePath string) error {
|
||||
})
|
||||
}
|
||||
|
||||
func (d *dockerWrap) ListImages(opts docker.ListImagesOptions) (imgs []docker.APIImages, err error) {
|
||||
ctx, closer := makeTracker(opts.Context, "docker_list_images")
|
||||
defer closer()
|
||||
|
||||
logger := common.Logger(ctx).WithField("docker_cmd", "ListImages")
|
||||
err = d.retry(ctx, logger, func() error {
|
||||
imgs, err = d.docker.ListImages(opts)
|
||||
return err
|
||||
})
|
||||
|
||||
return imgs, err
|
||||
}
|
||||
|
||||
func (d *dockerWrap) Info(ctx context.Context) (info *docker.DockerInfo, err error) {
|
||||
// NOTE: we're not very responsible and prometheus wasn't loved as a child, this
|
||||
// threads through directly down to the docker call, skipping retires, so that we
|
||||
@@ -388,6 +404,19 @@ func (d *dockerWrap) PullImage(opts docker.PullImageOptions, auth docker.AuthCon
|
||||
return err
|
||||
}
|
||||
|
||||
func (d *dockerWrap) RemoveImage(image string, opts docker.RemoveImageOptions) (err error) {
|
||||
ctx, closer := makeTracker(opts.Context, "docker_remove_image")
|
||||
defer closer()
|
||||
|
||||
logger := common.Logger(ctx).WithField("docker_cmd", "RemoveImage")
|
||||
err = d.retry(ctx, logger, func() error {
|
||||
err = d.RemoveImage(image, opts)
|
||||
return err
|
||||
})
|
||||
return err
|
||||
|
||||
}
|
||||
|
||||
func (d *dockerWrap) RemoveContainer(opts docker.RemoveContainerOptions) (err error) {
|
||||
ctx, closer := makeTracker(opts.Context, "docker_remove_container")
|
||||
defer closer()
|
||||
@@ -448,3 +477,15 @@ func (d *dockerWrap) Stats(opts docker.StatsOptions) (err error) {
|
||||
//})
|
||||
//return err
|
||||
}
|
||||
|
||||
func (d *dockerWrap) DiskUsage(opts docker.DiskUsageOptions) (du *docker.DiskUsage, err error) {
|
||||
ctx, closer := makeTracker(opts.Context, "docker_disk_free")
|
||||
defer closer()
|
||||
|
||||
logger := common.Logger(ctx).WithField("docker_cmd", "DiskUsage")
|
||||
err = d.retry(ctx, logger, func() error {
|
||||
du, err = d.docker.DiskUsage(opts)
|
||||
return err
|
||||
})
|
||||
return du, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user