From 5be0a76d76aefbfc7b0555482df2dada7a6e5a08 Mon Sep 17 00:00:00 2001 From: opensource-tnbt Date: Wed, 25 Nov 2020 15:11:47 +0530 Subject: Kubernetes: Infrastructure For K8S Net testing. This patch adds necessary code to perform K8S Networking performance benchmarking. Signed-off-by: Sridhar K. N. Rao Change-Id: I059ddd2e9ad3ee7c05e4620c64401f81474be195 --- pods/pod/__init__.py | 18 +++++++++++++++ pods/pod/pod.py | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 pods/pod/__init__.py create mode 100644 pods/pod/pod.py (limited to 'pods/pod') diff --git a/pods/pod/__init__.py b/pods/pod/__init__.py new file mode 100644 index 00000000..b91706e2 --- /dev/null +++ b/pods/pod/__init__.py @@ -0,0 +1,18 @@ +# Copyright 2020 Spirent Communications +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""POD interface and helpers. +""" + +import pods diff --git a/pods/pod/pod.py b/pods/pod/pod.py new file mode 100644 index 00000000..c25744d2 --- /dev/null +++ b/pods/pod/pod.py @@ -0,0 +1,63 @@ +# Copyright 2020 Spirent Communications, University Of Delhi. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Interface for POD +""" + +#import time +#import pexpect +from tools import tasks + +class IPod(tasks.Process): + """ + Interface for POD + + Inheriting from Process helps in managing system process. + execute a command, wait, kill, etc. + """ + _number_pods = 0 + + def __init__(self): + """ + Initialization Method + """ + self._number = IPod._number_pods + self._logger.debug('Initializing %s. Pod with index %s', + self._number + 1, self._number) + IPod._number_pods = IPod._number_pods + 1 + self._log_prefix = 'pod_%d_cmd : ' % self._number + # raise NotImplementedError() + + def create(self): + """ + Start the Pod + """ + raise NotImplementedError() + + + def terminate(self): + """ + Stop the Pod + """ + raise NotImplementedError() + + @staticmethod + def reset_pod_counter(): + """ + Reset internal POD counter + + This method is static + """ + IPod._number_pods = 0 -- cgit 1.2.3-korg