StrictVersion / LooseVersion decorator method
    @type   vstring:    str
    @return:    StrictVersion if possible, otherwise LooseVersion
    @rtype:     StrictVersion or LooseVersion

def parse_version(vstring):
    """
    StrictVersion / LooseVersion decorator method
    @type   vstring:    str
    @return:    StrictVersion if possible, otherwise LooseVersion
    @rtype:     StrictVersion or LooseVersion
    """
    try:
        version = StrictVersion(vstring)
    except ValueError:
        logging.getLogger('ipvs.common.debug').info('Strict parsing failed, falling back to LooseVersion instead')
        version = LooseVersion(vstring)
        version.version = tuple(version.version)

    return version