Teve o mesmo problema que você. Isso é o que funcionou para mim.
remove-supervisord-confd:
file.directory:
- name: /etc/supervisord/conf.d/
- clean: True
Como faço para limpar um diretório em um salt-minion usando um arquivo de estado? Desejo excluir todos os arquivos *.conf
em /etc/supervisord/conf.d/
antes de configurar outros serviços de supervisor.
A seguinte configuração de top.sls
não tem efeito:
/etc/supervisor/conf.d/*:
file.absent
file.remove
falha como indisponível.
Teve o mesmo problema que você. Isso é o que funcionou para mim.
remove-supervisord-confd:
file.directory:
- name: /etc/supervisord/conf.d/
- clean: True
Não é uma resposta perfeita, mas você poderia usar file.absent no diretório e recriá-lo. Observe que isso excluirá o dir sempre que o estado for executado. Você pode ficar chique com um jinja condicional em torno do seguinte:
supervisor-conf-delete:
file.absent:
- name: /etc/supervisord/conf.d
supervisor-conf-create:
file.directory:
- name: /etc/supervisord/conf.d
- user: root
- group: root
- mode: 0755
- require:
- file: supervisor-conf-delete
Você pode usar o módulo cmd nos estados de salinidade. O seguinte código pode estar presente no seu arquivo de estado:
rm -f /etc/supervisord/conf.d/*.conf:
cmd.run
Você também pode escrever comandos mais complicados, se desejar.
Tags ubuntu saltstack supervisord