Fix to build virtual-kubelet in windows
This commit is contained in:
63
vkubelet/lookup.go
Normal file
63
vkubelet/lookup.go
Normal file
@@ -0,0 +1,63 @@
|
||||
// +build !windows
|
||||
|
||||
package vkubelet
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/virtual-kubelet/virtual-kubelet/manager"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/aws"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/azure"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/azurebatch"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/cri"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/huawei"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/hypersh"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/mock"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/sfmesh"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/vic"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/web"
|
||||
)
|
||||
|
||||
// Compile time proof that our implementations meet the Provider interface.
|
||||
var _ Provider = (*aws.FargateProvider)(nil)
|
||||
var _ Provider = (*azure.ACIProvider)(nil)
|
||||
var _ Provider = (*hypersh.HyperProvider)(nil)
|
||||
var _ Provider = (*web.BrokerProvider)(nil)
|
||||
var _ Provider = (*mock.MockProvider)(nil)
|
||||
var _ Provider = (*huawei.CCIProvider)(nil)
|
||||
var _ Provider = (*azurebatch.Provider)(nil)
|
||||
var _ Provider = (*sfmesh.SFMeshProvider)(nil)
|
||||
|
||||
// start of providers not supported on windows
|
||||
var _ Provider = (*cri.CRIProvider)(nil)
|
||||
var _ Provider = (*vic.VicProvider)(nil)
|
||||
|
||||
func lookupProvider(provider, providerConfig string, rm *manager.ResourceManager, nodeName, operatingSystem, internalIP string, daemonEndpointPort int32) (Provider, error) {
|
||||
switch provider {
|
||||
case "aws":
|
||||
return aws.NewFargateProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
case "azure":
|
||||
return azure.NewACIProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
case "azurebatch":
|
||||
return azurebatch.NewBatchProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
case "hyper":
|
||||
return hypersh.NewHyperProvider(providerConfig, rm, nodeName, operatingSystem)
|
||||
case "web":
|
||||
return web.NewBrokerProvider(nodeName, operatingSystem, daemonEndpointPort)
|
||||
case "mock":
|
||||
return mock.NewMockProvider(providerConfig, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
case "huawei":
|
||||
return huawei.NewCCIProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
case "sfmesh":
|
||||
return sfmesh.NewSFMeshProvider(rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
// start of providers not supported on windows
|
||||
case "cri":
|
||||
return cri.NewCRIProvider(nodeName, operatingSystem, internalIP, rm, daemonEndpointPort)
|
||||
case "vic":
|
||||
return vic.NewVicProvider(providerConfig, rm, nodeName, operatingSystem)
|
||||
default:
|
||||
fmt.Printf("Provider '%s' is not supported\n", provider)
|
||||
}
|
||||
var p Provider
|
||||
return p, nil
|
||||
}
|
||||
50
vkubelet/lookup_windows.go
Normal file
50
vkubelet/lookup_windows.go
Normal file
@@ -0,0 +1,50 @@
|
||||
package vkubelet
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/virtual-kubelet/virtual-kubelet/manager"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/aws"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/azure"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/azurebatch"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/huawei"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/hypersh"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/mock"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/sfmesh"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/web"
|
||||
)
|
||||
|
||||
// Compile time proof that our implementations meet the Provider interface.
|
||||
var _ Provider = (*aws.FargateProvider)(nil)
|
||||
var _ Provider = (*azure.ACIProvider)(nil)
|
||||
var _ Provider = (*hypersh.HyperProvider)(nil)
|
||||
var _ Provider = (*web.BrokerProvider)(nil)
|
||||
var _ Provider = (*mock.MockProvider)(nil)
|
||||
var _ Provider = (*huawei.CCIProvider)(nil)
|
||||
var _ Provider = (*azurebatch.Provider)(nil)
|
||||
var _ Provider = (*sfmesh.SFMeshProvider)(nil)
|
||||
|
||||
func lookupProvider(provider, providerConfig string, rm *manager.ResourceManager, nodeName, operatingSystem, internalIP string, daemonEndpointPort int32) (Provider, error) {
|
||||
switch provider {
|
||||
case "aws":
|
||||
return aws.NewFargateProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
case "azure":
|
||||
return azure.NewACIProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
case "azurebatch":
|
||||
return azurebatch.NewBatchProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
case "hyper":
|
||||
return hypersh.NewHyperProvider(providerConfig, rm, nodeName, operatingSystem)
|
||||
case "web":
|
||||
return web.NewBrokerProvider(nodeName, operatingSystem, daemonEndpointPort)
|
||||
case "mock":
|
||||
return mock.NewMockProvider(providerConfig, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
case "huawei":
|
||||
return huawei.NewCCIProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
case "sfmesh":
|
||||
return sfmesh.NewSFMeshProvider(rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
default:
|
||||
fmt.Printf("Provider '%s' is not supported\n", provider)
|
||||
}
|
||||
var p Provider
|
||||
return p, nil
|
||||
}
|
||||
@@ -4,33 +4,11 @@ import (
|
||||
"io"
|
||||
"time"
|
||||
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/aws"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/azure"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/azurebatch"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/cri"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/huawei"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/hypersh"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/mock"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/sfmesh"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/vic"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/web"
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/client-go/tools/remotecommand"
|
||||
)
|
||||
|
||||
// Compile time proof that our implementations meet the Provider interface.
|
||||
var _ Provider = (*aws.FargateProvider)(nil)
|
||||
var _ Provider = (*azure.ACIProvider)(nil)
|
||||
var _ Provider = (*hypersh.HyperProvider)(nil)
|
||||
var _ Provider = (*vic.VicProvider)(nil)
|
||||
var _ Provider = (*web.BrokerProvider)(nil)
|
||||
var _ Provider = (*mock.MockProvider)(nil)
|
||||
var _ Provider = (*huawei.CCIProvider)(nil)
|
||||
var _ Provider = (*azurebatch.Provider)(nil)
|
||||
var _ Provider = (*cri.CRIProvider)(nil)
|
||||
var _ Provider = (*sfmesh.SFMeshProvider)(nil)
|
||||
|
||||
// Provider contains the methods required to implement a virtual-kubelet provider.
|
||||
type Provider interface {
|
||||
// CreatePod takes a Kubernetes Pod and deploys it within the provider.
|
||||
|
||||
@@ -11,16 +11,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/virtual-kubelet/virtual-kubelet/manager"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/aws"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/azure"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/azurebatch"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/cri"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/huawei"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/hypersh"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/mock"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/sfmesh"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/vic"
|
||||
"github.com/virtual-kubelet/virtual-kubelet/providers/web"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@@ -81,60 +71,9 @@ func New(nodeName, operatingSystem, namespace, kubeConfig, taint, provider, prov
|
||||
|
||||
internalIP := os.Getenv("VKUBELET_POD_IP")
|
||||
|
||||
var p Provider
|
||||
switch provider {
|
||||
case "aws":
|
||||
p, err = aws.NewFargateProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "azure":
|
||||
p, err = azure.NewACIProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "azurebatch":
|
||||
p, err = azurebatch.NewBatchProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "hyper":
|
||||
p, err = hypersh.NewHyperProvider(providerConfig, rm, nodeName, operatingSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "vic":
|
||||
p, err = vic.NewVicProvider(providerConfig, rm, nodeName, operatingSystem)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "web":
|
||||
p, err = web.NewBrokerProvider(nodeName, operatingSystem, daemonEndpointPort)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "mock":
|
||||
p, err = mock.NewMockProvider(providerConfig, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "cri":
|
||||
p, err = cri.NewCRIProvider(nodeName, operatingSystem, internalIP, rm, daemonEndpointPort)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "huawei":
|
||||
p, err = huawei.NewCCIProvider(providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
case "sfmesh":
|
||||
p, err = sfmesh.NewSFMeshProvider(rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
default:
|
||||
fmt.Printf("Provider '%s' is not supported\n", provider)
|
||||
p, err = lookupProvider(provider, providerConfig, rm, nodeName, operatingSystem, internalIP, daemonEndpointPort)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
s := &Server{
|
||||
|
||||
Reference in New Issue
Block a user