diff options
author | opensource-tnbt <sridhar.rao@spirent.com> | 2020-11-25 15:11:47 +0530 |
---|---|---|
committer | opensource-tnbt <sridhar.rao@spirent.com> | 2020-11-25 15:23:55 +0530 |
commit | 5be0a76d76aefbfc7b0555482df2dada7a6e5a08 (patch) | |
tree | 003daa1e3c97d6ff75522b672fecee2568d8efbd /pods/pod | |
parent | 092de71ff79b23ab05d013ceb417b4f0b48dcc55 (diff) |
Kubernetes: Infrastructure For K8S Net testing.
This patch adds necessary code to perform K8S Networking performance
benchmarking.
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Change-Id: I059ddd2e9ad3ee7c05e4620c64401f81474be195
Diffstat (limited to 'pods/pod')
-rw-r--r-- | pods/pod/__init__.py | 18 | ||||
-rw-r--r-- | pods/pod/pod.py | 63 |
2 files changed, 81 insertions, 0 deletions
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 |