mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 06:54:01 +00:00
Rebase to master, change JSONBase to TypeMeta.
This commit is contained in:
parent
c3d9197a4b
commit
4de810efb4
@ -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,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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 {
|
||||||
|
@ -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)
|
||||||
|
@ -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)
|
||||||
|
@ -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")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user