Skip to content

Commit

Permalink
Fixed error handling of cloud init.
Browse files Browse the repository at this point in the history
Avoid creating a new 'err' variable in the 'if'-branch, shadowing the one
in the outer scope.

Any error from subsequent 'cloud, err = GetCloudProvider()' was not propagated
to 'err' variable in the outer scope and thus errors were never returned from
this function.

This is hard to debug error on OpenStack, when content of --cloud-config=
file is wrong or connection to OpenStack fails. Such error is never logged
and Kubernetes thinks everything is OK.
  • Loading branch information
jsafrane committed Sep 8, 2015
1 parent 196f58b commit f738482
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions pkg/cloudprovider/plugins.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,16 @@ func GetCloudProvider(name string, config io.Reader) (Interface, error) {
// InitCloudProvider creates an instance of the named cloud provider.
func InitCloudProvider(name string, configFilePath string) (Interface, error) {
var cloud Interface
var err error

if name == "" {
glog.Info("No cloud provider specified.")
return nil, nil
}

var err error
if configFilePath != "" {
config, err := os.Open(configFilePath)
var config *os.File
config, err = os.Open(configFilePath)
if err != nil {
glog.Fatalf("Couldn't open cloud provider configuration %s: %#v",
configFilePath, err)
Expand Down

0 comments on commit f738482

Please sign in to comment.