From f0d3cb4797e9613dc565782b14ef19ab6e494ffb Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Thu, 15 Apr 2021 19:40:00 -0700 Subject: add a lease to the Go context This will ensure that our container will not be deleted while we work on it. In addition, a default expiry of 24 hours will be set on it once the lease is released (once the program is completed). See [1] for more details. [1] https://github.com/containerd/containerd/blob/261c107ffc4ff681bc73988f64e3f60c32233b37/docs/garbage-collection.md Signed-off-by: Franck Cuny --- users/fcuny/exp/containerd-to-vm/cmd/c2vm/main.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'users/fcuny') diff --git a/users/fcuny/exp/containerd-to-vm/cmd/c2vm/main.go b/users/fcuny/exp/containerd-to-vm/cmd/c2vm/main.go index 4d0968b..5e9fbb0 100644 --- a/users/fcuny/exp/containerd-to-vm/cmd/c2vm/main.go +++ b/users/fcuny/exp/containerd-to-vm/cmd/c2vm/main.go @@ -42,6 +42,12 @@ func main() { defer client.Close() ctx := namespaces.WithNamespace(context.Background(), defaultNamespace) + ctx, done, err := client.WithLease(ctx) + if err != nil { + log.Fatalf("failed to get a lease: %v", err) + } + defer done(ctx) + image, err := client.Pull(ctx, *containerName, containerd.WithPlatformMatcher(platform)) if err != nil { log.Fatalf("failed to pull the container %s: %v\n", *containerName, err) -- cgit 1.4.1