Skip to content

Commit 4a659b1

Browse files
author
Alena Prokharchyk
committed
Merge pull request #25 from alena1108/emptyenv
Bug fixes
2 parents 862dbd0 + 450d47d commit 4a659b1

File tree

4 files changed

+47
-5
lines changed

4 files changed

+47
-5
lines changed

Diff for: Godeps/Godeps.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: Godeps/_workspace/src/github.com/rancher/go-rancher-metadata/metadata/metadata.go

+21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: Godeps/_workspace/src/github.com/rancher/go-rancher-metadata/metadata/types.go

+3-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: metadata/metadata.go

+22-3
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,52 @@
11
package metadata
22

33
import (
4+
"fmt"
45
"github.com/Sirupsen/logrus"
56
"github.com/rancher/external-dns/dns"
67
"github.com/rancher/go-rancher-metadata/metadata"
8+
"time"
79
)
810

911
const (
10-
metadataUrl = "http://rancher-metadata/latest"
12+
metadataUrl = "http://rancher-metadata/2015-07-25"
1113
)
1214

1315
type MetadataClient struct {
1416
MetadataClient *metadata.Client
1517
EnvironmentName string
1618
}
1719

20+
func getEnvironmentName(m *metadata.Client) (string, error) {
21+
timeout := 30 * time.Second
22+
var err error
23+
var stack metadata.Stack
24+
for i := 1 * time.Second; i < timeout; i *= time.Duration(2) {
25+
stack, err = m.GetSelfStack()
26+
if err != nil {
27+
logrus.Errorf("Error reading stack info: %v...will retry", err)
28+
time.Sleep(i)
29+
} else {
30+
return stack.EnvironmentName, nil
31+
}
32+
}
33+
return "", fmt.Errorf("Error reading stack info: %v", err)
34+
}
35+
1836
func NewMetadataClient() (*MetadataClient, error) {
1937
m, err := metadata.NewClientAndWait(metadataUrl)
2038
if err != nil {
2139
logrus.Fatalf("Failed to configure rancher-metadata: %v", err)
2240
}
23-
selfStack, err := m.GetSelfStack()
41+
42+
envName, err := getEnvironmentName(m)
2443
if err != nil {
2544
logrus.Fatalf("Error reading stack info: %v", err)
2645
}
2746

2847
return &MetadataClient{
2948
MetadataClient: m,
30-
EnvironmentName: selfStack.EnvironmentName,
49+
EnvironmentName: envName,
3150
}, nil
3251
}
3352

0 commit comments

Comments
 (0)