include_playbook.yml его будем уменьшать и использовать include / import
--- - name: My TEST Playbook hosts: all become: yes vars: mytext: "Privet MEN" tasks: - name: Ping test ping: - name: Create folder1 file: path: /home/secret/folder1 state: directory mode: 0755 - name: Create folder2 file: path: /home/secret/folder2 state: directory mode: 0755 - name: Create file1 copy: dest: /home/secret/file1.txt content: Text Line1, in file1 Text Line2, in file1 Text Line3, {{ mytext }} - name: Create file2 copy: dest: /home/secret/file2.txt content: Text Line1, in file2 Text Line2, in file2 Text Line3, {{ mytext }} ...
create_folder.yml
--- - name: Create folder1 file: path: /home/secret/folder1 state: directory mode: 0755 - name: Create folder2 file: path: /home/secret/folder2 state: directory mode: 0755 ...
create_files.yml
--- - name: Create file1 copy: dest: /home/secret/file1.txt content: | Text Line1, in file1 Text Line2, in file1 Text Line3, {{ mytext }} - name: Create file2 copy: dest: /home/secret/file2.txt content: | Text Line1, in file2 Text Line2, in file2 Text Line3, {{ mytext }} ...
include_playbook.yml
--- - name: My TEST Playbook hosts: all become: yes vars: mytext: "Privet MEN" tasks: - name: Ping test ping: - name: Create Folders include: create_folder.yml - name: Create Files import: create_files.yml ... !!! Отличие import от include заключается в следующем !!! Include читает из файлов значения, ansible подставляет значения при выполнении (дошел до строчки с include тогда и подставил) !!! Import читает и подставляет значения, ansible подставляет сразу все значения !!! рекомендуют использовать include !!! Также можно сократить запись --- - name: My TEST Playbook hosts: all become: yes vars: mytext: "Privet MEN" tasks: - name: Ping test ping: - include: create_folder.yml - include: create_files.yml mytext="Hello from Mosckow" ...