mirror of https://github.com/k3s-io/k3s
Merge pull request #4085 from ddysher/fix-node-name
Lower case node names before registeringpull/6/head
commit
be310ac8c3
|
@ -20,6 +20,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"net"
|
"net"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -112,6 +113,7 @@ func (s *NodeController) Run(period time.Duration, retryCount int) {
|
||||||
// RegisterNodes registers the given list of nodes, it keeps retrying for `retryCount` times.
|
// RegisterNodes registers the given list of nodes, it keeps retrying for `retryCount` times.
|
||||||
func (s *NodeController) RegisterNodes(nodes *api.NodeList, retryCount int, retryInterval time.Duration) error {
|
func (s *NodeController) RegisterNodes(nodes *api.NodeList, retryCount int, retryInterval time.Duration) error {
|
||||||
registered := util.NewStringSet()
|
registered := util.NewStringSet()
|
||||||
|
nodes = s.canonicalizeName(nodes)
|
||||||
for i := 0; i < retryCount; i++ {
|
for i := 0; i < retryCount; i++ {
|
||||||
for _, node := range nodes.Items {
|
for _, node := range nodes.Items {
|
||||||
if registered.Has(node.Name) {
|
if registered.Has(node.Name) {
|
||||||
|
@ -330,3 +332,11 @@ func (s *NodeController) CloudNodes() (*api.NodeList, error) {
|
||||||
func (s *NodeController) isRunningCloudProvider() bool {
|
func (s *NodeController) isRunningCloudProvider() bool {
|
||||||
return s.cloud != nil && len(s.matchRE) > 0
|
return s.cloud != nil && len(s.matchRE) > 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// canonicalizeName takes a node list and lowercases all nodes' name.
|
||||||
|
func (s *NodeController) canonicalizeName(nodes *api.NodeList) *api.NodeList {
|
||||||
|
for i := range nodes.Items {
|
||||||
|
nodes.Items[i].Name = strings.ToLower(nodes.Items[i].Name)
|
||||||
|
}
|
||||||
|
return nodes
|
||||||
|
}
|
||||||
|
|
|
@ -134,6 +134,22 @@ func TestRegisterNodes(t *testing.T) {
|
||||||
expectedCreateCount: 2,
|
expectedCreateCount: 2,
|
||||||
expectedFail: false,
|
expectedFail: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// Canonicalize node names.
|
||||||
|
machines: []string{"NODE0", "node1"},
|
||||||
|
fakeNodeHandler: &FakeNodeHandler{
|
||||||
|
CreateHook: func(fake *FakeNodeHandler, node *api.Node) bool {
|
||||||
|
if node.Name == "NODE0" {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
retryCount: 1,
|
||||||
|
expectedRequestCount: 2,
|
||||||
|
expectedCreateCount: 2,
|
||||||
|
expectedFail: false,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
// No machine to register.
|
// No machine to register.
|
||||||
machines: []string{},
|
machines: []string{},
|
||||||
|
|
Loading…
Reference in New Issue