Ensure create_namespace function waits for CRD annotation

Change-Id: I5d12d6be2b89b6301d7f2509513a558b33ef5898
This commit is contained in:
Luis Tomas Bolivar 2018-08-08 13:03:26 +02:00
parent 8db1cbc44c
commit 591de90d59
1 changed files with 4 additions and 1 deletions

View File

@ -268,6 +268,8 @@ class BaseKuryrScenarioTest(manager.NetworkScenarioTest):
def create_namespace(cls, name=None):
if not name:
name = data_utils.rand_name(prefix='kuryr-namespace')
kuryr_crd_annotation = K8S_ANNOTATION_PREFIX + "-net-crd"
namespace = cls.k8s_client.V1Namespace()
namespace.metadata = cls.k8s_client.V1ObjectMeta(name=name)
namespace_obj = cls.k8s_client.CoreV1Api().create_namespace(
@ -277,7 +279,8 @@ class BaseKuryrScenarioTest(manager.NetworkScenarioTest):
while True:
time.sleep(1)
ns = cls.k8s_client.CoreV1Api().read_namespace_status(name)
if ns.metadata.annotations is not None:
if (ns.metadata.annotations and
ns.metadata.annotations.get(kuryr_crd_annotation)):
break
return name, namespace_obj