ansible: por que o módulo de arquivo está pulando?

8

Eu tenho um playbook ansible 1.1 onde faço algo assim:

- name: copy files
  sudo: True                                                                                                             
  shell: cp /from/* /to/

- name: change owner
  sudo: True
  file: path=$item owner=newuser group=newgroup
  with_fileglob: /to/*

A segunda tarefa, "alterar proprietário", é sempre ignorada. Alguém pode me ajudar a descobrir por quê? o módulo de arquivo está pulando porque os arquivos existem? Estou preso:)

    
por deadsven 29.05.2013 / 13:26

2 respostas

16

De documentação :

Remember lookup plugins are run on the "controlling" machine:

with_fileglob é um plugin de pesquisa, então ele procura por arquivos no servidor local, aquele em que você está executando o ansioso-playbook.

Veja o que você pode fazer:

- name: list files 
  action: command ls -1 /to/* 
  register: dumpfiles 

- name: change ownership 
  action: file path=$item owner=newuser group=newgroup
  with_items: ${dumpfiles.stdout_lines}
    
por 29.05.2013 / 14:56
5

O Ansible 1.1 adicionou o parâmetro recurse ao módulo de arquivo, portanto, tudo o que você precisa fazer para sua tarefa de alteração de propriedade é:

- name: change ownership 
  action: file state=directory recurse=yes path=/to/ owner=newuser group=newgroup

Isso tornará mais aparente quando as coisas realmente mudarem; usar o shell ou os módulos de comando sempre retornará um status alterado, mesmo que nada tenha sido realmente alterado.

    
por 11.07.2014 / 16:09

Tags