From 372451fa32fc78b5f84399026b2ae6d42a05d97d Mon Sep 17 00:00:00 2001 From: Eric Jadi Date: Tue, 24 Apr 2018 18:37:33 +0200 Subject: [PATCH] kubelet now returns PodConditions based on aciState (#147) Fix for https://github.com/virtual-kubelet/virtual-kubelet/issues/136 --- providers/azure/aci.go | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/providers/azure/aci.go b/providers/azure/aci.go index ab5ba60fc..71b232cd1 100644 --- a/providers/azure/aci.go +++ b/providers/azure/aci.go @@ -810,11 +810,9 @@ func containerGroupToPod(cg *aci.ContainerGroup) (*v1.Pod, error) { Volumes: []v1.Volume{}, Containers: containers, }, - // TODO: Make this dynamic, likely can translate the provisioningState or instanceView.ContainerState into a Phase, - // and some of the Events into Conditions Status: v1.PodStatus{ Phase: aciStateToPodPhase(aciState), - Conditions: []v1.PodCondition{}, + Conditions: aciStateToPodConditions(aciState, podCreationTimestamp), Message: "", Reason: "", HostIP: "", @@ -850,6 +848,28 @@ func aciStateToPodPhase(state string) v1.PodPhase { return v1.PodUnknown } +func aciStateToPodConditions(state string, transitiontime metav1.Time) []v1.PodCondition { + switch state { + case "Running", "Succeeded": + return []v1.PodCondition{ + v1.PodCondition{ + Type: v1.PodReady, + Status: v1.ConditionTrue, + LastTransitionTime: transitiontime, + }, v1.PodCondition{ + Type: v1.PodInitialized, + Status: v1.ConditionTrue, + LastTransitionTime: transitiontime, + }, v1.PodCondition{ + Type: v1.PodScheduled, + Status: v1.ConditionTrue, + LastTransitionTime: transitiontime, + }, + } + } + return []v1.PodCondition{} +} + func aciContainerStateToContainerState(cs aci.ContainerState) v1.ContainerState { startTime := metav1.NewTime(time.Time(cs.StartTime))