Exemple #1
0
    def validateServer(self, servername):
        """
        Valide tous les fichiers de configuration générés pour le serveur
        spécifié à l'aide de la commande de validation, sur la machine
        locale.

        @param servername: Le serveur sur lequel valider
        @type  servername: C{str}
        """
        # iterate through the servers
        if not self.validation:
            return
        files_dir = os.path.join(settings["vigiconf"].get("libdir"),
                                 "deploy", servername)
        _command = ["vigiconf-local", "validate-app", self.name, files_dir]
        _command = SystemCommand(_command)
        _command.simulate = settings["vigiconf"].as_bool("simulate")
        try:
            _command.execute()
        except SystemCommandError, e:
            error = ApplicationError(
                        _("%(app)s: validation failed for server "
                          "'%(server)s': %(reason)s")
                        % {"app": self.name,
                           "server": servername,
                           "reason": e})
            error.cause = e
            raise error
Exemple #2
0
 def createCommand(self, iCommand):
     """
     @note: À réimplémenter dans les sous-classes.
     @param iCommand: commande à exécuter.
     @type  iCommand: C{str}
     @return: L'instance de la commande
     @rtype: L{SystemCommand<lib.systemcommand.SystemCommand>}
     """
     c = SystemCommand(iCommand)
     c.simulate = self.is_simulation()
     return c
Exemple #3
0
 def tarConf(self):
     """
     I{Tarre} les fichiers de configuration, avant déploiement.
     """
     cmd = ["tar", "-C",
            os.path.join(self.getBaseDir(), self.getName()), "-cvf",
            os.path.join(self.getBaseDir(), "%s.tar" % self.getName()), "."]
     cmd = SystemCommand(cmd)
     try:
         cmd.execute()
     except SystemCommandError, e:
         raise ServerError(_("Can't tar config for server "
                             "%(server)s: %(error)s") % {
                                 'server': self.getName(),
                                 'error': e.value,
                             })