diff --git a/pkg/api/validation/events.go b/pkg/api/validation/events.go index 15ad7ff84aa..f2a036022e1 100644 --- a/pkg/api/validation/events.go +++ b/pkg/api/validation/events.go @@ -25,7 +25,9 @@ import ( // ValidateEvent makes sure that the event makes sense. func ValidateEvent(event *api.Event) errs.ValidationErrorList { allErrs := errs.ValidationErrorList{} - if event.Namespace != event.InvolvedObject.Namespace { + // TODO: There is no namespace required for minion + if event.InvolvedObject.Kind != "Node" && + event.Namespace != event.InvolvedObject.Namespace { allErrs = append(allErrs, errs.NewFieldInvalid("involvedObject.namespace", event.InvolvedObject.Namespace, "namespace does not match involvedObject")) } if !util.IsDNS1123Subdomain(event.Namespace) { diff --git a/pkg/kubectl/describe.go b/pkg/kubectl/describe.go index d0a335987dc..0ef55369297 100644 --- a/pkg/kubectl/describe.go +++ b/pkg/kubectl/describe.go @@ -27,6 +27,7 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/client" "github.com/GoogleCloudPlatform/kubernetes/pkg/labels" + "github.com/GoogleCloudPlatform/kubernetes/pkg/types" "github.com/golang/glog" ) @@ -366,7 +367,14 @@ func (d *NodeDescriber) Describe(namespace, name string) (string, error) { pods = append(pods, pod) } - events, _ := d.Events(namespace).Search(node) + var events *api.EventList + if ref, err := api.GetReference(node); err != nil { + glog.Errorf("Unable to construct reference to '%#v': %v", node, err) + } else { + // TODO: We haven't decided the namespace for Node object yet. + ref.UID = types.UID(ref.Name) + events, _ = d.Events("").Search(ref) + } return describeNode(node, pods, events) } diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 056e205d13c..6469b5547e4 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1998,11 +1998,12 @@ func (kl *Kubelet) BirthCry() { // Make an event that kubelet restarted. // TODO: get the real minion object of ourself, // and use the real minion name and UID. + // TODO: what is namespace for node? ref := &api.ObjectReference{ - Kind: "Minion", + Kind: "Node", Name: kl.hostname, UID: types.UID(kl.hostname), - Namespace: api.NamespaceDefault, + Namespace: "", } kl.recorder.Eventf(ref, "starting", "Starting kubelet.") }