From b15d0963f4f4a6fb04321a751f4dc67a80d4187f Mon Sep 17 00:00:00 2001 From: Eric Briand Date: Mon, 15 Oct 2018 13:36:40 +0200 Subject: [PATCH 1/3] gcp: validate if project name is filled Signed-off-by: Eric Briand --- src/cmd/linuxkit/gcp.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/cmd/linuxkit/gcp.go b/src/cmd/linuxkit/gcp.go index 1697a312d..f014f36aa 100644 --- a/src/cmd/linuxkit/gcp.go +++ b/src/cmd/linuxkit/gcp.go @@ -38,6 +38,9 @@ func NewGCPClient(keys, projectName string) (*GCPClient, error) { log.Debugf("Connecting to GCP") ctx := context.Background() var client *GCPClient + if projectName == "" { + return nil, fmt.Errorf("the project name is not specified") + } if keys != "" { log.Debugf("Using Keys %s", keys) f, err := os.Open(keys) @@ -63,7 +66,7 @@ func NewGCPClient(keys, projectName string) (*GCPClient, error) { projectName: projectName, } } else { - log.Debugf("Using Application Default crednetials") + log.Debugf("Using Application Default credentials") gc, err := google.DefaultClient( ctx, storage.DevstorageReadWriteScope, From 0c6a059f71e421738991fb2d74ad849272266eb5 Mon Sep 17 00:00:00 2001 From: Eric Briand Date: Mon, 15 Oct 2018 13:37:29 +0200 Subject: [PATCH 2/3] gcp: check if bucket exists after client creation Signed-off-by: Eric Briand --- src/cmd/linuxkit/push_gcp.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cmd/linuxkit/push_gcp.go b/src/cmd/linuxkit/push_gcp.go index 826c86da1..884e08c85 100644 --- a/src/cmd/linuxkit/push_gcp.go +++ b/src/cmd/linuxkit/push_gcp.go @@ -52,15 +52,15 @@ func pushGcp(args []string) { name = filepath.Base(name) } - if bucket == "" { - log.Fatalf("Please specify the bucket to use") - } - client, err := NewGCPClient(keys, project) if err != nil { log.Fatalf("Unable to connect to GCP: %v", err) } + if bucket == "" { + log.Fatalf("Please specify the bucket to use") + } + err = client.UploadFile(path, name+suffix, bucket, public) if err != nil { log.Fatalf("Error copying to Google Storage: %v", err) From 4fb5ecd066c3f56c990c3b78644e7967b8641199 Mon Sep 17 00:00:00 2001 From: Eric Briand Date: Mon, 15 Oct 2018 13:37:41 +0200 Subject: [PATCH 3/3] gcp: output error message when client could not be created Signed-off-by: Eric Briand --- src/cmd/linuxkit/run_gcp.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/linuxkit/run_gcp.go b/src/cmd/linuxkit/run_gcp.go index 0c1161512..d764e2d9d 100644 --- a/src/cmd/linuxkit/run_gcp.go +++ b/src/cmd/linuxkit/run_gcp.go @@ -84,7 +84,7 @@ func runGcp(args []string) { client, err := NewGCPClient(keys, project) if err != nil { - log.Fatalf("Unable to connect to GCP") + log.Fatalf("Unable to connect to GCP: %v", err) } if err = client.CreateInstance(*name, image, zone, machine, disks, data, *nestedVirt, true); err != nil {