Скопируйте файл на хост-компьютер в Ansible - PullRequest
0 голосов
/ 25 апреля 2020

Я должен выполнить следующие шаги.

     Create a Playbook test.yml.
     This playbook should copy the file (somefile.j2) to the Host machine's folder1, only if 
     somefile.j2 does not exist in host01.
     By using vi editor you can add the tasks to test.yml.
     [Hint: Use the stat and template module].

somefile.j2 присутствует в /root.

Файл инвентаризации с именем "myhosts" присутствует в / root

    $ cat myhosts
    host01 ansible_ssh_user=root

Каким должно быть содержимое test.yml?

1 Ответ

1 голос
/ 25 апреля 2020

Домашние вопросы без "проделанной работы по решению проблемы и описания сложности" составляет off-topi c. Но конфликт в назначении, который можно считать « практической, ответственной проблемой, уникальной для разработки программного обеспечения », заслуживает ответа.

  • Скопируйте файл на хост только если somefile.j2 не существует
  • Использовать модуль статистики и шаблонов

При назначении необходимо использовать модуль stat, чтобы узнать, существует файл или нет. Если он не существует, используйте модуль template для его создания.

Нет необходимости использовать модуль stat. Модуль template "будет передавать файл только в том случае, если место назначения не существует", когда " force : no" (по умолчанию yes). Такое «идемпотентное» поведение Ansible модулей является существенным, его следует ожидать и искать.


Просто взгляните на examples , чтобы увидеть «Каким должно быть содержимое test.yml?»
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...