使用角色文档说明:
任何复制、脚本、模板或包含任务(在角色中)都可以引用角色/x/{文件、模板、任务}/(目录取决于任务)中的文件,而不必相对或绝对地对它们进行路径选择。
剧本:
# ./ansible/roles/common/tasks/main.yml
- hosts: localhost
connection: local
gather_facts: no
tasks:
- name: setup bashrc
import_tasks: bashrc.yml
# ./ansible/roles/common/tasks/bashrc.yml
- name: try to find bashrc libs in roles/common/files/bashrc
copy:
src: "{{ item }}"
dest: /tmp
with_fileglob:
- bashrc/*.lib.sh
# Causes the same error:
# loop: "{{ lookup('fileglob', 'bashrc/*', wantlist=True) }}"
.
├── ansible
│ └── roles
│ └── common
│ ├── files
│ │ └── bashrc
│ │ ├── shell-aliases.lib.sh
│ │ ├── shell-functions.lib.sh
│ │ └── shell-settings.lib.sh
│ └── tasks
│ ├── bashrc.yml
│ ├── main.retry
│ └── main.yml
$ ansible-playbook -vvvvv ./ansible/roles/common/tasks/main.yml
...
TASK [try to find bashrc libs in roles/common/files/bashrc] *******...
task path: /home/<user>/git/homedirsync/ansible/roles/common/tasks/bashrc.yml:1
looking for "bashrc" at "/home/<user>/git/homedirsync/ansible/roles/common/tasks/files/bashrc"
looking for "bashrc" at "/home/<user>/git/homedirsync/ansible/roles/common/tasks/bashrc"
looking for "bashrc" at "/home/<user>/git/homedirsync/ansible/roles/common/tasks/files/bashrc"
looking for "bashrc" at "/home/<user>/git/homedirsync/ansible/roles/common/tasks/bashrc"
[WARNING]: Unable to find 'bashrc' in expected paths
...
ansible 2.6.1
config file = /home/<user>/.ansible.cfg
configured module search path = [u'/var/ansible/library']
ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
executable location = /usr/local/bin/ansible
python version = 2.7.6 (default, Nov 13 2018, 12:45:42) [GCC 4.8.4]
问:“无法用Fileglob在预期路径中找到subdir”
答:引用Fileglob的笔记
“匹配针对Ansible控制器上的本地系统文件。”
with_fileglob:
- '{{ role_path }}/files/bashrc/*.lib.sh'
当我这样做时,我正在运行这条消息: Playbook:junos_config_new.yml 这是我的剧本... 目录~/ansible_junos/files/syslog_config.txt位于正确的位置~/ansible_junos/files/应该是放置所有要与防火墙进行比较的配置的正确位置吗? 请让我知道。
元素的HTML为: 来自Firebug的X路径:
本节列举了写第一个Playbook,你必须了解基本语法。 随着你面临的机器越多,配置的需求越复杂,你可能需要了解后面介绍的一些稍微复杂逻辑的语句。 执行Playbook语法 $ ansible-playbook deploy.yml 查看输出的细节 ansible-playbook playbook.yml --verbose 查看该脚本影响哪些hosts ansible-playbook pl
我正在用ansible自动安装conda,但是激活conda的最后一步(conda init)失败了。 错误: “stderr”:“需要单个字符参数。”,“stderr_lines”:
不能站在巨人的肩膀上的编程语言不是好语言,支持重用机制会节省调研重复的工作上浪费大量的时间,当然也会提高可维护性。 Playbook的支持两种重用机制,一种是简单的直接重新利用静态的Playbook脚本,例外一种是类似于编程语言中函数的机制。 include语句 - 重用静态的Playbook脚本,使用起来简单、直接。 role语言 - Playbook的“函数机制”,使用方法稍复杂、功能强大。是
我试图找到shrotest路径之间的节点和使用Dijkstra算法,但每次它给我错误的响应。 下面是我的代码- 根据计算,从节点到节点的最短路径是,但我得到