Как решить проблему ansible: не удалось получить информацию об удаленном файле ... Не каталог - PullRequest
0 голосов
/ 01 августа 2020

Когда я запускаю playbook ansible-playbook my-playbook.yml, я получаю эту ошибку. Но у меня нет файла с именем test.yml на удаленном компьютере.

error

TASK [linux-common : copy files to server] *************************************
Saturday 01 August 2020  01:16:19 -0400 (0:00:00.904)       0:00:55.791 ******* 
ok: [172.125.29.147] => (item=/root/downloads/README.md)
fatal: [172.125.29.147]: FAILED! => {"msg": "Failed to get information on remote file (/app/ansible/test.yml): Not a directory"}

На удаленном хосте. Каталог с именем app был создан, но в нем нет файлов.

try-playbook.yml

 ---
 - hosts: flaskbox_dev
 
   remote_user: root
   roles:
     - linux-common

[playbook roles] linux -common / tasks / main. yml

- name: copy files to server
  copy: 
    src: "{{ item }}"
    dest: /app
  loop:
    - /root/odesi_downloads/README.md
    - ./ansible
    - ./tasks.todo
    - ./conf.d
    - ./cronjobs
    - ./dockerfiles
    - ./dotfiles
    - ./flaskapp
    - ./requirements
    - ./screenshots
    - ./Makefile
    - ./README.md
    - ./run.py
    - ./.coveragerc
    - ./inventory
    - ./pytest.ini
    - ./tests
    - ./app_test.py
  register: copy_output
- debug: var=copy_output

Я использую свой playbook в течение 2 недель, и это первый раз, когда у меня возникает эта проблема. Я обновил ansible до 2.9.11, но проблема не исчезла.

1 Ответ

0 голосов
/ 01 августа 2020

Мне пришлось создать папку /app перед копированием моего файла

 - name: Create Folder /app if not exist
   file:
     path: /app
     mode: 0755
     state: directory

- name: copy files to server
  copy: 
    src: "{{ item }}"
    dest: /app
  loop:
    - /root/odesi_downloads/README.md
    - ./ansible
    - ./tasks.todo
    - ./conf.d
    - ./cronjobs
    - ./dockerfiles
    - ./dotfiles
    - ./flaskapp
    - ./requirements
    - ./screenshots
    - ./Makefile
    - ./README.md
    - ./run.py
    - ./.coveragerc
    - ./inventory
    - ./pytest.ini
    - ./tests
    - ./app_test.py
  register: copy_output
- debug: var=copy_output
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...