Using pod ready condition for pod readiness check

Using pod ready condition when pod readiness is requested and
container.ready when container readiness is requested

Change-Id: I300f09f57498465a681df01c2d5c3d979f12e4bf
This commit is contained in:
Itzik Brown 2018-08-30 17:53:41 +03:00
parent d3ef21d8df
commit 427b168a20
2 changed files with 19 additions and 8 deletions

View File

@ -127,18 +127,30 @@ class BaseKuryrScenarioTest(manager.NetworkScenarioTest):
return pod.status.phase
@classmethod
def get_pod_readiness(cls, pod_name, namespace="default",
container_name=None):
def get_readiness_state(cls, pod_name, namespace="default",
container_name=None):
pod_list = cls.k8s_client.CoreV1Api().list_namespaced_pod(
namespace=namespace)
for pod in pod_list.items:
if pod.metadata.name == pod_name:
for container in pod.status.containerStatuses:
if container_name:
if container_name:
for container in pod.status.container_statuses:
if container.name == container_name:
return container.ready
else:
return container.ready
else:
for condition in pod.status.conditions:
if condition.type == 'Ready':
return condition.status
@classmethod
def get_pod_readiness(cls, pod_name, namespace="default"):
return cls.get_readiness_state(pod_name, namespace=namespace)
@classmethod
def get_container_readiness(cls, pod_name, namespace="default",
container_name=None):
return cls.get_readiness_state(pod_name, namespace=namespace,
container_name=container_name)
def get_pod_port(self, pod_name, namespace="default"):
pod = self.k8s_client.CoreV1Api().read_namespaced_pod_status(

View File

@ -94,8 +94,7 @@ class TestPortPoolScenario(base.BaseKuryrScenarioTest):
pod_readiness_retries = 30
while not self.get_pod_readiness(
kube_system_pod,
namespace=CONF.kuryr_kubernetes.kube_system_namespace,
container_name='controller'):
namespace=CONF.kuryr_kubernetes.kube_system_namespace):
time.sleep(1)
pod_readiness_retries -= 1
if pod_readiness_retries == 0: