X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fbenchmark%2Fcontexts%2Fkubernetes.py;h=9feb006026b97805b7f87618dbaaa3c8dc4f91cc;hb=8da1feb7267f4b04e543b2e2e6590e2de8c31237;hp=4ba9eee364d4d58b3521d8d12ec98ad2653fea53;hpb=ef78f436ce067ee2ffbf5a0fcc00e082edf61d6b;p=yardstick.git diff --git a/yardstick/benchmark/contexts/kubernetes.py b/yardstick/benchmark/contexts/kubernetes.py index 4ba9eee36..9feb00602 100644 --- a/yardstick/benchmark/contexts/kubernetes.py +++ b/yardstick/benchmark/contexts/kubernetes.py @@ -16,6 +16,8 @@ import paramiko from yardstick.benchmark.contexts.base import Context from yardstick.orchestrator import kubernetes +from yardstick.common import constants +from yardstick.common import exceptions from yardstick.common import kubernetes_utils as k8s_utils from yardstick.common import utils @@ -156,19 +158,26 @@ class KubernetesContext(Context): def _get_server(self, name): service_name = '{}-service'.format(name) - service = k8s_utils.get_service_by_name(service_name).ports[0] - - host = { - 'name': service.name, + service = k8s_utils.get_service_by_name(service_name) + if not service: + raise exceptions.KubernetesServiceObjectNotDefined() + + for sn_port in (sn_port for sn_port in service.ports + if sn_port.port == constants.SSH_PORT): + node_port = sn_port.node_port + break + else: + raise exceptions.KubernetesSSHPortNotDefined() + + return { + 'name': name, 'ip': self._get_node_ip(), 'private_ip': k8s_utils.get_pod_by_name(name).status.pod_ip, - 'ssh_port': service.node_port, + 'ssh_port': node_port, 'user': 'root', - 'key_filename': self.key_path, + 'key_filename': self.key_path } - return host - def _get_node_ip(self): return k8s_utils.get_node_list().items[0].status.addresses[0].address