#!/usr/bin/env python
# -*- coding: UTF-8 -*-

def action_error(agent, old_status, new_status):
    """redémarre RVP sur amon uniquement si erreur tunnels
    """
    from os import system
    from os.path import exists
    from zephir.monitor.agentmanager.config import HAS_TYPE_AMON

    if HAS_TYPE_AMON:
        if exists("/var/lock/bastion"):
            res = system('service strongswan stop')
            if res == 0:
                res = system('service strongswan start')
                if res == 0:
                    return "agent %s : RVP relancé" % agent.name
                else:
                    return "agent %s : erreur lors de la relance de RVP" % agent.name
            else:
                return "agent %s : erreur lors de la relance de RVP" % agent.name
        else:
            return "agent %s : bastion arrêté, on ne relance pas RVP" % agent.name
    else:
        return "agent %s : on ne relance pas ipsec sur Sphynx" % agent.name

