Diretório de cópia Salt-Stack do mestre de sal para o minion

3

Plano de fundo : Eu tenho trabalhado na configuração de um ambiente salt e alcancei o ponto em que quero distribuir não apenas arquivos, mas também diretórios. Descobri que a maneira mais sensata de fazer isso é colocar o diretório que eu quero copiar em /srv/salt/path_to_dir no mestre e, em seguida, usar o cp.get_dir comando para distribuí-lo.

O que eu fiz : Para testar a configuração e o comando, criei /srv/salt/tmp/foo e coloquei dois arquivos nela. Então, quando executo o comando salt minion_name cp.get_dir salt://tmp/foo /tmp/foo no mestre, há uma linha de saída que lê exatamente minion_name: . Algo estranho que não há saída, exceto o nome do lacaio, até erro, mas ok, eu vou verificar o lacaio para ver se algo aconteceu.

No minion, ele não apareceu em /tmp/ e não há conteúdo novo em /etc/salt/ ou /var/cache/salt/ . Eu verifiquei em /var/log/salt/minion , mas não há nada além da minha hora tentando descobrir por que eu não poderia usar file.copy com a recursão configurada como true para distribuir arquivos.

Minha (s) pergunta (s) : Existe alguma coisa óbvia que eu tenha feito de errado? De acordo com a documentação, descobri que o que fiz deveria funcionar. Não parece haver qualquer saída de erro também. Devo tentar usar um comando ou abordagem diferente para distribuir pastas com conteúdo do mestre por meio do sal?

Informação adicional : Tanto o mestre como todos os minions são sistemas Debian. As versões instaladas do salt são salt 2014.1.3 (Hydrogen) no master e salt-minion 0.17.5 e salt-minion 2015.5.3 nos minions com os quais tentei essa abordagem.

    
por simonra 15.09.2015 / 17:39

1 resposta

3

Eu não tenho certeza de como você pode fazer isso usando módulos, eu tentei os mesmos que você fez e teve os mesmos resultados, então possivelmente um bug, mas se você quiser configurar um estado sls você pode usar o arquivo. Recurse funcionalidade, parece-se com isto:

como referência que estou usando:

  • /srv/salt/test1/init.sls como meu arquivo sls,
  • dentro de test1 é o diretório src testdir
  • nosso destino na máquina que queremos copiar é /test

init.sls

/test:
 file.recurse:
  - source: salt://test1/testdir
  - include_empty: True

a partir desse ponto você pode

salt '<targetmachine>' state.sls test1
    
por 15.09.2015 / 20:57

Tags