2017-01-15 7 views
1

Основная Структура каталогов анзибль роли является:Может ли быть структура каталогов в шаблонах роли Ansible или папках с файлами?

rolename 
    files 
    templates 
    tasks 
    ... 

Теперь мой вопрос может файлы или шаблоны папок имеют структуру каталогов внутри них, как это:

rolename 
    files 
    templates 
    etc 
     hosts 
    tasks 
    ... 

Так что моя задача может выглядеть как:

- name: Approve hosts file 
    template: 
    src: ./etc/hosts (I WANT TO REFERENCE THE FILE INSIDE THE TEMPLATES FOLDER) 
    dest: /etc/hosts 

Это не работает :(

Как ссылаться на файл внутри папки шаблонов?

ВАЖНО Мне не нужна плоская структура внутри папки шаблонов, потому что я хочу имитировать файловую систему, чтобы я знал, где будет скопирован файл, просто просмотрев структуру папок шаблонов.

FYI Когда я использую плоскую структуру, он работает.

+0

жаль моя ошибка, - подтвердил это работает отлично, ошибка с моей стороны – danday74

+0

- какая ошибка? – m4grio

ответ

2

Синтаксис, который вы включили в свой вопрос, работает нормально.

Доказательство:

#!/bin/bash 

mkdir -p ./roles/role1 
mkdir -p ./roles/role1/files 
mkdir -p ./roles/role1/templates/etc 
mkdir -p ./roles/role1/tasks 

cat >./roles/role1/tasks/main.yml <<TASKS_END 
--- 
- template: 
    src: ./etc/hosts 
    dest: /tmp/hosts 
TASKS_END 

cat >./roles/role1/templates/etc/hosts <<TEMPLATE_END 
{{ ansible_managed }} 
TEMPLATE_END 

cat >./playbook.yml <<PLAYBOOK_END 
--- 
- hosts: localhost 
    gather_facts: no 
    connection: local 
    roles: 
    - role1 
PLAYBOOK_END 

ansible-playbook ./playbook.yml 
cat /tmp/hosts 

Результат:

PLAY [localhost] *************************************************************** 

TASK [role1 : template] ******************************************************** 
changed: [localhost] 

PLAY RECAP ********************************************************************* 
localhost     : ok=1 changed=1 unreachable=0 failed=0 

Ansible managed 
+1

большое спасибо за то, что нашли время ответить - извинения за МОЮ ошибку – danday74

 Смежные вопросы

  • Нет связанных вопросов^_^