Bonjour Iam nouveau à la marionnette et maintenant essayer d'explorer avec des manifestes de marionnettes. En fait je crée un manifeste pour mongodb et je veux utiliser une variable dans l'exec. Mais chaque fois, cela me donne une erreur. Mon mongodb.pp est comme ci-dessousUtilisation de la variable dans la commande exec de la marionnette?
class db::mongodb ($interface) {
$ip = inline_template("<%= scope.lookupvar('::ipaddress_${interface}') -%>")
exec {'/bin/bash -c "mongo --host $ip --eval \' db = db.getSiblingDB("test"); db.addUser({user: "test", pwd: "test", roles: [ "readWrite", "dbAdmin" ]})\'"' :
}
}
Mais lors de l'exécution de cette Iam obtenir erreur comme ci-dessous
could not connect to the server --eval:27017 at src/mongo/shell/mongo.js:147
partie IP est manquante dans l'erreur, car ip $ ne substituait IP dans la commande mongo .. J'ai essayé différentes manières mais toutes donnent la même erreur. En fait, je veux savoir comment utiliser variable dans la commande exec comme ci-dessus dans la marionnette ?? Toute aide est très appréciée.
Merci .. donnant 'provider => shell' résout le problème .. Mais pourquoi bin/bash avec la même commande que ci-dessus ne fonctionne pas ?? –