X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fcommon%2Fkubernetes_utils.py;h=d60c9b23a7ddec052a991e9679b286097f10925e;hb=c8a3679b57eafd2c7855dc82bd028308fa92f4e2;hp=e4c23283016280f597649fd9726c92914ca79c2e;hpb=c1a4f5028f88e7e97e3ae2cc3f8aae6bf67c07b2;p=yardstick.git diff --git a/yardstick/common/kubernetes_utils.py b/yardstick/common/kubernetes_utils.py index e4c232830..d60c9b23a 100644 --- a/yardstick/common/kubernetes_utils.py +++ b/yardstick/common/kubernetes_utils.py @@ -28,11 +28,67 @@ def get_core_api(): # pragma: no cover return client.CoreV1Api() +def get_node_list(**kwargs): # pragma: no cover + core_v1_api = get_core_api() + try: + return core_v1_api.list_node(**kwargs) + except ApiException: + LOG.exception('Get node list failed') + raise + + +def create_service(template, + namespace='default', + wait=False, + **kwargs): # pragma: no cover + # pylint: disable=unused-argument + core_v1_api = get_core_api() + metadata = client.V1ObjectMeta(**template.get('metadata', {})) + + ports = [client.V1ServicePort(**port) for port in + template.get('spec', {}).get('ports', [])] + template['spec']['ports'] = ports + spec = client.V1ServiceSpec(**template.get('spec', {})) + + service = client.V1Service(metadata=metadata, spec=spec) + + try: + core_v1_api.create_namespaced_service('default', service) + except ApiException: + LOG.exception('Create Service failed') + raise + + +def delete_service(name, + namespace='default', + **kwargs): # pragma: no cover + core_v1_api = get_core_api() + try: + body = client.V1DeleteOptions() + core_v1_api.delete_namespaced_service(name, namespace, body, **kwargs) + except ApiException: + LOG.exception('Delete Service failed') + + +def get_service_list(namespace='default', **kwargs): + core_v1_api = get_core_api() + try: + return core_v1_api.list_namespaced_service(namespace, **kwargs) + except ApiException: + LOG.exception('Get Service list failed') + raise + + +def get_service_by_name(name): # pragma: no cover + service_list = get_service_list() + return next((s.spec for s in service_list.items if s.metadata.name == name), None) + + def create_replication_controller(template, namespace='default', wait=False, **kwargs): # pragma: no cover - + # pylint: disable=unused-argument core_v1_api = get_core_api() try: core_v1_api.create_namespaced_replication_controller(namespace, @@ -47,7 +103,7 @@ def delete_replication_controller(name, namespace='default', wait=False, **kwargs): # pragma: no cover - + # pylint: disable=unused-argument core_v1_api = get_core_api() body = kwargs.get('body', client.V1DeleteOptions()) kwargs.pop('body', None) @@ -65,7 +121,7 @@ def delete_pod(name, namespace='default', wait=False, **kwargs): # pragma: no cover - + # pylint: disable=unused-argument core_v1_api = get_core_api() body = kwargs.get('body', client.V1DeleteOptions()) kwargs.pop('body', None) @@ -93,6 +149,7 @@ def read_pod(name, def read_pod_status(name, namespace='default', **kwargs): # pragma: no cover + # pylint: disable=unused-argument return read_pod(name).status.phase @@ -101,6 +158,7 @@ def create_config_map(name, namespace='default', wait=False, **kwargs): # pragma: no cover + # pylint: disable=unused-argument core_v1_api = get_core_api() metadata = client.V1ObjectMeta(name=name) body = client.V1ConfigMap(data=data, metadata=metadata) @@ -115,6 +173,7 @@ def delete_config_map(name, namespace='default', wait=False, **kwargs): # pragma: no cover + # pylint: disable=unused-argument core_v1_api = get_core_api() body = kwargs.get('body', client.V1DeleteOptions()) kwargs.pop('body', None) @@ -135,3 +194,8 @@ def get_pod_list(namespace='default'): # pragma: no cover except ApiException: LOG.exception('Get pod list failed') raise + + +def get_pod_by_name(name): # pragma: no cover + pod_list = get_pod_list() + return next((n for n in pod_list.items if n.metadata.name.startswith(name)), None)