コード例 #1
0
ファイル: exception.py プロジェクト: sshnaidm/tripleo-common
class TripleoCommonException(Exception):
    """Base Tripleo-Common Exception.

    To correctly use this class, inherit from it and define a 'msg_fmt'
    property. That msg_fmt will get printf'd with the keyword arguments
    provided to the constructor.
    """
    message = _("An unknown exception occurred.")

    def __init__(self, **kwargs):
        self.kwargs = kwargs

        try:
            self.message = self.msg_fmt % kwargs
        except KeyError:
            exc_info = sys.exc_info()
            # kwargs doesn't match a variable in the message
            # log the issue and the kwargs
            LOG.exception(_LE('Exception in string format operation'))
            for name, value in six.iteritems(kwargs):
                LOG.error(_LE("%(name)s: %(value)s"), {
                    'name': name,
                    'value': value
                })  # noqa

            if _FATAL_EXCEPTION_FORMAT_ERRORS:
                raise_(exc_info[0], exc_info[1], exc_info[2])

    def __str__(self):
        return self.message

    def __deepcopy__(self, memo):
        return self.__class__(**self.kwargs)
コード例 #2
0
ファイル: exception.py プロジェクト: sshnaidm/tripleo-common
class TooManyCapabilitiesMapFilesError(TripleoCommonException):
    msg_fmt = _("There cannot be more than one root template in a given plan.")
コード例 #3
0
ファイル: exception.py プロジェクト: sshnaidm/tripleo-common
class MappingFileNotFoundError(TripleoCommonException):
    msg_fmt = _("The capabilities_map.yaml file was not found in the root"
                " of the plan.")
コード例 #4
0
ファイル: exception.py プロジェクト: sshnaidm/tripleo-common
class HeatValidationFailedError(TripleoCommonException):
    msg_fmt = _("The plan failed to validate via the Heat service. %(msg)s")
コード例 #5
0
ファイル: exception.py プロジェクト: sshnaidm/tripleo-common
class TooManyRootTemplatesError(TripleoCommonException):
    msg_fmt = _("There can only be up to one root template in a given plan.")
コード例 #6
0
ファイル: exception.py プロジェクト: sshnaidm/tripleo-common
class PlanAlreadyExistsError(TripleoCommonException):
    msg_fmt = _("A plan with the name %(name)s already exists.")
コード例 #7
0
ファイル: exception.py プロジェクト: sshnaidm/tripleo-common
class FileDoesNotExistError(TripleoCommonException):
    msg_fmt = _("A file with the name %(name)s does not exist.")
コード例 #8
0
ファイル: exception.py プロジェクト: sshnaidm/tripleo-common
class PlanDoesNotExistError(TripleoCommonException):
    msg_fmt = _("A plan with the name %(name)s does not exist.")
コード例 #9
0
ファイル: exception.py プロジェクト: sshnaidm/tripleo-common
class StackInUseError(TripleoCommonException):
    msg_fmt = _("Cannot delete a plan that has an associated stack.")