diff --git a/pkg/cloudprovider/nodecontroller/nodecontroller.go b/pkg/cloudprovider/nodecontroller/nodecontroller.go index 1b53bd5006c..98c7e07d710 100644 --- a/pkg/cloudprovider/nodecontroller/nodecontroller.go +++ b/pkg/cloudprovider/nodecontroller/nodecontroller.go @@ -424,7 +424,7 @@ func (nc *NodeController) recordNodeEvent(node *api.Node, event string) { glog.V(2).Infof("Recording %s event message for node %s", event, node.Name) // TODO: This requires a transaction, either both node status is updated // and event is recorded or neither should happen, see issue #6055. - nc.recorder.Eventf(ref, event, "Node %s is now %s", node.Name, event) + nc.recorder.Eventf(ref, event, "Node %s status is now: %s", node.Name, event) } // For a given node checks its conditions and tries to update it. Returns grace period to which given node @@ -611,12 +611,9 @@ func (nc *NodeController) monitorNodeStatus() error { } } - // Report node events. - if readyCondition.Status == api.ConditionFalse && lastReadyCondition.Status != api.ConditionFalse { - nc.recordNodeEvent(node, "not_ready") - } - if readyCondition.Status == api.ConditionUnknown && lastReadyCondition.Status != api.ConditionUnknown { - nc.recordNodeEvent(node, "unknown") + // Report node event. + if readyCondition.Status != api.ConditionTrue && lastReadyCondition.Status == api.ConditionTrue { + nc.recordNodeEvent(node, "NodeNotReady") } } } diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 6cb89206e5c..796c789619e 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1717,22 +1717,11 @@ func (kl *Kubelet) updateNodeStatus() error { return fmt.Errorf("Update node status exceeds retry count") } -func (kl *Kubelet) recordNodeOnlineEvent() { +func (kl *Kubelet) recordNodeStatusEvent(event string) { + glog.V(2).Infof("Recording %s event message for node %s", event, kl.hostname) // TODO: This requires a transaction, either both node status is updated // and event is recorded or neither should happen, see issue #6055. - kl.recorder.Eventf(kl.nodeRef, "online", "Node %s is now online", kl.hostname) -} - -func (kl *Kubelet) recordNodeSchedulableEvent() { - // TODO: This requires a transaction, either both node status is updated - // and event is recorded or neither should happen, see issue #6055. - kl.recorder.Eventf(kl.nodeRef, "schedulable", "Node %s is now schedulable", kl.hostname) -} - -func (kl *Kubelet) recordNodeUnschedulableEvent() { - // TODO: This requires a transaction, either both node status is updated - // and event is recorded or neither should happen, see issue #6055. - kl.recorder.Eventf(kl.nodeRef, "unschedulable", "Node %s is now unschedulable", kl.hostname) + kl.recorder.Eventf(kl.nodeRef, event, "Node %s status is now: %s", kl.hostname, event) } // Maintains Node.Spec.Unschedulable value from previous run of tryUpdateNodeStatus() @@ -1828,7 +1817,7 @@ func (kl *Kubelet) tryUpdateNodeStatus() error { if node.Status.Conditions[i].Type == api.NodeReady { newCondition.LastTransitionTime = node.Status.Conditions[i].LastTransitionTime if node.Status.Conditions[i].Status != api.ConditionTrue { - kl.recordNodeOnlineEvent() + kl.recordNodeStatusEvent("NodeReady") } node.Status.Conditions[i] = newCondition updated = true @@ -1837,14 +1826,14 @@ func (kl *Kubelet) tryUpdateNodeStatus() error { if !updated { newCondition.LastTransitionTime = currentTime node.Status.Conditions = append(node.Status.Conditions, newCondition) - kl.recordNodeOnlineEvent() + kl.recordNodeStatusEvent("NodeReady") } if oldNodeUnschedulable != node.Spec.Unschedulable { if node.Spec.Unschedulable { - kl.recordNodeUnschedulableEvent() + kl.recordNodeStatusEvent("NodeNotSchedulable") } else { - kl.recordNodeSchedulableEvent() + kl.recordNodeStatusEvent("NodeSchedulable") } oldNodeUnschedulable = node.Spec.Unschedulable }