diff options
author | Sridhar K. N. Rao <sridhar.rao@spirent.com> | 2019-10-02 17:50:23 +0530 |
---|---|---|
committer | Sridhar K. N. Rao <sridhar.rao@spirent.com> | 2019-12-01 09:02:14 +0530 |
commit | 601b88e2c5dabaa7fe2035c7e433d2da5b860c4b (patch) | |
tree | 45d7336a3fc71907c19720127d154f8c44aa673a /tools/docker/libs/utils/utils.py | |
parent | b984a2f40bec349c802b631a69526590b34bd5de (diff) |
Tools: Deployment and TestControl Containers
This patch add containerization of VSPERF support.
The patch facilitates creation of 4 containers:
1. Interactive Deployment
2. Auto Deployment
3. Interactive TestControl
4. Auto TestControl.
The patch also includes a minimal client to work with interactive
containers.
The docs folder provides detailed documentation.
Fixed pylint errors in libs folder.
Removed proto built python files, and added the build process in
prepare.sh.
Stability improvements for Auto versions of deployment and testcontrol.
Enhance client with 'mode' feature, where client can run either to do
only deploy/only test or both.
Add sample configuration file for client
Fixed few typos - as suggested by AL.
JIRA: VSPERF-594
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Change-Id: Id40b02960f71a7f9183d9a53955e2483117fb9e2
Diffstat (limited to 'tools/docker/libs/utils/utils.py')
-rw-r--r-- | tools/docker/libs/utils/utils.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/docker/libs/utils/utils.py b/tools/docker/libs/utils/utils.py new file mode 100644 index 00000000..d945381e --- /dev/null +++ b/tools/docker/libs/utils/utils.py @@ -0,0 +1,41 @@ +""" +# Copyright 2013: Mirantis Inc. +# All Rights Reserved. +# +# 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. +""" + + +NON_NONE_DEFAULT = object() + + +def get_key_with_default(data, key, default=NON_NONE_DEFAULT): + """get default key""" + value = data.get(key, default) + if value is NON_NONE_DEFAULT: + raise KeyError(key) + return value + + +def make_dict_from_map(data, key_map): + """mapping dict""" + return {dest_key: get_key_with_default(data, src_key, default) + for dest_key, (src_key, default) in key_map.items()} + +def try_int(s, *args): + """Convert to integer if possible.""" + #pylint: disable=invalid-name + try: + return int(s) + except (TypeError, ValueError): + return args[0] if args else s |