Rebase to master, change JSONBase to TypeMeta.

This commit is contained in:
Deyuan Deng 2014-10-07 16:02:52 -04:00
parent c3d9197a4b
commit 4de810efb4
7 changed files with 16 additions and 15 deletions

View File

@ -114,7 +114,7 @@ func makeMinionRegistry(c *Config) minion.Registry {
minionRegistry = etcd.NewRegistry(c.EtcdHelper, nil) minionRegistry = etcd.NewRegistry(c.EtcdHelper, nil)
for _, minionID := range c.Minions { for _, minionID := range c.Minions {
minionRegistry.CreateMinion(nil, &api.Minion{ minionRegistry.CreateMinion(nil, &api.Minion{
JSONBase: api.JSONBase{ID: minionID}, TypeMeta: api.TypeMeta{ID: minionID},
NodeResources: c.NodeResources, NodeResources: c.NodeResources,
}) })
} }

View File

@ -34,7 +34,7 @@ import (
// TODO: Need to add a reconciler loop that makes sure that things in pods are reflected into // TODO: Need to add a reconciler loop that makes sure that things in pods are reflected into
// kubelet (and vice versa) // kubelet (and vice versa)
// Registry implements PodRegistry, ControllerRegistry, ServiceRegistry and MinionRegitry, backed by etcd. // Registry implements PodRegistry, ControllerRegistry, ServiceRegistry and MinionRegistry, backed by etcd.
type Registry struct { type Registry struct {
tools.EtcdHelper tools.EtcdHelper
manifestFactory pod.ManifestFactory manifestFactory pod.ManifestFactory
@ -393,6 +393,7 @@ func (r *Registry) ListMinions(ctx api.Context) (*api.MinionList, error) {
} }
func (r *Registry) CreateMinion(ctx api.Context, minion *api.Minion) error { func (r *Registry) CreateMinion(ctx api.Context, minion *api.Minion) error {
// TODO: Add some validations.
err := r.CreateObj(makeMinionKey(minion.ID), minion, 0) err := r.CreateObj(makeMinionKey(minion.ID), minion, 0)
return etcderr.InterpretCreateError(err, "minion", minion.ID) return etcderr.InterpretCreateError(err, "minion", minion.ID)
} }

View File

@ -1029,12 +1029,12 @@ func TestEtcdListMinions(t *testing.T) {
Nodes: []*etcd.Node{ Nodes: []*etcd.Node{
{ {
Value: runtime.EncodeOrDie(latest.Codec, &api.Minion{ Value: runtime.EncodeOrDie(latest.Codec, &api.Minion{
JSONBase: api.JSONBase{ID: "foo"}, TypeMeta: api.TypeMeta{ID: "foo"},
}), }),
}, },
{ {
Value: runtime.EncodeOrDie(latest.Codec, &api.Minion{ Value: runtime.EncodeOrDie(latest.Codec, &api.Minion{
JSONBase: api.JSONBase{ID: "bar"}, TypeMeta: api.TypeMeta{ID: "bar"},
}), }),
}, },
}, },
@ -1058,7 +1058,7 @@ func TestEtcdCreateMinion(t *testing.T) {
fakeClient := tools.NewFakeEtcdClient(t) fakeClient := tools.NewFakeEtcdClient(t)
registry := NewTestEtcdRegistry(fakeClient) registry := NewTestEtcdRegistry(fakeClient)
err := registry.CreateMinion(ctx, &api.Minion{ err := registry.CreateMinion(ctx, &api.Minion{
JSONBase: api.JSONBase{ID: "foo"}, TypeMeta: api.TypeMeta{ID: "foo"},
}) })
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)
@ -1083,7 +1083,7 @@ func TestEtcdCreateMinion(t *testing.T) {
func TestEtcdContainsMinion(t *testing.T) { func TestEtcdContainsMinion(t *testing.T) {
ctx := api.NewContext() ctx := api.NewContext()
fakeClient := tools.NewFakeEtcdClient(t) fakeClient := tools.NewFakeEtcdClient(t)
fakeClient.Set("/registry/minions/foo", runtime.EncodeOrDie(latest.Codec, &api.Minion{JSONBase: api.JSONBase{ID: "foo"}}), 0) fakeClient.Set("/registry/minions/foo", runtime.EncodeOrDie(latest.Codec, &api.Minion{TypeMeta: api.TypeMeta{ID: "foo"}}), 0)
registry := NewTestEtcdRegistry(fakeClient) registry := NewTestEtcdRegistry(fakeClient)
contains, err := registry.ContainsMinion(ctx, "foo") contains, err := registry.ContainsMinion(ctx, "foo")
if err != nil { if err != nil {

View File

@ -57,7 +57,7 @@ func NewCachingRegistry(delegate Registry, ttl time.Duration) (Registry, error)
}, nil }, nil
} }
func (r *CachingRegistry) ContainsMinion(ctx api.Context, minionID string) (bool, error) { func (r *CachingRegistry) ContainsMinion(ctx api.Context, nodeID string) (bool, error) {
if r.expired() { if r.expired() {
if err := r.refresh(ctx, false); err != nil { if err := r.refresh(ctx, false); err != nil {
return false, err return false, err
@ -67,15 +67,15 @@ func (r *CachingRegistry) ContainsMinion(ctx api.Context, minionID string) (bool
r.lock.RLock() r.lock.RLock()
defer r.lock.RUnlock() defer r.lock.RUnlock()
for _, node := range r.nodes.Items { for _, node := range r.nodes.Items {
if node.ID == minionID { if node.ID == nodeID {
return true, nil return true, nil
} }
} }
return false, nil return false, nil
} }
func (r *CachingRegistry) DeleteMinion(ctx api.Context, minionID string) error { func (r *CachingRegistry) DeleteMinion(ctx api.Context, nodeID string) error {
if err := r.delegate.DeleteMinion(ctx, minionID); err != nil { if err := r.delegate.DeleteMinion(ctx, nodeID); err != nil {
return err return err
} }
return r.refresh(ctx, true) return r.refresh(ctx, true)

View File

@ -95,7 +95,7 @@ func TestCachingInsert(t *testing.T) {
nodes: expected, nodes: expected,
} }
err := cache.CreateMinion(ctx, &api.Minion{ err := cache.CreateMinion(ctx, &api.Minion{
JSONBase: api.JSONBase{ID: "foo"}, TypeMeta: api.TypeMeta{ID: "foo"},
}) })
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)

View File

@ -37,21 +37,21 @@ func NewCloudRegistry(cloud cloudprovider.Interface, matchRE string, staticResou
}, nil }, nil
} }
func (r *CloudRegistry) ContainsMinion(ctx api.Context, minionID string) (bool, error) { func (r *CloudRegistry) ContainsMinion(ctx api.Context, nodeID string) (bool, error) {
instances, err := r.ListMinions(ctx) instances, err := r.ListMinions(ctx)
if err != nil { if err != nil {
return false, err return false, err
} }
for _, node := range instances.Items { for _, node := range instances.Items {
if node.ID == minionID { if node.ID == nodeID {
return true, nil return true, nil
} }
} }
return false, nil return false, nil
} }
func (r CloudRegistry) DeleteMinion(ctx api.Context, minionID string) error { func (r CloudRegistry) DeleteMinion(ctx api.Context, nodeID string) error {
return fmt.Errorf("unsupported") return fmt.Errorf("unsupported")
} }

View File

@ -55,7 +55,7 @@ func TestBasicDelegation(t *testing.T) {
t.Errorf("Expected %v, Got %v", mockMinionRegistry.Minions, list) t.Errorf("Expected %v, Got %v", mockMinionRegistry.Minions, list)
} }
err = healthy.CreateMinion(ctx, &api.Minion{ err = healthy.CreateMinion(ctx, &api.Minion{
JSONBase: api.JSONBase{ID: "foo"}, TypeMeta: api.TypeMeta{ID: "foo"},
}) })
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)