mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 19:31:44 +00:00
Initialize cloud providers with a K8s clientBuilder
This commit is contained in:
parent
d823a6e228
commit
87a5edd2cd
@ -199,6 +199,12 @@ func StartControllers(s *options.CloudControllerManagerServer, kubeconfig *restc
|
|||||||
client := func(serviceAccountName string) clientset.Interface {
|
client := func(serviceAccountName string) clientset.Interface {
|
||||||
return rootClientBuilder.ClientOrDie(serviceAccountName)
|
return rootClientBuilder.ClientOrDie(serviceAccountName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if cloud != nil {
|
||||||
|
// Initialize the cloud provider with a reference to the clientBuilder
|
||||||
|
cloud.Initialize(clientBuilder)
|
||||||
|
}
|
||||||
|
|
||||||
versionedClient := client("shared-informers")
|
versionedClient := client("shared-informers")
|
||||||
sharedInformers := informers.NewSharedInformerFactory(versionedClient, resyncPeriod(s)())
|
sharedInformers := informers.NewSharedInformerFactory(versionedClient, resyncPeriod(s)())
|
||||||
|
|
||||||
|
@ -451,6 +451,11 @@ func StartControllers(controllers map[string]InitFunc, s *options.CMServer, root
|
|||||||
return fmt.Errorf("cloud provider could not be initialized: %v", err)
|
return fmt.Errorf("cloud provider could not be initialized: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if cloud != nil {
|
||||||
|
// Initialize the cloud provider with a reference to the clientBuilder
|
||||||
|
cloud.Initialize(clientBuilder)
|
||||||
|
}
|
||||||
|
|
||||||
if ctx.IsControllerEnabled(nodeControllerName) {
|
if ctx.IsControllerEnabled(nodeControllerName) {
|
||||||
_, clusterCIDR, err := net.ParseCIDR(s.ClusterCIDR)
|
_, clusterCIDR, err := net.ParseCIDR(s.ClusterCIDR)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -17,6 +17,7 @@ go_library(
|
|||||||
tags = ["automanaged"],
|
tags = ["automanaged"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//vendor/github.com/golang/glog:go_default_library",
|
"//vendor/github.com/golang/glog:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||||
],
|
],
|
||||||
|
@ -23,10 +23,13 @@ import (
|
|||||||
|
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Interface is an abstract, pluggable interface for cloud providers.
|
// Interface is an abstract, pluggable interface for cloud providers.
|
||||||
type Interface interface {
|
type Interface interface {
|
||||||
|
// Initialize provides the cloud with a kubernetes client builder
|
||||||
|
Initialize(clientBuilder controller.ControllerClientBuilder)
|
||||||
// LoadBalancer returns a balancer interface. Also returns true if the interface is supported, false otherwise.
|
// LoadBalancer returns a balancer interface. Also returns true if the interface is supported, false otherwise.
|
||||||
LoadBalancer() (LoadBalancer, bool)
|
LoadBalancer() (LoadBalancer, bool)
|
||||||
// Instances returns an instances interface. Also returns true if the interface is supported, false otherwise.
|
// Instances returns an instances interface. Also returns true if the interface is supported, false otherwise.
|
||||||
|
@ -30,6 +30,7 @@ go_library(
|
|||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/api/v1/service:go_default_library",
|
"//pkg/api/v1/service:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//pkg/credentialprovider/aws:go_default_library",
|
"//pkg/credentialprovider/aws:go_default_library",
|
||||||
"//pkg/volume:go_default_library",
|
"//pkg/volume:go_default_library",
|
||||||
"//vendor/github.com/aws/aws-sdk-go/aws:go_default_library",
|
"//vendor/github.com/aws/aws-sdk-go/aws:go_default_library",
|
||||||
|
@ -49,6 +49,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
"k8s.io/kubernetes/pkg/api/v1/service"
|
"k8s.io/kubernetes/pkg/api/v1/service"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
"k8s.io/kubernetes/pkg/volume"
|
"k8s.io/kubernetes/pkg/volume"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -888,6 +889,9 @@ func newAWSCloud(config io.Reader, awsServices Services) (*Cloud, error) {
|
|||||||
return awsCloud, nil
|
return awsCloud, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (c *Cloud) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
// Clusters returns the list of clusters.
|
// Clusters returns the list of clusters.
|
||||||
func (c *Cloud) Clusters() (cloudprovider.Clusters, bool) {
|
func (c *Cloud) Clusters() (cloudprovider.Clusters, bool) {
|
||||||
return nil, false
|
return nil, false
|
||||||
|
@ -29,6 +29,7 @@ go_library(
|
|||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/api/v1/service:go_default_library",
|
"//pkg/api/v1/service:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//pkg/version:go_default_library",
|
"//pkg/version:go_default_library",
|
||||||
"//pkg/volume:go_default_library",
|
"//pkg/volume:go_default_library",
|
||||||
"//vendor/github.com/Azure/azure-sdk-for-go/arm/compute:go_default_library",
|
"//vendor/github.com/Azure/azure-sdk-for-go/arm/compute:go_default_library",
|
||||||
|
@ -20,8 +20,10 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
"time"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
"k8s.io/kubernetes/pkg/version"
|
"k8s.io/kubernetes/pkg/version"
|
||||||
|
|
||||||
"github.com/Azure/azure-sdk-for-go/arm/compute"
|
"github.com/Azure/azure-sdk-for-go/arm/compute"
|
||||||
@ -30,7 +32,6 @@ import (
|
|||||||
"github.com/Azure/go-autorest/autorest"
|
"github.com/Azure/go-autorest/autorest"
|
||||||
"github.com/Azure/go-autorest/autorest/azure"
|
"github.com/Azure/go-autorest/autorest/azure"
|
||||||
"github.com/ghodss/yaml"
|
"github.com/ghodss/yaml"
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// CloudProviderName is the value used for the --cloud-provider flag
|
// CloudProviderName is the value used for the --cloud-provider flag
|
||||||
@ -179,6 +180,9 @@ func NewCloud(configReader io.Reader) (cloudprovider.Interface, error) {
|
|||||||
return &az, nil
|
return &az, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (az *Cloud) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
// LoadBalancer returns a balancer interface. Also returns true if the interface is supported, false otherwise.
|
// LoadBalancer returns a balancer interface. Also returns true if the interface is supported, false otherwise.
|
||||||
func (az *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
|
func (az *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
|
||||||
return az, true
|
return az, true
|
||||||
|
@ -18,6 +18,7 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//vendor/github.com/golang/glog:go_default_library",
|
"//vendor/github.com/golang/glog:go_default_library",
|
||||||
"//vendor/github.com/xanzy/go-cloudstack/cloudstack:go_default_library",
|
"//vendor/github.com/xanzy/go-cloudstack/cloudstack:go_default_library",
|
||||||
"//vendor/gopkg.in/gcfg.v1:go_default_library",
|
"//vendor/gopkg.in/gcfg.v1:go_default_library",
|
||||||
|
@ -24,6 +24,7 @@ import (
|
|||||||
"github.com/xanzy/go-cloudstack/cloudstack"
|
"github.com/xanzy/go-cloudstack/cloudstack"
|
||||||
"gopkg.in/gcfg.v1"
|
"gopkg.in/gcfg.v1"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ProviderName is the name of this cloud provider.
|
// ProviderName is the name of this cloud provider.
|
||||||
@ -81,6 +82,9 @@ func newCSCloud(cfg *CSConfig) (*CSCloud, error) {
|
|||||||
return &CSCloud{client, cfg.Global.ProjectID, cfg.Global.Zone}, nil
|
return &CSCloud{client, cfg.Global.ProjectID, cfg.Global.Zone}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (cs *CSCloud) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
// LoadBalancer returns an implementation of LoadBalancer for CloudStack.
|
// LoadBalancer returns an implementation of LoadBalancer for CloudStack.
|
||||||
func (cs *CSCloud) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
|
func (cs *CSCloud) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
|
||||||
return cs, true
|
return cs, true
|
||||||
|
@ -17,6 +17,7 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -26,6 +26,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
)
|
)
|
||||||
|
|
||||||
const defaultProviderName = "fake"
|
const defaultProviderName = "fake"
|
||||||
@ -82,6 +83,9 @@ func (f *FakeCloud) ClearCalls() {
|
|||||||
f.Calls = []string{}
|
f.Calls = []string{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (f *FakeCloud) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
func (f *FakeCloud) ListClusters() ([]string, error) {
|
func (f *FakeCloud) ListClusters() ([]string, error) {
|
||||||
return f.ClusterList, f.Err
|
return f.ClusterList, f.Err
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@ go_library(
|
|||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/api/v1/service:go_default_library",
|
"//pkg/api/v1/service:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//pkg/util/net/sets:go_default_library",
|
"//pkg/util/net/sets:go_default_library",
|
||||||
"//pkg/volume:go_default_library",
|
"//pkg/volume:go_default_library",
|
||||||
"//vendor/cloud.google.com/go/compute/metadata:go_default_library",
|
"//vendor/cloud.google.com/go/compute/metadata:go_default_library",
|
||||||
|
@ -31,6 +31,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/client-go/util/flowcontrol"
|
"k8s.io/client-go/util/flowcontrol"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
@ -233,6 +234,9 @@ func CreateGCECloud(projectID, region, zone string, managedZones []string, netwo
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (gce *GCECloud) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
// LoadBalancer returns an implementation of LoadBalancer for Google Compute Engine.
|
// LoadBalancer returns an implementation of LoadBalancer for Google Compute Engine.
|
||||||
func (gce *GCECloud) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
|
func (gce *GCECloud) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
|
||||||
return gce, true
|
return gce, true
|
||||||
|
@ -20,6 +20,7 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//vendor/github.com/golang/glog:go_default_library",
|
"//vendor/github.com/golang/glog:go_default_library",
|
||||||
"//vendor/github.com/mesos/mesos-go/detector:go_default_library",
|
"//vendor/github.com/mesos/mesos-go/detector:go_default_library",
|
||||||
"//vendor/github.com/mesos/mesos-go/detector/zoo:go_default_library",
|
"//vendor/github.com/mesos/mesos-go/detector/zoo:go_default_library",
|
||||||
|
@ -31,6 +31,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -89,6 +90,9 @@ func newMesosCloud(configReader io.Reader) (*MesosCloud, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (c *MesosCloud) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
// Implementation of Instances.CurrentNodeName
|
// Implementation of Instances.CurrentNodeName
|
||||||
func (c *MesosCloud) CurrentNodeName(hostname string) (types.NodeName, error) {
|
func (c *MesosCloud) CurrentNodeName(hostname string) (types.NodeName, error) {
|
||||||
return types.NodeName(hostname), nil
|
return types.NodeName(hostname), nil
|
||||||
|
@ -24,6 +24,7 @@ go_library(
|
|||||||
"//pkg/api/v1/helper:go_default_library",
|
"//pkg/api/v1/helper:go_default_library",
|
||||||
"//pkg/api/v1/service:go_default_library",
|
"//pkg/api/v1/service:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//pkg/util/exec:go_default_library",
|
"//pkg/util/exec:go_default_library",
|
||||||
"//pkg/util/mount:go_default_library",
|
"//pkg/util/mount:go_default_library",
|
||||||
"//pkg/volume:go_default_library",
|
"//pkg/volume:go_default_library",
|
||||||
|
@ -45,6 +45,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
v1helper "k8s.io/kubernetes/pkg/api/v1/helper"
|
v1helper "k8s.io/kubernetes/pkg/api/v1/helper"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
)
|
)
|
||||||
|
|
||||||
const ProviderName = "openstack"
|
const ProviderName = "openstack"
|
||||||
@ -265,6 +266,9 @@ func newOpenStack(cfg Config) (*OpenStack, error) {
|
|||||||
return &os, nil
|
return &os, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (os *OpenStack) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
// mapNodeNameToServerName maps a k8s NodeName to an OpenStack Server Name
|
// mapNodeNameToServerName maps a k8s NodeName to an OpenStack Server Name
|
||||||
// This is a simple string cast.
|
// This is a simple string cast.
|
||||||
func mapNodeNameToServerName(nodeName types.NodeName) string {
|
func mapNodeNameToServerName(nodeName types.NodeName) string {
|
||||||
|
@ -15,6 +15,7 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//vendor/gopkg.in/gcfg.v1:go_default_library",
|
"//vendor/gopkg.in/gcfg.v1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||||
],
|
],
|
||||||
|
@ -34,6 +34,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
)
|
)
|
||||||
|
|
||||||
const ProviderName = "ovirt"
|
const ProviderName = "ovirt"
|
||||||
@ -116,7 +117,10 @@ func newOVirtCloud(config io.Reader) (*OVirtCloud, error) {
|
|||||||
return &OVirtCloud{VmsRequest: request}, nil
|
return &OVirtCloud{VmsRequest: request}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (aws *OVirtCloud) Clusters() (cloudprovider.Clusters, bool) {
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (v *OVirtCloud) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
|
func (v *OVirtCloud) Clusters() (cloudprovider.Clusters, bool) {
|
||||||
return nil, false
|
return nil, false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ go_library(
|
|||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/api/v1/helper:go_default_library",
|
"//pkg/api/v1/helper:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//vendor/github.com/golang/glog:go_default_library",
|
"//vendor/github.com/golang/glog:go_default_library",
|
||||||
"//vendor/github.com/vmware/photon-controller-go-sdk/photon:go_default_library",
|
"//vendor/github.com/vmware/photon-controller-go-sdk/photon:go_default_library",
|
||||||
"//vendor/gopkg.in/gcfg.v1:go_default_library",
|
"//vendor/gopkg.in/gcfg.v1:go_default_library",
|
||||||
|
@ -41,6 +41,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
v1helper "k8s.io/kubernetes/pkg/api/v1/helper"
|
v1helper "k8s.io/kubernetes/pkg/api/v1/helper"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -292,6 +293,9 @@ func newPCCloud(cfg PCConfig) (*PCCloud, error) {
|
|||||||
return &pc, nil
|
return &pc, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (pc *PCCloud) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
// Instances returns an implementation of Instances for Photon Controller.
|
// Instances returns an implementation of Instances for Photon Controller.
|
||||||
func (pc *PCCloud) Instances() (cloudprovider.Instances, bool) {
|
func (pc *PCCloud) Instances() (cloudprovider.Instances, bool) {
|
||||||
return pc, true
|
return pc, true
|
||||||
|
@ -15,6 +15,7 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//vendor/github.com/golang/glog:go_default_library",
|
"//vendor/github.com/golang/glog:go_default_library",
|
||||||
"//vendor/github.com/rackspace/gophercloud:go_default_library",
|
"//vendor/github.com/rackspace/gophercloud:go_default_library",
|
||||||
"//vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach:go_default_library",
|
"//vendor/github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach:go_default_library",
|
||||||
|
@ -43,6 +43,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -218,6 +219,9 @@ func newRackspace(cfg Config) (*Rackspace, error) {
|
|||||||
return &os, nil
|
return &os, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (os *Rackspace) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
type Instances struct {
|
type Instances struct {
|
||||||
compute *gophercloud.ServiceClient
|
compute *gophercloud.ServiceClient
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ go_library(
|
|||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/api/v1/helper:go_default_library",
|
"//pkg/api/v1/helper:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
|
"//pkg/controller:go_default_library",
|
||||||
"//vendor/github.com/golang/glog:go_default_library",
|
"//vendor/github.com/golang/glog:go_default_library",
|
||||||
"//vendor/github.com/vmware/govmomi:go_default_library",
|
"//vendor/github.com/vmware/govmomi:go_default_library",
|
||||||
"//vendor/github.com/vmware/govmomi/find:go_default_library",
|
"//vendor/github.com/vmware/govmomi/find:go_default_library",
|
||||||
|
@ -50,6 +50,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
v1helper "k8s.io/kubernetes/pkg/api/v1/helper"
|
v1helper "k8s.io/kubernetes/pkg/api/v1/helper"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -229,6 +230,9 @@ func init() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize passes a Kubernetes clientBuilder interface to the cloud provider
|
||||||
|
func (vs *VSphere) Initialize(clientBuilder controller.ControllerClientBuilder) {}
|
||||||
|
|
||||||
// UUID gets the BIOS UUID via the sys interface. This UUID is known by vsphere
|
// UUID gets the BIOS UUID via the sys interface. This UUID is known by vsphere
|
||||||
func getvmUUID() (string, error) {
|
func getvmUUID() (string, error) {
|
||||||
id, err := ioutil.ReadFile(UUIDPath)
|
id, err := ioutil.ReadFile(UUIDPath)
|
||||||
|
Loading…
Reference in New Issue
Block a user