mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Merge pull request #3368 from ddysher/static-hostip
Post hostip for static machines
This commit is contained in:
commit
e965b7ec18
@ -18,6 +18,7 @@ package controller
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
"time"
|
||||
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
||||
@ -73,12 +74,26 @@ func (s *NodeController) SyncStatic(period time.Duration) error {
|
||||
if registered.Has(nodeID) {
|
||||
continue
|
||||
}
|
||||
_, err := s.kubeClient.Nodes().Create(&api.Node{
|
||||
node := &api.Node{
|
||||
ObjectMeta: api.ObjectMeta{Name: nodeID},
|
||||
Spec: api.NodeSpec{
|
||||
Capacity: s.staticResources.Capacity,
|
||||
},
|
||||
})
|
||||
}
|
||||
addr := net.ParseIP(nodeID)
|
||||
if addr != nil {
|
||||
node.Status.HostIP = nodeID
|
||||
} else {
|
||||
addrs, err := net.LookupIP(nodeID)
|
||||
if err != nil {
|
||||
glog.Errorf("Can't get ip address of node %v", nodeID)
|
||||
} else if len(addrs) == 0 {
|
||||
glog.Errorf("No ip address for node %v", nodeID)
|
||||
} else {
|
||||
node.Status.HostIP = addrs[0].String()
|
||||
}
|
||||
}
|
||||
_, err := s.kubeClient.Nodes().Create(node)
|
||||
if err == nil {
|
||||
registered.Insert(nodeID)
|
||||
}
|
||||
|
@ -102,6 +102,25 @@ func TestSyncStaticCreateNode(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestSyncStaticCreateNodeWithHostIP(t *testing.T) {
|
||||
fakeNodeHandler := &FakeNodeHandler{
|
||||
CreateHook: func(fake *FakeNodeHandler, node *api.Node) bool {
|
||||
return true
|
||||
},
|
||||
}
|
||||
nodeController := NewNodeController(nil, ".*", []string{"10.0.0.1"}, &api.NodeResources{}, fakeNodeHandler)
|
||||
if err := nodeController.SyncStatic(time.Millisecond); err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
if fakeNodeHandler.CreatedNodes[0].Name != "10.0.0.1" {
|
||||
t.Errorf("unexpect node %v created", fakeNodeHandler.CreatedNodes[0].Name)
|
||||
}
|
||||
if fakeNodeHandler.CreatedNodes[0].Status.HostIP != "10.0.0.1" {
|
||||
t.Errorf("unexpect nil node HostIP for node %v", fakeNodeHandler.CreatedNodes[0].Name)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSyncStaticCreateNodeWithError(t *testing.T) {
|
||||
fakeNodeHandler := &FakeNodeHandler{
|
||||
CreateHook: func(fake *FakeNodeHandler, node *api.Node) bool {
|
||||
|
Loading…
Reference in New Issue
Block a user