本文整理匯總了Golang中k8s/io/kubernetes/pkg/api.PodStatus.Message方法的典型用法代碼示例。如果您正苦於以下問題:Golang PodStatus.Message方法的具體用法?Golang PodStatus.Message怎麽用?Golang PodStatus.Message使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類k8s/io/kubernetes/pkg/api.PodStatus
的用法示例。
在下文中一共展示了PodStatus.Message方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: TestStaleUpdates
func TestStaleUpdates(t *testing.T) {
pod := getTestPod()
client := fake.NewSimpleClientset(pod)
m := newTestManager(client)
status := api.PodStatus{Message: "initial status"}
m.SetPodStatus(pod, status)
status.Message = "first version bump"
m.SetPodStatus(pod, status)
status.Message = "second version bump"
m.SetPodStatus(pod, status)
verifyUpdates(t, m, 3)
t.Logf("First sync pushes latest status.")
m.testSyncBatch()
verifyActions(t, m.kubeClient, []core.Action{
core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: "pods"}},
core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: "pods", Subresource: "status"}},
})
client.ClearActions()
for i := 0; i < 2; i++ {
t.Logf("Next 2 syncs should be ignored (%d).", i)
m.testSyncBatch()
verifyActions(t, m.kubeClient, []core.Action{})
}
t.Log("Unchanged status should not send an update.")
m.SetPodStatus(pod, status)
verifyUpdates(t, m, 0)
t.Log("... unless it's stale.")
m.apiStatusVersions[pod.UID] = m.apiStatusVersions[pod.UID] - 1
m.SetPodStatus(pod, status)
m.testSyncBatch()
verifyActions(t, m.kubeClient, []core.Action{
core.GetActionImpl{ActionImpl: core.ActionImpl{Verb: "get", Resource: "pods"}},
core.UpdateActionImpl{ActionImpl: core.ActionImpl{Verb: "update", Resource: "pods", Subresource: "status"}},
})
// Nothing stuck in the pipe.
verifyUpdates(t, m, 0)
}
示例2: GetPodStatus
// GetPodStatus retrieves the status of the pod, including the information of
// all containers in the pod. Clients of this interface assume the containers
// statuses in a pod always have a deterministic ordering (eg: sorted by name).
func (r *runtime) GetPodStatus(pod *api.Pod) (*api.PodStatus, error) {
podInfos, err := r.hyperClient.ListPods()
if err != nil {
glog.Errorf("Hyper: ListPods failed, error: %s", err)
return nil, err
}
var status api.PodStatus
podFullName := r.buildHyperPodFullName(string(pod.UID), string(pod.Name), string(pod.Namespace))
for _, podInfo := range podInfos {
if podInfo.PodName != podFullName {
continue
}
if len(podInfo.PodInfo.Status.PodIP) > 0 {
status.PodIP = podInfo.PodInfo.Status.PodIP[0]
}
status.HostIP = podInfo.PodInfo.Status.HostIP
status.Phase = api.PodPhase(podInfo.PodInfo.Status.Phase)
status.Message = podInfo.PodInfo.Status.Message
status.Reason = podInfo.PodInfo.Status.Reason
for _, containerInfo := range podInfo.PodInfo.Status.Status {
for _, container := range podInfo.PodInfo.Spec.Containers {
if container.ContainerID == containerInfo.ContainerID {
status.ContainerStatuses = append(
status.ContainerStatuses,
r.getContainerStatus(containerInfo, container.Image, container.ImageID))
}
}
}
}
glog.V(5).Infof("Hyper: get pod %s status %s", podFullName, status)
return &status, nil
}