Impossible de récupérer les informations à partir de l'environnement de la production de la source
Je suis à l'aide de marionnettes comme mon provisioner dans un de mes vagrant projet. Je suis en train d'ajouter un module personnalisé bash_profile.
La module_path
pour la marionnette est fixé à:
puppet.module_path = "puppet/modules"
La classe pour mon bash_profile module ressemble à ceci:
class bash_profile
{
file
{
"/home/vagrant/bash_profile":
ensure => present,
source => "puppet:///modules/bash_profile/files/bash_profile"
}
}
Voici la structure du fichier pour ma marionnette structure:
puppet
| manifests
| | phpbase.pp //my main manifest file that has includes for modules
| modules
| | bash_profile
| | | files
| | | | bash_profile //the actual bash_profile file I want to ensure is present on my VM
| | | manifests
| | | | init.pp //the init file included for the bash_profile class
Quand je lance la mise en service pour vagrant, j'obtiens l'erreur
err: /Stade[principal]/Bash_profile/Fichier[/maison/vagabond/bash_profile]: impossible d'évaluer: impossible de récupérer des informations à partir de l'environnement de la production source(s) de la marionnette:///modules/bash_profile/fichiers/bash_profile à /tmp/vagrant-marionnette-1/modules-0/bash_profile/manifests/init.pp:8
Je ne sais pas pourquoi il ne peut pas récupérer les informations. Le chemin semble être correct. N'importe qui peut voir ce que je suis absent?
Il n'est pas nécessaire de mettre les balises dans le titre, voir ce lien. Tags peuvent être utilisés par vous à passer à travers vos questions dans un sujet.
Gotcha, merci pour le lien et les explications.
Bien sûr, pas de problème 🙂
OriginalL'auteur Chris Schmitz | 2014-06-13
Vous devez vous connecter pour publier un commentaire.
Oui, vous n'êtes pas censé inclure le littéral
files/
dans l'URL. Au lieu de cela, il faut juste êtreJe viens de lire la documentation et manqué le même point. Quatre heures à essayer d'obtenir que l'URL de droite! J'ai aussi essayé d'utiliser le fichier d'URI. Mon collègue a dit que dans l'attribut source, vous devez laisser le "fichier:". Pas sûr à ce sujet, mais il travaille pour lui.
Non mais, sérieusement, qui va à l'encontre de ce que j'attends de chemins.
OriginalL'auteur Felix Frank
Vous pouvez également recevoir ce message d'erreur avec
recurse => true
si votre nom de module n'est pas valide. Par exemple, si vous avez cette structure de module:modules
├── my-example
│ └── files
│ └── example
│ └── test.txt
et cette ressource:
vous obtiendrez ce message d'erreur:
==> default: Info: Could not find filesystem info for file 'my-example/example' in environment production
==> default: Error: /Stage[main]/Main/Node[default]/File[/tmp/example]: Could not evaluate: Could not retrieve information from environment production source(s) puppet:///my-example/example
La solution est de renommer le module—par exemple, en le nommant
my_example
il fixe. Le règles pour les noms de module sont documentés mais facile à manquer.OriginalL'auteur Phil Calvin
Des choses pour s'occuper sur
puppet:///modules/name_of_module/filename
Ce vidéo est une montre étape par guide pas à pas pour résoudre l'erreur
OriginalL'auteur anish