some updated

This commit is contained in:
ston1th 2020-10-25 21:54:37 +01:00
commit b0e048ba9d
7 changed files with 105 additions and 34 deletions

View file

@ -56,37 +56,18 @@ func (i *instances) NodeAddresses(ctx context.Context, nodeName types.NodeName)
}
func (i *instances) InstanceID(ctx context.Context, nodeName types.NodeName) (string, error) {
server, err := getServerByName(ctx, i.client, string(nodeName))
ref, err := getServerRefByName(ctx, i.client, string(nodeName))
if err != nil {
return "", err
}
return strings.TrimPrefix(server.K8sID(), scheme), nil
return strings.TrimPrefix(ref.K8sID(), scheme), nil
}
func (i *instances) InstanceType(ctx context.Context, nodeName types.NodeName) (string, error) {
/*
server, err := getServerByName(ctx, i.client, string(nodeName))
if err != nil {
return "", err
}
return server.ServerType.Name, nil
*/
return InstanceType, nil
}
func (i *instances) InstanceTypeByProviderID(ctx context.Context, providerID string) (string, error) {
/*
id, err := providerIDToServerID(providerID)
if err != nil {
return "", err
}
server, err := getServerByID(ctx, i.client, id)
if err != nil {
return "", err
}
return server.ServerType.Name, nil
*/
return InstanceType, nil
}
@ -132,9 +113,9 @@ func (i *instances) InstanceMetadataByProviderID(ctx context.Context, providerID
}
*/
func (i *instances) nodeAddresses(ctx context.Context, server *pve.Server) []v1.NodeAddress {
func (i *instances) nodeAddresses(ctx context.Context, srv *pve.Server) []v1.NodeAddress {
var internalIP string
ipc := server.IPConfig.Get(0)
ipc := srv.IPConfig.Get(0)
if ipc != nil {
ip, _, err := net.ParseCIDR(ipc.IPv4CIDR)
if err == nil {
@ -142,7 +123,7 @@ func (i *instances) nodeAddresses(ctx context.Context, server *pve.Server) []v1.
}
}
addrs := []v1.NodeAddress{
{Type: v1.NodeHostName, Address: server.Name},
{Type: v1.NodeHostName, Address: srv.Name},
{Type: v1.NodeInternalIP, Address: internalIP},
}
return addrs

View file

@ -19,16 +19,24 @@ import (
cloudprovider "k8s.io/cloud-provider"
)
func getServerByName(ctx context.Context, c *pve.Client, name string) (server *pve.Server, err error) {
server, err = c.Pool.FindServerByName(ctx, "", name)
func getServerRefByName(ctx context.Context, c *pve.Client, name string) (ref *pve.ServerRef, err error) {
ref, err = c.Pool.FindServerByName(ctx, "", name)
if err == pve.ErrServerNotFound {
return nil, cloudprovider.InstanceNotFound
}
return
}
func getServerByProviderID(ctx context.Context, c *pve.Client, providerID string) (server *pve.Server, err error) {
server, err = c.Server.GetByURL(ctx, providerID)
func getServerByName(ctx context.Context, c *pve.Client, name string) (srv *pve.Server, err error) {
ref, err := getServerRefByName(ctx, c, name)
if err == pve.ErrServerNotFound {
return nil, cloudprovider.InstanceNotFound
}
return c.Server.GetByRef(ctx, ref)
}
func getServerByProviderID(ctx context.Context, c *pve.Client, providerID string) (srv *pve.Server, err error) {
srv, err = c.Server.GetByURL(ctx, providerID)
if err == pve.ErrServerNotFound {
return nil, cloudprovider.InstanceNotFound
}