internal/cloud/gcp: use pkg.go.dev/cloud.google.com/go for Compute Engine

The internal GCP package used `pkg.go.dev/google.golang.org/api` [1] to
interact with Compute Engine API. Modify the package to use the new and
idiomatic `pkg.go.dev/cloud.google.com/go` [2] library for interacting
with the Compute Engine API. The new library have been already used to
interact with the Cloudbuild and Storage APIs. The new library was not
used for Compute Engine since the beginning, because at that time, it
didn't support Compute Engine.

Update go.mod and vendored packages.

[1] https://github.com/googleapis/google-api-go-client
[2] https://github.com/googleapis/google-cloud-go

Signed-off-by: Tomas Hozza <thozza@redhat.com>
This commit is contained in:
Tomas Hozza 2022-01-04 11:32:52 +01:00 committed by Sanne Raymaekers
parent 9302befa67
commit 07a5745875
714 changed files with 441887 additions and 233259 deletions

View file

@ -6,9 +6,10 @@ import (
"sync"
"time"
compute "cloud.google.com/go/compute/apiv1"
"github.com/sirupsen/logrus"
"golang.org/x/sync/semaphore"
"google.golang.org/api/compute/v1"
"google.golang.org/api/iterator"
"github.com/osbuild/osbuild-composer/internal/cloud/gcp"
)
@ -21,11 +22,19 @@ func GCPCleanup(creds []byte, maxConcurrentRequests int, dryRun bool, cutoff tim
sem := semaphore.NewWeighted(int64(maxConcurrentRequests))
var wg sync.WaitGroup
removeImageOlderThan := func(images *compute.ImageList) error {
for _, image := range images.Items {
created, err := time.Parse(time.RFC3339, image.CreationTimestamp)
removeImageOlderThan := func(images *compute.ImageIterator) error {
for {
image, err := images.Next()
if err == iterator.Done {
break
}
if err != nil {
logrus.Errorf("Unable to parse image %s(%d)'s creation timestamp: %v", image.Name, image.Id, err)
logrus.Fatalf("Error iterating over list of images: %v", err)
}
created, err := time.Parse(time.RFC3339, image.GetCreationTimestamp())
if err != nil {
logrus.Errorf("Unable to parse image %s(%d)'s creation timestamp: %v", image.GetName(), image.Id, err)
continue
}
@ -34,7 +43,7 @@ func GCPCleanup(creds []byte, maxConcurrentRequests int, dryRun bool, cutoff tim
}
if dryRun {
logrus.Infof("Dry run, gcp image %s(%d), with creation date %v would be removed", image.Name, image.Id, created)
logrus.Infof("Dry run, gcp image %s(%d), with creation date %v would be removed", image.GetName(), image.Id, created)
continue
}