|
|
@@ -32,6 +32,7 @@ import (
|
|
|
|
fake_cloud "github.com/GoogleCloudPlatform/kubernetes/pkg/cloudprovider/fake"
|
|
|
|
fake_cloud "github.com/GoogleCloudPlatform/kubernetes/pkg/cloudprovider/fake"
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/fields"
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/fields"
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
|
|
|
|
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/types"
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/watch"
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/watch"
|
|
|
|
)
|
|
|
|
)
|
|
|
@@ -609,7 +610,7 @@ func TestSyncCloudNodesReconcilesExternalService(t *testing.T) {
|
|
|
|
// Set of nodes does not change: do nothing.
|
|
|
|
// Set of nodes does not change: do nothing.
|
|
|
|
fakeNodeHandler: &FakeNodeHandler{
|
|
|
|
fakeNodeHandler: &FakeNodeHandler{
|
|
|
|
Existing: []*api.Node{newNode("node0"), newNode("node1")},
|
|
|
|
Existing: []*api.Node{newNode("node0"), newNode("node1")},
|
|
|
|
Fake: testclient.NewSimpleFake(&api.ServiceList{Items: []api.Service{*newService("service0", true), *newService("service1", false)}})},
|
|
|
|
Fake: testclient.NewSimpleFake(&api.ServiceList{Items: []api.Service{*newService("service0", types.UID(""), true), *newService("service1", types.UID(""), false)}})},
|
|
|
|
fakeCloud: &fake_cloud.FakeCloud{
|
|
|
|
fakeCloud: &fake_cloud.FakeCloud{
|
|
|
|
Machines: []string{"node0", "node1"},
|
|
|
|
Machines: []string{"node0", "node1"},
|
|
|
|
},
|
|
|
|
},
|
|
|
@@ -621,28 +622,28 @@ func TestSyncCloudNodesReconcilesExternalService(t *testing.T) {
|
|
|
|
// Delete "node1", target pool for "service0" should shrink.
|
|
|
|
// Delete "node1", target pool for "service0" should shrink.
|
|
|
|
fakeNodeHandler: &FakeNodeHandler{
|
|
|
|
fakeNodeHandler: &FakeNodeHandler{
|
|
|
|
Existing: []*api.Node{newNode("node0"), newNode("node1")},
|
|
|
|
Existing: []*api.Node{newNode("node0"), newNode("node1")},
|
|
|
|
Fake: testclient.NewSimpleFake(&api.ServiceList{Items: []api.Service{*newService("service0", true), *newService("service1", false)}})},
|
|
|
|
Fake: testclient.NewSimpleFake(&api.ServiceList{Items: []api.Service{*newService("service0", types.UID("2c104a7c-e79e-11e4-8187-42010af0068a"), true), *newService("service1", types.UID(""), false)}})},
|
|
|
|
fakeCloud: &fake_cloud.FakeCloud{
|
|
|
|
fakeCloud: &fake_cloud.FakeCloud{
|
|
|
|
Machines: []string{"node0"},
|
|
|
|
Machines: []string{"node0"},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
matchRE: ".*",
|
|
|
|
matchRE: ".*",
|
|
|
|
expectedClientActions: []testclient.FakeAction{{Action: "list-pods"}, {Action: "list-services"}},
|
|
|
|
expectedClientActions: []testclient.FakeAction{{Action: "list-pods"}, {Action: "list-services"}},
|
|
|
|
expectedUpdateCalls: []fake_cloud.FakeUpdateBalancerCall{
|
|
|
|
expectedUpdateCalls: []fake_cloud.FakeUpdateBalancerCall{
|
|
|
|
{Name: "kubernetes-namespace-service0", Hosts: []string{"node0"}},
|
|
|
|
{Name: "a2c104a7ce79e11e4818742010af0068", Hosts: []string{"node0"}},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Add "node1", target pool for "service0" should grow.
|
|
|
|
// Add "node1", target pool for "service0" should grow.
|
|
|
|
fakeNodeHandler: &FakeNodeHandler{
|
|
|
|
fakeNodeHandler: &FakeNodeHandler{
|
|
|
|
Existing: []*api.Node{newNode("node0")},
|
|
|
|
Existing: []*api.Node{newNode("node0")},
|
|
|
|
Fake: testclient.NewSimpleFake(&api.ServiceList{Items: []api.Service{*newService("service0", true), *newService("service1", false)}})},
|
|
|
|
Fake: testclient.NewSimpleFake(&api.ServiceList{Items: []api.Service{*newService("service0", types.UID("2c104a7c-e79e-11e4-8187-42010af0068a"), true), *newService("service1", types.UID(""), false)}})},
|
|
|
|
fakeCloud: &fake_cloud.FakeCloud{
|
|
|
|
fakeCloud: &fake_cloud.FakeCloud{
|
|
|
|
Machines: []string{"node0", "node1"},
|
|
|
|
Machines: []string{"node0", "node1"},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
matchRE: ".*",
|
|
|
|
matchRE: ".*",
|
|
|
|
expectedClientActions: []testclient.FakeAction{{Action: "list-services"}},
|
|
|
|
expectedClientActions: []testclient.FakeAction{{Action: "list-services"}},
|
|
|
|
expectedUpdateCalls: []fake_cloud.FakeUpdateBalancerCall{
|
|
|
|
expectedUpdateCalls: []fake_cloud.FakeUpdateBalancerCall{
|
|
|
|
{Name: "kubernetes-namespace-service0", Hosts: []string{"node0", "node1"}},
|
|
|
|
{Name: "a2c104a7ce79e11e4818742010af0068", Hosts: []string{"node0", "node1"}},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
@@ -1128,8 +1129,8 @@ func newPod(name, host string) *api.Pod {
|
|
|
|
return &api.Pod{ObjectMeta: api.ObjectMeta{Name: name}, Spec: api.PodSpec{Host: host}}
|
|
|
|
return &api.Pod{ObjectMeta: api.ObjectMeta{Name: name}, Spec: api.PodSpec{Host: host}}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func newService(name string, external bool) *api.Service {
|
|
|
|
func newService(name string, uid types.UID, external bool) *api.Service {
|
|
|
|
return &api.Service{ObjectMeta: api.ObjectMeta{Name: name, Namespace: "namespace"}, Spec: api.ServiceSpec{CreateExternalLoadBalancer: external}}
|
|
|
|
return &api.Service{ObjectMeta: api.ObjectMeta{Name: name, Namespace: "namespace", UID: uid}, Spec: api.ServiceSpec{CreateExternalLoadBalancer: external}}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func sortedNodeNames(nodes []*api.Node) []string {
|
|
|
|
func sortedNodeNames(nodes []*api.Node) []string {
|
|
|
|