From 9a58ab40b0edf89131d411295374b3181aba60bc Mon Sep 17 00:00:00 2001 From: ston1th Date: Fri, 5 Jun 2020 00:22:04 +0200 Subject: [PATCH] new pve api --- config/manager/manager.yaml | 1 - go.mod | 2 +- go.sum | 8 ++------ pvecloud/cloud.go | 3 +-- pvecloud/instances.go | 16 +++++++++++----- pvecloud/util.go | 4 ++-- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 05baebc..a3a4340 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -33,7 +33,6 @@ spec: - args: - --cloud-provider=pve - --leader-elect=false - - --allow-untagged-cloud image: controller:latest imagePullPolicy: Always name: manager diff --git a/go.mod b/go.mod index 21451bb..43a0cce 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.giftfish.de/ston1th/cloud-controller-manager-pve go 1.13 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/apimachinery v0.18.3 k8s.io/cloud-provider v0.18.3 diff --git a/go.sum b/go.sum index 9a7b1b1..0ffe366 100644 --- a/go.sum +++ b/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.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= 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-20200601123732-b06a42d6d190/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= +git.giftfish.de/ston1th/pve-go v0.0.0-20200604204038-4c7e511a72be h1:dtfoY+acdI5EASJlMUMQQg8XSg/BmXmFpONOI2tWAtQ= +git.giftfish.de/ston1th/pve-go v0.0.0-20200604204038-4c7e511a72be/go.mod h1:WOrvThayhaB89KZwQqGzqcTD9nVeTsnaRB1vBaeb2tM= 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/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= diff --git a/pvecloud/cloud.go b/pvecloud/cloud.go index 4f5106b..80cc71f 100644 --- a/pvecloud/cloud.go +++ b/pvecloud/cloud.go @@ -111,8 +111,7 @@ func (c *cloud) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []strin } func (c *cloud) HasClusterID() bool { - // TODO set to true - return false + return true } func init() { diff --git a/pvecloud/instances.go b/pvecloud/instances.go index d388e2f..e5f7ba1 100644 --- a/pvecloud/instances.go +++ b/pvecloud/instances.go @@ -48,6 +48,10 @@ func (i *instances) NodeAddresses(ctx context.Context, nodeName types.NodeName) if err != nil { return nil, err } + server, err = getServerByProviderID(ctx, i.client, server.K8sID()) + if err != nil { + return nil, err + } return i.nodeAddresses(ctx, server), nil } @@ -56,7 +60,7 @@ func (i *instances) InstanceID(ctx context.Context, nodeName types.NodeName) (st if err != nil { 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) { @@ -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) { - server, err := i.client.Server.GetByURL(ctx, providerID) - if err != nil { + server, err := getServerByProviderID(ctx, i.client, providerID) + if err != nil && err != cloudprovider.InstanceNotFound { return } + err = nil exists = server != nil return } func (i *instances) InstanceShutdownByProviderID(ctx context.Context, providerID string) (isOff bool, err error) { - server, err := i.client.Server.GetByURL(ctx, providerID) - if err != nil { + server, err := getServerByProviderID(ctx, i.client, providerID) + if err != nil && err != cloudprovider.InstanceNotFound { return } + err = nil isOff = server != nil && server.Status == pve.ServerStatusStopped return } diff --git a/pvecloud/util.go b/pvecloud/util.go index e5772ea..808907d 100644 --- a/pvecloud/util.go +++ b/pvecloud/util.go @@ -20,7 +20,7 @@ import ( ) 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 { 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) { - server, err = c.Node.FindServerByURL(ctx, providerID) + server, err = c.Server.GetByURL(ctx, providerID) if err == pve.ErrServerNotFound { return nil, cloudprovider.InstanceNotFound }