diff --git a/pkg/cmd/server/origin/controller/network.go b/pkg/cmd/server/origin/controller/network.go index e4baac5add5b..3be24b0616fe 100644 --- a/pkg/cmd/server/origin/controller/network.go +++ b/pkg/cmd/server/origin/controller/network.go @@ -5,7 +5,8 @@ import ( "net" "time" - "github.com/golang/glog" + kclientsetinternal "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" + osclient "github.com/openshift/origin/pkg/client" configapi "github.com/openshift/origin/pkg/cmd/server/api" "github.com/openshift/origin/pkg/cmd/server/bootstrappolicy" @@ -19,25 +20,27 @@ type SDNControllerConfig struct { func (c *SDNControllerConfig) RunController(ctx ControllerContext) (bool, error) { // TODO: Switch SDN to use client.Interface - osClientConfig, err := ctx.ClientBuilder.Config(bootstrappolicy.InfraSDNControllerServiceAccountName) + clientConfig, err := ctx.ClientBuilder.Config(bootstrappolicy.InfraSDNControllerServiceAccountName) + if err != nil { + return false, err + } + osClient, err := osclient.New(clientConfig) if err != nil { return false, err } - osClient, err := osclient.New(osClientConfig) + kClient, err := kclientsetinternal.NewForConfig(clientConfig) if err != nil { return false, err } - go func() { - err := sdnplugin.StartMaster( - c.NetworkConfig, - osClient, - ctx.ClientBuilder.KubeInternalClientOrDie(bootstrappolicy.InfraSDNControllerServiceAccountName), - ctx.InternalKubeInformers, - ) - if err != nil { - glog.Errorf("failed to start SDN plugin controller: %v", err) - } - }() + err = sdnplugin.StartMaster( + c.NetworkConfig, + osClient, + kClient, + ctx.InternalKubeInformers, + ) + if err != nil { + return false, fmt.Errorf("failed to start SDN plugin controller: %v", err) + } return true, nil } diff --git a/pkg/sdn/plugin/master.go b/pkg/sdn/plugin/master.go index e1279fe62f58..34bd41d04949 100644 --- a/pkg/sdn/plugin/master.go +++ b/pkg/sdn/plugin/master.go @@ -67,7 +67,7 @@ func StartMaster(networkConfig osconfigapi.MasterNetworkConfig, osClient *osclie // try this for a while before just dying var getError error - err = wait.PollImmediate(1*time.Second, 30*time.Second, func() (bool, error) { + err = wait.PollImmediate(1*time.Second, time.Minute, func() (bool, error) { // reset this so that failures come through correctly. getError = nil existingCN, err := master.osClient.ClusterNetwork().Get(osapi.ClusterNetworkDefault, metav1.GetOptions{})