diff options
author | opensource-tnbt <sridhar.rao@spirent.com> | 2020-11-25 19:30:04 +0530 |
---|---|---|
committer | opensource-tnbt <sridhar.rao@spirent.com> | 2020-11-28 18:51:49 +0530 |
commit | 0bbc7e2674bd06921e9fe4a0b3318724327d3ff2 (patch) | |
tree | b8c5bbf7dadf8e6e06adc969bac1d75d5ff2f908 /xtesting/baremetal/exceptions.py | |
parent | 54995886ec5135bca580cb81a3ed8fd2eb4bae3a (diff) |
[WIP]: VSPERF-Xtesting Integration Support.
This patch adds support for integrationg with Xtesting project
There are two variations - baremetal and openstack.
Update-1: Add Download-result feature to baremetal
Update-2: Update Dockerfile following successful compilations.
Update-3: Add Baremetal-Advanced to Migrate to driver version
Update-4: Remove Bashfeature approach of Baremetal.
Update-5: Update documentation, Baremetal container name and openstack.
Update-6: Update Openstack after successful testing
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Change-Id: Idcf9f533a0cc6760ca3e56355e2ff60d41616f0f
Diffstat (limited to 'xtesting/baremetal/exceptions.py')
-rw-r--r-- | xtesting/baremetal/exceptions.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/xtesting/baremetal/exceptions.py b/xtesting/baremetal/exceptions.py new file mode 100644 index 00000000..c4e0e097 --- /dev/null +++ b/xtesting/baremetal/exceptions.py @@ -0,0 +1,65 @@ +""" +# Copyright (c) 2017 Intel Corporation +# +# 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. +""" +#pylint: disable=import-error +from oslo_utils import excutils + + +class VsperfCException(Exception): + """Base VSPERF-C Exception. + + To correctly use this class, inherit from it and define + a 'message' property. That message will get printf'd + with the keyword arguments provided to the constructor. + + Based on NeutronException class. + """ + message = "An unknown exception occurred." + + def __init__(self, **kwargs): + try: + super(VsperfCException, self).__init__(self.message % kwargs) + self.msg = self.message % kwargs + except Exception: # pylint: disable=broad-except + with excutils.save_and_reraise_exception() as ctxt: + if not self.use_fatal_exceptions(): + ctxt.reraise = False + # at least get the core message out if something happened + super(VsperfCException, self).__init__(self.message) + + def __str__(self): + return self.msg + + def use_fatal_exceptions(self): + """Is the instance using fatal exceptions. + + :returns: Always returns False. + """ #pylint: disable=no-self-use + return False + + +class InvalidType(VsperfCException): + """Invalid type""" + message = 'Type "%(type_to_convert)s" is not valid' + + +class SSHError(VsperfCException): + """ssh error""" + message = '%(error_msg)s' + + +class SSHTimeout(SSHError): + """ssh timeout""" #pylint: disable=unnecessary-pass + pass |