new pve api
This commit is contained in:
parent
9c7f7894b9
commit
9a58ab40b0
6 changed files with 17 additions and 17 deletions
|
|
@ -33,7 +33,6 @@ spec:
|
||||||
- args:
|
- args:
|
||||||
- --cloud-provider=pve
|
- --cloud-provider=pve
|
||||||
- --leader-elect=false
|
- --leader-elect=false
|
||||||
- --allow-untagged-cloud
|
|
||||||
image: controller:latest
|
image: controller:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: manager
|
name: manager
|
||||||
|
|
|
||||||
2
go.mod
2
go.mod
|
|
@ -3,7 +3,7 @@ module git.giftfish.de/ston1th/cloud-controller-manager-pve
|
||||||
go 1.13
|
go 1.13
|
||||||
|
|
||||||
require (
|
require (
|
||||||
git.giftfish.de/ston1th/pve-go v0.0.0-20200601222910-6d4e4c31f330
|
git.giftfish.de/ston1th/pve-go v0.0.0-20200604204038-4c7e511a72be
|
||||||
k8s.io/api v0.18.3
|
k8s.io/api v0.18.3
|
||||||
k8s.io/apimachinery v0.18.3
|
k8s.io/apimachinery v0.18.3
|
||||||
k8s.io/cloud-provider v0.18.3
|
k8s.io/cloud-provider v0.18.3
|
||||||
|
|
|
||||||
8
go.sum
8
go.sum
|
|
@ -2,12 +2,8 @@ bitbucket.org/bertimus9/systemstat v0.0.0-20180207000608-0eeff89b0690/go.mod h1:
|
||||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||||
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
||||||
git.giftfish.de/ston1th/pve-go v0.0.0-20200601123732-b06a42d6d190 h1:79jCchxx53NxFTyIqX42qcYNlPTmM7nJiFw/qwlhWug=
|
git.giftfish.de/ston1th/pve-go v0.0.0-20200604204038-4c7e511a72be h1:dtfoY+acdI5EASJlMUMQQg8XSg/BmXmFpONOI2tWAtQ=
|
||||||
git.giftfish.de/ston1th/pve-go v0.0.0-20200601123732-b06a42d6d190/go.mod h1:WOrvThayhaB89KZwQqGzqcTD9nVeTsnaRB1vBaeb2tM=
|
git.giftfish.de/ston1th/pve-go v0.0.0-20200604204038-4c7e511a72be/go.mod h1:WOrvThayhaB89KZwQqGzqcTD9nVeTsnaRB1vBaeb2tM=
|
||||||
git.giftfish.de/ston1th/pve-go v0.0.0-20200601203218-7f405ea6e5bb h1:D0Fb4a5a2L/0fZwzNB6nAMvv66UnTu1+rs9kRyaUe5o=
|
|
||||||
git.giftfish.de/ston1th/pve-go v0.0.0-20200601203218-7f405ea6e5bb/go.mod h1:WOrvThayhaB89KZwQqGzqcTD9nVeTsnaRB1vBaeb2tM=
|
|
||||||
git.giftfish.de/ston1th/pve-go v0.0.0-20200601222910-6d4e4c31f330 h1:06Ym33K8kx745k50ID098A7jgIHNFjo33M1zoTVZKLw=
|
|
||||||
git.giftfish.de/ston1th/pve-go v0.0.0-20200601222910-6d4e4c31f330/go.mod h1:WOrvThayhaB89KZwQqGzqcTD9nVeTsnaRB1vBaeb2tM=
|
|
||||||
github.com/Azure/azure-sdk-for-go v35.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
|
github.com/Azure/azure-sdk-for-go v35.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
|
||||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
|
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
|
||||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
|
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
|
||||||
|
|
|
||||||
|
|
@ -111,8 +111,7 @@ func (c *cloud) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []strin
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *cloud) HasClusterID() bool {
|
func (c *cloud) HasClusterID() bool {
|
||||||
// TODO set to true
|
return true
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,10 @@ func (i *instances) NodeAddresses(ctx context.Context, nodeName types.NodeName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
server, err = getServerByProviderID(ctx, i.client, server.K8sID())
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
return i.nodeAddresses(ctx, server), nil
|
return i.nodeAddresses(ctx, server), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -56,7 +60,7 @@ func (i *instances) InstanceID(ctx context.Context, nodeName types.NodeName) (st
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
return strings.TrimPrefix(server.InstanceID(), scheme), nil
|
return strings.TrimPrefix(server.K8sID(), scheme), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *instances) InstanceType(ctx context.Context, nodeName types.NodeName) (string, error) {
|
func (i *instances) InstanceType(ctx context.Context, nodeName types.NodeName) (string, error) {
|
||||||
|
|
@ -95,19 +99,21 @@ func (i *instances) CurrentNodeName(ctx context.Context, hostname string) (types
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *instances) InstanceExistsByProviderID(ctx context.Context, providerID string) (exists bool, err error) {
|
func (i *instances) InstanceExistsByProviderID(ctx context.Context, providerID string) (exists bool, err error) {
|
||||||
server, err := i.client.Server.GetByURL(ctx, providerID)
|
server, err := getServerByProviderID(ctx, i.client, providerID)
|
||||||
if err != nil {
|
if err != nil && err != cloudprovider.InstanceNotFound {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
err = nil
|
||||||
exists = server != nil
|
exists = server != nil
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *instances) InstanceShutdownByProviderID(ctx context.Context, providerID string) (isOff bool, err error) {
|
func (i *instances) InstanceShutdownByProviderID(ctx context.Context, providerID string) (isOff bool, err error) {
|
||||||
server, err := i.client.Server.GetByURL(ctx, providerID)
|
server, err := getServerByProviderID(ctx, i.client, providerID)
|
||||||
if err != nil {
|
if err != nil && err != cloudprovider.InstanceNotFound {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
err = nil
|
||||||
isOff = server != nil && server.Status == pve.ServerStatusStopped
|
isOff = server != nil && server.Status == pve.ServerStatusStopped
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func getServerByName(ctx context.Context, c *pve.Client, name string) (server *pve.Server, err error) {
|
func getServerByName(ctx context.Context, c *pve.Client, name string) (server *pve.Server, err error) {
|
||||||
server, err = c.Node.FindServerByName(ctx, name)
|
server, err = c.Pool.FindServerByName(ctx, "", name)
|
||||||
if err == pve.ErrServerNotFound {
|
if err == pve.ErrServerNotFound {
|
||||||
return nil, cloudprovider.InstanceNotFound
|
return nil, cloudprovider.InstanceNotFound
|
||||||
}
|
}
|
||||||
|
|
@ -28,7 +28,7 @@ func getServerByName(ctx context.Context, c *pve.Client, name string) (server *p
|
||||||
}
|
}
|
||||||
|
|
||||||
func getServerByProviderID(ctx context.Context, c *pve.Client, providerID string) (server *pve.Server, err error) {
|
func getServerByProviderID(ctx context.Context, c *pve.Client, providerID string) (server *pve.Server, err error) {
|
||||||
server, err = c.Node.FindServerByURL(ctx, providerID)
|
server, err = c.Server.GetByURL(ctx, providerID)
|
||||||
if err == pve.ErrServerNotFound {
|
if err == pve.ErrServerNotFound {
|
||||||
return nil, cloudprovider.InstanceNotFound
|
return nil, cloudprovider.InstanceNotFound
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue