|
|
|
@@ -22,7 +22,7 @@ import (
|
|
|
|
|
|
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/errors"
|
|
|
|
|
_ "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta1"
|
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/latest"
|
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
|
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/registry/registrytest"
|
|
|
|
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
|
|
|
|
@@ -41,7 +41,7 @@ func NewTestEtcdRegistry(client tools.EtcdClient) *Registry {
|
|
|
|
|
|
|
|
|
|
func TestEtcdGetPod(t *testing.T) {
|
|
|
|
|
fakeClient := tools.NewFakeEtcdClient(t)
|
|
|
|
|
fakeClient.Set("/registry/pods/foo", latest.Codec.EncodeOrDie(&api.Pod{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
fakeClient.Set("/registry/pods/foo", runtime.EncodeOrDie(latest.Codec, &api.Pod{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
registry := NewTestEtcdRegistry(fakeClient)
|
|
|
|
|
pod, err := registry.GetPod("foo")
|
|
|
|
|
if err != nil {
|
|
|
|
@@ -77,7 +77,7 @@ func TestEtcdCreatePod(t *testing.T) {
|
|
|
|
|
},
|
|
|
|
|
E: tools.EtcdErrorNotFound,
|
|
|
|
|
}
|
|
|
|
|
fakeClient.Set("/registry/hosts/machine/kubelet", latest.Codec.EncodeOrDie(&api.ContainerManifestList{}), 0)
|
|
|
|
|
fakeClient.Set("/registry/hosts/machine/kubelet", runtime.EncodeOrDie(latest.Codec, &api.ContainerManifestList{}), 0)
|
|
|
|
|
registry := NewTestEtcdRegistry(fakeClient)
|
|
|
|
|
err := registry.CreatePod(&api.Pod{
|
|
|
|
|
JSONBase: api.JSONBase{
|
|
|
|
@@ -133,7 +133,7 @@ func TestEtcdCreatePodAlreadyExisting(t *testing.T) {
|
|
|
|
|
fakeClient.Data["/registry/pods/foo"] = tools.EtcdResponseWithError{
|
|
|
|
|
R: &etcd.Response{
|
|
|
|
|
Node: &etcd.Node{
|
|
|
|
|
Value: latest.Codec.EncodeOrDie(&api.Pod{JSONBase: api.JSONBase{ID: "foo"}}),
|
|
|
|
|
Value: runtime.EncodeOrDie(latest.Codec, &api.Pod{JSONBase: api.JSONBase{ID: "foo"}}),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
E: nil,
|
|
|
|
@@ -264,7 +264,7 @@ func TestEtcdCreatePodWithExistingContainers(t *testing.T) {
|
|
|
|
|
},
|
|
|
|
|
E: tools.EtcdErrorNotFound,
|
|
|
|
|
}
|
|
|
|
|
fakeClient.Set("/registry/hosts/machine/kubelet", latest.Codec.EncodeOrDie(&api.ContainerManifestList{
|
|
|
|
|
fakeClient.Set("/registry/hosts/machine/kubelet", runtime.EncodeOrDie(latest.Codec, &api.ContainerManifestList{
|
|
|
|
|
Items: []api.ContainerManifest{
|
|
|
|
|
{ID: "bar"},
|
|
|
|
|
},
|
|
|
|
@@ -325,11 +325,11 @@ func TestEtcdDeletePod(t *testing.T) {
|
|
|
|
|
fakeClient.TestIndex = true
|
|
|
|
|
|
|
|
|
|
key := "/registry/pods/foo"
|
|
|
|
|
fakeClient.Set(key, latest.Codec.EncodeOrDie(&api.Pod{
|
|
|
|
|
fakeClient.Set(key, runtime.EncodeOrDie(latest.Codec, &api.Pod{
|
|
|
|
|
JSONBase: api.JSONBase{ID: "foo"},
|
|
|
|
|
DesiredState: api.PodState{Host: "machine"},
|
|
|
|
|
}), 0)
|
|
|
|
|
fakeClient.Set("/registry/hosts/machine/kubelet", latest.Codec.EncodeOrDie(&api.ContainerManifestList{
|
|
|
|
|
fakeClient.Set("/registry/hosts/machine/kubelet", runtime.EncodeOrDie(latest.Codec, &api.ContainerManifestList{
|
|
|
|
|
Items: []api.ContainerManifest{
|
|
|
|
|
{ID: "foo"},
|
|
|
|
|
},
|
|
|
|
@@ -361,11 +361,11 @@ func TestEtcdDeletePodMultipleContainers(t *testing.T) {
|
|
|
|
|
fakeClient.TestIndex = true
|
|
|
|
|
|
|
|
|
|
key := "/registry/pods/foo"
|
|
|
|
|
fakeClient.Set(key, latest.Codec.EncodeOrDie(&api.Pod{
|
|
|
|
|
fakeClient.Set(key, runtime.EncodeOrDie(latest.Codec, &api.Pod{
|
|
|
|
|
JSONBase: api.JSONBase{ID: "foo"},
|
|
|
|
|
DesiredState: api.PodState{Host: "machine"},
|
|
|
|
|
}), 0)
|
|
|
|
|
fakeClient.Set("/registry/hosts/machine/kubelet", latest.Codec.EncodeOrDie(&api.ContainerManifestList{
|
|
|
|
|
fakeClient.Set("/registry/hosts/machine/kubelet", runtime.EncodeOrDie(latest.Codec, &api.ContainerManifestList{
|
|
|
|
|
Items: []api.ContainerManifest{
|
|
|
|
|
{ID: "foo"},
|
|
|
|
|
{ID: "bar"},
|
|
|
|
@@ -445,13 +445,13 @@ func TestEtcdListPods(t *testing.T) {
|
|
|
|
|
Node: &etcd.Node{
|
|
|
|
|
Nodes: []*etcd.Node{
|
|
|
|
|
{
|
|
|
|
|
Value: latest.Codec.EncodeOrDie(&api.Pod{
|
|
|
|
|
Value: runtime.EncodeOrDie(latest.Codec, &api.Pod{
|
|
|
|
|
JSONBase: api.JSONBase{ID: "foo"},
|
|
|
|
|
DesiredState: api.PodState{Host: "machine"},
|
|
|
|
|
}),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
Value: latest.Codec.EncodeOrDie(&api.Pod{
|
|
|
|
|
Value: runtime.EncodeOrDie(latest.Codec, &api.Pod{
|
|
|
|
|
JSONBase: api.JSONBase{ID: "bar"},
|
|
|
|
|
DesiredState: api.PodState{Host: "machine"},
|
|
|
|
|
}),
|
|
|
|
@@ -520,10 +520,10 @@ func TestEtcdListControllers(t *testing.T) {
|
|
|
|
|
Node: &etcd.Node{
|
|
|
|
|
Nodes: []*etcd.Node{
|
|
|
|
|
{
|
|
|
|
|
Value: latest.Codec.EncodeOrDie(&api.ReplicationController{JSONBase: api.JSONBase{ID: "foo"}}),
|
|
|
|
|
Value: runtime.EncodeOrDie(latest.Codec, &api.ReplicationController{JSONBase: api.JSONBase{ID: "foo"}}),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
Value: latest.Codec.EncodeOrDie(&api.ReplicationController{JSONBase: api.JSONBase{ID: "bar"}}),
|
|
|
|
|
Value: runtime.EncodeOrDie(latest.Codec, &api.ReplicationController{JSONBase: api.JSONBase{ID: "bar"}}),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
@@ -543,7 +543,7 @@ func TestEtcdListControllers(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestEtcdGetController(t *testing.T) {
|
|
|
|
|
fakeClient := tools.NewFakeEtcdClient(t)
|
|
|
|
|
fakeClient.Set("/registry/controllers/foo", latest.Codec.EncodeOrDie(&api.ReplicationController{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
fakeClient.Set("/registry/controllers/foo", runtime.EncodeOrDie(latest.Codec, &api.ReplicationController{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
registry := NewTestEtcdRegistry(fakeClient)
|
|
|
|
|
ctrl, err := registry.GetController("foo")
|
|
|
|
|
if err != nil {
|
|
|
|
@@ -619,7 +619,7 @@ func TestEtcdCreateController(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestEtcdCreateControllerAlreadyExisting(t *testing.T) {
|
|
|
|
|
fakeClient := tools.NewFakeEtcdClient(t)
|
|
|
|
|
fakeClient.Set("/registry/controllers/foo", latest.Codec.EncodeOrDie(&api.ReplicationController{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
fakeClient.Set("/registry/controllers/foo", runtime.EncodeOrDie(latest.Codec, &api.ReplicationController{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
|
|
|
|
|
registry := NewTestEtcdRegistry(fakeClient)
|
|
|
|
|
err := registry.CreateController(&api.ReplicationController{
|
|
|
|
@@ -636,7 +636,7 @@ func TestEtcdUpdateController(t *testing.T) {
|
|
|
|
|
fakeClient := tools.NewFakeEtcdClient(t)
|
|
|
|
|
fakeClient.TestIndex = true
|
|
|
|
|
|
|
|
|
|
resp, _ := fakeClient.Set("/registry/controllers/foo", latest.Codec.EncodeOrDie(&api.ReplicationController{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
resp, _ := fakeClient.Set("/registry/controllers/foo", runtime.EncodeOrDie(latest.Codec, &api.ReplicationController{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
registry := NewTestEtcdRegistry(fakeClient)
|
|
|
|
|
err := registry.UpdateController(&api.ReplicationController{
|
|
|
|
|
JSONBase: api.JSONBase{ID: "foo", ResourceVersion: resp.Node.ModifiedIndex},
|
|
|
|
@@ -662,10 +662,10 @@ func TestEtcdListServices(t *testing.T) {
|
|
|
|
|
Node: &etcd.Node{
|
|
|
|
|
Nodes: []*etcd.Node{
|
|
|
|
|
{
|
|
|
|
|
Value: latest.Codec.EncodeOrDie(&api.Service{JSONBase: api.JSONBase{ID: "foo"}}),
|
|
|
|
|
Value: runtime.EncodeOrDie(latest.Codec, &api.Service{JSONBase: api.JSONBase{ID: "foo"}}),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
Value: latest.Codec.EncodeOrDie(&api.Service{JSONBase: api.JSONBase{ID: "bar"}}),
|
|
|
|
|
Value: runtime.EncodeOrDie(latest.Codec, &api.Service{JSONBase: api.JSONBase{ID: "bar"}}),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
@@ -711,7 +711,7 @@ func TestEtcdCreateService(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestEtcdCreateServiceAlreadyExisting(t *testing.T) {
|
|
|
|
|
fakeClient := tools.NewFakeEtcdClient(t)
|
|
|
|
|
fakeClient.Set("/registry/services/specs/foo", latest.Codec.EncodeOrDie(&api.Service{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
fakeClient.Set("/registry/services/specs/foo", runtime.EncodeOrDie(latest.Codec, &api.Service{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
registry := NewTestEtcdRegistry(fakeClient)
|
|
|
|
|
err := registry.CreateService(&api.Service{
|
|
|
|
|
JSONBase: api.JSONBase{ID: "foo"},
|
|
|
|
@@ -723,7 +723,7 @@ func TestEtcdCreateServiceAlreadyExisting(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestEtcdGetService(t *testing.T) {
|
|
|
|
|
fakeClient := tools.NewFakeEtcdClient(t)
|
|
|
|
|
fakeClient.Set("/registry/services/specs/foo", latest.Codec.EncodeOrDie(&api.Service{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
fakeClient.Set("/registry/services/specs/foo", runtime.EncodeOrDie(latest.Codec, &api.Service{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
registry := NewTestEtcdRegistry(fakeClient)
|
|
|
|
|
service, err := registry.GetService("foo")
|
|
|
|
|
if err != nil {
|
|
|
|
@@ -775,7 +775,7 @@ func TestEtcdUpdateService(t *testing.T) {
|
|
|
|
|
fakeClient := tools.NewFakeEtcdClient(t)
|
|
|
|
|
fakeClient.TestIndex = true
|
|
|
|
|
|
|
|
|
|
resp, _ := fakeClient.Set("/registry/services/specs/foo", latest.Codec.EncodeOrDie(&api.Service{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
resp, _ := fakeClient.Set("/registry/services/specs/foo", runtime.EncodeOrDie(latest.Codec, &api.Service{JSONBase: api.JSONBase{ID: "foo"}}), 0)
|
|
|
|
|
registry := NewTestEtcdRegistry(fakeClient)
|
|
|
|
|
testService := api.Service{
|
|
|
|
|
JSONBase: api.JSONBase{ID: "foo", ResourceVersion: resp.Node.ModifiedIndex},
|
|
|
|
@@ -812,10 +812,10 @@ func TestEtcdListEndpoints(t *testing.T) {
|
|
|
|
|
Node: &etcd.Node{
|
|
|
|
|
Nodes: []*etcd.Node{
|
|
|
|
|
{
|
|
|
|
|
Value: latest.Codec.EncodeOrDie(&api.Endpoints{JSONBase: api.JSONBase{ID: "foo"}, Endpoints: []string{"127.0.0.1:8345"}}),
|
|
|
|
|
Value: runtime.EncodeOrDie(latest.Codec, &api.Endpoints{JSONBase: api.JSONBase{ID: "foo"}, Endpoints: []string{"127.0.0.1:8345"}}),
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
Value: latest.Codec.EncodeOrDie(&api.Endpoints{JSONBase: api.JSONBase{ID: "bar"}}),
|
|
|
|
|
Value: runtime.EncodeOrDie(latest.Codec, &api.Endpoints{JSONBase: api.JSONBase{ID: "bar"}}),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
@@ -841,7 +841,7 @@ func TestEtcdGetEndpoints(t *testing.T) {
|
|
|
|
|
Endpoints: []string{"127.0.0.1:34855"},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fakeClient.Set("/registry/services/endpoints/foo", latest.Codec.EncodeOrDie(endpoints), 0)
|
|
|
|
|
fakeClient.Set("/registry/services/endpoints/foo", runtime.EncodeOrDie(latest.Codec, endpoints), 0)
|
|
|
|
|
|
|
|
|
|
got, err := registry.GetEndpoints("foo")
|
|
|
|
|
if err != nil {
|
|
|
|
@@ -862,7 +862,7 @@ func TestEtcdUpdateEndpoints(t *testing.T) {
|
|
|
|
|
Endpoints: []string{"baz", "bar"},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fakeClient.Set("/registry/services/endpoints/foo", latest.Codec.EncodeOrDie(&api.Endpoints{}), 0)
|
|
|
|
|
fakeClient.Set("/registry/services/endpoints/foo", runtime.EncodeOrDie(latest.Codec, &api.Endpoints{}), 0)
|
|
|
|
|
|
|
|
|
|
err := registry.UpdateEndpoints(&endpoints)
|
|
|
|
|
if err != nil {
|
|
|
|
|