coloca $ hostname no nome do arquivo ou diretório:
source => ["puppet://${fileserver}/files/${name}/file_for_${hostname}.txt",
"puppet://${fileserver}/files/${name}/file_for_default_host.txt"]
Digamos que você tenha uma diretiva de arquivo assim:
***SNIP***
file: "/tmp/file_I_need":
path => "/tmp/file_I_need",
ensure => "present",
source:[
"puppet://$fileserver/files/$name/file_I_need",
"puppet://$fileserver/files/$group/file_I_need",
"puppet://$fileserver/files/default/file_I_need",
];
***SNIP***
E, em seguida, cada arquivo assim:
files/name_that_exists>/file_I_need
files/group_that_exists>/file_I_need
files/default/file_I_need
A questão é esta:
Como posso saber qual arquivo de origem o fantoche está usando? Se eu estiver executando o fantoche em hosts diferentes, espero arquivos diferentes, sei que ele usará o arquivo que correspondeu primeiro.
Falta de modificar o arquivo e ver se as alterações o fizeram, existe uma maneira de ver exatamente qual dos 3 arquivos de origem ele escolheu?
Este é o fantoche 2.6.2. (Servidor rodando no Debian)
NOTE:
I am seeking a different method than using a hash of the file. I also do not like the solution of putting the filename(or similar) somewhere in each file. I want to know how to get the path from puppet.
coloca $ hostname no nome do arquivo ou diretório:
source => ["puppet://${fileserver}/files/${name}/file_for_${hostname}.txt",
"puppet://${fileserver}/files/${name}/file_for_default_host.txt"]
Tags puppet