Skip to content

Commit 3a9e01b

Browse files
authored
Merge pull request #17509 from hakman/azure-test
protokube: Initialize CloudProvider only with Gossip
2 parents 6ba41fb + 9533de8 commit 3a9e01b

File tree

1 file changed

+28
-67
lines changed

1 file changed

+28
-67
lines changed

protokube/cmd/protokube/main.go

Lines changed: 28 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -91,71 +91,6 @@ func run() error {
9191
flags.AddGoFlagSet(flag.CommandLine)
9292
flags.Parse(os.Args)
9393

94-
var cloudProvider protokube.CloudProvider
95-
if cloud == "aws" {
96-
awsCloudProvider, err := protokube.NewAWSCloudProvider()
97-
if err != nil {
98-
klog.Errorf("Error initializing AWS: %q", err)
99-
os.Exit(1)
100-
}
101-
cloudProvider = awsCloudProvider
102-
103-
} else if cloud == "digitalocean" {
104-
doCloudProvider, err := protokube.NewDOCloudProvider()
105-
if err != nil {
106-
klog.Errorf("Error initializing DigitalOcean: %q", err)
107-
os.Exit(1)
108-
}
109-
cloudProvider = doCloudProvider
110-
111-
} else if cloud == "hetzner" {
112-
hetznerCloudProvider, err := protokube.NewHetznerCloudProvider()
113-
if err != nil {
114-
klog.Errorf("error initializing Hetzner Cloud: %q", err)
115-
os.Exit(1)
116-
}
117-
cloudProvider = hetznerCloudProvider
118-
119-
} else if cloud == "gce" {
120-
gceCloudProvider, err := protokube.NewGCECloudProvider()
121-
if err != nil {
122-
klog.Errorf("Error initializing GCE: %q", err)
123-
os.Exit(1)
124-
}
125-
126-
cloudProvider = gceCloudProvider
127-
128-
} else if cloud == "openstack" {
129-
osCloudProvider, err := protokube.NewOpenStackCloudProvider()
130-
if err != nil {
131-
klog.Errorf("Error initializing OpenStack: %q", err)
132-
os.Exit(1)
133-
}
134-
cloudProvider = osCloudProvider
135-
136-
} else if cloud == "azure" {
137-
azureVolumes, err := protokube.NewAzureCloudProvider()
138-
if err != nil {
139-
klog.Errorf("Error initializing Azure: %q", err)
140-
os.Exit(1)
141-
}
142-
cloudProvider = azureVolumes
143-
144-
} else if cloud == "scaleway" {
145-
scwCloudProvider, err := protokube.NewScwCloudProvider()
146-
if err != nil {
147-
klog.Errorf("Error initializing Scaleway: %q", err)
148-
os.Exit(1)
149-
}
150-
cloudProvider = scwCloudProvider
151-
152-
} else if cloud == "metal" {
153-
cloudProvider = nil
154-
} else {
155-
klog.Errorf("Unknown cloud %q", cloud)
156-
os.Exit(1)
157-
}
158-
15994
if dnsInternalSuffix == "" {
16095
if clusterID == "" {
16196
return fmt.Errorf("cluster-id is required when dns-internal-suffix is not set")
@@ -164,7 +99,6 @@ func run() error {
16499
dnsInternalSuffix = ".internal." + clusterID
165100
klog.Infof("Setting dns-internal-suffix to %q", dnsInternalSuffix)
166101
}
167-
168102
// Make sure it's actually a suffix (starts with .)
169103
if !strings.HasPrefix(dnsInternalSuffix, ".") {
170104
dnsInternalSuffix = "." + dnsInternalSuffix
@@ -174,10 +108,37 @@ func run() error {
174108
if containerized {
175109
rootfs = "/rootfs/"
176110
}
177-
178111
protokube.RootFS = rootfs
179112

180113
if gossip {
114+
var cloudProvider protokube.CloudProvider
115+
var err error
116+
switch cloud {
117+
case "aws":
118+
cloudProvider, err = protokube.NewAWSCloudProvider()
119+
case "digitalocean":
120+
cloudProvider, err = protokube.NewDOCloudProvider()
121+
case "hetzner":
122+
cloudProvider, err = protokube.NewHetznerCloudProvider()
123+
case "gce":
124+
cloudProvider, err = protokube.NewGCECloudProvider()
125+
case "openstack":
126+
cloudProvider, err = protokube.NewOpenStackCloudProvider()
127+
case "azure":
128+
cloudProvider, err = protokube.NewAzureCloudProvider()
129+
case "scaleway":
130+
cloudProvider, err = protokube.NewScwCloudProvider()
131+
case "metal":
132+
cloudProvider = nil
133+
default:
134+
klog.Errorf("Unknown cloud %q", cloud)
135+
os.Exit(1)
136+
}
137+
if err != nil {
138+
klog.Errorf("Error initializing cloud %q: %s", cloud, err)
139+
os.Exit(1)
140+
}
141+
181142
if cloudProvider == nil {
182143
return fmt.Errorf("gossip not supported with cloudprovider %q", cloud)
183144
}

0 commit comments

Comments
 (0)