Skip to content

Commit

Permalink
Merge pull request coreos#1034 from mike-nguyen/no_release_json
Browse files Browse the repository at this point in the history
plume: handle non-existent fcos releases.json
  • Loading branch information
Stephen Lowrie authored Aug 1, 2019
2 parents d5b26c3 + e4b6421 commit 40cf53d
Showing 1 changed file with 19 additions and 9 deletions.
28 changes: 19 additions & 9 deletions cmd/plume/release.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
"strings"
"time"

"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/spf13/cobra"
"golang.org/x/net/context"
"google.golang.org/api/compute/v1"
Expand Down Expand Up @@ -492,16 +493,25 @@ func modifyReleaseMetadataIndex(spec *fcosChannelSpec, commitId string) {
}

path := filepath.Join("prod", "streams", specChannel, "releases.json")

f, err := api.DownloadFile(spec.Bucket, path)
if err != nil {
plog.Fatalf("downloading release metadata index: %v", err)
}
defer f.Close()

data, err := ioutil.ReadAll(f)
data, err := func() ([]byte, error) {
f, err := api.DownloadFile(spec.Bucket, path)
if err != nil {
if awsErr, ok := err.(awserr.Error); ok {
if awsErr.Code() == "NoSuchKey" {
return []byte("{}"), nil
}
}
return []byte{}, fmt.Errorf("downloading release metadata index: %v", err)
}
defer f.Close()
d, err := ioutil.ReadAll(f)
if err != nil {
return []byte{}, fmt.Errorf("reading release metadata index: %v", err)
}
return d, nil
}()
if err != nil {
plog.Fatalf("reading release metadata index: %v", err)
plog.Fatal(err)
}

var m ReleaseMetadata
Expand Down

0 comments on commit 40cf53d

Please sign in to comment.