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
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
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, })